From daa269958ad8d50ef8154ccb65e58acaf7a6dd99 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 15 Oct 2013 09:50:32 -0600 Subject: [PATCH] Import upstream version 1.27 --- ChangeLog | 1661 +- ChangeLog.1 | 17 +- INSTALL | 8 +- Make.rules | 2 +- Makefile.am | 34 +- Makefile.in | 519 +- NEWS | 245 +- README | 130 +- THANKS | 8 + TODO | 26 +- acinclude.m4 | 40 +- aclocal.m4 | 448 +- build-aux/compile | 232 +- build-aux/config.guess | 211 +- build-aux/config.rpath | 4 +- build-aux/config.sub | 189 +- build-aux/depcomp | 508 +- build-aux/gitlog-to-changelog | 279 +- build-aux/install-sh | 14 +- build-aux/mdate-sh | 15 +- build-aux/missing | 148 +- build-aux/snippet/_Noreturn.h | 10 + build-aux/snippet/arg-nonnull.h | 28 + build-aux/snippet/c++defs.h | 273 + build-aux/snippet/unused-parameter.h | 38 + build-aux/snippet/warn-on-use.h | 111 + build-aux/texinfo.tex | 1251 +- build-aux/ylwrap | 190 +- config.h.in | 710 +- configure | 57731 ++++++++---------------- configure.ac | 145 +- doc/Makefile.am | 29 +- doc/Makefile.in | 409 +- doc/gendocs_template | 2 +- doc/genfile.texi | 44 +- doc/header.texi | 31 +- doc/mastermenu.el | 15 +- doc/parse-datetime.texi | 99 +- doc/rendition.texi | 4 +- doc/snapshot.texi | 57 +- doc/stamp-vti | 8 +- doc/tar-snapshot-edit.texi | 66 +- doc/tar.info | 815 +- doc/tar.info-1 | 636 +- doc/tar.info-2 | 1433 +- doc/tar.info-3 | Bin 0 -> 45058 bytes doc/tar.texi | 572 +- doc/texify.sed | 29 +- doc/value.texi | 3 +- doc/version.texi | 8 +- gnu/Makefile.am | 2752 +- gnu/Makefile.in | 1877 +- gnu/acl-errno-valid.c | 54 + gnu/acl-internal.h | 252 + gnu/acl.h | 32 + gnu/acl_entries.c | 77 + gnu/alloca.c | 33 +- gnu/alloca.in.h | 15 +- gnu/allocator.c | 7 + gnu/allocator.h | 60 + gnu/anytostr.c | 4 +- gnu/areadlink.c | 111 +- gnu/areadlink.h | 2 +- gnu/areadlinkat.c | 88 +- gnu/argmatch.c | 12 +- gnu/argmatch.h | 21 +- gnu/argp-ba.c | 8 +- gnu/argp-eexst.c | 2 +- gnu/argp-fmtstream.c | 4 +- gnu/argp-fmtstream.h | 17 +- gnu/argp-fs-xinl.c | 8 +- gnu/argp-help.c | 68 +- gnu/argp-namefrob.h | 2 +- gnu/argp-parse.c | 29 +- gnu/argp-pin.c | 3 +- gnu/argp-pv.c | 4 +- gnu/argp-pvh.c | 2 +- gnu/argp-version-etc.c | 2 +- gnu/argp-version-etc.h | 6 +- gnu/argp-xinl.c | 8 +- gnu/argp.h | 53 +- gnu/asnprintf.c | 5 +- gnu/asprintf.c | 5 +- gnu/at-func.c | 37 +- gnu/at-func2.c | 4 +- gnu/backupfile.c | 4 +- gnu/backupfile.h | 2 +- gnu/basename-lgpl.c | 2 +- gnu/basename.c | 6 +- gnu/bitrotate.c | 5 + gnu/bitrotate.h | 29 +- gnu/btowc.c | 2 +- gnu/c-ctype.c | 5 +- gnu/c-ctype.h | 38 +- gnu/c-strcase.h | 58 + gnu/c-strcasecmp.c | 58 + gnu/c-strcaseeq.h | 186 + gnu/c-strncasecmp.c | 58 + gnu/canonicalize-lgpl.c | 98 +- gnu/careadlinkat.c | 162 + gnu/careadlinkat.h | 69 + gnu/chdir-long.c | 14 +- gnu/chdir-long.h | 8 +- gnu/chmodat.c | 5 + gnu/chown.c | 6 +- gnu/chownat.c | 5 + gnu/cloexec.c | 6 +- gnu/cloexec.h | 6 +- gnu/close-stream.c | 4 +- gnu/close.c | 37 +- gnu/closedir.c | 69 + gnu/closeout.c | 4 +- gnu/closeout.h | 2 +- gnu/config.charset | 7 +- gnu/copy-acl.c | 63 + gnu/dirent--.h | 2 +- gnu/dirent-private.h | 42 + gnu/dirent-safer.h | 2 +- gnu/dirent.in.h | 136 +- gnu/dirfd.c | 2 +- gnu/dirname-lgpl.c | 8 +- gnu/dirname.c | 2 +- gnu/dirname.h | 8 +- gnu/dosname.h | 2 +- gnu/dup-safer.c | 2 +- gnu/dup.c | 63 + gnu/dup2.c | 76 +- gnu/errno.in.h | 190 +- gnu/error.c | 27 +- gnu/error.h | 8 +- gnu/exclude.c | 163 +- gnu/exclude.h | 4 +- gnu/exitfail.c | 2 +- gnu/exitfail.h | 2 +- gnu/fchdir.c | 119 +- gnu/fchmodat.c | 2 +- gnu/fchown-stub.c | 4 +- gnu/fchownat.c | 2 +- gnu/fcntl.c | 9 +- gnu/fcntl.in.h | 57 +- gnu/fd-hook.c | 118 + gnu/fd-hook.h | 121 + gnu/fd-safer.c | 2 +- gnu/fdopendir.c | 2 +- gnu/fdutimensat.c | 2 +- gnu/file-has-acl.c | 920 + gnu/fileblocks.c | 2 +- gnu/filename.h | 56 + gnu/filenamecat-lgpl.c | 4 +- gnu/filenamecat.h | 2 +- gnu/float+.h | 5 +- gnu/float.c | 35 + gnu/float.in.h | 137 +- gnu/fnmatch.c | 15 +- gnu/fnmatch.in.h | 17 +- gnu/fnmatch_loop.c | 27 +- gnu/fpending.c | 2 +- gnu/fpending.h | 6 +- gnu/fseek.c | 32 + gnu/fseeko.c | 53 +- gnu/fstat.c | 90 + gnu/fstatat.c | 47 +- gnu/full-write.c | 2 +- gnu/full-write.h | 2 +- gnu/futimens.c | 2 +- gnu/getcwd-lgpl.c | 128 + gnu/getcwd.c | 34 +- gnu/getdelim.c | 10 +- gnu/getdtablesize.c | 25 +- gnu/getfilecon.c | 88 + gnu/getline.c | 6 +- gnu/getopt.c | 159 +- gnu/getopt.in.h | 66 +- gnu/getopt1.c | 6 +- gnu/getopt_int.h | 16 +- gnu/getpagesize.c | 4 +- gnu/gettext.h | 14 +- gnu/gettime.c | 2 +- gnu/gettimeofday.c | 16 +- gnu/gnulib.mk | 3338 ++ gnu/hash.c | 61 +- gnu/hash.h | 41 +- gnu/human.c | 6 +- gnu/human.h | 4 +- gnu/intprops.h | 305 +- gnu/inttostr.h | 2 +- gnu/inttypes.in.h | 1770 +- gnu/iswblank.c | 5 +- gnu/itold.c | 30 + gnu/langinfo.in.h | 15 +- gnu/lchown.c | 2 +- gnu/link.c | 22 +- gnu/linkat.c | 3 +- gnu/localcharset.c | 42 +- gnu/localcharset.h | 5 +- gnu/locale.in.h | 218 + gnu/localeconv.c | 105 + gnu/lseek.c | 11 +- gnu/lstat.c | 20 +- gnu/malloc.c | 10 +- gnu/malloca.c | 44 +- gnu/malloca.h | 9 +- gnu/mbchar.c | 4 +- gnu/mbchar.h | 17 +- gnu/mbrtowc.c | 26 +- gnu/mbscasecmp.c | 2 +- gnu/mbsinit.c | 2 +- gnu/mbsrtowcs-impl.h | 2 +- gnu/mbsrtowcs-state.c | 4 +- gnu/mbsrtowcs.c | 2 +- gnu/mbtowc-impl.h | 2 +- gnu/mbtowc.c | 2 +- gnu/mbuiter.c | 5 + gnu/mbuiter.h | 19 +- gnu/memchr.c | 2 +- gnu/mempcpy.c | 5 +- gnu/memrchr.c | 2 +- gnu/mkdir.c | 2 +- gnu/mkdirat.c | 2 +- gnu/mkdtemp.c | 2 +- gnu/mkfifo.c | 2 +- gnu/mkfifoat.c | 2 +- gnu/mknod.c | 2 +- gnu/mknodat.c | 2 +- gnu/mktime.c | 436 +- gnu/modechange.c | 91 +- gnu/modechange.h | 2 +- gnu/msvc-inval.c | 131 + gnu/msvc-inval.h | 224 + gnu/msvc-nothrow.c | 51 + gnu/msvc-nothrow.h | 45 + gnu/nl_langinfo.c | 5 +- gnu/obstack.c | 28 +- gnu/obstack.h | 32 +- gnu/open.c | 24 +- gnu/openat-die.c | 4 +- gnu/openat-priv.h | 2 +- gnu/openat-proc.c | 23 +- gnu/openat.c | 39 +- gnu/openat.h | 52 +- gnu/opendir-safer.c | 18 +- gnu/opendir.c | 150 + gnu/parse-datetime.c | 1572 +- gnu/parse-datetime.h | 2 +- gnu/parse-datetime.y | 127 +- gnu/pathmax.h | 55 +- gnu/pipe-safer.c | 2 +- gnu/printf-args.c | 5 +- gnu/printf-args.h | 5 +- gnu/printf-parse.c | 9 +- gnu/printf-parse.h | 5 +- gnu/priv-set.c | 5 +- gnu/priv-set.h | 21 +- gnu/progname.c | 2 +- gnu/progname.h | 2 +- gnu/qcopy-acl.c | 585 + gnu/qset-acl.c | 678 + gnu/quote.h | 32 +- gnu/quotearg.c | 126 +- gnu/quotearg.h | 8 +- gnu/raise.c | 81 + gnu/rawmemchr.c | 2 +- gnu/read.c | 87 + gnu/readdir.c | 100 + gnu/readlink.c | 2 +- gnu/readlinkat.c | 2 +- gnu/realloc.c | 16 +- gnu/ref-add.sin | 5 +- gnu/ref-del.sin | 5 +- gnu/regcomp.c | 358 +- gnu/regex.c | 36 +- gnu/regex.h | 248 +- gnu/regex_internal.c | 98 +- gnu/regex_internal.h | 186 +- gnu/regexec.c | 211 +- gnu/rename.c | 2 +- gnu/renameat.c | 2 +- gnu/rewinddir.c | 51 + gnu/rmdir.c | 2 +- gnu/root-uid.h | 32 + gnu/rpmatch.c | 7 +- gnu/safe-read.c | 2 +- gnu/safe-read.h | 15 +- gnu/safe-write.c | 2 +- gnu/safe-write.h | 15 +- gnu/same-inode.h | 16 +- gnu/save-cwd.c | 7 +- gnu/save-cwd.h | 2 +- gnu/savedir.c | 4 +- gnu/savedir.h | 2 +- gnu/se-context.c | 5 + gnu/se-context.in.h | 37 + gnu/se-selinux.c | 5 + gnu/se-selinux.in.h | 116 + gnu/secure_getenv.c | 43 + gnu/selinux-at.c | 74 + gnu/selinux-at.h | 54 + gnu/set-acl.c | 50 + gnu/setenv.c | 28 +- gnu/signal.in.h | 449 + gnu/size_max.h | 5 +- gnu/sleep.c | 4 +- gnu/snprintf.c | 5 +- gnu/stat-time.c | 5 + gnu/stat-time.h | 41 +- gnu/stat.c | 41 +- gnu/statat.c | 5 + gnu/stdalign.in.h | 92 + gnu/stdarg.in.h | 15 +- gnu/stdbool.in.h | 56 +- gnu/stddef.in.h | 19 +- gnu/stdint.in.h | 196 +- gnu/stdio-impl.h | 8 +- gnu/stdio.in.h | 380 +- gnu/stdlib.in.h | 257 +- gnu/stpcpy.c | 2 +- gnu/strcasecmp.c | 5 +- gnu/strchrnul.c | 2 +- gnu/strdup.c | 5 +- gnu/streq.h | 10 +- gnu/strerror-override.c | 304 + gnu/strerror-override.h | 58 + gnu/strerror.c | 360 +- gnu/string.in.h | 87 +- gnu/strings.in.h | 46 +- gnu/stripslash.c | 4 +- gnu/strncasecmp.c | 5 +- gnu/strndup.c | 5 +- gnu/strnlen.c | 5 +- gnu/strnlen1.c | 2 +- gnu/strnlen1.h | 5 +- gnu/strtoimax.c | 2 +- gnu/strtol.c | 17 +- gnu/strtoul.c | 2 +- gnu/strtoull.c | 4 +- gnu/symlink.c | 2 +- gnu/symlinkat.c | 2 +- gnu/sys_stat.in.h | 134 +- gnu/sys_time.in.h | 187 +- gnu/sys_types.in.h | 53 + gnu/sysexits.in.h | 12 +- gnu/tempname.c | 11 +- gnu/tempname.h | 2 +- gnu/time.in.h | 9 +- gnu/time_r.c | 5 +- gnu/timespec.c | 5 + gnu/timespec.h | 33 +- gnu/unistd--.h | 2 +- gnu/unistd-safer.h | 2 +- gnu/unistd.c | 5 + gnu/unistd.in.h | 433 +- gnu/unitypes.in.h | 24 +- gnu/uniwidth.in.h | 23 +- gnu/uniwidth/cjk.h | 18 +- gnu/uniwidth/width.c | 2 +- gnu/unlink.c | 2 +- gnu/unlinkat.c | 9 +- gnu/unlinkdir.c | 5 +- gnu/unlinkdir.h | 2 +- gnu/unlocked-io.h | 2 +- gnu/unsetenv.c | 15 +- gnu/utimens.c | 40 +- gnu/utimens.h | 29 +- gnu/utimensat.c | 34 +- gnu/vasnprintf.c | 101 +- gnu/vasnprintf.h | 5 +- gnu/vasprintf.c | 5 +- gnu/verify.h | 152 +- gnu/version-etc-fsf.c | 2 +- gnu/version-etc.c | 4 +- gnu/version-etc.h | 8 +- gnu/vsnprintf.c | 5 +- gnu/wchar.in.h | 192 +- gnu/wcrtomb.c | 2 +- gnu/wctype-h.c | 6 + gnu/wctype.in.h | 95 +- gnu/wcwidth.c | 4 +- gnu/write.c | 129 +- gnu/xalloc-die.c | 4 +- gnu/xalloc-oversized.h | 40 + gnu/xalloc.h | 112 +- gnu/xasprintf.c | 2 +- gnu/xgetcwd.c | 2 +- gnu/xgetcwd.h | 2 +- gnu/xmalloc.c | 18 +- gnu/xsize.c | 5 + gnu/xsize.h | 22 +- gnu/xstrndup.c | 2 +- gnu/xstrndup.h | 2 +- gnu/xstrtol-error.c | 8 +- gnu/xstrtol.c | 21 +- gnu/xstrtol.h | 14 +- gnu/xvasprintf.c | 4 +- gnu/xvasprintf.h | 2 +- lib/Makefile.am | 44 +- lib/Makefile.in | 404 +- lib/attr-xattr.in.h | 60 + lib/prepargs.c | 6 +- lib/rmt.h | 4 +- lib/rtapelib.c | 23 +- lib/stdopen.c | 5 +- lib/system.h | 7 +- lib/wordsplit.c | 1628 + lib/wordsplit.h | 162 + lib/xattr-at.c | 110 + lib/xattr-at.h | 66 + m4/00gnulib.m4 | 2 +- m4/acl.m4 | 164 + m4/alloca.m4 | 82 +- m4/argp.m4 | 32 +- m4/backupfile.m4 | 8 +- m4/bison.m4 | 12 +- m4/btowc.m4 | 9 +- m4/canonicalize.m4 | 72 +- m4/chdir-long.m4 | 21 +- m4/chown.m4 | 106 +- m4/clock_time.m4 | 2 +- m4/close-stream.m4 | 8 +- m4/close.m4 | 29 +- m4/closedir.m4 | 25 + m4/closeout.m4 | 8 +- m4/codeset.m4 | 2 +- m4/configmake.m4 | 2 +- m4/d-ino.m4 | 25 +- m4/dirent-safer.m4 | 5 +- m4/dirent_h.m4 | 29 +- m4/dirfd.m4 | 72 +- m4/dirname.m4 | 10 +- m4/double-slash-root.m4 | 2 +- m4/dup.m4 | 25 + m4/dup2.m4 | 68 +- m4/eealloc.m4 | 5 +- m4/environ.m4 | 15 +- m4/errno_h.m4 | 23 +- m4/error.m4 | 20 +- m4/exponentd.m4 | 116 + m4/extensions.m4 | 56 +- m4/extern-inline.m4 | 70 + m4/fchdir.m4 | 48 +- m4/fchmodat.m4 | 17 + m4/fchownat.m4 | 108 + m4/fcntl-o.m4 | 30 +- m4/fcntl.m4 | 13 +- m4/fcntl_h.m4 | 27 +- m4/fdopendir.m4 | 36 +- m4/fileblocks.m4 | 15 +- m4/filenamecat.m4 | 7 +- m4/float_h.m4 | 87 +- m4/fnmatch.m4 | 34 +- m4/fpending.m4 | 115 +- m4/fseek.m4 | 15 + m4/fseeko.m4 | 64 +- m4/fstat.m4 | 36 + m4/fstatat.m4 | 60 + m4/futimens.m4 | 6 +- m4/getcwd-abort-bug.m4 | 95 +- m4/getcwd-path-max.m4 | 40 +- m4/getcwd.m4 | 126 +- m4/getdelim.m4 | 24 +- m4/getdtablesize.m4 | 8 +- m4/getline.m4 | 27 +- m4/getopt.m4 | 357 +- m4/getpagesize.m4 | 5 +- m4/gettext.m4 | 8 +- m4/gettime.m4 | 6 +- m4/gettimeofday.m4 | 52 +- m4/glibc21.m4 | 2 +- m4/gnulib-common.m4 | 161 +- m4/gnulib-comp.m4 | 884 +- m4/human.m4 | 8 +- m4/iconv.m4 | 6 +- m4/include_next.m4 | 54 +- m4/intlmacosx.m4 | 14 +- m4/intmax_t.m4 | 2 +- m4/inttostr.m4 | 2 +- m4/inttypes-pri.m4 | 2 +- m4/inttypes.m4 | 193 +- m4/inttypes_h.m4 | 2 +- m4/iswblank.m4 | 18 +- m4/langinfo_h.m4 | 2 +- m4/largefile.m4 | 146 + m4/lchown.m4 | 23 +- m4/lib-ld.m4 | 60 +- m4/lib-link.m4 | 2 +- m4/lib-prefix.m4 | 2 +- m4/libunistring-base.m4 | 2 +- m4/link-follow.m4 | 25 +- m4/link.m4 | 30 +- m4/linkat.m4 | 8 +- m4/localcharset.m4 | 2 +- m4/locale-fr.m4 | 28 +- m4/locale-ja.m4 | 17 +- m4/locale-zh.m4 | 20 +- m4/locale_h.m4 | 122 + m4/localeconv.m4 | 22 + m4/longlong.m4 | 8 +- m4/lseek.m4 | 80 +- m4/lstat.m4 | 58 +- m4/malloc.m4 | 52 +- m4/malloca.m4 | 2 +- m4/manywarnings.m4 | 222 + m4/mbchar.m4 | 5 +- m4/mbiter.m4 | 5 +- m4/mbrtowc.m4 | 28 +- m4/mbsinit.m4 | 25 +- m4/mbsrtowcs.m4 | 26 +- m4/mbstate_t.m4 | 2 +- m4/mbtowc.m4 | 8 +- m4/memchr.m4 | 22 +- m4/mempcpy.m4 | 7 +- m4/memrchr.m4 | 9 +- m4/mkdir.m4 | 45 +- m4/mkdirat.m4 | 23 + m4/mkdtemp.m4 | 9 +- m4/mkfifo.m4 | 28 +- m4/mkfifoat.m4 | 6 +- m4/mknod.m4 | 38 +- m4/mktime.m4 | 106 +- m4/mmap-anon.m4 | 14 +- m4/mode_t.m4 | 2 +- m4/modechange.m4 | 6 +- m4/msvc-inval.m4 | 19 + m4/msvc-nothrow.m4 | 10 + m4/multiarch.m4 | 6 +- m4/nl_langinfo.m4 | 6 +- m4/nls.m4 | 2 +- m4/nocrash.m4 | 130 + m4/off_t.m4 | 18 + m4/open.m4 | 36 +- m4/openat.m4 | 153 +- m4/opendir.m4 | 25 + m4/parse-datetime.m4 | 4 +- m4/pathmax.m4 | 35 +- m4/po.m4 | 35 +- m4/printf.m4 | 175 +- m4/priv-set.m4 | 5 +- m4/progtest.m4 | 2 +- m4/quote.m4 | 7 +- m4/quotearg.m4 | 6 +- m4/raise.m4 | 34 + m4/rawmemchr.m4 | 7 +- m4/read.m4 | 26 + m4/readdir.m4 | 15 + m4/readlink.m4 | 39 +- m4/readlinkat.m4 | 6 +- m4/realloc.m4 | 52 +- m4/regex.m4 | 103 +- m4/rename.m4 | 161 +- m4/renameat.m4 | 8 +- m4/rewinddir.m4 | 15 + m4/rmdir.m4 | 30 +- m4/rpmatch.m4 | 7 +- m4/safe-read.m4 | 11 +- m4/safe-write.m4 | 11 +- m4/save-cwd.m4 | 7 +- m4/savedir.m4 | 6 +- m4/secure_getenv.m4 | 25 + m4/selinux-context-h.m4 | 22 + m4/selinux-selinux-h.m4 | 69 + m4/setenv.m4 | 77 +- m4/signal_h.m4 | 83 + m4/size_max.m4 | 2 +- m4/sleep.m4 | 26 +- m4/snprintf.m4 | 15 +- m4/ssize_t.m4 | 2 +- m4/stat-time.m4 | 4 +- m4/stat.m4 | 25 +- m4/stdalign.m4 | 52 + m4/stdarg.m4 | 11 +- m4/stdbool.m4 | 5 +- m4/stddef_h.m4 | 8 +- m4/stdint.m4 | 19 +- m4/stdint_h.m4 | 2 +- m4/stdio_h.m4 | 72 +- m4/stdlib_h.m4 | 24 +- m4/stpcpy.m4 | 7 +- m4/strcase.m4 | 15 +- m4/strchrnul.m4 | 37 +- m4/strdup.m4 | 13 +- m4/strerror.m4 | 116 +- m4/string_h.m4 | 15 +- m4/strings_h.m4 | 23 +- m4/strndup.m4 | 20 +- m4/strnlen.m4 | 12 +- m4/strtol.m4 | 6 +- m4/strtoul.m4 | 6 +- m4/strtoull.m4 | 7 +- m4/strtoumax.m4 | 23 +- m4/symlink.m4 | 24 +- m4/symlinkat.m4 | 5 +- m4/sys_socket_h.m4 | 176 + m4/sys_stat_h.m4 | 26 +- m4/sys_time_h.m4 | 44 +- m4/sys_types_h.m4 | 24 + m4/sysexits.m4 | 5 +- m4/tempname.m4 | 7 +- m4/time_h.m4 | 6 +- m4/time_r.m4 | 8 +- m4/timespec.m4 | 10 +- m4/tm_gmtoff.m4 | 2 +- m4/unistd-safer.m4 | 7 +- m4/unistd_h.m4 | 126 +- m4/unlink.m4 | 51 +- m4/unlinkat.m4 | 33 + m4/unlinkdir.m4 | 6 +- m4/unlocked-io.m4 | 2 +- m4/utimbuf.m4 | 4 +- m4/utimens.m4 | 26 +- m4/utimensat.m4 | 6 +- m4/utimes.m4 | 2 +- m4/vasnprintf.m4 | 14 +- m4/vasprintf.m4 | 2 +- m4/version-etc.m4 | 2 +- m4/vsnprintf.m4 | 15 +- m4/warn-on-use.m4 | 14 +- m4/warnings.m4 | 70 + m4/wchar_h.m4 | 11 +- m4/wchar_t.m4 | 2 +- m4/wcrtomb.m4 | 25 +- m4/wctype_h.m4 | 57 +- m4/wcwidth.m4 | 25 +- m4/wint_t.m4 | 2 +- m4/write.m4 | 18 +- m4/xalloc.m4 | 23 +- m4/xgetcwd.m4 | 8 +- m4/xsize.m4 | 5 +- m4/xstrndup.m4 | 2 +- m4/xstrtol.m4 | 8 +- m4/xvasprintf.m4 | 11 +- po/LINGUAS | 1 + po/POTFILES.in | 16 +- po/bg.gmo | Bin 61781 -> 55526 bytes po/bg.po | 1234 +- po/ca.gmo | Bin 59616 -> 54344 bytes po/ca.po | 1240 +- po/cs.gmo | Bin 60020 -> 54600 bytes po/cs.po | 1240 +- po/da.gmo | Bin 55961 -> 51083 bytes po/da.po | 1238 +- po/de.gmo | Bin 59761 -> 54425 bytes po/de.po | 1245 +- po/el.gmo | Bin 14878 -> 14204 bytes po/el.po | 1184 +- po/eo.gmo | Bin 0 -> 51581 bytes po/eo.po | 2885 ++ po/es.gmo | Bin 25164 -> 23778 bytes po/es.po | 1213 +- po/et.gmo | Bin 54679 -> 49967 bytes po/et.po | 1241 +- po/eu.gmo | Bin 34901 -> 32832 bytes po/eu.po | 1225 +- po/fi.gmo | Bin 34577 -> 30929 bytes po/fi.po | 1217 +- po/fr.gmo | Bin 62183 -> 56618 bytes po/fr.po | 1243 +- po/ga.gmo | Bin 55221 -> 50420 bytes po/ga.po | 1231 +- po/gl.gmo | Bin 10990 -> 10471 bytes po/gl.po | 1192 +- po/hr.gmo | Bin 10878 -> 52730 bytes po/hr.po | 2700 +- po/hu.gmo | Bin 62426 -> 56679 bytes po/hu.po | 1232 +- po/id.gmo | Bin 57500 -> 52405 bytes po/id.po | 1233 +- po/it.gmo | Bin 58920 -> 53793 bytes po/it.po | 1245 +- po/ja.gmo | Bin 54932 -> 50041 bytes po/ja.po | 1255 +- po/ko.gmo | Bin 4121 -> 3670 bytes po/ko.po | 1202 +- po/ky.gmo | Bin 62502 -> 56205 bytes po/ky.po | 1237 +- po/ms.gmo | Bin 9953 -> 9444 bytes po/ms.po | 1184 +- po/nb.gmo | Bin 4558 -> 4092 bytes po/nb.po | 1192 +- po/nl.gmo | Bin 59113 -> 53971 bytes po/nl.po | 1246 +- po/pl.gmo | Bin 59644 -> 54607 bytes po/pl.po | 1245 +- po/pt.gmo | Bin 3744 -> 3256 bytes po/pt.po | 1193 +- po/pt_BR.gmo | Bin 11024 -> 37682 bytes po/pt_BR.po | 1957 +- po/ro.gmo | Bin 24113 -> 22768 bytes po/ro.po | 1197 +- po/ru.gmo | Bin 76829 -> 70029 bytes po/ru.po | 1231 +- po/sk.gmo | Bin 10626 -> 10106 bytes po/sk.po | 1184 +- po/sl.gmo | Bin 58589 -> 53487 bytes po/sl.po | 1243 +- po/sv.gmo | Bin 56824 -> 51947 bytes po/sv.po | 1245 +- po/tar.pot | 1155 +- po/tr.gmo | Bin 48205 -> 53323 bytes po/tr.po | 1545 +- po/uk.gmo | Bin 76151 -> 69484 bytes po/uk.po | 1231 +- po/vi.gmo | Bin 63161 -> 57850 bytes po/vi.po | 1323 +- po/zh_CN.gmo | Bin 53122 -> 48378 bytes po/zh_CN.po | 1243 +- po/zh_TW.gmo | Bin 48656 -> 48967 bytes po/zh_TW.po | 1713 +- rmt/Makefile.am | 2 +- rmt/Makefile.in | 343 +- scripts/Makefile.am | 34 +- scripts/Makefile.in | 334 +- scripts/backup-specs | 32 +- scripts/backup.in | 29 +- scripts/backup.sh.in | 39 +- scripts/dump-remind.in | 24 +- scripts/restore.in | 25 +- src/Makefile.am | 38 +- src/Makefile.in | 375 +- src/arith.h | 15 +- src/buffer.c | 85 +- src/checkpoint.c | 42 +- src/common.h | 136 +- src/compare.c | 73 +- src/create.c | 122 +- src/delete.c | 33 +- src/exit.c | 34 +- src/extract.c | 237 +- src/incremen.c | 583 +- src/list.c | 174 +- src/misc.c | 369 +- src/names.c | 375 +- src/sparse.c | 61 +- src/suffix.c | 3 +- src/system.c | 74 +- src/tar.c | 556 +- src/tar.h | 51 +- src/transform.c | 13 +- src/unlink.c | 61 +- src/update.c | 44 +- src/utf8.c | 25 +- src/warning.c | 34 +- src/xattrs.c | 734 + src/xattrs.h | 50 + src/xheader.c | 589 +- tests/Makefile.am | 98 +- tests/Makefile.in | 444 +- tests/T-cd.at | 44 + tests/T-empty.at | 27 +- tests/T-mult.at | 46 + tests/T-nest.at | 46 + tests/T-nonl.at | 62 + tests/T-null.at | 40 +- tests/T-rec.at | 46 + tests/T-zfile.at | 52 + tests/acls01.at | 55 + tests/acls02.at | 61 + tests/append.at | 16 +- tests/append01.at | 19 +- tests/append02.at | 16 +- tests/append03.at | 18 +- tests/append04.at | 60 + tests/atlocal.in | 25 +- tests/backup01.at | 18 +- tests/capabs_raw01.at | 53 + tests/chtype.at | 18 +- tests/comprec.at | 16 +- tests/delete01.at | 16 +- tests/delete02.at | 16 +- tests/delete03.at | 19 +- tests/delete04.at | 16 +- tests/delete05.at | 16 +- tests/exclude.at | 16 +- tests/exclude01.at | 12 +- tests/exclude02.at | 12 +- tests/exclude03.at | 12 +- tests/exclude04.at | 12 +- tests/exclude05.at | 12 +- tests/exclude06.at | 15 +- tests/exclude07.at | 36 + tests/exclude08.at | 54 + tests/exclude09.at | 57 + tests/exclude10.at | 73 + tests/exclude11.at | 53 + tests/exclude12.at | 56 + tests/exclude13.at | 73 + tests/exclude14.at | 52 + tests/exclude15.at | 54 + tests/exclude16.at | 71 + tests/extrac01.at | 16 +- tests/extrac02.at | 16 +- tests/extrac03.at | 16 +- tests/extrac04.at | 16 +- tests/extrac05.at | 16 +- tests/extrac06.at | 17 +- tests/extrac07.at | 16 +- tests/extrac08.at | 16 +- tests/extrac09.at | 12 +- tests/extrac10.at | 12 +- tests/extrac11.at | 12 +- tests/extrac12.at | 12 +- tests/extrac13.at | 12 +- tests/extrac14.at | 12 +- tests/extrac15.at | 12 +- tests/extrac16.at | 12 +- tests/extrac17.at | 18 +- tests/extrac18.at | 62 + tests/extrac19.at | 46 + tests/filerem01.at | 14 +- tests/filerem02.at | 14 +- tests/genfile.c | 18 +- tests/grow.at | 16 +- tests/gzip.at | 16 +- tests/ignfail.at | 16 +- tests/incr01.at | 18 +- tests/incr02.at | 20 +- tests/incr03.at | 16 +- tests/incr04.at | 21 +- tests/incr05.at | 12 +- tests/incr06.at | 12 +- tests/incr07.at | 112 + tests/incr08.at | 86 + tests/incr09.at | 67 + tests/incremental.at | 20 +- tests/indexfile.at | 16 +- tests/label01.at | 12 +- tests/label02.at | 12 +- tests/label03.at | 12 +- tests/label04.at | 14 +- tests/label05.at | 14 +- tests/link01.at | 16 +- tests/link02.at | 16 +- tests/link03.at | 21 +- tests/link04.at | 16 +- tests/listed01.at | 16 +- tests/listed02.at | 22 +- tests/listed03.at | 12 +- tests/listed04.at | 12 +- tests/listed05.at | 78 + tests/long01.at | 22 +- tests/longv7.at | 22 +- tests/lustar01.at | 19 +- tests/lustar02.at | 26 +- tests/lustar03.at | 22 +- tests/multiv01.at | 16 +- tests/multiv02.at | 16 +- tests/multiv03.at | 18 +- tests/multiv04.at | 18 +- tests/multiv05.at | 21 +- tests/multiv06.at | 16 +- tests/multiv07.at | 12 +- tests/multiv08.at | 14 +- tests/old.at | 16 +- tests/opcomp01.at | 34 + tests/opcomp02.at | 34 + tests/opcomp03.at | 34 + tests/opcomp04.at | 38 + tests/opcomp05.at | 34 + tests/opcomp06.at | 36 + tests/options.at | 16 +- tests/options02.at | 16 +- tests/owner.at | 44 + tests/package.m4 | 4 +- tests/pipe.at | 17 +- tests/recurse.at | 16 +- tests/remfiles01.at | 16 +- tests/remfiles02.at | 16 +- tests/remfiles03.at | 16 +- tests/remfiles04a.at | 45 + tests/remfiles04b.at | 53 + tests/remfiles04c.at | 62 + tests/remfiles05a.at | 64 + tests/remfiles05b.at | 55 + tests/remfiles05c.at | 67 + tests/remfiles06a.at | 56 + tests/remfiles06b.at | 56 + tests/remfiles06c.at | 68 + tests/remfiles07a.at | 56 + tests/remfiles07b.at | 56 + tests/remfiles07c.at | 68 + tests/remfiles08a.at | 56 + tests/remfiles08b.at | 56 + tests/remfiles08c.at | 68 + tests/remfiles09a.at | 48 + tests/remfiles09b.at | 58 + tests/remfiles09c.at | 58 + tests/rename01.at | 18 +- tests/rename02.at | 18 +- tests/rename03.at | 22 +- tests/rename04.at | 16 +- tests/rename05.at | 16 +- tests/same-order01.at | 16 +- tests/same-order02.at | 16 +- tests/selacl01.at | 66 + tests/selnx01.at | 98 + tests/shortfile.at | 16 +- tests/shortrec.at | 16 +- tests/shortupd.at | 12 +- tests/sigpipe.at | 12 +- tests/sparse01.at | 16 +- tests/sparse02.at | 16 +- tests/sparse03.at | 16 +- tests/sparse04.at | 29 +- tests/sparsemv.at | 16 +- tests/sparsemvp.at | 16 +- tests/spmvp00.at | 16 +- tests/spmvp01.at | 16 +- tests/spmvp10.at | 16 +- tests/star/README | 32 +- tests/star/gtarfail.at | 16 +- tests/star/gtarfail2.at | 16 +- tests/star/multi-fail.at | 16 +- tests/star/pax-big-10g.at | 16 +- tests/star/quicktest.sh | 22 +- tests/star/ustar-big-2g.at | 16 +- tests/star/ustar-big-8g.at | 16 +- tests/testsuite | 59916 +++++++++++++------------ tests/testsuite.at | 204 +- tests/time01.at | 70 + tests/truncate.at | 16 +- tests/update.at | 16 +- tests/update01.at | 18 +- tests/update02.at | 16 +- tests/verbose.at | 16 +- tests/verify.at | 16 +- tests/version.at | 16 +- tests/volsize.at | 16 +- tests/volume.at | 22 +- tests/xattr01.at | 49 + tests/xattr02.at | 57 + tests/xattr03.at | 58 + tests/xattr04.at | 50 + tests/xattr05.at | 51 + tests/xform-h.at | 18 +- tests/xform01.at | 16 +- 933 files changed, 124558 insertions(+), 106202 deletions(-) create mode 100644 build-aux/snippet/_Noreturn.h create mode 100644 build-aux/snippet/arg-nonnull.h create mode 100644 build-aux/snippet/c++defs.h create mode 100644 build-aux/snippet/unused-parameter.h create mode 100644 build-aux/snippet/warn-on-use.h create mode 100644 doc/tar.info-3 create mode 100644 gnu/acl-errno-valid.c create mode 100644 gnu/acl-internal.h create mode 100644 gnu/acl.h create mode 100644 gnu/acl_entries.c create mode 100644 gnu/allocator.c create mode 100644 gnu/allocator.h create mode 100644 gnu/bitrotate.c create mode 100644 gnu/c-strcase.h create mode 100644 gnu/c-strcasecmp.c create mode 100644 gnu/c-strcaseeq.h create mode 100644 gnu/c-strncasecmp.c create mode 100644 gnu/careadlinkat.c create mode 100644 gnu/careadlinkat.h create mode 100644 gnu/chmodat.c create mode 100644 gnu/chownat.c create mode 100644 gnu/closedir.c create mode 100644 gnu/copy-acl.c create mode 100644 gnu/dirent-private.h create mode 100644 gnu/dup.c create mode 100644 gnu/fd-hook.c create mode 100644 gnu/fd-hook.h create mode 100644 gnu/file-has-acl.c create mode 100644 gnu/filename.h create mode 100644 gnu/float.c create mode 100644 gnu/fseek.c create mode 100644 gnu/fstat.c create mode 100644 gnu/getcwd-lgpl.c create mode 100644 gnu/getfilecon.c create mode 100644 gnu/gnulib.mk create mode 100644 gnu/itold.c create mode 100644 gnu/locale.in.h create mode 100644 gnu/localeconv.c create mode 100644 gnu/mbuiter.c create mode 100644 gnu/msvc-inval.c create mode 100644 gnu/msvc-inval.h create mode 100644 gnu/msvc-nothrow.c create mode 100644 gnu/msvc-nothrow.h create mode 100644 gnu/opendir.c create mode 100644 gnu/qcopy-acl.c create mode 100644 gnu/qset-acl.c create mode 100644 gnu/raise.c create mode 100644 gnu/read.c create mode 100644 gnu/readdir.c create mode 100644 gnu/rewinddir.c create mode 100644 gnu/root-uid.h create mode 100644 gnu/se-context.c create mode 100644 gnu/se-context.in.h create mode 100644 gnu/se-selinux.c create mode 100644 gnu/se-selinux.in.h create mode 100644 gnu/secure_getenv.c create mode 100644 gnu/selinux-at.c create mode 100644 gnu/selinux-at.h create mode 100644 gnu/set-acl.c create mode 100644 gnu/signal.in.h create mode 100644 gnu/stat-time.c create mode 100644 gnu/statat.c create mode 100644 gnu/stdalign.in.h create mode 100644 gnu/strerror-override.c create mode 100644 gnu/strerror-override.h create mode 100644 gnu/sys_types.in.h create mode 100644 gnu/timespec.c create mode 100644 gnu/unistd.c create mode 100644 gnu/wctype-h.c create mode 100644 gnu/xalloc-oversized.h create mode 100644 gnu/xsize.c create mode 100644 lib/attr-xattr.in.h create mode 100644 lib/wordsplit.c create mode 100644 lib/wordsplit.h create mode 100644 lib/xattr-at.c create mode 100644 lib/xattr-at.h create mode 100644 m4/acl.m4 create mode 100644 m4/closedir.m4 create mode 100644 m4/dup.m4 create mode 100644 m4/exponentd.m4 create mode 100644 m4/extern-inline.m4 create mode 100644 m4/fchmodat.m4 create mode 100644 m4/fchownat.m4 create mode 100644 m4/fseek.m4 create mode 100644 m4/fstat.m4 create mode 100644 m4/fstatat.m4 create mode 100644 m4/largefile.m4 create mode 100644 m4/locale_h.m4 create mode 100644 m4/localeconv.m4 create mode 100644 m4/manywarnings.m4 create mode 100644 m4/mkdirat.m4 create mode 100644 m4/msvc-inval.m4 create mode 100644 m4/msvc-nothrow.m4 create mode 100644 m4/nocrash.m4 create mode 100644 m4/off_t.m4 create mode 100644 m4/opendir.m4 create mode 100644 m4/raise.m4 create mode 100644 m4/read.m4 create mode 100644 m4/readdir.m4 create mode 100644 m4/rewinddir.m4 create mode 100644 m4/secure_getenv.m4 create mode 100644 m4/selinux-context-h.m4 create mode 100644 m4/selinux-selinux-h.m4 create mode 100644 m4/signal_h.m4 create mode 100644 m4/stdalign.m4 create mode 100644 m4/sys_socket_h.m4 create mode 100644 m4/sys_types_h.m4 create mode 100644 m4/unlinkat.m4 create mode 100644 m4/warnings.m4 create mode 100644 po/eo.gmo create mode 100644 po/eo.po create mode 100644 src/xattrs.c create mode 100644 src/xattrs.h create mode 100644 tests/T-cd.at create mode 100644 tests/T-mult.at create mode 100644 tests/T-nest.at create mode 100644 tests/T-nonl.at create mode 100644 tests/T-rec.at create mode 100644 tests/T-zfile.at create mode 100644 tests/acls01.at create mode 100644 tests/acls02.at create mode 100644 tests/append04.at create mode 100644 tests/capabs_raw01.at create mode 100644 tests/exclude07.at create mode 100644 tests/exclude08.at create mode 100644 tests/exclude09.at create mode 100644 tests/exclude10.at create mode 100644 tests/exclude11.at create mode 100644 tests/exclude12.at create mode 100644 tests/exclude13.at create mode 100644 tests/exclude14.at create mode 100644 tests/exclude15.at create mode 100644 tests/exclude16.at create mode 100644 tests/extrac18.at create mode 100644 tests/extrac19.at create mode 100644 tests/incr07.at create mode 100644 tests/incr08.at create mode 100644 tests/incr09.at create mode 100644 tests/listed05.at create mode 100644 tests/opcomp01.at create mode 100644 tests/opcomp02.at create mode 100644 tests/opcomp03.at create mode 100644 tests/opcomp04.at create mode 100644 tests/opcomp05.at create mode 100644 tests/opcomp06.at create mode 100644 tests/owner.at create mode 100644 tests/remfiles04a.at create mode 100644 tests/remfiles04b.at create mode 100644 tests/remfiles04c.at create mode 100644 tests/remfiles05a.at create mode 100644 tests/remfiles05b.at create mode 100644 tests/remfiles05c.at create mode 100644 tests/remfiles06a.at create mode 100644 tests/remfiles06b.at create mode 100644 tests/remfiles06c.at create mode 100644 tests/remfiles07a.at create mode 100644 tests/remfiles07b.at create mode 100644 tests/remfiles07c.at create mode 100644 tests/remfiles08a.at create mode 100644 tests/remfiles08b.at create mode 100644 tests/remfiles08c.at create mode 100644 tests/remfiles09a.at create mode 100644 tests/remfiles09b.at create mode 100644 tests/remfiles09c.at create mode 100644 tests/selacl01.at create mode 100644 tests/selnx01.at create mode 100644 tests/time01.at create mode 100644 tests/xattr01.at create mode 100644 tests/xattr02.at create mode 100644 tests/xattr03.at create mode 100644 tests/xattr04.at create mode 100644 tests/xattr05.at diff --git a/ChangeLog b/ChangeLog index bb3a1013..3dbd67a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,1384 @@ +2013-10-06 Sergey Poznyakoff + + Version 1.27 + + * NEWS: Update. + * configure.ac: Update. + +2013-10-06 Sergey Poznyakoff + + Minor fixes. + + * src/names.c: Include argp.h + * tests/testsuite.at (AT_XATTRS_UTILS_PREREQ) + (AT_SELINUX_UTILS_PREREQ,AT_ACLS_UTILS_PREREQ) + (AT_CAPABILITIES_UTILS_PREREQ) + (AT_XATTRS_PREREQ,AT_SELINUX_PREREQ) + (AT_ACLS_PREREQ): Use POSIX-compatible syntax for + mktemp. + * tests/incr08.at: Fix find usage. + +2013-10-05 Sergey Poznyakoff + + Xfail the remfiles09b test. + + * tests/remfiles09b.at: Turn into expected failure. + +2013-10-05 Nathan Stratton Treadway + + Tiny change + + * scripts/tar-snapshot-edit: Mention --show-snapshot-field-ranges + option + +2013-10-05 Pavel Raiskup + + Tiny change + + * configure.ac (RSH): Define as AC_ARG_VAR. + +2013-10-05 Sergey Poznyakoff + + Fix namespace contamination in testsuite. + + * tests/append01.at: Use m4_pushdef/m4_popdef to define local + macros. + * tests/delete03.at: Likewise. + * tests/exclude06.at: Likewise. + * tests/incr04.at: Likewise. + * tests/link03.at: Likewise. + * tests/long01.at: Likewise. + * tests/longv7.at: Likewise. + * tests/lustar01.at: Likewise. + * tests/lustar02.at: Likewise. + * tests/lustar03.at: Likewise. + * tests/multiv05.at: Likewise. + * tests/sparse04.at: Likewise. + +2013-10-05 Nathan Stratton Treadway + + Provide comprehensive testcases for various file removal modes. + + * tests/Makefile.am: Add new testcases. + * tests/testsuite.at: Likewise. + * tests/incr09.at: Add description. + * tests/remfiles04a.at: New file. + * tests/remfiles05.at: Rename to ... + * tests/remfiles04b.at: ... this. + * tests/remfiles04.at: Rename to ... + * tests/remfiles04c.at: ... this. + * tests/remfiles05a.at: New file. + * tests/remfiles05b.at: New file. + * tests/remfiles06.at: Rename to ... + * tests/remfiles05c.at: ... this. + * tests/remfiles06a.at: New file. + * tests/remfiles06b.at: New file. + * tests/remfiles06c.at: New file. + * tests/remfiles07a.at: New file. + * tests/remfiles07b.at: New file. + * tests/remfiles07c.at: New file. + * tests/remfiles08a.at: New file. + * tests/remfiles08b.at: New file. + * tests/remfiles08c.at: New file. + * tests/remfiles08.at: Rename to ... + * tests/remfiles09a.at: ... this. + * tests/remfiles09b.at: New file. + * tests/remfiles07.at: Rename to ... + * tests/remfiles09c.at: ... this. + +2013-10-03 Sergey Poznyakoff + + Tiny changes. + + * src/misc.c: Fix comments, rename wd.cwd to wd.abspath (Nathan + Stratton + Treadway); + * src/tar.c (options): Reword description of the --starting-file + and + --preserve-order options. + (decode_options): Both --starting-file and --preserve-order + have meaning + only when used together with an archive reading command. (Pavel + Raiskup). + +2013-10-01 Sergey Poznyakoff + + Revamp tar_getcwd/normalize_filename stuff. + + The changes are based on the discussion with Nathan. + + * src/common.h (normalize_filename): Take two arguments. All + callers updated. + (tar_getcwd): Replaced with .. + (tar_getcdpath): New proto. + * src/misc.c (normalize_filename): Take two arguments. + (chdir_arg): Populate cwd along with creating the + structure. + (tar_getcwd): Removed. + (tar_getcdpath): New function. + + * tests/incr09.at: New test case. + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Likewise. + +2013-09-27 Sergey Poznyakoff + + Bugfix + + * tests/remfiles08.at: Restore missing find + +2013-09-26 Sergey Poznyakoff + + Use relative addressing in deferred unlinks. + + * src/common.h (tar_dirname): New function. + * src/misc.c (normalize_filename_x): Make extern. + (tar_dirname): New function. + (tar_getcwd): Take into account absoulte pathnames. + * src/unlink.c (deferred_unlink) : New member; keeps the + value of chdir_current at the moment of structure allocation. + (flush_deferred_unlinks): Use chdir_do and relative addressing. + (queue_deferred_unlink): Initialize dir_idx. + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Add new tests. + * tests/remfiles06.at: Fix description. + * tests/remfiles07.at: Fix description. + * tests/remfiles08.at: New test case. + +2013-09-25 Nathan Stratton Treadway + + Improve tar-snapshot-edit + + Support architecture-specific field ranges for the "-c" function. + Better handle negative or larger-than-32-bit field values even + when running in 32-bit Perl (for the default "print a summary" + function) + +2013-09-25 Sergey Poznyakoff + + Improve tar_getcwd + + * src/common.h (tar_getcwd): Return pointer is const. + * src/misc.c (wd) : New member. + (chdir_arg): Initialize cwd. + (tar_getcwd): Use cwd member to cache the result. Take into + account absolute pathnames, + (normalize_filename): Don't free the value + returned from tar_getcwd. + * src/names.c (name_next_elt): Remove leftover call chdir(). + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Likewise. + + * tests/incr08.at: New testcase. + * tests/remfiles04.at: New testcase. + * tests/remfiles05.at: New testcase. + * tests/remfiles06.at: New testcase. + * tests/remfiles07.at: New testcase. + +2013-09-24 Sergey Poznyakoff + + Fix normalize_filename. + + The function did not take into account eventual -C options, which + in particular led to various problems when using -C and + --remove-files + together. + + * src/common.h (namebuf_add_dir,namebuf_finish) + (tar_getcwd): New prototypes. + * src/misc.c (namebuf_add_dir,namebuf_finish) + (tar_getcwd): New functions. + (normalize_filename): Use tar_getcwd. + +2013-09-23 Sergey Poznyakoff + + Changes for compatibility with Slackware installation scripts. + + * src/buffer.c (short_read): the "Record size" message + is controlled by the WARN_RECORD_SIZE warning_option bit. + * src/common.h (keep_directory_symlink_option): New global. + (WARN_RECORD_SIZE): New constant. + (WARN_VERBOSE_WARNINGS): Add WARN_RECORD_SIZE. + * src/extract.c (extract_dir): If keep_directory_symlink_option is + set, follow symlinks to directories. + * src/suffix.c (compression_suffixes): Add support for txz + suffix. + * src/tar.c (KEEP_DIRECTORY_SYMLINK_OPTION): New constant. + (options): New option --keep-directory-symlink. + (parse_opt): Handle this option. + * src/warning.c: Implement "record-size" warning control. + + * NEWS: Update. + * doc/tar.texi: Document new features. + +2013-09-21 Sergey Poznyakoff + + Fix error message (complements 0ea6e686) + + * src/tar.c (set_subcommand_option): Mention --delete in the + error message. + +2013-09-15 Sergey Poznyakoff + + Improve the incr07 test + +2013-09-15 Nathan Stratton Treadway + + Implement the --show-snapshot-field-ranges option + + * src/common.h (show_snapshot_field_ranges): New prototype. + * src/incremen.c (show_snapshot_field_ranges): New function. + * src/tar.c: New option --show-snapshot-field-ranges. + * doc/snapshot.texi: Document the --show-snapshot-field-ranges + option. + * doc/tar.texi: Likewise. + +2013-09-15 Sergey Poznyakoff + + Take into account chdir_fd when extracting from incremental dumps. + + * src/common.h (tar_savedir): New prototype. + * src/misc.c (tar_savedir): New function. + (remove_any_file): Use tar_savedir. + * src/incremen.c (try_purge_directory): Use tar_savedir. + * src/update.c (update_archive): Use tar_savedir. + * tests/incr07.at: New testcase. + * tests/Makefile.am (TESTSUITE_AT): Add new test. + * tests/testsuite.at: Likewise. + * THANKS: Updated. + +2013-09-15 Sergey Poznyakoff + + Minor fix + + * src/tar.c (main): Mention --delete in the error message. + * THANKS: Update + +2013-09-13 Paul Eggert + + * src/names.c (file_list_name): Properly prototype. + +2013-09-13 Paul Eggert + + tar: don't warn about zero timestamps + + * src/extract.c (check_time): Suppress warniing when t.tv_sec + == 0. + Problem reported by Denis Excoffier. + +2013-08-19 Pavel Raiskup + + Minor fix in the testsuite. + + * tests/T-cd.at: sort the 'tar cf' output. + +2013-08-17 Sergey Poznyakoff + + Improve error diagnostics + + * src/names.c (file_list_name): New static function. + (add_file_id): If a filelist is being read twice, print the names + of the files that caused it. + * tests/T-rec.at: New test case. + * tests/Makefile.am: Add new file. + * tests/testsuite.at: Include new file. + +2013-08-16 Sergey Poznyakoff + + Revamp initial name collection functions to ensure proper + argument ordering. + + * src/names.c (NELT_NOOP): New constant + (name_elt) : New members. + (name_array,allocated_entries,entries,scanned): Remove. + (check_name_alloc): Remove function. + (name_elt_alloc): New static. + (name_list_adjust,name_list_advance): New functions. + (name_add_name,name_add_dir) + (name_add_file): Use new allocation functions. + (read_next_name): Advance list head pointer as necessary + before returning. + (name_next_elt): Read elements from list. + * tests/T-cd.at: New file. + * tests/T-mult.at: New file. + * tests/T-nest.at: New file. + * tests/Makefile.am: Add new testcases. + * tests/testsuite.at: Likewise. + +2013-08-16 Sergey Poznyakoff + + Don't treat attempts to read an already read file list as + fatal errors. + + * src/names.c (add_file_id): Report error and return 1 if the file + has already been read. + (read_next_name): Don't try to open file if add_file_id returns 1. + (name_next_elt): Simplify conditional. + +2013-08-16 Sergey Poznyakoff + + Minor change. + + * src/names.c (name_next_elt): Simplify conditional. + +2013-08-15 Pavel Raiskup + + Fix use of uninitialized memory + + * src/names.c (name_add_file): Initialize the ep->v.file.fp + pointer + after structure allocation. + +2013-08-05 Sergey Poznyakoff + + Minor changes + + * src/names.c (handle_option): Use program_invocation_short_name + instead of the constant string. + (read_next_name): Remove unused variable. + +2013-08-04 Sergey Poznyakoff + + Update the docs. + + * doc/tar.texi: Parsing of the options found in the file list + follows the same rules as for command line. Remove the obsolete + description. This complements 26538c9b. + +2013-08-04 Sergey Poznyakoff + + Fix interacton of --verbose and --append. + + * src/buffer.c (_open_archive): don't overwrite existing archive + if given the --verify option. + * tests/append04.at: New file. + * tests/Makefile.am: Add new testcase. + * tests/testsuite.at: Add new testcase. + * THANKS: Update. + +2013-08-04 Sergey Poznyakoff + + Bugfix. + + * src/names.c (read_name_from_file): Fix a typo. Remove + unused variable. + +2013-08-04 Sergey Poznyakoff + + Reduce memory consuption when handling the -T option. + + The commit cdb27293 made the -T option more flexible, but + incurred a very considerable memory overhead by storing + all file names in the argument array. In case of very + big file lists this caused tar to run out of memory. This + was reported by Christian Wetzel + on March 14, 2013 + (http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00018.html). + + On the other hand, Michal Žeidl discovered that tar misfunctioned + when given empty file lists or lists with the trailing newline + misssing in the last entry. This was reported by Pavel Raiskup + on July 23 + (http://lists.gnu.org/archive/html/bug-tar/2013-07/msg00009.html + and + msg00010.html). + + This change fixes both issues. + + * src/common.h (name_add_file,request_stdin): New prototype. + (more_options): New prototype. + * src/names.c (NELT_FILE): New entry type. + (name_elt) : New union member. + (name_add_file): New function. + (read_name_from_file): New function, a rewrite of + the same function from tar.c + (read_next_name,copy_name): New static functions. + (name_next_elt): Handle NELT_FILE entries. + * src/tar.c (request_stdin): Make extern. + (read_name_from_file,add_file_id) + (update_argv): Removed. + (parse_opt): Change handling of the -T option. + (more_options): New function. + + * tests/T-null.at: Rewrite test. + * tests/T-zfile.at: New file. + * tests/T-nonl.at: New file. + * tests/Makefile.am: Add new testcases. + * tests/testsuite.at: Likewise. + + * THANKS: Update. + +2013-06-29 Sergey Poznyakoff + + Fix the compatibility check for the --occurrence option. + + * src/tar.c (SUBCL_OCCUR): New class. + (subcommand_class): Update. + (decode_options): Accept the --occurrence option + with any subcommand from the SUBCL_OCCUR class. + +2013-06-29 Pavel Raiskup + + testsuite: do not resist on file order in archive + + On my Fedora 19 box, the exclude08 & exclude11 tests failed before + this fix. The reason was that the directory traversing chosen the + file order differently than the testsuite expected. + + * tests/exclude08.at: Sort the tarball content output. + * tests/exclude09.at: Likewise. + * tests/exclude10.at: Likewise. + * tests/exclude11.at: Likewise. + * tests/exclude12.at: Likewise. + * tests/exclude13.at: Likewise. + * tests/exclude14.at: Likewise. + * tests/exclude15.at: Likewise. + * tests/exclude16.at: Likewise. + +2013-06-29 Sergey Poznyakoff + + Improve checks for incompatible options. + + * src/common.h (READ_LIKE_SUBCOMMAND): Remove define. + * src/tar.c (IS_SUBCOMMAND_CLASS): New macro. + (decode_options): Use IS_SUBCOMMAND_CLASS in checking + option compatibility. + Accept the --verify option only with subcommands that + write to the archive. + + * tests/opcomp01.at: New test case. + * tests/opcomp02.at: New test case. + * tests/opcomp03.at: New test case. + * tests/opcomp04.at: New test case. + * tests/opcomp05.at: New test case. + * tests/opcomp06.at: New test case. + * tests/Makefile.am: Add new testcases. + * tests/testsuite.at: Likewise. + +2013-06-28 Paul Eggert + + tar: port to Mingw Shell + + * src/extract.c (extract_symlink) [!HAVE_SYMLINK]: + Fix typo by replacing WARN_SYMBOLIC_CAST with WARN_SYMLINK_CAST. + Problem reported by kaka in + . + +2013-05-06 Paul Eggert + + maint: revert previous change + + It wasn't actually needed. Reported by Stefano Lattarini in + . + * configure.ac (AM_GNU_GETTEXT_VERSION): Decrease from 0.18.2 + back to 0.16. + +2013-04-25 Paul Eggert + + maint: port to bleeding-edge Automake by assuming Gettext 0.18.2 + + Reported by Stefano Lattarini in + . + * configure.ac (AM_GNU_GETTEXT_VERSION): Increase from 0.16 + to 0.18.2. + README-alpha says that we do not make any efforts to accommodate + older versions of Gettext. + +2013-04-25 Paul Eggert + + tar: port to --without-xattrs --enable-gcc-warnings + + Reported by Pavel Raiskup in + . + * src/xattrs.c (xattrs__fd_set) [!HAVE_XATTRS]: Omit. + +2013-04-25 Paul Eggert + + doc: port to texinfo 5 + + * doc/tar.texi (Reports, assumptions, Mixing): + Put FIXMEs at line start. + +2013-03-12 Sergey Poznyakoff + + Continue extracting from a separate volume after skipping a + partial member. + + Reported by Göran Udeborg on 2013-03-09. + + * src/extract.c (extract_skip): New function. + (prepare_to_extract): Set extractor to extract_skip if starting + at a partial member. + +2013-03-12 Sergey Poznyakoff + + Fix interaction of various --exclude-tag options with + --listed-incremental. + + * src/incremen.c (procdir): Set directory->tagfile in + the exclusion_tag_contents case. + (makedumpdir): Mark all entries as ignored if directory->tagfile + is set. + Free new_dump before returning. + (maketagdumpdir): New function. + (scan_directory): If directory->children is set to + NO_CHILDREN and directory->tagfile is set, create a + dumpdir consisting of the tagfile only. + + * tests/exclude08.at: New testcase. + * tests/exclude09.at: New testcase. + * tests/exclude10.at: New testcase. + * tests/exclude11.at: New testcase. + * tests/exclude12.at: New testcase. + * tests/exclude13.at: New testcase. + * tests/exclude14.at: New testcase. + * tests/exclude15.at: New testcase. + * tests/exclude16.at: New testcase. + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Include new tests. + * tests/atlocal.in (mkexcltest): New function. + * tests/chtype.at: Update keywords. + * tests/filerem01.at: Likewise. + * tests/filerem02.at: Likewise. + * tests/incremental.at: Likewise. + * tests/multiv04.at: Likewise. + +2013-02-20 Paul Eggert + + tar: remove lint + + * lib/wordsplit.c (_wsplit_error): Mark with printf attribute. + (expvar): "Use" defstr to pacify GCC. + * src/system.c (xexec): Now _Noreturn, to pacify GCC. + (run_decompress_program): Add cast to pacify GCC. + (sys_exec_command, sys_exec_info_script, + sys_exec_checkpoint_script): + Remove unused variables. + +2013-02-10 Sergey Poznyakoff + + Pass command line arguments to external commands. + + Any option taking a command name as its argument accepts + additional arguments as well. + + * lib/wordsplit.c: New file. + * lib/wordsplit.h: New file. + * lib/Makefile.am: Add new files. + * src/system.c (xexec): New function. + (run_decompress_program): Use wordsplit. + (sys_child_open_for_compress,sys_exec_command) + (sys_exec_info_script) + (sys_exec_checkpoint_script): Use xexec to invoke external + command. + + * NEWS: Update. + * doc/tar.texi: Update. + +2013-01-29 Nathan Stratton Treadway + + tar: improve compile-time diagnostics + + * src/misc.c (sysinttostr, strtosysint): Improve #error wording. + +2013-01-27 Paul Eggert + + tar: improve quality of diagnostics with incrementals + + Inspired by a prototype by Nathan Stratton Treadway in + . + * src/incremen.c (read_num): Rewrite by merging read_negative_num + and read_unsigned_num. Use strtosysint rather than rolling this + stuff ourselves. Change return type to bool. All uses changed. + (read_negative_num, read_unsigned_num): Remove. + (read_num, read_timespec, read_incr_db_2): Improve quality of + diagnostics, e.g., by supplying byte offset of error. + +2013-01-26 Paul Eggert + + tar: fix bug with sparse files with effective size of 8 GiB + or more + + Reported by Pavel Raiskup in + . + * NEWS: Document the fix. + * src/sparse.c (pax_start_header): New function. + (pax_dump_header_0, pax_dump_header_1): Use it. + +2012-12-31 Paul Eggert + + maint: update copyrights for 2013 and as per current GNU standards + +2012-12-31 Paul Eggert + + maint: remove unnecessary file + + * src/configure.in: Remove. This file has been obsolete for + a while. + +2012-12-24 Paul Eggert + + maint: don't enable warnings by default unless GCC 4.6 or later + + * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils. + (gl_gcc_warnings): By default, disable warnings for GCC versions + before 4.6. This works around a failure when building from git on + Ubuntu 10, reported privately by Nathan Stratton Treadway. + +2012-12-23 Paul Eggert + + Handle incremental format 2 with negative numbers, too. + + * src/incremen.c (read_unsigned_num): Last arg is intmax_t *, not + uintmax_t, for consistency with other readers. All callers + changed. + Avoid signed integer overflow. + (read_num): + +2012-12-23 Paul Eggert + + Fix some problems with negative and out-of-range integers. + + Original problem reported for HP-UX LVM v2.2 by Michael White in + . + This patch fixes some other gotchas that I noticed. + * gnulib.modules: Add extern-inline. + * src/common.h: Use _GL_INLINE_HEADER_BEGIN, + _GL_INLINE_HEADER_END. + (COMMON_INLINE, max, min): New macros. + (represent_uintmax, valid_timespec): New inline functions. + (SYSINT_BUFSIZE): New constant. + (sysinttostr, strtosysint, decode_timespec): New decls. + * src/create.c (start_private_header): Silently bring the time_t + value into range; it is now the caller's responsibility to deal + with any overflow error. Use uid 0 and gid 0 rather than the + user's uid/gid, since the faked header isn't "owned" by the user + and the uid/gid could in theory be out of range. Leave major and + minor zeroed. + (FILL): Remove. + (write_gnu_long_link): Let start_private_header zero things out. + * src/create.c (write_gnu_long_link, write_extended): + * src/xheader.c (xheader_write_global): + Use start_time, not current time; no point hammering on the clock. + * src/compare.c (diff_multivol): Check that offset, size are + in range. + * src/incremen.c (read_incr_db_01, write_directory_file_entry): + Allow negative time_t, dev_t, and ino_t. + * src/list.c (max): Remove (moved to common.h). + (read_header): Check that size is in range. + (from_header): Return intmax_t, not uintmax_t, to allow negative. + All callers changed. At compile time, check assumptions about + intmax_t and uintmax_t. Use bool for booleans. Avoid overflow + hassles on picky hosts. + (mode_from_header): Last arg is now bool *, not unsigned *. + All callers changed. + (simple_print_header): Do not assume UID, GID fit in 'long'. + * src/list.c (from_header): + * src/xheader.c (out_of_range_header): + Arg is now a plain minimum value, not minus minval converted to + uintmax_t. All callers changed. + * src/misc.c (COMMON_INLINE): New macro. + (sysinttostr, strtosysint, decode_timespec): New functions. + * src/sparse.c (oldgnu_add_sparse, oldgnu_fixup_header) + (star_fixup_header): + Check for offset overflow. + (decode_num): Clear errno before calling strtoumax. + * src/tar.c (expand_pax_option): Don't discard nanoseconds. + * src/xheader.c (assign_time_option): Allow negative time_t. + (decode_record): Simplify, since out-of-range string is guaranteed + to produce a value exceeding len_max. + (xheader_read): Last arg is off_t, not size_t. + Caller should diagnose negative arg, as needed. + Check that it's in range. + (enum decode_time_status): Remove. + (_decode_time): Remove, folding into decode_time. + (decode_time): Return bool, not enum decode_time_status. + Rely on decode_timespec to do most of the work. + (code_signed_num): New function. + (code_num): Use it. + (decode_signed_num): New function. + (decode_num): Use it. + (gid_coder, gid_decoder, uid_coder, uid_decoder, + sparse_map_decoder) + (sparse_map_decoder): Code and decode negative values. + (sparse_map_decoder): Improve check for out-of-range values. + * tests/time01.at: New file. + * tests/Makefile.am (TESTSUITE_AT): Add it. + * tests/testsuite.at: Include it. + +2012-12-22 Paul Eggert + + Port use of mkdirat etc. to Solaris 10. + + * gnulib.modules (fchmodat, fchownat, fstatat, mkdirat, unlinkat): + Add. These were split out in gnulib, so we now need to request + them separately. mkdirat, for example, is not in Solaris 10. + +2012-12-22 Paul Eggert + + Port ACL configuration to Solaris 10. + + * configure.ac (with_posix_acls): Fix misspellings. + Stop checking at the first failure, to speed up 'configure'. + +2012-12-19 Paul Eggert + + tar: remove unused externs, or make them static + + * src/buffer.c (record_buffer_aligned, flush_write_ptr, + flush_read_ptr) + (duration): + * src/list.c (recent_global_header): + * src/unlink.c (deferred_unlink_delay): + * src/transform.c (transform_flags): + * src/xattrs.c (acl_get_file_at, acl_set_file_at, + file_has_acl_at): + Now static. + * src/common.h (rmt_command_option): Remove; unused. + * src/tar.c (check_links_option, allocated_archive_names): + Move decls here from common.h; these are now static. + +2012-12-19 Paul Eggert + + * .gitignore: Regenerate. + +2012-12-19 Paul Eggert + + build: new configure option --enable-gcc-warnings + + This has a similar meaning as in other GNU applications + such as coreutils and Emacs. + * NEWS: Document it. + * .gitignore: Remove redundant build-aux. + Remove gnu, since gnu/Makefile.am is now in git. + Add gnu/.gitignore, gnu/charset.alias, gnu/*.h, gnu/*/ to cover + autogenerated files. + * bootstrap.conf (gnulib_mk): Remove. + * configure.ac: Add support for --enable-gcc-warnings, + taken from coreutils and simplified. + * gnu/Makefile.am: New file. Formerly this was autogenerated, + but the autogenerated file has been renamed to gnulib.mk, + its usual name when bootstrapping from gnulib. + This way, AM_CFLAGS can incorporate warning options. + * gnulib.modules: Add manywarnings. + * lib/Makefile.am, src/Makefile.am (AM_CFLAGS): New macro, + incorporating warning options. + * lib/attr-xattr.in.h (ENOATTR): New macro, if not already + defined. + * src/buffer.c (magic): Don't rely on incomplete initializers. + * src/common.h (report_difference): Add printf format attribute. + * src/system.c (sys_exec_command, sys_exec_info_script) + (sys_exec_checkpoint_script): + * src/tar.c (update_argv): + Add casts to char * to pacify GCC warnings about using string + literals in a char * context. + * src/xattrs.c, src/xattrs.h (xattrs_clear_setup): + Declare parameters as (void), not (). + * src/xheader.c (xheader_format_name): Initialize pptr to null, + to pacify GCC. Remove unnecessary test of nptr versus null. + +2012-12-19 Paul Eggert + + tar: don't truncate diagnostic + + * src/list.c (from_header): Fix buffer size calculation when + generating a diagnostic. + +2012-12-03 Sergey Poznyakoff + + Bugfix. + + * tests/Makefile.am: Fix double AM_CPPFLAGS + +2012-12-01 Sergey Poznyakoff + + Use AM_CPPFLAGS instead of INCLUDES. + +2012-11-19 Sergey Poznyakoff + + Housekeeping. + + * NEWS: Mention the support for POSIX ACLs, extended + attributes and SELinux context. + * THANKS: List James Antill and Pavel Raiskup. + +2012-11-19 Sergey Poznyakoff + + Fix indentation. + +2012-11-19 Pavel Raiskup + + Allow to store/extract '=' character in xattr keyword + + * src/xheader.c (xattr_decode_keyword) + (xattr_encode_keyword): New functions. + (xheader_print_n,xattr_decoder): Use them. + * tests/xattr05.at: New test case. + * tests/Makefile.am: Add new test case. + * tests/testsuite.at: Likewise. + +2012-11-19 Pavel Raiskup + + Bugfixes. + + * configure.ac: Avoid linking against -lacl when + --without-posix-acls is given. + * tests/selacl01.at: Call restorecon + * tests/selnx01.at: Likewise. + * tests/testsuite.at (AT_SELINUX_UTILS_PREREQ): Likewise. + (AT_SELINUX_PREREQ,AT_ACLS_PREREQ): Use the right _PREREQ macros. + +2012-11-19 Pavel Raiskup + + Fix bootstrapping. + + * bootstrap (gnulib_extra_files): Remove $build_aux/missing + +2012-11-19 Sergey Poznyakoff + + Various fixes. + + * src/xattrs.c: Don't mix variable declarations and statements. + Use proper data types. Remove improper use of const qualifiers. + Use x2nrealloc to reallocate memory buffers. + +2012-11-18 Sergey Poznyakoff + + Minor change. + + * src/xattrs.c: Fix indentation. Fix copyleft statement, promote + to GPLv3+. + * src/xattrs.h: Likewise + +2012-11-18 Pavel Raiskup + + Add SELinux context store/restore/list support. + + * gnulib.modules: Add selinux-at. + * src/Makefile.am (tar_LDADD): Add LIB_SELINUX. + + * src/create.c (start_header, dump_file0): Handle selinux + contexts. + * src/extract.c (delayed_set_stat) : New member. + (delayed_link) : New member. + (set_stat, delay_set_stat) + (apply_nonancestor_delayed_set_stat): Handle selinux contexts. + * src/tar.c: New options: "--selinux", "--no-selinux". + (tar_stat_destroy): Free cntx_name. + * src/tar.h (tar_stat_info) : New member. + * src/xattrs.c (xattrs_selinux_get) + (xattrs_selinux_set): New functions. + (xattrs_print_char): Honor selinux_context_option. + (xattrs_print): Print selinux context. + * src/xheader.c: Handle new keyword "RHT.security.selinux". + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Likewise. + * tests/selacl01.at: New test. + * tests/selnx01.at: New test. + +2012-11-18 Pavel Raiskup + + Support for POSIX ACLs + + * configure.ac: Check whether ACLs are available on the + host system. + * gnulib.modules: Add acl + * src/create.c (start_header): Store ACLs when creating + a POSIX archive. + (dump_file0): Handle ACLs. + * src/extract.c (delayed_set_stat) + : New members. + (delayed_link): Likewise. + (set_stat,delay_set_stat) + (apply_nonancestor_delayed_set_stat): Set ACLs. + * src/tar.c: New options: "--acls", "--no-acls" + (tar_stat_destroy): Free acls_a_ptr and acls_d_ptr fields. + * src/tar.h (tar_stat_info) + : New members. + * src/xattrs.c (xattrs_acls_get, xattrs_acls_set): New functions. + * src/xheader.c: Support new keywors: "SCHILY.acl.access" and + "SCHILY.acl.default". + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Likewise. + * tests/acls01.at: New test. + * tests/acls02.at: New test. + +2012-11-18 Pavel Raiskup + + Add basic suuport for extended attributes. + + * src/Makefile.am: Add xattrs.[ch] + * src/xattrs.c: New file. + * src/xattrs.h: New file. + * src/common.h (READ_LIKE_SUBCOMMAND): New define. + (selinux_context_option, acls_option, xattrs_option): New globals. + (xheader_xattr_init, xheader_xattr_free) + (xheader_xattr_copy, xheader_xattr_add): New protos. + (WARN_XATTR_WRITE): New mask. + * src/create.c (start_header): Handle xattrs pairs if in POSIX + format. + (dump_file0): Handle extended attributes. + * src/extract.c (delayed_set_stat,delayed_link) + : New members. + (set_xattr): New static function. + (open_output_file): Accept an additional argument indicating + whether the file has already been created. + (set_stat,delay_set_stat) + (apply_nonancestor_delayed_set_stat) + (extract_file): Handle extended attributes. + * src/list.c (decode_header, simple_print_header): Display + extended attributes. + * src/tar.c: New options --xattrs, --no-xattrs, --xattrs-include, + --xattrs-exclude + (tar_stat_destroy): Free the xattr_map storage. + * src/tar.h (xattr_array): New struct. + (tar_stat_info) : New members. + * src/warning.c: New warning control keyword "xattr-write". + * src/xheader.c (xheader_xattr_init) + (xheader_xattr_free, xheader_xattr_add) + (xheader_xattr_copy): New functions. + (struct xhdr_tab) : New member. + (locate_handler): Permit selecting the keyword based on its + prefix. + (xheader_protected_pattern_p) + (xheader_protected_keyword_p): Likewise. + (xattr_coder, xattr_decoder): New functions. + (xhdr_tab): Reflect the changes to struct xhdr_tab. + New keyword "SCHILY.xattr". + * tests/Makefile.am: Add new tests. + * tests/testsuite.at: Likewise. + (AT_CHECK_UTIL, AT_XATTRS_UTILS_PREREQ) + (AT_CAPABILITIES_UTILS_PREREQ, AT_XATTRS_PREREQ): New defuns. + * tests/xattr01.at: New test. + * tests/xattr02.at: New test. + * tests/xattr03.at: New test. + * tests/xattr04.at: New test. + * tests/capabs_raw01.at: New test. + +2012-11-18 Sergey Poznyakoff + + Prepare for implementing extended attribute support. + + This patch adds *xattr() stubs in case extended attribute + support is + not present and implements the *attrat() family of functions. + Based + on the patch by Pavel Raiskup for gnulib. + + * acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): New defun. + * configure.ac: Call TAR_HEADERS_ATTR_XATTR_H + * lib/Makefile.am: Add xattr-at.[ch], distribute attr-xattr.in.h + [!TAR_COND_XATTR_H]: Build attr/xattr.h + * lib/attr-xattr.in.h: New file. + * lib/xattr-at.c: New file. + * lib/xattr-at.h: New file. + +2012-11-14 Sergey Poznyakoff + + Fix creation of incremental archives when a subdirectory becomes + a mountpoint. + + When used with --listed-incrfental and --one-file-system, tar + was unable to cope with directories that had once been part of the + dumped system and became separate mount points afterwards. + The bug + has been reported and a fix proposed by Nathan Stratton Treadway. + + * src/incremen.c (procdir): If one_file_system_option is in + effect, + clear out dumpdir info from the directory. + * tests/Makefile.am: Add new testcase. + * tests/listed05.at: New testcase. + * tests/testsuite.at (AT_PRIVILEGED_PREREQ): New macro. + include listed05.at. + * THANKS: Update. + +2012-07-27 Jim Meyering + + maint: try to avoid unwanted chatter in ChangeLog + + * bootstrap.conf: Do not alter ChangeLog if it already exists. + +2012-07-26 Paul Eggert + + doc: improve discussion of compressed archives + + * doc/tar.texi (gzip): Don't claim that -I 'gzip --best' works. + Problem reported by Davide Brini in + . + Also, improve some of the surrounding text. + + This file is a placeholder. It will be replaced with the actual + ChangeLog + by make dist. Run make ChangeLog if you wish to create it + earlier. + +2012-06-27 Paul Eggert + + tests: fix permissions-assumption bug in test + + * tests/owner.at: Don't assume umask is 022. + Reported by Pavel Raiskup in + . + +2012-06-27 Paul Eggert + + tar: don't assume root is uid 0 + + This is not true for Tandem NonStop Kernel. See Joachim Schmitz's + comment in . + * gnulib.modules: Add root-uid. + * src/extract.c: Include . + (extr_init): Don't assume root is uid 0. + +2012-04-25 Paul Eggert + + * src/compare.c (diff_dumpdir): Omit useless 'stat'. + +2012-04-25 Paul Eggert + + * doc/tar.texi (Option Summary): Fix xref typo. + + Reported by Nathan Stratton Treadway in + . + + This file is a placeholder. It will be replaced with the actual + ChangeLog + by make dist. Run make ChangeLog if you wish to create it + earlier. + +2012-03-29 Sergey Poznyakoff + + Fix unrecognized option. + + * src/tar.c (parse_opt): Handle OLD_ARCHIVE_OPTION. + +2012-03-11 Paul Eggert + + tar: remove lint + + This lint was found by GCC 4.6.2 on Fedora 15 x86-64. + * src/buffer.c (buffer_write_global_xheader, mv_end, + set_start_time) + (compute_duration, print_total_stats, flush_read, flush_write): + * src/checkpoint.c (checkpoint_finish_compile): + * src/list.c (test_archive_label): + * src/misc.c (chdir_count): + * src/names.c (const): + * src/unlink.c (finish_deferred_unlinks): + Define with (void) instead of with (), for slightly-better C type + checking and to avoid a GCC warning. + * src/compare.c (diff_dumpdir): + * src/tar.c (parse_owner_group): Remove unused local. + * src/misc.c (chdir_do): + * src/tar.c (add_exclude_array): Rename local to avoid shadowing. + (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM): + Define only if needed. + * src/update.c (update_archive): Initialize a local; this fixes + what appears to be a real bug. + +2012-02-14 Paul Eggert + + doc: suggest Bash for large-fd script + + * doc/tar.texi (Multi-Volume Archives): Suggest Bash for shell + script that might use >&10. Problem reported by Edward F + Eaglehouse in + . + +2012-01-18 Paul Eggert + + tar: quote 'like this', not `like this' + + This fixes some test failures recently introduced by gnulib + updates + prompted by recent changes to the GNU coding standards, + which now advise to use quotes 'like this' or "like this" + rather than `like this'. + * NEWS: Document this. + * README, README-hacking, doc/Makefile.am, scripts/backup.in: + * scripts/backup.sh.in, scripts/dump-remind.in: + * src/buffer.c, src/checkpoint.c, src/create.c, src/incremen.c: + * src/misc.c, src/names.c, src/sparse.c, src/transform.c: + * tests/incr02.at, tests/incremental.at, tests/multiv08.at: + * tests/sparse04.at, tests/star/README, tests/update01.at: + Quote 'like this' in comments. + * src/tar.h: + Quote "like this" in comments, when quoting English phrases rather + than code. + * configure.ac: + * scripts/xsparse.c (get_var, read_xheader, main): + * src/compare.c (diff_archive): + * src/extract.c (prepare_to_extract): + * src/tar.c (request_stdin, tar_set_quoting_style, doc, options) + (set_subcommand_option, report_textual_dates, parse_opt) + (decode_options, main): + * src/xheader.c (decx): + Quote 'like this' in diagnostics. + * doc/tar.texi (list, warnings, override) + (Selecting Archive Members, quoting styles, after, hard links) + (Sparse Recovery, Multi-Volume Archives, label): + Adjust documentation to match new output. + * tests/backup01.at, tests/incr01.at, tests/incr04.at: + * tests/label04.at, tests/label05.at, tests/link03.at: + * tests/listed02.at, tests/multiv03.at, tests/multiv05.at: + * tests/rename01.at, tests/rename02.at, tests/rename03.at: + * tests/volume.at: + Adjust tests to match new quoting behavior. + +2012-01-18 Paul Eggert + + tar: port --overwrite symlink test to GNU/Hurd + + Problem reported by Pino Toscano in + . + * gnulib.modules: Add fcntl-h, which defines + HAVE_WORKING_O_NOFOLLOW. + * src/extract.c (open_output_file): Use HAVE_WORKING_O_NOFOLLOW, + not O_NOFOLLOW, when testing whther O_NOFOLLOW works. + + This file is a placeholder. It will be replaced with the actual + ChangeLog + by make dist. Run make ChangeLog if you wish to create it + earlier. + +2012-01-11 Paul Eggert + + tar: fix core dump with --index-file=bad_path + + * src/tar.c (decode_options): Exit cleanly if index file won't + open. + Problem reported by Khanh-Dang Nguyen Thu Lam in + . + +2012-01-06 Paul Eggert + + tar: don't assume O_NONBLOCK is benign on regular files + + On Data Migration Facility (DMF), High Peformance Storage System + (HPSS), + and presumably other file systems based on hierarchical storage, + opening + a regular file with O_NONBLOCK can cause later reads to fail with + errno == EAGAIN. We need the O_NONBLOCK to avoid some security + races. + Work around the problem by using fcntl to clear the O_NONBLOCK + flag if I/O fails with that errno value. + Problem reported by Vitezslav Cizek in + . + * src/common.h (blocking_read, blocking_write): New decls. + * src/misc.c (blocking_read, blocking_write): New functions. + * src/compare.c (process_rawdata): + * src/create.c (dump_regular_file): + * src/extract.c (extract_file): + * src/sparse.c (sparse_scan_file, sparse_extract_region): + +2011-11-26 Sergey Poznyakoff + + Fix --keep-old-files option. + + The regression was introduced by 8f390db9. This patch implements + additional + option --skip-old-files, which silently skips members which + would cause + writing over existing files, and restores --keep-old-files to + its traditional + behavior. + + * NEWS: Update. + * configure.ac: Update. + * doc/tar.texi: Document the changes. + * src/common.h (SKIP_OLD_FILES): New old_files mode. + * src/extract.c (maybe_recoverable): Restore KEEP_OLD_FILES + behavior. + Handle SKIP_OLD_FILES. + * src/tar.c: New option --skip-old-files. + * tests/extrac18.at: New file. + * tests/extrac19.at: New file. + * tests/Makefile.am: Add new test cases. + * tests/testsuite.at: Likewise. + +2011-11-17 Sergey Poznyakoff + + Warn about existing files in keep-old-files mode (complements + 8f390db9). + + This is controlled by "existing-file" warning code, which is off + by default. + + * src/common.h (WARN_EXISTING_FILE): New warning code. + (WARN_VERBOSE_WARNINGS): Add WARN_EXISTING_FILE. + * src/extract.c (maybe_recoverable): warn about existing file + if WARN_EXISTING_FILE is set. + * src/warning.c: New warning type: "existing-file" + +2011-11-17 Sergey Poznyakoff + + Fix the "Creating directory:" output + + * src/list.c (print_for_mkdir): don't use unquoted name length for + computing its output width. + +2011-11-15 Sergey Poznyakoff + + Fix operation of --verify in conjunction with --listed-incremental + + * src/common.h (clear_directory_table): New proto. + * src/incremen.c (clear_directory_table): New function. + * src/compare.c (diff_dumpdir): Take a pointer to struct + tar_stat_info as argument. + Initialize its fd. + (diff_archive): Update call to diff_dumpdir. + (verify_volume): Call clear_directory_table. + +2011-10-18 Paul Eggert + + * doc/tar.texi (Option Summary, absolute): Document -P better, + + by describing how it deals with symbolic links on extraction. + +2011-09-28 Paul Eggert + + 2011-09-27 Paul Eggert + + * src/tar.c (stat_on_signal): Use SA_RESTART if available. + +2011-09-20 Paul Eggert + + * doc/tar.texi: Remove front- and back-cover texts. + + These are no longer needed for this manual, according to the + GNU maintainers guide. Update copyright date to 2011. + +2011-09-19 Sergey Poznyakoff + + Minor changes. + + * scripts/tar-snapshot-edit: License under GPLv3+. + Remove trailing whitespace. + +2011-09-19 Nathan Stratton Treadway + + Minor changes. + + * doc/snapshot.texi: Clarify the use of nfs field in 0 and + 1 formats. + Give more precise information about which versions of tar + used each + format. + +2011-09-19 Nathan Stratton Treadway + + Upgrade tar-snapshot-edit script. + + * scripts/tar-snapshot-edit: Update Perl syntax to work + correctly with more recent versions of Perl. (The original + code worked with in the v5.8 timeframe but not with + Perl v5.10.1 and later.) + Add a "-c" option to check the snapshot file for invalid + field values. + Handle NFS indicator character ("+") in version 0 and 1 files. + Preserve the original header/version line when editing version 1 + or 2 files. + Tweak output formatting. + * doc/tar-snapshot-edit.texi: Update documentation. + +2011-08-13 Paul Eggert + + tar: --owner and --group names and numbers + + The --owner and --group options now accept operands of the form + NAME:NUM, so that you can specify both symbolic name and numeric + ID for owner and group. Also, in these options, NAME no longer + needs to be present in the current host's user and group + databases; this implements Debian enhancement request 136231 + reported + by Mark W. Eichin, communicated by Thayne Harbaugh to bug-tar in + . + * NEWS, doc/tar.texi (Option Summary, override): Document + enhancement. + * src/common.h (group_name_option, owner_name_option): New decls. + * src/create.c (start_header): Don't assume owner and group names + are in current host database. + * src/tar.c (parse_owner_group): New function, for parsing + NAME:NUM. + (parse_opt): Use it. + (decode_options): Initialize owner_name_option, group_name_option. + * tests/owner.at: New file, to test this enhancement. + * tests/Makefile.am (TESTSUITE_AT): Add it. + * tests/testsuite.at: Include it. + +2011-08-13 Paul Eggert + + .gitignore: update + + * .gitignore: Add rmt. + * lib/.gitignore: New file. + +2011-07-30 Sergey Poznyakoff + + Fix the --exclude-backups option. + + * src/tar.c (add_exclude_array): Take exclude option filags in its + second argument. + (parse_opt): Register backup_file_table with the EXCLUDE_WILDCARDS + flag. + * tests/exclude07.at: New testcase. + * tests/Makefile.am (TESTSUITE_AT): Add testsuite.at. + * tests/testsuite.at: Include exclude07.at. + +2011-06-08 Paul Eggert + + tar: simplify birthtime calculations + + * src/extract.c (same_birthtime): Remove. + (extract_link, apply_delayed_links): Go back to using + timestamp_cmp + instead of same_birthtime, as this is a bit simpler. This fix + relies + on an up-to-date gnulib. + +2011-06-08 Paul Eggert + + tar: use birthtime rather than ctime when checking identity + + Without this fix, tar would sometimes mishandle the extraction of + hard links to symbolic links. Problem reported in + + by Andreas Stolcke. + * src/extract.c (struct delayed_link): Change ctime member + to birthtime. + (same_birthtime): New function. + (create_placeholder_file, extract_link, apply_delayed_links): + Use it to compare birthtimes (when available) instead of ctime. + +2011-05-26 Paul Eggert + + * doc/tar.texi (Old Options): Clarify distinction from short + options. + + Adjust other parts of the manual to use examples that parse the + same regardless of whether "-" is in front of the option clump. + See + . + +2011-03-12 Sergey Poznyakoff + + Testsuite fix. + + * tests/sparse04.at: Use the -f option. + 2011-03-12 Sergey Poznyakoff Version 1.26 + * NEWS, configure.ac: Update. * po/POTFILES.in: Remove paxexit.c (see bb971a1e). 2011-03-08 Paul Eggert --atime-preserve=replace: fix correctness and performance bugs + reported by Eric Blake in . * src/compare.c (diff_file): Do not restore atime of size-zero @@ -17,12 +1389,14 @@ 2011-02-23 Paul Eggert * doc/tar.texi: Adjust example commands and output for accuracy. + The original problem was reported by Michael Witten in . 2011-02-16 Paul Eggert tar: if (p) free (p); -> free (p); + There is no longer (since SunOS 4) any need to guard against free (NULL), so replace each "if (p) free (p);" with "free (p);". From Jim Meyering in @@ -35,6 +1409,7 @@ 2010-12-14 Sergey Poznyakoff Correctly store long sparse file names in PAX archives. + * src/sparse.c (pax_dump_header_1): Make sure the created header name is shorter than NAME_FIELD_SIZE bytes. @@ -46,6 +1421,7 @@ 2010-12-07 Paul Eggert tests: make the truncate test smaller and less buggy (tiny change) + Reported by Solar Designer in . * tests/truncate.at: Use a smaller test case, and make its @@ -55,6 +1431,7 @@ tests: skip SIGPIPE-dependent tests in environments ignoring SIGPIPE + Problem reported by Sven Joachim in . * tests/remfiles01.at: Use AT_SIGPIPE_PREREQ. @@ -65,6 +1442,7 @@ tar: work around NetBSD and Tru64 symlink incompatibility with POSIX + Problem reported by Bruno Haible in . * src/extract.c (maybe_recoverable): Also treat EFTYPE (if @@ -74,22 +1452,30 @@ 2010-11-24 Paul Eggert tar: adjust to paxutils change: paxexit.c -> paxexit-status.c + * lib/Makefile.am (libtar_a_SOURCES): paxexit.c renamed to paxexit-status.c. +2010-11-24 Paul Eggert + tar: remove unused function dir_removed_diag + * src/common.h (dir_removed_diag): Remove unused decl. * src/misc.c (dir_removed_diag): Remove unused function. 2010-11-23 Paul Eggert tar: work around FreeBSD symlink incompatibility with POSIX + * src/extract.c (maybe_recoverable): Treat EMLINK like ELOOP, for FreeBSD. Problem reported by Christian Weisgerber in . +2010-11-23 Paul Eggert + * src/names.c: tar: fix bug with --one-file-system --listed-incremental + Problem (and idea for fix) reported by Martin Weigel . * src/common.h (is_individual_file): Remove decl. @@ -101,13 +1487,19 @@ * src/names.c (individual_file_table, register_individual_file): (is_individual_file): Remove. All uses removed. +2010-11-23 Paul Eggert + tests: new test listed04 for --one-file-system --listed-incremental + * tests/Makefile.am (TESTSUITE_AT): Add listed04.at. * tests/listed04.at: New file. * tests/testsuite.at: Include it. +2010-11-23 Paul Eggert + scripts: fix option parsing + Problem reported by Dennis Wydra in . * scripts/backup.in: Accept "-l LEVEL". Be more systematic about @@ -121,17 +1513,22 @@ Issue a warning if the archive being compared contais transformed file names. + * src/common.h (transform_program_p): New proto. * src/transform.c (transform_program_p): New function. * src/compare.c (verify_volume): Warn if the archive contains transformed file names. +2010-11-15 Sergey Poznyakoff + Minor change. + * doc/tar.texi: Reword the description of decompress-program. 2010-11-15 Paul Eggert tar: fix --verify option, which broke in 1.24 + * NEWS: Document this. * src/compare.c (verify_volume): Decode the header before invoking diff_archive, as diff_archive no longer does this as of the @@ -148,12 +1545,14 @@ 2010-11-08 Jim Meyering tests: avoid spurious failure when VERSION_CONTROL envvar is set + * tests/backup01.at: Unset VERSION_CONTROL. Otherwise, when set to e.g., 'always', it would cause this test to fail. 2010-11-07 Sergey Poznyakoff Version 1.25 + * configure.ac: Version 1.25 * NEWS: Describe the changes. @@ -161,6 +1560,7 @@ Run alternative decompression programs if the principal one is not available. + Some compression programs are able to handle various compression formats (e.g. `gzip' can decompress files created by `compress', `xz' @@ -191,6 +1591,7 @@ 2010-11-02 Paul Eggert tests: fix some issues with signals, timestamps, "test" typo + * tests/extrac17.at: Add --warning=no-timestamp, to avoid bogus warning due to NFS clock skew. * tests/remfiles01.at: Discard diagnostics that some shells @@ -202,12 +1603,14 @@ 2010-11-01 Sergey Poznyakoff Fix extraction of device nodes. + * src/extract.c (extract_node): Do not mask out node type. The bug was introduced in commit ea964cce. 2010-10-28 Paul Eggert tar: don't cross struct member boundaries with OLDGNU_MAGIC + * src/create.c (write_gnu_long_link, start_header): Access header->buffer + offsetof (struct posix_header, magic), instead of header->header.magic, when reading or writing the OLDGNU_MAGIC @@ -219,7 +1622,10 @@ . * src/list.c (decode_header): Likewise. +2010-10-28 Paul Eggert + tests: port to sh variants that squirrel away file descriptors + OpenBSD /bin/sh, and some other sh variants, squirrel away file descriptors before closing them. For example, for "cat 3<&-" they first dup file descriptor 3 to a fd that is 10 or greater, then @@ -239,6 +1645,7 @@ 2010-10-27 Sergey Poznyakoff Transform file names when updating and appendig to archives. + This complements 28e91b48. * src/common.h (transform_stat_info): New prototype. @@ -250,11 +1657,15 @@ 2010-10-27 Paul Eggert tests: port to Solaris diff + * tests/extrac13.at: Don't assume that "diff -c" outputs nothing when there are no differences. This is not true on Solaris, where it outputs "No differences encounted". +2010-10-27 Paul Eggert + tar: fix -x --overwrite bug (no --dereference, ! O_NOFOLLOW) + This bug was discovered on Solaris 8. On older hosts lacking O_NOFOLLOW, tar -x --overwrite (without --dereference) follows symbolic links, causing the "extract over symlinks" test to fail. @@ -262,7 +1673,10 @@ * src/extract.c (open_output_file): If O_NOFOLLOW is needed but does not work, check for a symlink separately. +2010-10-27 Paul Eggert + tar: don't use "((" in shell scripts + * tests/extrac11.at: Replace "((" with "( (" in shell scripts, as "((" is not portable to the Korn shell, and POSIX 1003.1-2008 says that "((" is not portable. @@ -270,6 +1684,7 @@ 2010-10-26 Sergey Poznyakoff Make sure name matching occurs before name transformation. + The commit 9c194c99 altered that order. * src/list.c (transform_stat_info): New function. Split off from @@ -285,18 +1700,21 @@ 2010-10-26 Paul Eggert tar: don't assume stdin is open when testing fd limits + * tests/extrac11.at: Redirect stdin from /dev/null, in case the parent 'make' is running with stdin closed. 2010-10-26 Sergey Poznyakoff Further fixes in bootstrap. + * bootstrap: Restore the default for gnulib_path (symlink_to_dir): Re-apply 67cad07. 2010-10-26 Paul Eggert tar: fix bug with -C and extracting directories + Problem reported by Denis Excoffier in . @@ -313,6 +1731,7 @@ 2010-10-25 Sergey Poznyakoff Version 1.24 + * configure.ac, NEWS: Version 1.24 * bootstrap: Restore tar-specific code lost during last sync from gnulib (241b72ffad). @@ -321,6 +1740,7 @@ 2010-10-16 Paul Eggert tar: use more-accurate diagnostic when intermediate mkdir fails + Without this change, if tar tried to extract a file A/B/C, noticed that A/B didn't exist, attempted to mkdir A/B, and the mkdir failed, it did not diagnose the mkdir failure, but simply reported @@ -340,7 +1760,10 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it. +2010-10-16 Paul Eggert + tests: port to NFS file servers with clock skew + Several of the tests assumed that a newly created file cannot have a time stamp dated in the future. This assumption is not true when files are served by a remote host whose clock is @@ -364,6 +1787,7 @@ gnulib: sync from latest gnulib, notably bootstrap and parse-datetime + * bootstrap: Sync from gnulib. * doc/.gitignore: Rename getdate.texi to parse-datetime.texi. * doc/Makefile.am (tar_TEXINFOS): Likewise. @@ -378,6 +1802,7 @@ 2010-09-24 Paul Eggert tar: -x -C symlink fix + * src/misc.c (chdir_do): Don't use O_NOFOLLOW when opening the argument to -C. This is for consistency with "tar -c -C FOO", and matches the new documentation. @@ -385,7 +1810,10 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it. +2010-09-24 Paul Eggert + tar: --dereference consistency + This closes another race condition, that occurs when overwriting a symlink with a regular file. * NEWS (--dereference consistency): New section. @@ -430,6 +1858,7 @@ 2010-09-20 Paul Eggert tar: do not crash with --listed-incremental + Problem reported by Frantisek Hanzlik in via Kamil Dudka in . @@ -443,6 +1872,7 @@ 2010-09-19 Paul Eggert tar: prefer openat-style functions + This change replaces traditional functions like 'open' with the POSIX.1-2008 functions like 'openat'. Mostly this is an internal refactoring change, in preparation for further changes to close @@ -509,11 +1939,15 @@ 2010-09-18 Paul Eggert tar: add utimens.h includes + * src/extract.c: Include , needed for fdutimens prototype. * src/misc.c: Likewise. +2010-09-18 Paul Eggert + tar: switch to gnulib fdutimensat module + * gnulib.modules: Add fdutimensat. * src/common.h (fd_utimensat): Remove decl. * src/extract.c (set_stat): Call fdutimensat, not fd_utimensat. @@ -523,6 +1957,7 @@ 2010-09-17 Paul Eggert tar: extract permissions for . last + * src/common.h (must_be_dot_or_slash): New decl. * src/extract.c (mark_after_links): New function, taking code that used to be in create_placeholder_file. @@ -533,12 +1968,18 @@ * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Likewise. +2010-09-17 Paul Eggert + tar: don't check for getdtablesize; use AC_CHECK_FUNCS_ONCE + * configure.ac: Don't check for getdtablesize; no longer needed. Use AC_CHECK_FUNCS_ONCE rather than AC_CHECK_FUNCS, for efficiency. +2010-09-17 Paul Eggert + tar: extract symlink attributes, close some symlink-related races + * NEWS: Describe symlink-extraction improvements. * src/extract.c (enum permstatus): Remove. (fchmod, fchown): Define dummy replacement macros if the system @@ -600,20 +2041,27 @@ 2010-09-16 Paul Eggert tar: tar -x without --incremental no longer sets atime again + * src/extract.c (set_stat): Use UTIME_OMIT rather than UTIME_NOW. The UTIME_NOW was there only to emulate the previous behavior of using the current time, and the previous behavior was there only because before we started assuming POSIX.1-2008 there was no portable way to get the effect of UTIME_NOW. +2010-09-16 Paul Eggert + tar: another --atime-preserve race fix + * src/common.h (set_file_atime): Add parentfd arg. * src/compare.c (diff_file): Use it. * src/create.c (dump_file0): Likewise. This closes yet another race condition with symbolic links. * src/misc.c (set_file_atime): Add parentfd arg. +2010-09-16 Paul Eggert + tar: --atime-preserve fixes for races etc. + This patch fixes a race condition in the --atime-preserve=replace option, which might cause tar to improperly follow a symbolic link. @@ -648,6 +2096,7 @@ 2010-09-14 Paul Eggert * configure.ac: tar: close some race conditions when extracting + * configure.ac: Check for fchmod and fchown. Don't check for utimes. * src/extract.c (fdchmod, fdchown, fdstat): New functions. @@ -658,6 +2107,7 @@ 2010-09-13 Paul Eggert tar: don't worry about fdopendir closing its argument + * NEWS: Don't mention dirfd; no longer needed. * gnulib.modules: Remove dirfd. * src/create.c (get_directory_entries): Remove the code dealing @@ -666,10 +2116,16 @@ and gnulib commit 970c9038e4cca46e1b037ae0a6d574dfae6a7327. +2010-09-13 Paul Eggert + * NEWS: Fix wording typo in previous change. + Reported by Jim Meyering. +2010-09-13 Paul Eggert + tar: live within system-supplied limits on file descriptors + * NEWS: Note the change. Mention dirfd and fdopendir. * gnulib.modules: Add dirfd and fdopendir. The code was already using fdopendir; dirfd is a new need. @@ -711,6 +2167,7 @@ 2010-09-08 Paul Eggert tar: improve documentation of reliability and security issues + * doc/tar.texi (Reliability and security, Reliability): (Permissions problems, Data corruption and repair, Race conditions): @@ -720,6 +2177,7 @@ 2010-09-06 Paul Eggert tar: more reliable directory traversal when creating archives + * NEWS: Document this. * gnulib.modules: Add openat, readlinkat. * src/common.h (open_read_flags, fstatat_flags): New global @@ -789,6 +2247,7 @@ 2010-09-05 Paul Eggert tar: remove lint discovered by Sun C compiler + * src/common.h (WARN_ALL): Don't mask with 0xffffffff; on a 32-bit host, 0xffffffff is of type 'unsigned int', which makes WARN_ALL an unsigned int value that is too large to fit into an int, and @@ -798,6 +2257,7 @@ 2010-09-04 Paul Eggert tar: restore macros that are used in some cases + * src/tar.c (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM): Restore these macros, undoing the previous change to this file. The macros are used after all, in some cases. Sorry about that. @@ -805,6 +2265,7 @@ 2010-09-03 Paul Eggert tar: remove unused macros + * src/create.c (UINTMAX_TO_CHARS): Remove; no longer used. * src/tar.c (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM): Likewise. @@ -814,6 +2275,7 @@ 2010-08-27 Sergey Poznyakoff Fix --remove-files in update/append mode. + * src/update.c (update_archive): Call finish_deferred_unlinks when done. @@ -821,6 +2283,7 @@ tar: avoid assumptions about root access and chmod -w in test cases + * tests/extrac07.at, tests/extrac09.at, tests/listed03.at: Use AT_UNPRIVILEGED_PREREQ, since this test requires non-root privileges. @@ -828,7 +2291,10 @@ portable to start a chmod permissions-list with "-" as it may be confused with an option. Use "chmod a-w" instead. +2010-08-26 Paul Eggert + tar: fix bug with -C and delayed setting of metadata + * src/common.h (chdir_current): New decl. * src/extract.c (struct delayed_set_stat, struct delayed_link): New member change_dir. @@ -848,6 +2314,7 @@ 2010-08-25 Sergey Poznyakoff Don't apply file transformations to volume names. + * src/list.c (decode_header): Don't apply file transformations to volume names. * tests/xform01.at: New testcase. @@ -858,13 +2325,17 @@ 2010-08-25 Paul Eggert tar: optimize -c --sparse when file is entirely sparse + * src/sparse.c (sparse_scan_file): If the file is entirely sparse, that is, if ST_NBLOCKS is zero, don't bother scanning for nonzero blocks. Idea by Kit Westneat, communicated by Bernd Schubert in . Also, omit unnecessary lseek at start of file. +2010-08-25 Paul Eggert + tar: don't assume size of a sparse file chunk fits in size_t + * src/tar.h (struct sp_array): Change numbytes from size_t to off_t. All uses changed. @@ -883,7 +2354,10 @@ * src/xheader.c (sparse_numbytes_decoder, sparse_map_decoder): Likewise. +2010-08-25 Paul Eggert + tar: use ctime, not mtime, when checking placeholders + * src/extract.c (struct delayed_link): Rename member mtime to ctime. All uses changed to use ctime rather than mtime. @@ -891,9 +2365,13 @@ 2010-08-24 Paul Eggert tar: add comment to link04.at test + * tests/link04.at: Add explanatory comment at head. +2010-08-24 Paul Eggert + tar: fix 1.23 Solaris regression related to PRIV_SYS_LINKDIR + The idea was suggested by Petr Sumbera in the thread starting here: http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00000.html @@ -909,7 +2387,10 @@ Invoke priv_set_restore_linkdir before execv or execlp, so that the subprocess has the same privileges that tar originally did. +2010-08-24 Paul Eggert + tar: handle files that occur multiple times but have link count 1 + This patch was inspired by the following patch that addressed a similar problem in GNU coreutils du: http://git.savannah.gnu.org/gitweb/?p=coreutils.git;h=efe53cc72b599979ea292754ecfe8abf7c839d22 @@ -932,10 +2413,14 @@ 2010-08-23 Paul Eggert tar: use nlink_t for link counts + * src/create.c (struct link): nlink is now of type nlink_t, not size_t. +2010-08-23 Paul Eggert + tar: don't export names that aren't used elsewhere + * src/common.h (file_dumpable_p, gid_to_chars, major_to_chars): (minor_to_chars, mode_to_chars, uid_to_chars, uintmax_to_chars): (string_to_chars, dumpdir_creat0, dumpdir_create, dumpdir_free): @@ -970,7 +2455,10 @@ * src/tar.c (request_stdin): Now static. * src/xheader.c (xheader_init): Now static. +2010-08-23 Paul Eggert + tar: fix misspelled identifier "set_comression_program_by_suffix" + * src/suffix.c (set_compression_program_by_suffix): Renamed from set_comression_program_by_suffix. * src/buffer.c, src/common.h, src/tar.c: All uses changed. @@ -978,12 +2466,16 @@ 2010-08-20 Paul Eggert tar: change interdir_made from int to bool + * src/extract.c (maybe_recoverable, create_placeholder_file): Change interdir_made from int * to bool *, since the flag has just two values 0 and 1. All uses changed. This does not affect tar's behavior. +2010-08-20 Paul Eggert + tar: remove trailing white space from source files + * ChangeLog.1, ChangeLog.CVS, Makefile.am, NEWS, README: * README-hacking, directory, doc/Makefile.am, doc/dumpdir.texi: * doc/gendocs_template, doc/intern.texi, doc/mastermenu.el: @@ -1024,6 +2516,7 @@ 2010-08-19 Paul Eggert tar: update licenses to latest versions from www.gnu.org + * COPYING: Update to latest version; this is just minor formatting. * doc/fdl.texi: Update from GFDL 1.2 to 1.3. @@ -1037,6 +2530,7 @@ 2010-07-18 Paul R. Eggert tar: no need to report getcwd error if never using the result + * src/misc.c (struct wd): Rename 'saved' to 'err', with new semantics. (chdir_arg, chdir_do): Adjust to new semantics. Do not report an @@ -1046,8 +2540,11 @@ * tests/testsuite.at: Include it. * tests/Makefile.am (TESTSUITE_AT): Add it. +2010-07-18 Paul R. Eggert + tar: go back to absolutifying filenames in normalize_filename for now + * src/misc.c (normalize_filename): For now, go back to making filenames absolute, even though this causes 'tar' to fail when getcwd fails. However, do not attempt to resolve ".." as this @@ -1057,6 +2554,7 @@ 2010-07-17 Sergey Poznyakoff Allow for size suffixes in -L and --record-size options. + * src/tar.c (TAR_SIZE_SUFFIXES): New define. (parse_opt): Allow for size suffixes in arguments to -L and --record-size options. @@ -1065,6 +2563,7 @@ 2010-07-15 Paul R. Eggert tar: don't crash if getcwd fails + * src/extract.c: Don't include xgetcwd.h. (extract_dir): stat "." rather than statting getcwd's output. * src/misc.c (normalize_filename_x): Rewrite so as not to resolve @@ -1082,6 +2581,7 @@ Keep a detailed map of archive members stored in the record buffer. + A separate map (bufmap) provides information for creating multi-volume continuation headers. @@ -1119,7 +2619,10 @@ * tests/multiv08.at: New testcase. * tests/Makefile.am, tests/testsuite.at: Add multiv08.at. +2010-07-11 Sergey Poznyakoff + Version 1.23.90 + * NEWS, configure.ac: Version 1.23.90 * doc/tar.texi: Document the use of lbzip2. @@ -1127,6 +2630,7 @@ Fix exclusion of long file names when extracting from pax format archives. + * src/list.c (read_and): Call decode_header before attempting name_match. (list_archive): Remove call to decode_header. @@ -1138,18 +2642,23 @@ * tests/testsuite.at: Include exclude06.at. * tests/Makefile.am (TESTSUITE_AT): Add exclude06.at. +2010-06-28 Sergey Poznyakoff + Minor fix. + * src/buffer.c (magic): Split the character constant to help cc recognize character boundaries (7 is a valid hex character). 2010-06-27 Sergey Poznyakoff Minor fix. + * src/buffer.c (magic): Fix xz magic. 2010-06-16 Paul Eggert Remove some lint, found by gcc -W etc. + * src/common.h (label_notfound): New decl. * src/buffer.c (set_volume_start_time, compress_type): (guess_seekable_archive, open_compressed_archive, init_buffer): @@ -1192,6 +2701,7 @@ 2010-05-17 Sergey Poznyakoff Bugfix. + * src/incremen.c (make_directory): Retain the slash if it is the only character in a filename. @@ -1202,12 +2712,14 @@ 2010-04-01 Sergey Poznyakoff Fix the gzip.at test case. + * tests/gzip.at: Suppress gzip error output, as it can differ depending on its version etc. Bug reported by Ludovic Courtès. 2010-03-28 Sergey Poznyakoff New option --full-time. + * src/common.h (full_time_option): New global. * src/tar.c (FULL_TIME_OPTION): New constant. (options): New option --full-time. @@ -1220,16 +2732,23 @@ 2010-03-27 Sergey Poznyakoff Minor fixes in the testsuite. + * tests/extrac07.at: Fix a typo (invalid number of arguments before format list). * tests/link02.at: Use `ln' instead of `link'. * tests/link03.at: Likewise. +2010-03-27 Sergey Poznyakoff + Fix coredump. + * src/names.c (collect_and_sort_names): Remove entry from the table before freeing it. +2010-03-27 Sergey Poznyakoff + Fix dead loop on extracting existing symlinks with the -k option. + * src/extract.c (create_placeholder_file) (extract_link, extract_symlink) (extract_node, extract_fifo): Handle all possible @@ -1240,6 +2759,7 @@ 2010-03-20 Sergey Poznyakoff Fix undesired error exit on receiving SIGPIPE. + * src/tar.c: Do not ignore SIGPIPE. * tests/sigpipe.at: New testcase. * tests/Makefile.am, tests/testsuite.at: Add sigpipe.at @@ -1249,6 +2769,7 @@ 2010-03-17 Sergey Poznyakoff Fix --remove-files. + Tar --remove-files relied on canonicalize_file_name, which replaces symlinks in file name components with the directories they point to. Due to this, tar @@ -1270,12 +2791,14 @@ 2010-03-12 Sergey Poznyakoff Bugfixes. + * src/buffer.c (check_label_pattern): Initialize result. * tests/remfiles01.at: Skip if run with root privileges. 2010-03-11 Sergey Poznyakoff Fix `--test-label' and `--label -r' behavior. + * doc/tar.texi (Including a Label in the Archive): Revise the section. * NEWS: Update @@ -1294,26 +2817,39 @@ * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Likewise. +2010-03-11 Sergey Poznyakoff + Doc fixes. + * doc/tar.texi: Consistently use lowercase `see' within sentences. More fixes spotted by Denis Excoffier. * THANKS: Update. +2010-03-11 Sergey Poznyakoff + Shut up a gcc warning message. + * src/tar.c (tar_help_filter): Use a separate const variable to hold returns from gettext. Reported by Peter Breitenlohner. +2010-03-11 Sergey Poznyakoff + Bugfix. + * src/names.c (collect_and_sort_names): Initialize prev_name. Reported by Dmitry V. Levin. 2010-03-10 Sergey Poznyakoff Version 1.23 + * configure.ac, NEWS: Update version number. +2010-03-10 Sergey Poznyakoff + Doc changes. + * NEWS: Update. * THANKS: Update. * doc/snapshot.texi, doc/snapshot.texi, @@ -1325,16 +2861,21 @@ 2010-03-08 Kamil Dudka Fix possible overflow in code_timespec (tiny change) + * src/misc.c (code_timespec): ignore invalid values of ns 2010-03-08 Sergey Poznyakoff Minor fix in the testsuite. + * tests/extrac05.at: Skip test if creating sparse file fails. +2010-03-08 Sergey Poznyakoff + Fix eventual memory override and fd exhaustion in create.c Both bugs reported by Kamil Dudka. + * src/create.c (check_exclusion_tags): Do not keep pointer to a location within tagname: it may change after xrealloc. Use byte offset instead. @@ -1344,11 +2885,13 @@ 2010-03-02 Sergey Poznyakoff Minor change. + * doc/tar.texi: Improve some wording. 2010-03-02 Antonio Diaz Diaz Add Lzip support + * configure.ac: Add TAR_COMPR_PROGRAM(lzip) * doc/tar.texi: Reflect lzip support. * src/buffer.c (compress_type) : New constant. @@ -1359,18 +2902,21 @@ 2010-03-02 Sergey Poznyakoff Minor fix. + * tests/exclude05.at: Rewrite awk invocation to avoid overflowing awk's file table on Solaris. 2010-03-02 Eric Blake Fix large file support. + * scripts/xsparse.c (read_map): Use fseeko. * src/incremen.c (write_directory_file): Likewise. 2010-03-02 Sergey Poznyakoff Bugfix + * src/buffer.c (seek_archive): Rewrite size computation to prevent it from reaching negative values. Based on report by Denis Excoffier . @@ -1378,6 +2924,7 @@ 2010-02-25 Sergey Poznyakoff Supply more information to the --to-command script. + * src/system.c (stat_to_env): Pass information about the current volume in variables TAR_ARCHIVE, TAR_VOLUME, TAR_BLOCKING_FACTOR, TAR_FORMAT. @@ -1388,6 +2935,7 @@ 2010-02-17 Sergey Poznyakoff Minor change. + * src/names.c (regex_usage_warning): Fix warning message. 2010-02-05 Sergey Poznyakoff @@ -1397,12 +2945,14 @@ 2010-02-05 Ondřej Vašík Bugfix (tiny change) + * src/xheader.c (xheader_read): Remove unnecessary call to xheader_init. 2010-01-26 Sergey Poznyakoff Enable silent build mode. + * configure.ac: Require automake 1.11, autoconf 2.63. Enable silent rules. * NEWS: Update. @@ -1411,6 +2961,7 @@ 2010-01-25 Sergey Poznyakoff Read POSIX multivolume archives split at the header boundary. + * src/common.h (read_header_mode): New enum. (read_header): Change type of the 3rd argument. * src/list.c (read_header): Change type of the 3rd argument. @@ -1430,6 +2981,7 @@ 2010-01-24 Sergey Poznyakoff Minor change. + * NEWS: Update. * doc/tar.texi: Update. * src/create.c (finish_header): Minor change. @@ -1437,17 +2989,22 @@ 2010-01-24 Rob Vermaas Bugfix (tiny change). + * src/tar.c (format_default_settings)[REMOTE_SHELL]: Fix misplaced comma. 2010-01-24 Sergey Poznyakoff Minor fix. + * src/incremen.c (read_incr_db_01) (read_directory_file): Initialize bufsize to 0. Suggested by noordsij@cs.helsinki.fi. +2010-01-24 Sergey Poznyakoff + Improve handling of --test-label. + * src/list.c (print_volume_label): New function. (print_header): Call print_volume_label. (test_archive_label): New function. @@ -1466,7 +3023,10 @@ (parse_opt): Set subcommand if --test-label is given. (main): Handle TEST_LABEL_SUBCOMMAND. +2010-01-24 Sergey Poznyakoff + Fix listing of volume labels (in particular in PAX archives). + * src/buffer.c (match_volume_label): Call set_volume_label. (check_label_pattern): Get label string as argument. @@ -1511,6 +3071,7 @@ 2010-01-22 Sergey Poznyakoff Fix prefix length calculation in ustar mode. + * src/create.c (split_long_name): Fix prefix length calculation. (write_ustar_long_name): Improve ustar mode compatibility @@ -1519,6 +3080,7 @@ 2009-10-14 Sergey Poznyakoff Rewrite update algorithm. + * src/common.h (namebuf_t): New typedef. (namebuf_create, namebuf_free) (namebuf_name): New prototypes. @@ -1543,7 +3105,10 @@ * tests/testsuite.at: Likewise. * tests/update.at (AT_KEYWORDS): Add update00. +2009-10-14 Sergey Poznyakoff + Minor changes. + * src/tar.c (main): Ignore SIGPIPE. * src/system.c (sys_child_open_for_compress) (sys_child_open_for_uncompress): Reset SIGPIPE @@ -1551,13 +3116,17 @@ * tests/remfiles01.at: Avoid race conditions. * tests/remfiles02.at: Likewise. +2009-10-14 Sergey Poznyakoff + Bugfix. + * src/buffer.c (_open_archive): Call guess_seekable_archive only if the call to open_compressed_archive succeeded. 2009-10-10 Sergey Poznyakoff Improve previous changes. + * acinclude.m4: Fix typos. * gnulib.modules: Add xvasprintf. * src/common.h: Include xvasprintf.h. @@ -1569,8 +3138,11 @@ (parse_opt): Use *_PROGRAM defines instead of hardcoded program names. +2009-10-10 Sergey Poznyakoff + Allow installers to specify alternative program names for compression programs. + This adds --with-gzip, --with-bzip2 etc. switches to the configure, so that one can do, e.g. ./configure --with-bzip2=lbzip2 and have @@ -1587,6 +3159,7 @@ 2009-10-09 Sergey Poznyakoff Minor fix. + * src/buffer.c (magic): Fix `xz' entry: add the name of the program. * src/suffix.c (compression_suffixes, nsuffixes): Mark as static. @@ -1595,6 +3168,7 @@ Provide a way to explicitly set mtime for extended header ustar blocks. + * src/tar.c (struct textual_date): ts is a copy of the structure, not a pointer to it. Date is a copy as well, hence the `const' is taken away. @@ -1616,7 +3190,10 @@ * NEWS: Update * doc/tar.texi: Document the changes. +2009-10-07 Sergey Poznyakoff + Use file's mtime as mtime for its extended header. + This makes two pax archives binary equivalent if they have the same contents and care is taken to make extended headers otherwise reproducible, e.g. by using: @@ -1634,7 +3211,10 @@ Use current time stamp as mtime for global headers. (xheader_write): Take time_t as 3rd param. +2009-10-07 Sergey Poznyakoff + Fix bugs in handling the --remove-files option. + Make sure the files are deleted only if they were succesfully stored to the archive. @@ -1670,6 +3250,7 @@ 2009-10-04 Sergey Poznyakoff Fix bug in OLDGNU format creation. + See tests/append02.at for a detailed description * src/common.h (MODE_FROM_HEADER): Take additional argument. @@ -1685,6 +3266,7 @@ 2009-09-16 Sergey Poznyakoff Restore extra help output. + * src/tar.c (tar_list_quoting_styles): Change first argument to struct obstack. (format_default_settings): New function. @@ -1698,6 +3280,7 @@ 2009-09-08 Sergey Poznyakoff Improve command line option handling. + * gnulib.modules: Add argp-version-etc and progname, use getopt-gnu instead of getopt. * src/tar.c (HANG_OPTION, USAGE_OPTION) @@ -1710,8 +3293,11 @@ (decode_options): Call argp_version_setup. Do not use ARGP_NO_HELP flag in the call to argp_parse. +2009-09-08 Sergey Poznyakoff + Avoid overwriting exit_status with a value indicating less important condition. + * src/tar.c (set_exit_status): New function. * src/common.h (set_exit_status): New prototype. * src/compare.c: Use set_exit_status instead of @@ -1724,7 +3310,10 @@ * src/incremen.c (scan_directory): Use file_removed_diag instead of stat_diag. +2009-09-08 Sergey Poznyakoff + Automatic detection of seekable archives. + * src/buffer.c (guess_seekable_archive): New function. (_open_archive): Call guess_seekable_archive for archives open for reading. @@ -1741,6 +3330,7 @@ 2009-08-27 Sergey Poznyakoff Fix testcases. + * tests/extrac08.at: Ensure a predictable umask value. * tests/xform-h.at (xform): do not depend on file name ordering. @@ -1748,6 +3338,7 @@ 2009-08-13 Sergey Poznyakoff Fix interaction between --listed-incremental and -C + * src/incremen.c (read_directory_file): Execute eventual -C dir after opening the snapshot file. (collect_and_sort_names): Remove call to chdir_do @@ -1758,6 +3349,7 @@ Update for new exclude module from gnulib. Add testcases by Phil Proudman. + * src/names.c (is_pattern): Remove. (regex_usage_warning): Use fnmatch_pattern_has_wildcards instead of @@ -1779,6 +3371,7 @@ 2009-08-09 Sergey Poznyakoff Minor fixes. + * src/misc.c (file_removed_diag): Set exit code to TAREXIT_DIFFERS. @@ -1786,7 +3379,10 @@ Minor fixes +2009-08-08 Sergey Poznyakoff + Fix handling of files removed during incremental dumps. + Changes to src/create.c and src/incremen.c are partially based on patch from Alexander Peslyak . @@ -1825,8 +3421,11 @@ * NEWS: Update. * doc/tar.texi: Minor fix. +2009-08-08 Sergey Poznyakoff + Optimize searches for directory structures by keeping a pointer to struct directory in struct name. + * src/common.h (struct name): New member `directory' replaces dir_contents. Rearrange members. (rebase_directory): Change signature. @@ -1868,12 +3467,16 @@ 2009-08-07 Sergey Poznyakoff Minor fixes. + * src/common.h (rebase_directory): New prototype. * src/incremen.c (rebase_directory): Use replace_prefix. * src/names.c (collect_and_sort_names): Abort if hash_insert fails. +2009-08-07 Sergey Poznyakoff + Improve listed incremental dumps. + The modified algorithm tries to avoid dumping the same directory twice and ensures the order of the directories in the resulting archive is the same, whatever their order @@ -1940,7 +3543,10 @@ Forgotten to push src/warning.c +2009-08-05 Sergey Poznyakoff + Implement the --warning option. + * src/warning.c: New file. * src/Makefile.am: Add warning.c * src/common.h: Provide definitions for warning classes. @@ -1964,6 +3570,7 @@ Fix backup handling and restoring file modes of existing directories + * NEWS, THANKS: Update * src/extract.c (extract_dir): reset status to 0 if the directory already exists. @@ -1978,6 +3585,7 @@ 2009-07-30 Sergey Poznyakoff Fix hard links recognition with -c --remove-files + * src/create.c (dump_hard_link): Always look up in the link table if remove_files_option is set. Patch suggested by Theodore Ts'o . @@ -1986,7 +3594,10 @@ * tests/Makefile.am (TESTSUITE_AT): Add link02.at and link03.at * tests/testsuite.at: Include link02.at and link03.at +2009-07-30 Sergey Poznyakoff + Fix handling of hard link targets by -c --transform + * src/create.c (file_count_links): Transform link target before the look up. * tests/xform-h.at: New test case. @@ -1996,6 +3607,7 @@ 2009-06-23 Sergey Poznyakoff Minor fix. + * src/extract.c (file_newer_p): Do not report error on ENOENT 2009-06-19 Sergey Poznyakoff @@ -2011,6 +3623,7 @@ Fix Solaris bug where chmod fails if we don't have PRIV_SYS_LINKDIR + * gnulib.modules: Add priv-set. * src/extract.c (set_mode, extract_archive): Restore PRIV_SYS_LINKDIR on chmod failure. @@ -2019,18 +3632,21 @@ 2009-06-18 Sergey Poznyakoff Ensure default behavior for SIGPIPE + * src/tar.c (main): Install default handler for SIGPIPE. Proposed by Bastian Blank. 2009-06-18 Eric Blake Follow autoconf recommendation for TESTSUITEFLAGS. + * tests/Makefile.am (check-local, installcheck-local): Honor TESTSUITEFLAGS. 2009-06-18 Sergey Poznyakoff Fix handling of sub-subprocess returns. + * src/system.c (wait_for_grandchild): New function. (sys_child_open_for_compress) (sys_child_open_for_uncompress): Use wait_for_grandchild @@ -2039,6 +3655,7 @@ 2009-05-25 Sergey Poznyakoff Report record size only if the archive refers to a device. + * Makefile.am (INCLUDES): Add ../lib, for rmt-command.h * src/buffer.c (short_read): Report the actual record size only if the archive descriptor refers to a device. @@ -2049,6 +3666,7 @@ 2009-05-14 Sergey Poznyakoff Do not issue errors on existing files when given the -k option + * Makefile.am (dist-hook): Fix rule. * src/extract.c (maybe_recoverable): Return three-state value. (extract_dir): Skip extraction if maybe_recoverable indicates so. @@ -2057,6 +3675,7 @@ 2009-05-12 Eric Blake Avoid undefined behavior + * src/xheader.c (xheader_set_keyword_equal): Pass correct type to ctype macros. * src/transform.c (run_case_conv): Likewise. @@ -2068,6 +3687,7 @@ 2009-03-12 Sergey Poznyakoff Bugfixes. + * bootstrap (symlink_to_dir): Fix symlink calculation. * doc/tar.texi: Minor fixes by Victor Villa and Stepan Kasal. @@ -2077,6 +3697,27 @@ Migrate to Git +Currently the ChangeLog is generated automatically from the Git +revision history, but from 1997 to 2009 the ChangeLog file was +maintained by hand, under CVS. This file records the older log. + +Copyright 1997-2001, 2003-2009, 2013 Free Software Foundation, Inc. + +This file is part of GNU tar. + +GNU tar is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +GNU tar is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + 2009-03-05 Sergey Poznyakoff * src/incremen.c: --no-recursive works with --incremental. @@ -10885,26 +12526,6 @@ See ChangeLog.1 for earlier changes. ----- - - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 - Free Software Foundation, Inc. - - This file is part of GNU tar. - - GNU tar is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GNU tar 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 GNU tar; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. Local Variables: mode: change-log diff --git a/ChangeLog.1 b/ChangeLog.1 index 75c88144..db84a07c 100644 --- a/ChangeLog.1 +++ b/ChangeLog.1 @@ -2,25 +2,22 @@ Currently there is just one ChangeLog file for tar, but there used to be separate ChangeLog files for each subdirectory. This file records what used to be in those separate files. -Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 -Free Software Foundation, Inc. +Copyright 1989-1997, 2013 Free Software Foundation, Inc. -This file is part of GNU Tar. +This file is part of GNU tar. -GNU Tar is free software; you can redistribute it and/or modify +GNU tar 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. +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. -GNU Tar is distributed in the hope that it will be useful, +GNU tar 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 GNU Tar; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. +along with this program. If not, see . ----- ChangeLog ----- diff --git a/INSTALL b/INSTALL index a1e89e18..007e9396 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ Installation Instructions ************************* -Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, @@ -309,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: +an Autoconf limitation. Until the limitation is lifted, you can use +this workaround: - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== @@ -367,4 +368,3 @@ operates. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. - diff --git a/Make.rules b/Make.rules index a1de301a..09ad1c1c 100644 --- a/Make.rules +++ b/Make.rules @@ -50,7 +50,7 @@ ChangeLog: if test -n "$(gen_start_date)"; then \ cmd="$$cmd --since=\"$(gen_start_date)\""; \ fi; \ - $$cmd | \ + $$cmd --format='%s%n%n%b%n' | \ sed '/$$/d' | fmt -s > $(changelog_dir)/cl-t; \ if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \ then \ diff --git a/Makefile.am b/Makefile.am index af332d77..0fea3087 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,22 +1,22 @@ # Main Makefile for GNU tar. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2007, -# 2009 Free Software Foundation, Inc. - -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3, or (at your option) -## any later version. - -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -## 02110-1301, USA. +# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013 Free Software +# Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = ChangeLog.1 Make.rules diff --git a/Makefile.in b/Makefile.in index d66a7179..907819fb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -17,8 +16,23 @@ # Main Makefile for GNU tar. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2007, -# 2009 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013 Free Software +# Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # This file is part of GNU paxutils # @@ -65,6 +79,23 @@ # gen_start_date [optional] Start ChangeLog from this date. # changelog_dir [mandatory] Directory where to create ChangeLog VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -84,8 +115,13 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Make.rules \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \ - AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \ + $(srcdir)/config.h.in $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/missing $(top_srcdir)/configure \ + ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \ build-aux/compile build-aux/config.guess \ build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ build-aux/install-sh build-aux/mdate-sh build-aux/missing \ @@ -93,28 +129,32 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Make.rules \ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -122,50 +162,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -173,22 +223,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -205,12 +256,18 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -220,21 +277,30 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck + cscope distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags +CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -263,7 +329,10 @@ am__relativize = \ DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz \ $(distdir).shar.gz GZIP_ENV = --best +DIST_TARGETS = dist-xz dist-shar dist-bzip2 dist-gzip distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ @@ -272,6 +341,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -323,12 +394,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -337,17 +412,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -355,6 +440,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -369,15 +456,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -418,25 +509,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -444,14 +545,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -478,12 +588,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -495,10 +606,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -543,9 +657,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -564,6 +680,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -579,17 +696,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -605,6 +728,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -637,28 +761,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -666,6 +808,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -673,6 +816,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -685,6 +829,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -724,12 +869,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -752,7 +899,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -774,6 +923,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -784,6 +936,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -795,6 +948,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -805,6 +961,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -815,6 +972,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -836,9 +994,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -851,6 +1011,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -860,11 +1021,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -894,8 +1058,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -904,13 +1074,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -920,10 +1093,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -944,10 +1121,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -961,9 +1141,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -1036,7 +1221,7 @@ all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Make.rules $(am__configure_deps) @for dep in $?; do \ @@ -1061,6 +1246,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; +$(srcdir)/Make.rules: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -1072,10 +1258,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -1089,12 +1273,12 @@ distclean-hdr: -rm -f config.h stamp-h1 # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -1104,7 +1288,11 @@ $(RECURSIVE_TARGETS): done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -1118,37 +1306,6 @@ $(RECURSIVE_TARGETS): if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ @@ -1157,6 +1314,10 @@ ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done +cscopelist-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ + done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1220,8 +1381,32 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) + +clean-cscope: + -rm -f cscope.files + +cscope.files: clean-cscope cscopelist-recursive cscopelist + +cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) @case `sed 15q $(srcdir)/NEWS` in \ @@ -1263,13 +1448,10 @@ distdir: $(DISTFILES) done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -1301,36 +1483,33 @@ distdir: $(DISTFILES) || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) + $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another @@ -1341,8 +1520,8 @@ distcheck: dist GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -1352,9 +1531,9 @@ distcheck: dist *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ @@ -1362,6 +1541,7 @@ distcheck: dist && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -1385,13 +1565,21 @@ distcheck: dist && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -1422,10 +1610,15 @@ install-am: all-am installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1508,23 +1701,25 @@ ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive + cscopelist-recursive ctags-recursive install-am install-strip \ + tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ - dist-hook dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-hdr \ - distclean-local distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am + all all-am am--refresh check check-am clean clean-cscope \ + clean-generic cscope cscopelist cscopelist-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \ + dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \ + distclean distclean-generic distclean-hdr distclean-local \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am dist-hook: @@ -1543,7 +1738,7 @@ ChangeLog: if test -n "$(gen_start_date)"; then \ cmd="$$cmd --since=\"$(gen_start_date)\""; \ fi; \ - $$cmd | \ + $$cmd --format='%s%n%n%b%n' | \ sed '/$$/d' | fmt -s > $(changelog_dir)/cl-t; \ if test -n "$(prev_change_log)" && test -f "$(prev_change_log)"; \ then \ diff --git a/NEWS b/NEWS index 12c1dd63..ffeb4b84 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,92 @@ -GNU tar NEWS - User visible changes. 2011-03-12 +GNU tar NEWS - User visible changes. 2013-10-05 Please send GNU tar bug reports to + +version 1.27 - Sergey Poznyakoff, 2013-10-05 + +* Bug fixes + +** Sparse files with large data + +When creating a PAX-format archive, tar no longer arbitrarily restricts +the size of the representation of a sparse file to be less than 8 GiB. + +* Quoting + +In the default C locale, diagnostics and output of 'tar' have been +adjusted to quote 'like this' (with apostrophes) instead of `like this' +(with an accent grave character and an apostrophe). This tracks +recent changes to the GNU coding standards. + +* --owner and --group names and numbers + +The --owner and --group options now accept operands of the form +NAME:NUM, so that you can specify both symbolic name and numeric ID +for owner and group. In these options, NAME no longer needs to be +present in the current host's user and group databases. + +* The --keep-old-files and --skip-old-files options. + +This release restores the traditional functionality of the +--keep-old-files. This option causes tar to avoid replacing +existing files while extracting and to treat such files as errors. +Tar will emit a prominent error message upon encountering such files +and will exit with code 2 when finished extracting the archive. + +A new option --skip-old-files is introduced, which acts exactly as +--keep-old-files, except that it does not treat existing files as +errors. Instead it just silently skips them. An additional level of +verbosity can be obtained by using the option --warning=existing-file +together with this option. + +* Support for POSIX ACLs, extended attributes and SELinux context. + +Starting with this version tar is able to store, extract and list +extended file attributes, POSIX.1e ACLs and SELinux context. This is +controlled by the command line options --xattrs, --acls and --selinux, +correspondingly. Each of these options has a `--no-' counterpart +(e.g. --no-xattrs), which disables the corresponding feature. +Additionally, the options --xattrs-include and --xattrs-exclude allow +you to selectively control for which files to store (or extract) the +extended attributes. + +* Passing command line arguments to external commands. + +Any option taking a command name as its argument now accepts a full +command line as well. Thus, it is now possible to pass additional +arguments to invoked programs. The affected options are: + + --checkpoint-action=exec + -I, --use-compress-program + -F, --info-script + --to-command + +Furthermore, if any additional information is supplied to such a +command via environment variables, these variables can now be used in +the command line itself. Care should be taken to escape them, to +prevent from being expanded too early, for example: + + tar -x -f a.tar --info-script='changevol $TAR_ARCHIVE $TAR_VOLUME' + +* New configure option --enable-gcc-warnings, intended for debugging. + +* New warning control option --warning=[no-]record-size + +On extraction, this option controls whether to display actual record +size, if it differs from the default. + +* New command line option --keep-directory-symlink + +By default, if trying to extract a directory from the archive, +tar discovers that the corresponding file name already exists and is a +symbolic link, it first unlinks the entry, and then extracts the directory. + +This option disables this behavior and instructs tar to follow +symlinks to directories when extracting from the archive. + +It is mainly intended to provide compatibility with the Slackware +installation scripts. + version 1.26 - Sergey Poznyakoff, 2011-03-12 @@ -48,14 +134,14 @@ are met, tar retries extraction using an alternative decompressor: 2. The compression program was not explicitly requested in the command line by the use of such options as -z, -j, etc. -For example, if `compress' is not available, tar will try `gzip'. +For example, if 'compress' is not available, tar will try 'gzip'. version 1.24 - Sergey Poznyakoff, 2010-10-24 * The --full-time option. -New command line option `--full-time' instructs tar to output file +New command line option '--full-time' instructs tar to output file time stamps to the full resolution. * Bugfixes. @@ -108,15 +194,15 @@ invoked as in the example below: ** --remove-files -`Tar --remove-files' failed to remove a directory which contained +'tar --remove-files' failed to remove a directory which contained symlinks to another files within that directory. ** --test-label behavior -In case of a mismatch, `tar --test-label LABEL' exits with code 1, +In case of a mismatch, 'tar --test-label LABEL' exits with code 1, not 2 as it did in previous versions. -The `--verbose' option used with `--test-label' provides additional +The '--verbose' option used with '--test-label' provides additional diagnostics. Several volume labels may be specified in a command line, e.g.: @@ -128,7 +214,7 @@ matches the actual volume label. ** --label used with --update -The `--label' option can be used with `--update' to prevent accidental +The '--label' option can be used with '--update' to prevent accidental update of an archive: tar -rf archive --label 'My volume' . @@ -156,28 +242,28 @@ to regular files and pipes). When a read-only operation (e.g. --list or --extract) is requested on a regular file, tar attemtps to speed up accesses by using lseek. -* New command line option `--warning' +* New command line option '--warning' -The `--warning' command line option allows to suppress or enable -particular warning messages during `tar' run. It takes a single -argument (a `keyword'), identifying the class of warning messages -to affect. If the argument is prefixed with `no-', such warning +The '--warning' command line option allows to suppress or enable +particular warning messages during 'tar' run. It takes a single +argument (a 'keyword'), identifying the class of warning messages +to affect. If the argument is prefixed with 'no-', such warning messages are suppressed. For example, tar --warning=no-alone-zero-block -x -f archive -suppresses the output of `A lone zero block' diagnostics, which is -normally issued if `archive' ends with a single block of zeros. +suppresses the output of "A lone zero block" diagnostics, which is +normally issued if 'archive' ends with a single block of zeros. See Tar Manual, section 3.9 "Controlling Warning Messages", for a detailed discussion. -* New command line option `--level' +* New command line option '--level' -The `--level=N' option sets the incremental dump level N. It +The '--level=N' option sets the incremental dump level N. It is valid when used in conjunction with the -c and --listed-incremental options. So far the only meaningful value for N is 0. The -`--level=0' option forces creating the level 0 dump, by truncating +'--level=0' option forces creating the level 0 dump, by truncating the snapshot file if it exists. * Files removed during incremental dumps @@ -206,7 +292,7 @@ can be overridden by the --pax-opion='exthdr.mtime=STRING' command line option. The STRING is either number of seconds since -the Epoch or a `Time reference' (see below). +the Epoch or a "Time reference" (see below). Modification times in ustar header blocks of global extended headers are set to the time when tar was invoked. @@ -216,7 +302,7 @@ This can be overridden by the --pax-opion='globexthdr.mtime=STRING' command line option. The STRING is either number of seconds since -the Epoch or a `Time reference' (see below). +the Epoch or a "Time reference" (see below). * Time references in --pax-option argument. @@ -224,7 +310,7 @@ Any value from the --pax-option argument that is enclosed in a pair of curly braces represents a time reference. The string between the braces is understood either as a textual time representation, as described in chapter 7, "Date input formats", of the Tar manual, or as a name of -an existing file, starting with `/' or `.'. In the latter +an existing file, starting with '/' or '.'. In the latter case, it is replaced with the modification time of that file. * Environment of --to-command script. @@ -259,7 +345,7 @@ Tar uses xz for compression if one of the following conditions is met: 1. The option --xz or -J (see below) is used. 2. The xz binary is set as compressor using --use-compress-program option. - 3. The file name of the archive being created ends in `.xz' and + 3. The file name of the archive being created ends in '.xz' and auto-compress option (-a) is used. Xz is used for decompression if one of the following conditions is met: @@ -319,17 +405,17 @@ control type of archive members affected by them. The flags are: Apply transformation to hard link targets. Corresponding upper-case letters negate the meaning, so that -`H' means ``do not apply transformation to hard link targets.'' +'H' means "do not apply transformation to hard link targets". -The scope flags are listed in the third part of an `s' expression, +The scope flags are listed in the third part of an 's' expression, e.g.: tar --transform 's|^|/usr/local/|S' -Default is `rsh', which means that transformations are applied to +Default is 'rsh', which means that transformations are applied to both regular archive members and to the targets of symbolic and hard links. If several transform expressions are used, the default flags -can be changed using `flags=' statement before the expressions, e.g.: +can be changed using 'flags=' statement before the expressions, e.g.: tar --transform 'flags=S;s|^|/usr/local/|S' @@ -365,29 +451,29 @@ they refer to, instead of creating usual hard link members (type '1'). This action allows to specify an action to be executed upon hitting a checkpoint. Recognized actions are: dot, echo (the default), echo=string, ttyout=string, exec=cmdline, and sleep=value. Any number -of `--checkpoint-action' options can be specified, the actions will be +of '--checkpoint-action' options can be specified, the actions will be executed in order of their appearance in the command line. See chapter 3.8 "Checkpoints" for a complete description. * New options --no-check-device, --check-device. -The `--no-check-device' option disables comparing device numbers during +The '--no-check-device' option disables comparing device numbers during preparatory stage of an incremental dump. This allows to avoid creating full dumps if the device numbers change (e.g. when using an LVM snapshot). -The `--check-device' option enables comparing device numbers. This is +The '--check-device' option enables comparing device numbers. This is the default. This option is provided to undo the effect of the previous -`--no-check-device' option, e.g. if it was set in TAR_OPTIONS +'--no-check-device' option, e.g. if it was set in TAR_OPTIONS environment variable. * The --transform option. -Any number of `--transform' options can be given in the command line. +Any number of '--transform' options can be given in the command line. The specified transformations will be applied in turn. -The argument to `--transform' option can be a list of replace -expressions, separated by a semicolon (as in `sed'). +The argument to '--transform' option can be a list of replace +expressions, separated by a semicolon (as in 'sed'). Filename transformations are applied to symbolic link targets during both creation and extraction. Tar 1.19 used them only @@ -473,7 +559,7 @@ option affects hard and soft link targets and the --strip-components option affects hard link targets as well. * End-of-volume script can send the new volume name to tar by writing - it to the file descriptor stored in the environment variable `TAR_FD'. + it to the file descriptor stored in the environment variable TAR_FD. version 1.16.1 - Sergey Poznyakoff, 2006-12-09 @@ -543,7 +629,7 @@ following command line options: --wildcards use wildcards --anchored patterns match file name start --ignore-case ignore case - --wildcards-match-slash wildcards match `/' + --wildcards-match-slash wildcards match '/' Each of these options has a '--no-' counterpart that disables its effect (e.g. --no-wildcards). @@ -583,7 +669,7 @@ or archive. It generalizes --show-stored-names option, introduced in 1.15.90. In particular, when creating an archive in verbose mode, it lists member names as stored in the archive, i.e., with any eventual prefixes removed and file name transformations applied. The option is useful, -for example, while comparing `tar cv' and `tar tv' outputs. +for example, while comparing 'tar cv' and 'tar tv' outputs. ** New incremental snapshot file format keeps information about file names as well as that about directories. @@ -608,7 +694,7 @@ version 1.15.90 - Sergey Poznyakoff, 2006-02-19 * New features ** Any number of -T (--files-from) options may be used in the command line. -The file specified with -T may include any valid `tar' options, +The file specified with -T may include any valid 'tar' options, including another -T option. Compatibility note: older versions of tar would only recognize -C as an option name within the file list file. Now any file whose name @@ -619,7 +705,7 @@ dash, use the --add-file option. automatically. It is no longer necessary to give the --null option. ** New option --no-unquote disables the unquoting of input file names. -This is useful for processing output from `find dir -print0'. +This is useful for processing output from 'find dir -print0'. An orthogonal option --unquote is provided as well. ** New option --test-label tests the archive volume label. @@ -633,7 +719,7 @@ tar prints the label name if present and exits with code 0. ** New option --show-stored-names. When creating an archive in verbose mode, it lists member names as stored in the archive, i.e., with any eventual prefixes removed. The option is useful, for example, while comparing -`tar cv' and `tar tv' outputs. +'tar cv' and 'tar tv' outputs. ** New option --to-command pipes the contents of archive members to the specified command. @@ -706,7 +792,7 @@ version 1.15 - Sergey Poznyakoff, 2004-12-20 * Compressed archives are recognised automatically, it is no longer necessary to specify -Z, -z, or -j options to read them. Thus, you can -now run `tar tf archive.tar.gz'. +now run 'tar tf archive.tar.gz'. * When restoring incremental dumps, --one-file-system option prevents directory hierarchies residing on different devices @@ -726,7 +812,7 @@ seeks. * Restore script starts restoring only if it is given --all (-a) option, or some patterns. This is to prevent accidental restores. -* `tar --verify' prints a warning if during archive creation some of +* 'tar --verify' prints a warning if during archive creation some of the file names had their prefixes stripped off. * New option --exclude-caches instructs tar to exclude cache directories @@ -736,11 +822,11 @@ containing a standardized tag file, as specified at: http://www.brynosaurus.com/cachedir/spec.html * New configure option --with-rmt allows to specify full path name to -the `rmt' utility. This supersedes DEFAULT_RMT_COMMAND variable +the 'rmt' utility. This supersedes DEFAULT_RMT_COMMAND variable introduced in version 1.14 * New configure variable DEFAULT_RMT_DIR allows to specify the directory -where to install `rmt' utility. This is necessary since modifying +where to install 'rmt' utility. This is necessary since modifying --libexecdir as was suggested for version 1.14 produced a side effect: it also modified installation prefix for backup scripts (if --enable-backup-scripts was given). @@ -794,12 +880,12 @@ version 1.14 - Sergey Poznyakoff, 2004-05-11 the subcommands --delete, --diff, --extract or --list when a list of files is given either on the command line or via -T option. This option instructs tar to process only the Nth occurrence of each named - file. N defaults to 1, so `tar -x -f archive --occurrence filename' - extracts the first occurrence of `filename' from `archive' + file. N defaults to 1, so 'tar -x -f archive --occurrence filename' + extracts the first occurrence of 'filename' from 'archive' and terminates without scanning to the end of the archive. * New option --pax-option allows to control the handling of POSIX - keywords in `pax' extended headers. It is equivalent to `pax' + keywords in 'pax' extended headers. It is equivalent to 'pax' -o option. * --incremental and --listed-incremental options work correctly on @@ -905,7 +991,7 @@ version 1.13.19 - Paul Eggert, 2001-01-13 version 1.13.18 - Paul Eggert, 2000-10-29 -* Some security problems have been fixed. `tar -x' now modifies only +* Some security problems have been fixed. 'tar -x' now modifies only files under the working directory, unless you also specify an unsafe option like --absolute-names or --overwrite. @@ -931,12 +1017,12 @@ version 1.13.18 - Paul Eggert, 2000-10-29 * This version of tar works best with GNU gzip test version 1.3 or later. Please see . -* `tar --delete -f -' now works again. +* 'tar --delete -f -' now works again. version 1.13.17 - Paul Eggert, 2000-01-07. -* `tar --delete -f -' is no longer allowed; it was too buggy. +* 'tar --delete -f -' is no longer allowed; it was too buggy. * Diagnostic messages have been made more regular and consistent. @@ -953,12 +1039,12 @@ version 1.13.16 - Paul Eggert, 1999-12-13. The new --overwrite option enables the old default behavior. For regular files, tar implements this change by using the O_EXCL - option of `open' to ensure that it creates the file; if this fails, it + option of 'open' to ensure that it creates the file; if this fails, it removes the file and tries again. This is similar to the behavior of the --unlink-first option, but it is faster in the common case of extracting a new directory. -* By default, tar now ignores file names containing a component of `..' +* By default, tar now ignores file names containing a component of '..' when extracting, and warns about such file names when creating an archive. To enable the old behavior, use the -P or --absolute-names option. @@ -1000,20 +1086,20 @@ version 1.13.14 - Paul Eggert, 1999-11-07. version 1.13.13 - Paul Eggert, 1999-10-11. * Invalid headers in tar files now elicit errors, not just warnings. -* `tar --version' output conforms to the latest GNU coding standards. -* If you specify an invalid date, `tar' now substitutes (time_t) -1. -* `configure --with-dmalloc' is no longer available. +* 'tar --version' output conforms to the latest GNU coding standards. +* If you specify an invalid date, 'tar' now substitutes (time_t) -1. +* 'configure --with-dmalloc' is no longer available. version 1.13.12 - Paul Eggert, 1999-09-24. -* `tar' now supports hard links to symbolic links. +* 'tar' now supports hard links to symbolic links. * New options --no-same-owner, --no-same-permissions. * --total now also outputs a human-readable size, and a throughput value. -* `tar' now uses two's-complement base-256 when outputting header +* 'tar' now uses two's-complement base-256 when outputting header values that are out of the range of the standard unsigned base-8 format. This affects archive members with negative or huge time stamps or uids, and archive members 8 GB or larger. The new tar @@ -1022,12 +1108,12 @@ version 1.13.12 - Paul Eggert, 1999-09-24. behavior, which uses unportable representations for negative values, and which rejects large files. -* On 32-bit hosts, `tar' now assumes that an incoming time stamp T in +* On 32-bit hosts, 'tar' now assumes that an incoming time stamp T in the range 2**31 <= T < 2**32 represents the negative time (T - 2**32). This behavior is nonstandard and is not portable to 64-bit - time_t hosts, so `tar' issues a warning. + time_t hosts, so 'tar' issues a warning. -* `tar' no longer gives up extracting immediately upon discovering +* 'tar' no longer gives up extracting immediately upon discovering that an archive contains garbage at the end. It attempts to extract as many files as possible from the good data before the garbage. @@ -1044,40 +1130,40 @@ version 1.13.11 - Paul Eggert, 1999-08-23. * -T /dev/null now matches nothing; previously, it matched anything if no explicit operands were given. -* The `--' option now works the same as with other GNU utilities; +* The '--' option now works the same as with other GNU utilities; it causes later operands to be interpreted as file names, not options, - even if they begin with `-'. + even if they begin with '-'. * For the --newer and --after-date options, the table of time zone - abbreviations like `EST' has been updated to match current practice. + abbreviations like 'EST' has been updated to match current practice. Also, local time abbreviations are now recognized, even if they are not in tar's hardwired table. Remember, though, that you should use - numeric UTC offsets like `-0500' instead of abbreviations like - `EST', as abbreviations are not standardized and are ambiguous. + numeric UTC offsets like '-0500' instead of abbreviations like + 'EST', as abbreviations are not standardized and are ambiguous. version 1.13.10 - Paul Eggert, 1999-08-20. -* `tar' now uses signed base-64 when outputting header values that are +* 'tar' now uses signed base-64 when outputting header values that are out of the range of the standard unsigned base-8 format. [This change was superseded in 1.13.12, described above.] version 1.13.9 - Paul Eggert, 1999-08-18. -* `tar' now writes two zero blocks at end-of-archive instead of just one. - POSIX.1 requires this, and some other `tar' implementations check for it. +* 'tar' now writes two zero blocks at end-of-archive instead of just one. + POSIX.1 requires this, and some other 'tar' implementations check for it. -* `tar' no longer silently accepts a block containing nonzero checksum bytes +* 'tar' no longer silently accepts a block containing nonzero checksum bytes as a zero block. -* `tar' now reads buggy tar files that have a null byte at the start of a +* 'tar' now reads buggy tar files that have a null byte at the start of a numeric header field. version 1.13.8 - Paul Eggert, 1999-08-16. -* For compatibility with traditional `tar', intermediate directories +* For compatibility with traditional 'tar', intermediate directories created automatically by root are no longer given the uid and gid of the original file or directory. @@ -1086,7 +1172,7 @@ version 1.13.7 - Paul Eggert, 1999-08-14. * --listed-incremental and --newer are now incompatible options. -* When creating an archive, leading `./' is no longer stripped, +* When creating an archive, leading './' is no longer stripped, to match traditional tar's behavior (and simplify the documentation). * --diff without --absolute-names no longer falls back on absolute names. @@ -1177,7 +1263,7 @@ Creation * Implement --numeric-owner for ignoring symbolic names at create time. * New --owner, --group --mode options, still preliminary. * Recognize creating an archive on /dev/null, so Amanda works faster. -* Object to the creation of an empty archive (like in `tar cf FILE'). +* Object to the creation of an empty archive (like in 'tar cf FILE'). * Barely start implementing --posix and POSIXLY_CORRECT. Extraction @@ -1256,7 +1342,7 @@ Version 1.10.13 - 1992-01. * Now uses GNU standard configure, generated by Autoconf. -* Long options now use `--'; use of `+' is deprecated and support +* Long options now use '--'; use of '+' is deprecated and support for it will eventually be removed. * New option --null causes filenames read by -T to be @@ -1285,8 +1371,8 @@ the various tape drives will get used in sequence and then wrap around to the beginning. * Remote archive names no longer have to be in /dev: any file with a -`:' is interpreted as remote. If new option --force-local is given, -then even archive files with a `:' are considered local. +':' is interpreted as remote. If new option --force-local is given, +then even archive files with a ':' are considered local. * New option --atime-preserve restores (if possible) atimes to their original values after dumping the file. @@ -1339,15 +1425,14 @@ Versions 1.07 back to 1.00 by Jay Fenlason. -Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright 1994-2001, 2003-2010, 2013 Free Software Foundation, Inc. This file is part of GNU tar. GNU tar is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. GNU tar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -1355,9 +1440,7 @@ 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 tar; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. +along with this program. If not, see . Local variables: mode: outline diff --git a/README b/README index bf65e82a..9c601030 100644 --- a/README +++ b/README @@ -4,31 +4,31 @@ See the end of file for copying conditions. * Introduction Please glance through *all* sections of this -`README' file before starting configuration. Also make sure you read files -`ABOUT-NLS' and `INSTALL' if you are not familiar with them already. +'README' file before starting configuration. Also make sure you read files +'ABOUT-NLS' and 'INSTALL' if you are not familiar with them already. -If you got the `tar' distribution in `shar' format, time stamps ought to be -properly restored; do not ignore such complaints at `unshar' time. +If you got the 'tar' distribution in 'shar' format, time stamps ought to be +properly restored; do not ignore such complaints at 'unshar' time. -GNU `tar' saves many files together into a single tape or disk +GNU 'tar' saves many files together into a single tape or disk archive, and can restore individual files from the archive. It includes multivolume support, the ability to archive sparse files, automatic archive compression/decompression, remote archives and special features that allow -`tar' to be used for incremental and full backups. This distribution -also includes `rmt', the remote tape server. The `mt' tape drive control -program is in the GNU `cpio' distribution. +'tar' to be used for incremental and full backups. This distribution +also includes 'rmt', the remote tape server. The 'mt' tape drive control +program is in the GNU 'cpio' distribution. -GNU `tar' is derived from John Gilmore's public domain `tar'. +GNU 'tar' is derived from John Gilmore's public domain 'tar'. -See file `ABOUT-NLS' for how to customize this program to your language. -See file `COPYING' for copying conditions. -See file `INSTALL' for compilation and installation instructions. -See file `PORTS' for various ports of GNU tar to non-Unix systems. -See file `NEWS' for a list of major changes in the current release. -See file `THANKS' for a list of contributors. +See file 'ABOUT-NLS' for how to customize this program to your language. +See file 'COPYING' for copying conditions. +See file 'INSTALL' for compilation and installation instructions. +See file 'PORTS' for various ports of GNU tar to non-Unix systems. +See file 'NEWS' for a list of major changes in the current release. +See file 'THANKS' for a list of contributors. -Besides those configure options documented in files `INSTALL' and -`ABOUT-NLS', an extra option may be accepted after `./configure': +Besides those configure options documented in files 'INSTALL' and +'ABOUT-NLS', an extra option may be accepted after './configure': * Install @@ -40,11 +40,11 @@ values are GNU, V7, OLDGNU, USTAR and POSIX. ** Selecting the default archive device -The default archive device is now `stdin' on read and `stdout' on write. -The installer can still override this by presetting `DEFAULT_ARCHIVE' -in the environment before configuring (the behavior of `-[0-7]' or -`-[0-7]lmh' options in `tar' are then derived automatically). Similarly, -`DEFAULT_BLOCKING' can be preset to something else than 20. +The default archive device is now 'stdin' on read and 'stdout' on write. +The installer can still override this by presetting 'DEFAULT_ARCHIVE' +in the environment before configuring (the behavior of '-[0-7]' or +'-[0-7]lmh' options in 'tar' are then derived automatically). Similarly, +'DEFAULT_BLOCKING' can be preset to something else than 20. ** Selecting full pathname of the "rmt" binary. @@ -76,13 +76,13 @@ directory. Use option --enable-backup-scripts to compile and install these scripts. -** `--disable-largefile' omits support for large files, even if the +** '--disable-largefile' omits support for large files, even if the operating system supports large files. Typically, large files are those larger than 2 GB on a 32-bit host. * Installation hints -Here are a few hints which might help installing `tar' on some systems. +Here are a few hints which might help installing 'tar' on some systems. ** gzip and bzip2. @@ -103,7 +103,7 @@ then you have encountered a gzip incompatibility that should be fixed in gzip test version 1.3, which as of this writing is available at . You can work around the incompatibility by using a shell command like - `gzip -d is not found (Slackware). +Set LIBS to '-lbsd' before configuration (see 'INSTALL') if the linker +complains about 'bsd_ioctl' (Slackware). Also set CPPFLAGS to +'-I/usr/include/bsd' if is not found (Slackware). ** OPENStep 4.2 swap files @@ -159,43 +159,43 @@ the simplest workaround is to avoid tarring this file. * Special topics -Here are a few special matters about GNU `tar', not related to build +Here are a few special matters about GNU 'tar', not related to build matters. See previous section for such. ** File attributes. -About *security*, it is probable that future releases of `tar' will have +About *security*, it is probable that future releases of 'tar' will have some behavior changed. There are many pending suggestions to choose from. -Today, extracting an archive not being `root', `tar' will restore suid/sgid -bits on files but owned by the extracting user. `root' automatically gets -a lot of special privileges, `-p' might later become required to get them. +Today, extracting an archive not being 'root', 'tar' will restore suid/sgid +bits on files but owned by the extracting user. 'root' automatically gets +a lot of special privileges, '-p' might later become required to get them. -GNU `tar' does not properly restore symlink attributes. Various systems +GNU 'tar' does not properly restore symlink attributes. Various systems implement flavors of symbolic links showing different behavior and properties. We did not successfully sorted all these out yet. Currently, -the `lchown' call will be used if available, but that's all. +the 'lchown' call will be used if available, but that's all. ** POSIX compliance. -GNU `tar' is able to create archive in the following formats: +GNU 'tar' is able to create archive in the following formats: *** The format of UNIX version 7 *** POSIX.1-1988 format, also known as "ustar format" *** POSIX.1-2001 format, also known as "pax format" *** Old GNU format (described below) -In addition to those, GNU `tar' is also able to read archives -produced by `star' archiver. +In addition to those, GNU 'tar' is also able to read archives +produced by 'star' archiver. -A so called `Old GNU' format is based on an early draft of the -POSIX 1003.1 `ustar' standard which is different from the final +A so called 'Old GNU' format is based on an early draft of the +POSIX 1003.1 'ustar' standard which is different from the final standard. It defines its extensions (such as incremental backups and handling of the long file names) in a way incompatible with any existing tar archive format, therefore the use of old GNU format is strongly discouraged. Please read the file NEWS for more information about POSIX compliance -and new `tar' features. +and new 'tar' features. * What's next? @@ -216,32 +216,36 @@ to the report address; rather take special arrangement with the maintainer. Your feedback will help us to make a better and more portable package. Consider documentation errors as bugs, and report them as such. If you -develop anything pertaining to `tar' or have suggestions, let us know +develop anything pertaining to 'tar' or have suggestions, let us know and share your findings by writing to . * Copying - Copyright (C) 1990, 1991, 1992, 1994, 1997, 1998, 1999, 2000, - 2001, 2003, 2004, 2007 Free Software Foundation, Inc. +Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2013 Free +Software Foundation, Inc. - This file is part of GNU tar. +This file is part of GNU tar. - GNU tar is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. +GNU tar is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. - GNU tar 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. +GNU tar 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 tar; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +NOTE ON COPYRIGHT YEARS + +In copyright notices where the copyright holder is the Free Software +Foundation, then where a range of years appears, this is an inclusive +range that applies to every year in the range. For example: 2005-2008 +represents the years 2005, 2006, 2007, and 2008. Local Variables: mode: outline diff --git a/THANKS b/THANKS index 0364c504..79aa0ce1 100644 --- a/THANKS +++ b/THANKS @@ -91,6 +91,7 @@ Christian Kirsch ck@held.mind.de Christian Laubscher christian.laubscher@tiscalinet.ch Christian T. Dum ctd@mpe-garching.mpg.de Christian von Roques roques@pond.sub.org +Christian Wetzel wetzel@phoenix-pacs.de Christoph Litauer litauer@mailhost.uni-koblenz.de Christophe Colle colle@krtkg1.rug.ac.be Christophe Kalt Christophe.Kalt@kbcfp.com @@ -241,6 +242,7 @@ Jim Clausing jac@postbox.acs.ohio-state.edu Jim Farrell jwf@platinum.com Jim Meyering meyering@na-net.ornl.gov Jim Murray jjm@jjm.com +Jivko Angelov jivko@siteground.com Joachim Holzfuss Joachim.Holzfuss@iap.physik.th-darmstadt.de Joachim Seelig joachim@kruemel.han.de Joe DeBattista joed@itsa.ucsf.edu @@ -296,6 +298,7 @@ Kimmy Posey kimmyd@bnr.ca Koji Kishi kis@rqa.sony.co.jp Konno Hiroharu konno@pac.co.jp Kurt Jaeger pi@lf.net +James Antill jantill@redhat.com Larry Creech lcreech@lonestar.rcclub.org Larry Schwimmer rosebud@cyclone.stanford.edu Lasse Collin lasse.collin@tukaani.org @@ -349,6 +352,7 @@ Michael P Urban urban@cobra.jpl.nasa.gov Michael Schmidt michael@muc.de Michael Schwingen m.schwingen@stochastik.rwth-aachen.de Michael Smolsky fnsiguc@astro.weizmann.ac.il +Michal Žejdl zejdl@suas.cz Mike Muuss mike@brl.mil Mike Nolan nolan@lpl.arizona.edu Mike Rogers mike@demon.net @@ -357,7 +361,9 @@ Mike Walker M.D.Walker@larc.nasa.gov Milan Hodoscek milan@kihp6.ki.si Minh Tran-Le tranle@intellicorp.com Mitsuaki Masuhara masuhara@mcprv.mec.mei.co.jp +Natalie Alifanova na@nxc.no Nate Eldredge nate@cs.hmc.edu +Nathan Stratton Treadway nathanst+bugtar@ontko.com Neil Faulks neil@dcs.kcl.ac.uk Neil Jerram nj104@cus.cam.ac.uk Nelson H.F. Beebe beebe@math.utah.edu @@ -374,6 +380,7 @@ Oswald P. Backus IV backus@lks.csi.com Pascal Meheut pascal@cnam.cnam.fr Patrick Fulconis fulco@sig.uvsq.fr Patrick Timmons timmons@electech.polymtl.ca +Pavel Raiskup praiskup@redhat.com Paul Eggert eggert@twinsun.com Paul Kanz paul@icx.com Paul Mitchell P.Mitchell@surrey.ac.uk @@ -395,6 +402,7 @@ Phil Proudman phil@proudman51.freeserve.co.uk Philippe Defert defert@cern.ch Piercarlo Grandi piercarl@sabi.demon.co.uk Pierce Cantrell cantrell@ee.tamu.edu +Piotr Rotter piotr.rotter@active24.pl R. Kent Dybvig dyb@cadence.bloomington.in.us R. Scott Butler butler@prism.es.dupont.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE diff --git a/TODO b/TODO index f440a08d..c8ed3c9e 100644 --- a/TODO +++ b/TODO @@ -45,24 +45,22 @@ Suggestions for improving GNU tar. * Copyright notice - Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc. +Copyright 2003, 2004, 2007, 2013 Free Software Foundation, Inc. - This file is part of GNU tar. +This file is part of GNU tar. - GNU tar is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. +GNU tar is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. - GNU tar 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. +GNU tar 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 tar; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. +You should have received a copy of the GNU General Public License +along with this program. If not, see . Local variables: diff --git a/acinclude.m4 b/acinclude.m4 index 10a27e5b..d48c881d 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,18 +1,21 @@ -dnl Special Autoconf macros for GNU Tar -*- autoconf -*- -dnl Copyright (C) 2009 Free Software Foundation, Inc. +dnl Special Autoconf macros for GNU tar -*- autoconf -*- + +dnl Copyright 2009, 2013 Free Software Foundation, Inc. +dnl +dnl This file is part of GNU tar. dnl dnl GNU tar is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 3, or (at your option) -dnl any later version. +dnl the Free Software Foundation; either version 3 of the License, or +dnl (at your option) any later version. dnl dnl GNU tar is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl -dnl You should have received a copy of the GNU General Public License along -dnl with GNU tar. If not, see . +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . AC_DEFUN([TAR_COMPR_PROGRAM],[ m4_pushdef([tar_compr_define],translit($1,[a-z+-],[A-ZX_])[_PROGRAM]) @@ -24,3 +27,28 @@ AC_DEFUN([TAR_COMPR_PROGRAM],[ [tar_compr_var=m4_if($2,,$1,$2)]) AC_DEFINE_UNQUOTED(tar_compr_define, "$tar_compr_var", [Define to the program name of ]$1[ compressor program])]) + +# Provide , if necessary + +AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H], +[ + AC_ARG_WITH([xattrs], + AS_HELP_STRING([--without-xattrs], [don't use linux extended attributes]), + [], [with_xattrs=maybe] + ) + + AC_CHECK_HEADERS([attr/xattr.h]) + AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes]) + if test "$ac_cv_header_attr_xattr_h" = yes; then + AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \ + setxattr fsetxattr lsetxattr \ + listxattr flistxattr llistxattr, + # only when functions are present + AC_DEFINE([HAVE_ATTR_XATTR_H], [1], + [define to 1 if we have header]) + if test "$with_xattrs" != no; then + AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.]) + fi + ) + fi +]) diff --git a/aclocal.m4 b/aclocal.m4 index af3a30d4..30203bd4 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.12.6 -*- Autoconf -*- + +# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,13 +13,13 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, -[m4_warning([this file was generated for autoconf 2.63. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2002-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -31,10 +31,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' +[am__api_version='1.12' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], +m4_if([$1], [1.12.6], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,22 +50,22 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.12.6])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and @@ -84,7 +84,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you +# harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, @@ -110,22 +110,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 9 - # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl @@ -144,16 +141,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 10 -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing @@ -163,7 +158,7 @@ fi])]) # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was @@ -176,12 +171,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], @@ -189,8 +185,9 @@ AC_CACHE_CHECK([dependency style of $depcc], # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -229,16 +226,16 @@ AC_CACHE_CHECK([dependency style of $depcc], : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -247,16 +244,16 @@ AC_CACHE_CHECK([dependency style of $depcc], test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -304,7 +301,7 @@ AM_CONDITIONAL([am__fastdep$1], [ # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl @@ -314,28 +311,33 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ @@ -354,7 +356,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -366,21 +368,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` @@ -398,7 +398,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will +# is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], @@ -408,15 +408,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 16 - # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. @@ -461,31 +458,41 @@ AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl +[AC_DIAGNOSE([obsolete], +[$0: two- and three-arguments forms are deprecated. For more info, see: +http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl @@ -496,28 +503,35 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +dnl Support for Objective C++ was only introduced in Autoconf 2.65, +dnl but we still cater to Autoconf 2.62. +m4_ifdef([AC_PROG_OBJCXX], +[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], @@ -545,7 +559,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -564,16 +578,14 @@ if test x"${install_sh}" != xset; then install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi -AC_SUBST(install_sh)]) +AC_SUBST([install_sh])]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2003-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -589,14 +601,12 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 - # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -614,7 +624,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -639,15 +649,12 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 6 - # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. @@ -676,15 +683,12 @@ m4_define([AC_PROG_CC], # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 6 - # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -692,7 +696,6 @@ AC_DEFUN([AM_MISSING_PROG], $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) - # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. @@ -713,59 +716,31 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) + AC_MSG_WARN(['missing' script is too old or missing]) fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 - # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) @@ -776,7 +751,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -795,22 +770,16 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 - # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -821,32 +790,40 @@ case `pwd` in esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$[2]" = conftest.file ) then @@ -856,36 +833,85 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT(yes)]) +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright (C) 2009-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT -# (`yes' being less verbose, `no' or empty being verbose). +# ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], -[ --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0')]) -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -893,34 +919,32 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl # AM_PROG_INSTALL_STRIP # --------------------- -# One issue with vendor `install' (even GNU) is that you can't +# One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize +# always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. @@ -928,24 +952,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory @@ -956,10 +978,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) @@ -967,7 +990,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive]) _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. +# Solaris sh will not grok spaces in the rhs of '-'. for _am_tool in $_am_tools do case $_am_tool in @@ -1029,8 +1052,8 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/00gnulib.m4]) +m4_include([m4/acl.m4]) m4_include([m4/alloca.m4]) -m4_include([m4/argmatch.m4]) m4_include([m4/argp.m4]) m4_include([m4/backupfile.m4]) m4_include([m4/bison.m4]) @@ -1039,9 +1062,9 @@ m4_include([m4/canonicalize.m4]) m4_include([m4/chdir-long.m4]) m4_include([m4/chown.m4]) m4_include([m4/clock_time.m4]) -m4_include([m4/cloexec.m4]) m4_include([m4/close-stream.m4]) m4_include([m4/close.m4]) +m4_include([m4/closedir.m4]) m4_include([m4/closeout.m4]) m4_include([m4/codeset.m4]) m4_include([m4/configmake.m4]) @@ -1051,15 +1074,18 @@ m4_include([m4/dirent_h.m4]) m4_include([m4/dirfd.m4]) m4_include([m4/dirname.m4]) m4_include([m4/double-slash-root.m4]) +m4_include([m4/dup.m4]) m4_include([m4/dup2.m4]) m4_include([m4/eealloc.m4]) m4_include([m4/environ.m4]) m4_include([m4/errno_h.m4]) m4_include([m4/error.m4]) -m4_include([m4/exclude.m4]) +m4_include([m4/exponentd.m4]) m4_include([m4/extensions.m4]) +m4_include([m4/extern-inline.m4]) m4_include([m4/fchdir.m4]) -m4_include([m4/fclose.m4]) +m4_include([m4/fchmodat.m4]) +m4_include([m4/fchownat.m4]) m4_include([m4/fcntl-o.m4]) m4_include([m4/fcntl.m4]) m4_include([m4/fcntl_h.m4]) @@ -1069,7 +1095,10 @@ m4_include([m4/filenamecat.m4]) m4_include([m4/float_h.m4]) m4_include([m4/fnmatch.m4]) m4_include([m4/fpending.m4]) +m4_include([m4/fseek.m4]) m4_include([m4/fseeko.m4]) +m4_include([m4/fstat.m4]) +m4_include([m4/fstatat.m4]) m4_include([m4/futimens.m4]) m4_include([m4/getcwd-abort-bug.m4]) m4_include([m4/getcwd-path-max.m4]) @@ -1085,11 +1114,9 @@ m4_include([m4/gettimeofday.m4]) m4_include([m4/glibc21.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) -m4_include([m4/hash.m4]) m4_include([m4/human.m4]) m4_include([m4/iconv.m4]) m4_include([m4/include_next.m4]) -m4_include([m4/inline.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/intmax_t.m4]) m4_include([m4/inttostr.m4]) @@ -1098,6 +1125,7 @@ m4_include([m4/inttypes.m4]) m4_include([m4/inttypes_h.m4]) m4_include([m4/iswblank.m4]) m4_include([m4/langinfo_h.m4]) +m4_include([m4/largefile.m4]) m4_include([m4/lchown.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) @@ -1110,11 +1138,14 @@ m4_include([m4/localcharset.m4]) m4_include([m4/locale-fr.m4]) m4_include([m4/locale-ja.m4]) m4_include([m4/locale-zh.m4]) +m4_include([m4/locale_h.m4]) +m4_include([m4/localeconv.m4]) m4_include([m4/longlong.m4]) m4_include([m4/lseek.m4]) m4_include([m4/lstat.m4]) m4_include([m4/malloc.m4]) m4_include([m4/malloca.m4]) +m4_include([m4/manywarnings.m4]) m4_include([m4/mbchar.m4]) m4_include([m4/mbiter.m4]) m4_include([m4/mbrtowc.m4]) @@ -1126,6 +1157,7 @@ m4_include([m4/memchr.m4]) m4_include([m4/mempcpy.m4]) m4_include([m4/memrchr.m4]) m4_include([m4/mkdir.m4]) +m4_include([m4/mkdirat.m4]) m4_include([m4/mkdtemp.m4]) m4_include([m4/mkfifo.m4]) m4_include([m4/mkfifoat.m4]) @@ -1134,11 +1166,16 @@ m4_include([m4/mktime.m4]) m4_include([m4/mmap-anon.m4]) m4_include([m4/mode_t.m4]) m4_include([m4/modechange.m4]) +m4_include([m4/msvc-inval.m4]) +m4_include([m4/msvc-nothrow.m4]) m4_include([m4/multiarch.m4]) m4_include([m4/nl_langinfo.m4]) m4_include([m4/nls.m4]) +m4_include([m4/nocrash.m4]) +m4_include([m4/off_t.m4]) m4_include([m4/open.m4]) m4_include([m4/openat.m4]) +m4_include([m4/opendir.m4]) m4_include([m4/parse-datetime.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/paxutils.m4]) @@ -1148,13 +1185,17 @@ m4_include([m4/priv-set.m4]) m4_include([m4/progtest.m4]) m4_include([m4/quote.m4]) m4_include([m4/quotearg.m4]) +m4_include([m4/raise.m4]) m4_include([m4/rawmemchr.m4]) +m4_include([m4/read.m4]) +m4_include([m4/readdir.m4]) m4_include([m4/readlink.m4]) m4_include([m4/readlinkat.m4]) m4_include([m4/realloc.m4]) m4_include([m4/regex.m4]) m4_include([m4/rename.m4]) m4_include([m4/renameat.m4]) +m4_include([m4/rewinddir.m4]) m4_include([m4/rmdir.m4]) m4_include([m4/rmt.m4]) m4_include([m4/rpmatch.m4]) @@ -1163,13 +1204,18 @@ m4_include([m4/safe-read.m4]) m4_include([m4/safe-write.m4]) m4_include([m4/save-cwd.m4]) m4_include([m4/savedir.m4]) +m4_include([m4/secure_getenv.m4]) +m4_include([m4/selinux-context-h.m4]) +m4_include([m4/selinux-selinux-h.m4]) m4_include([m4/setenv.m4]) +m4_include([m4/signal_h.m4]) m4_include([m4/size_max.m4]) m4_include([m4/sleep.m4]) m4_include([m4/snprintf.m4]) m4_include([m4/ssize_t.m4]) m4_include([m4/stat-time.m4]) m4_include([m4/stat.m4]) +m4_include([m4/stdalign.m4]) m4_include([m4/stdarg.m4]) m4_include([m4/stdbool.m4]) m4_include([m4/stddef_h.m4]) @@ -1186,16 +1232,16 @@ m4_include([m4/string_h.m4]) m4_include([m4/strings_h.m4]) m4_include([m4/strndup.m4]) m4_include([m4/strnlen.m4]) -m4_include([m4/strtoimax.m4]) m4_include([m4/strtol.m4]) -m4_include([m4/strtoll.m4]) m4_include([m4/strtoul.m4]) m4_include([m4/strtoull.m4]) m4_include([m4/strtoumax.m4]) m4_include([m4/symlink.m4]) m4_include([m4/symlinkat.m4]) +m4_include([m4/sys_socket_h.m4]) m4_include([m4/sys_stat_h.m4]) m4_include([m4/sys_time_h.m4]) +m4_include([m4/sys_types_h.m4]) m4_include([m4/sysexits.m4]) m4_include([m4/system.m4]) m4_include([m4/tempname.m4]) @@ -1206,6 +1252,7 @@ m4_include([m4/tm_gmtoff.m4]) m4_include([m4/unistd-safer.m4]) m4_include([m4/unistd_h.m4]) m4_include([m4/unlink.m4]) +m4_include([m4/unlinkat.m4]) m4_include([m4/unlinkdir.m4]) m4_include([m4/unlocked-io.m4]) m4_include([m4/utimbuf.m4]) @@ -1217,6 +1264,7 @@ m4_include([m4/vasprintf.m4]) m4_include([m4/version-etc.m4]) m4_include([m4/vsnprintf.m4]) m4_include([m4/warn-on-use.m4]) +m4_include([m4/warnings.m4]) m4_include([m4/wchar_h.m4]) m4_include([m4/wchar_t.m4]) m4_include([m4/wcrtomb.m4]) diff --git a/build-aux/compile b/build-aux/compile index c0096a7b..718dc6d0 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -1,10 +1,9 @@ #! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. +# Wrapper for compilers which do not understand '-c -o'. -scriptversion=2009-10-06.20; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software -# Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -29,21 +28,224 @@ scriptversion=2009-10-06.20; # UTC # bugs to or send patches to # . +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. +right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF @@ -53,11 +255,13 @@ EOF echo "compile $scriptversion" exit $? ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; esac ofile= cfile= -eat= for arg do @@ -66,8 +270,8 @@ do else case $1 in -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) @@ -94,10 +298,10 @@ do done if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a + # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also + # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi @@ -106,7 +310,7 @@ fi cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. -# Note: use `[/\\:.-]' here to ensure that we don't use the same name +# Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d diff --git a/build-aux/config.guess b/build-aux/config.guess index 187cd54e..b79252d6 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2011-02-02' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -17,26 +15,22 @@ timestamp='2011-02-02' # 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. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -202,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -304,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -792,21 +809,26 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -852,15 +874,22 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -872,50 +901,54 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -934,54 +967,63 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1185,6 +1227,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1211,19 +1256,21 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1240,7 +1287,7 @@ EOF NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1309,11 +1356,11 @@ EOF i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c <, 1996 # @@ -25,7 +25,7 @@ # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so diff --git a/build-aux/config.sub b/build-aux/config.sub index 0ef29b07..8b612ab8 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -1,38 +1,31 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2011-02-24' +timestamp='2013-04-24' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# 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. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -75,9 +68,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -125,13 +116,17 @@ esac maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -154,7 +149,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; @@ -223,6 +218,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -247,20 +248,27 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -278,30 +286,32 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | or32 \ + | open8 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; @@ -314,8 +324,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -325,6 +334,21 @@ case $basic_machine in basic_machine=mt-unknown ;; + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -339,11 +363,13 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ @@ -352,12 +378,15 @@ case $basic_machine in | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -375,31 +404,34 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) @@ -697,7 +729,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -755,9 +786,13 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -794,10 +829,18 @@ case $basic_machine in ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -950,9 +993,10 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc) basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -977,7 +1021,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1046,6 +1094,9 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; @@ -1102,13 +1153,8 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1178,6 +1224,9 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1303,21 +1352,21 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1449,9 +1498,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1500,6 +1546,9 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; + hexagon-*) + os=-elf + ;; tic54x-*) os=-coff ;; @@ -1527,9 +1576,6 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout @@ -1543,6 +1589,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/build-aux/depcomp b/build-aux/depcomp index c3163bef..31788017 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -1,10 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2010-10-07.20; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,9 +27,9 @@ scriptversion=2010-10-07.20; # UTC case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -40,11 +39,11 @@ as side-effects. Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -57,6 +56,66 @@ EOF ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 @@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" +# Avoid interferences from the environment. +gccflag= dashmflag= + # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case @@ -80,26 +142,32 @@ if test "$depmode" = hp; then fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -122,8 +190,7 @@ gcc3) done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -131,13 +198,17 @@ gcc3) ;; gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then @@ -145,31 +216,31 @@ gcc) fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. + # The second -e expression handles DOS-style file names with drive + # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. +## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory +## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -180,59 +251,21 @@ hp) exit 1 ;; -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" - echo >> "$depfile" - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -245,9 +278,7 @@ aix) "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -256,44 +287,100 @@ aix) do test -f "$tmpdepfile" && break done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : + # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -305,8 +392,8 @@ icc) sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -317,9 +404,8 @@ hp2) # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -330,8 +416,7 @@ hp2) "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -341,77 +426,61 @@ hp2) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; msvc7) if test "$libtool" = yes; then @@ -422,8 +491,7 @@ msvc7) "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -441,14 +509,15 @@ msvc7) p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g -s/\(.*\)/ \1 \\/p +s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { - s/.*/ / + s/.*/'"$tab"'/ G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; @@ -476,7 +545,7 @@ dashmstdout) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -496,18 +565,18 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -557,12 +626,15 @@ makedepend) touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -579,7 +651,7 @@ cpp) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -598,10 +670,10 @@ cpp) esac done - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -633,23 +705,23 @@ msvisualcpp) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index 45597041..e02d34c2 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog @@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2009-10-30 13:46'; # UTC +my $VERSION = '2012-07-29 06:11'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2008-2011 Free Software Foundation, Inc. +# Copyright (C) 2008-2013 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 @@ -47,7 +47,7 @@ sub usage ($) my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { - print $STREAM "Try `$ME --help' for more information.\n"; + print $STREAM "Try '$ME --help' for more information.\n"; } else { @@ -60,12 +60,25 @@ $ME, they may be preceded by '--'. OPTIONS: + --amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that + makes a change to SHA1's commit log text or metadata. + --append-dot append a dot to the first line of each commit message if + there is no other punctuation or blank at the end. + --no-cluster never cluster commit messages under the same date/author + header; the default is to cluster adjacent commit messages + if their headers are the same and neither commit message + contains multiple paragraphs. + --srcdir=DIR the root of the source tree, from which the .git/ + directory can be derived. --since=DATE convert only the logs since DATE; the default is to convert all log entries. --format=FMT set format string for commit subject and body; see 'man git-log' for the list of format metacharacters; the default is '%s%n%b%n' - + --strip-tab remove one additional leading TAB from commit message lines. + --strip-cherry-pick remove data inserted by "git cherry-pick"; + this includes the "cherry picked from commit ..." line, + and the possible final "Conflicts:" paragraph. --help display this help and exit --version output version information and exit @@ -74,6 +87,38 @@ EXAMPLE: $ME --since=2008-01-01 > ChangeLog $ME -- -n 5 foo > last-5-commits-to-branch-foo +SPECIAL SYNTAX: + +The following types of strings are interpreted specially when they appear +at the beginning of a log message line. They are not copied to the output. + + Copyright-paperwork-exempt: Yes + Append the "(tiny change)" notation to the usual "date name email" + ChangeLog header to mark a change that does not require a copyright + assignment. + Co-authored-by: Joe User + List the specified name and email address on a second + ChangeLog header, denoting a co-author. + Signed-off-by: Joe User + These lines are simply elided. + +In a FILE specified via --amend, comment lines (starting with "#") are ignored. +FILE must consist of pairs where SHA is a 40-byte SHA1 (alone on +a line) referring to a commit in the current project, and CODE refers to one +or more consecutive lines of Perl code. Pairs must be separated by one or +more blank line. + +Here is sample input for use with --amend=FILE, from coreutils: + +3a169f4c5d9159283548178668d2fae6fced3030 +# fix typo in title: +s/all tile types/all file types/ + +1379ed974f1fa39b12e2ffab18b3f7a607082202 +# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself. +# Change the author to be Paul. Note the escaped "@": +s,Jim .*>,Paul Eggert , + EOF } exit $exit_code; @@ -99,24 +144,121 @@ sub quoted_cmd(@) return join (' ', map {shell_quote $_} @_); } +# Parse file F. +# Comment lines (starting with "#") are ignored. +# F must consist of pairs where SHA is a 40-byte SHA1 +# (alone on a line) referring to a commit in the current project, and +# CODE refers to one or more consecutive lines of Perl code. +# Pairs must be separated by one or more blank line. +sub parse_amend_file($) +{ + my ($f) = @_; + + open F, '<', $f + or die "$ME: $f: failed to open for reading: $!\n"; + + my $fail; + my $h = {}; + my $in_code = 0; + my $sha; + while (defined (my $line = )) + { + $line =~ /^\#/ + and next; + chomp $line; + $line eq '' + and $in_code = 0, next; + + if (!$in_code) + { + $line =~ /^([0-9a-fA-F]{40})$/ + or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"), + $fail = 1, next; + $sha = lc $1; + $in_code = 1; + exists $h->{$sha} + and (warn "$ME: $f:$.: duplicate SHA1\n"), + $fail = 1, next; + } + else + { + $h->{$sha} ||= ''; + $h->{$sha} .= "$line\n"; + } + } + close F; + + $fail + and exit 1; + + return $h; +} + +# git_dir_option $SRCDIR +# +# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR +# is undef). Return as a list (0 or 1 element). +sub git_dir_option($) { - my $since_date = '1970-01-01 UTC'; + my ($srcdir) = @_; + my @res = (); + if (defined $srcdir) + { + my $qdir = shell_quote $srcdir; + my $cmd = "cd $qdir && git rev-parse --show-toplevel"; + my $qcmd = shell_quote $cmd; + my $git_dir = qx($cmd); + defined $git_dir + or die "$ME: cannot run $qcmd: $!\n"; + $? == 0 + or die "$ME: $qcmd had unexpected exit code or signal ($?)\n"; + chomp $git_dir; + push @res, "--git-dir=$git_dir/.git"; + } + @res; +} + +{ + my $since_date; my $format_string = '%s%n%b%n'; + my $amend_file; + my $append_dot = 0; + my $cluster = 1; + my $strip_tab = 0; + my $strip_cherry_pick = 0; + my $srcdir; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, 'format=s' => \$format_string, + 'amend=s' => \$amend_file, + 'append-dot' => \$append_dot, + 'cluster!' => \$cluster, + 'strip-tab' => \$strip_tab, + 'strip-cherry-pick' => \$strip_cherry_pick, + 'srcdir=s' => \$srcdir, ) or usage 1; - my @cmd = (qw (git log --log-size), "--since=$since_date", - '--pretty=format:%ct %an <%ae>%n%n'.$format_string, @ARGV); + defined $since_date + and unshift @ARGV, "--since=$since_date"; + + # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/) + # that makes a correction in the log or attribution of that commit. + my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {}; + + my @cmd = ('git', + git_dir_option $srcdir, + qw(log --log-size), + '--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV); open PIPE, '-|', @cmd - or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n" + or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n" . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); + my $prev_multi_paragraph; my $prev_date_line = ''; + my @prev_coauthors = (); while (1) { defined (my $in = ) @@ -130,7 +272,41 @@ sub quoted_cmd(@) $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; - my @line = split "\n", $log; + # Extract leading hash. + my ($sha, $rest) = split ':', $log, 2; + defined $sha + or die "$ME:$.: malformed log entry\n"; + $sha =~ /^[0-9a-fA-F]{40}$/ + or die "$ME:$.: invalid SHA1: $sha\n"; + + # If this commit's log requires any transformation, do it now. + my $code = $amend_code->{$sha}; + if (defined $code) + { + eval 'use Safe'; + my $s = new Safe; + # Put the unpreprocessed entry into "$_". + $_ = $rest; + + # Let $code operate on it, safely. + my $r = $s->reval("$code") + or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n"; + + # Note that we've used this entry. + delete $amend_code->{$sha}; + + # Update $rest upon success. + $rest = $_; + } + + # Remove lines inserted by "git cherry-pick". + if ($strip_cherry_pick) + { + $rest =~ s/^\s*Conflicts:\n.*//sm; + $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m; + } + + my @line = split "\n", $rest; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; @@ -138,19 +314,62 @@ sub quoted_cmd(@) or die "$ME:$.: Invalid line " . "(expected date/author/email):\n$author_line\n"; - my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); - # If this line would be the same as the previous date/name/email - # line, then arrange not to print it. - if ($date_line ne $prev_date_line) + # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog + # `(tiny change)' annotation. + my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line) + ? ' (tiny change)' : ''); + + my $date_line = sprintf "%s %s$tiny\n", + strftime ("%F", localtime ($1)), $2; + + my @coauthors = grep /^Co-authored-by:.*$/, @line; + # Omit meta-data lines we've already interpreted. + @line = grep !/^(?:Signed-off-by:[ ].*>$ + |Co-authored-by:[ ] + |Copyright-paperwork-exempt:[ ] + )/x, @line; + + # Remove leading and trailing blank lines. + if (@line) + { + while ($line[0] =~ /^\s*$/) { shift @line; } + while ($line[$#line] =~ /^\s*$/) { pop @line; } + } + + # Record whether there are two or more paragraphs. + my $multi_paragraph = grep /^\s*$/, @line; + + # Format 'Co-authored-by: A U Thor ' lines in + # standard multi-author ChangeLog format. + for (@coauthors) + { + s/^Co-authored-by:\s*/\t /; + s/\s*/ + or warn "$ME: warning: missing email address for " + . substr ($_, 5) . "\n"; + } + + # If clustering of commit messages has been disabled, if this header + # would be different from the previous date/name/email/coauthors header, + # or if this or the previous entry consists of two or more paragraphs, + # then print the header. + if ( ! $cluster + || $date_line ne $prev_date_line + || "@coauthors" ne "@prev_coauthors" + || $multi_paragraph + || $prev_multi_paragraph) { $prev_date_line eq '' or print "\n"; print $date_line; + @coauthors + and print join ("\n", @coauthors), "\n"; } $prev_date_line = $date_line; - - # Omit "Signed-off-by..." lines. - @line = grep !/^Signed-off-by: .*>$/, @line; + @prev_coauthors = @coauthors; + $prev_multi_paragraph = $multi_paragraph; # If there were any lines if (@line == 0) @@ -159,9 +378,21 @@ sub quoted_cmd(@) } else { - # Remove leading and trailing blank lines. - while ($line[0] =~ /^\s*$/) { shift @line; } - while ($line[$#line] =~ /^\s*$/) { pop @line; } + if ($append_dot) + { + # If the first line of the message has enough room, then + if (length $line[0] < 72) + { + # append a dot if there is no other punctuation or blank + # at the end. + $line[0] =~ /[[:punct:]\s]$/ + or $line[0] .= '.'; + } + } + + # Remove one additional leading TAB from each line. + $strip_tab + and map { s/^\t// } @line; # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; @@ -178,6 +409,16 @@ sub quoted_cmd(@) close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic + + # Complain about any unused entry in the --amend=F specified file. + my $fail = 0; + foreach my $sha (keys %$amend_code) + { + warn "$ME:$amend_file: unused entry: $sha\n"; + $fail = 1; + } + + exit $fail; } # Local Variables: diff --git a/build-aux/install-sh b/build-aux/install-sh index a9244eb0..377bb868 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-01-19.21; # UTC +scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it +# 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written @@ -156,7 +156,7 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -202,7 +202,7 @@ if test $# -eq 0; then echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi @@ -240,7 +240,7 @@ fi for src do - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac @@ -354,7 +354,7 @@ do if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. + # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in diff --git a/build-aux/mdate-sh b/build-aux/mdate-sh index 60dc485a..b3719cf7 100755 --- a/build-aux/mdate-sh +++ b/build-aux/mdate-sh @@ -3,8 +3,7 @@ scriptversion=2010-08-21.06; # UTC -# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010 -# Free Software Foundation, Inc. +# Copyright (C) 1995-2013 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -40,7 +39,7 @@ fi case $1 in '') - echo "$0: No file. Try \`$0 --help' for more information." 1>&2 + echo "$0: No file. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) @@ -76,7 +75,7 @@ LC_TIME=C export LC_TIME # GNU ls changes its time format in response to the TIME_STYLE -# variable. Since we cannot assume `unset' works, revert this +# variable. Since we cannot assume 'unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso @@ -96,14 +95,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi -# A `ls -l' line looks as follows on OS/2. +# A 'ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a -# user named `Jan', or `Feb', etc. However, it's unlikely that `/' +# user named "Jan", or "Feb", etc. However, it's unlikely that '/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. @@ -116,7 +115,7 @@ month= command= until test $month do - test $# -gt 0 || error "failed parsing \`$ls_command /' output" + test $# -gt 0 || error "failed parsing '$ls_command /' output" shift # Add another shift to the command. command="$command shift;" @@ -136,7 +135,7 @@ do esac done -test -n "$month" || error "failed parsing \`$ls_command /' output" +test -n "$month" || error "failed parsing '$ls_command /' output" # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\\\$save_arg1\""` diff --git a/build-aux/missing b/build-aux/missing index 28055d2a..9a556482 100755 --- a/build-aux/missing +++ b/build-aux/missing @@ -1,10 +1,9 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.18; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -26,7 +25,7 @@ scriptversion=2009-04-28.21; # UTC # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi @@ -34,7 +33,7 @@ run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' -# In the cases where this matters, `missing' is being run in the +# In the cases where this matters, 'missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac @@ -65,7 +64,7 @@ case $1 in echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: @@ -74,21 +73,20 @@ Options: --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' + aclocal touch file 'aclocal.m4' + autoconf touch file 'configure' + autoheader touch file 'config.h.in' autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c + automake touch all 'Makefile.in' files + bison create 'y.tab.[ch]', if possible, from existing .[ch] + flex create 'lex.yy.c', if possible, from existing .c help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c + lex create 'lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + yacc create 'y.tab.[ch]', if possible, from existing .[ch] -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to ." exit $? @@ -100,8 +98,8 @@ Send bug reports to ." ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: Unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; @@ -122,22 +120,13 @@ case $1 in # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether + # running '$TOOL --version' or '$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi @@ -149,27 +138,27 @@ esac case $program in aclocal*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from +WARNING: '$1' is $msg. You should only need it if + you modified 'acinclude.m4' or '${configure_ac}'. You might want + to install the Automake and Perl packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU +WARNING: '$1' is $msg. You should only need it if + you modified '${configure_ac}'. You might want to install the + Autoconf and GNU m4 packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them +WARNING: '$1' is $msg. You should only need it if + you modified 'acconfig.h' or '${configure_ac}'. You might want + to install the Autoconf and GNU m4 packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" @@ -186,9 +175,9 @@ WARNING: \`$1' is $msg. You should only need it if automake*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. +WARNING: '$1' is $msg. You should only need it if + you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. + You might want to install the Automake and Perl packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | @@ -197,10 +186,10 @@ WARNING: \`$1' is $msg. You should only need it if autom4te*) echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. +WARNING: '$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU + You can get '$1' as part of Autoconf from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` @@ -220,13 +209,13 @@ WARNING: \`$1' is needed, but is $msg. bison*|yacc*) echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package +WARNING: '$1' $msg. You should only need it if + you modified a '.y' file. You may need the Bison package in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." + Bison from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -250,13 +239,13 @@ WARNING: \`$1' $msg. You should only need it if lex*|flex*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package +WARNING: '$1' is $msg. You should only need it if + you modified a '.l' file. You may need the Flex package in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." + Flex from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -273,10 +262,10 @@ WARNING: \`$1' is $msg. You should only need it if help2man*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if +WARNING: '$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." + Help2man package in order for those modifications to take + effect. You can get Help2man from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` @@ -291,12 +280,12 @@ WARNING: \`$1' is $msg. You should only need it if makeinfo*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file +WARNING: '$1' is $msg. You should only need it if + you modified a '.texi' or '.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." + call might also be the consequence of using a buggy 'make' (AIX, + DU, IRIX). You might want to install the Texinfo package or + the GNU make package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` @@ -318,49 +307,14 @@ WARNING: \`$1' is $msg. You should only need it if touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. +WARNING: '$1' is needed, and is $msg. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, + proper tools for further handling them. Check the 'README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." + some other package would contain this missing '$1' program." exit 1 ;; esac diff --git a/build-aux/snippet/_Noreturn.h b/build-aux/snippet/_Noreturn.h new file mode 100644 index 00000000..c44ad89b --- /dev/null +++ b/build-aux/snippet/_Noreturn.h @@ -0,0 +1,10 @@ +#if !defined _Noreturn && __STDC_VERSION__ < 201112 +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h new file mode 100644 index 00000000..8007f077 --- /dev/null +++ b/build-aux/snippet/arg-nonnull.h @@ -0,0 +1,28 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* A C macro for declaring that specific arguments must not be NULL. + Copyright (C) 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools + that the values passed as arguments n, ..., m must be non-NULL pointers. + n = 1 stands for the first argument, n = 2 for the second argument etc. */ +#ifndef _GL_ARG_NONNULL +# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 +# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) +# else +# define _GL_ARG_NONNULL(params) +# endif +#endif diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h new file mode 100644 index 00000000..7b0e540e --- /dev/null +++ b/build-aux/snippet/c++defs.h @@ -0,0 +1,273 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* C++ compatible function declaration macros. + Copyright (C) 2010-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _GL_CXXDEFS_H +#define _GL_CXXDEFS_H + +/* The three most frequent use cases of these macros are: + + * For providing a substitute for a function that is missing on some + platforms, but is declared and works fine on the platforms on which + it exists: + + #if @GNULIB_FOO@ + # if !@HAVE_FOO@ + _GL_FUNCDECL_SYS (foo, ...); + # endif + _GL_CXXALIAS_SYS (foo, ...); + _GL_CXXALIASWARN (foo); + #elif defined GNULIB_POSIXCHECK + ... + #endif + + * For providing a replacement for a function that exists on all platforms, + but is broken/insufficient and needs to be replaced on some platforms: + + #if @GNULIB_FOO@ + # if @REPLACE_FOO@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef foo + # define foo rpl_foo + # endif + _GL_FUNCDECL_RPL (foo, ...); + _GL_CXXALIAS_RPL (foo, ...); + # else + _GL_CXXALIAS_SYS (foo, ...); + # endif + _GL_CXXALIASWARN (foo); + #elif defined GNULIB_POSIXCHECK + ... + #endif + + * For providing a replacement for a function that exists on some platforms + but is broken/insufficient and needs to be replaced on some of them and + is additionally either missing or undeclared on some other platforms: + + #if @GNULIB_FOO@ + # if @REPLACE_FOO@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef foo + # define foo rpl_foo + # endif + _GL_FUNCDECL_RPL (foo, ...); + _GL_CXXALIAS_RPL (foo, ...); + # else + # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ + _GL_FUNCDECL_SYS (foo, ...); + # endif + _GL_CXXALIAS_SYS (foo, ...); + # endif + _GL_CXXALIASWARN (foo); + #elif defined GNULIB_POSIXCHECK + ... + #endif +*/ + +/* _GL_EXTERN_C declaration; + performs the declaration with C linkage. */ +#if defined __cplusplus +# define _GL_EXTERN_C extern "C" +#else +# define _GL_EXTERN_C extern +#endif + +/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes); + declares a replacement function, named rpl_func, with the given prototype, + consisting of return type, parameters, and attributes. + Example: + _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) + _GL_ARG_NONNULL ((1))); + */ +#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ + _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) +#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ + _GL_EXTERN_C rettype rpl_func parameters_and_attributes + +/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. + Example: + _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) + _GL_ARG_NONNULL ((1))); + */ +#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ + _GL_EXTERN_C rettype func parameters_and_attributes + +/* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func + that redirects to rpl_func, if GNULIB_NAMESPACE is defined. + Example: + _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); + */ +#define _GL_CXXALIAS_RPL(func,rettype,parameters) \ + _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + rettype (*const func) parameters = ::rpl_func; \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); + is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); + except that the C function rpl_func may have a slightly different + declaration. A cast is used to silence the "invalid conversion" error + that would otherwise occur. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + rettype (*const func) parameters = \ + reinterpret_cast(::rpl_func); \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_SYS (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func + that redirects to the system provided function func, if GNULIB_NAMESPACE + is defined. + Example: + _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); + */ +#if defined __cplusplus && defined GNULIB_NAMESPACE + /* If we were to write + rettype (*const func) parameters = ::func; + like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls + better (remove an indirection through a 'static' pointer variable), + but then the _GL_CXXALIASWARN macro below would cause a warning not only + for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ +# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + static rettype (*func) parameters = ::func; \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters); + is like _GL_CXXALIAS_SYS (func, rettype, parameters); + except that the C function func may have a slightly different declaration. + A cast is used to silence the "invalid conversion" error that would + otherwise occur. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + static rettype (*func) parameters = \ + reinterpret_cast(::func); \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2); + is like _GL_CXXALIAS_SYS (func, rettype, parameters); + except that the C function is picked among a set of overloaded functions, + namely the one with rettype2 and parameters2. Two consecutive casts + are used to silence the "cannot find a match" and "invalid conversion" + errors that would otherwise occur. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE + /* The outer cast must be a reinterpret_cast. + The inner cast: When the function is defined as a set of overloaded + functions, it works as a static_cast<>, choosing the designated variant. + When the function is defined as a single variant, it works as a + reinterpret_cast<>. The parenthesized cast syntax works both ways. */ +# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ + namespace GNULIB_NAMESPACE \ + { \ + static rettype (*func) parameters = \ + reinterpret_cast( \ + (rettype2(*)parameters2)(::func)); \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIASWARN (func); + causes a warning to be emitted when ::func is used but not when + GNULIB_NAMESPACE::func is used. func must be defined without overloaded + variants. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIASWARN(func) \ + _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) +# define _GL_CXXALIASWARN_1(func,namespace) \ + _GL_CXXALIASWARN_2 (func, namespace) +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_WARN_ON_USE (func, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN_2(func,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif +#else +# define _GL_CXXALIASWARN(func) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes); + causes a warning to be emitted when the given overloaded variant of ::func + is used but not when GNULIB_NAMESPACE::func is used. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ + _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ + GNULIB_NAMESPACE) +# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ + _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif +#else +# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +#endif /* _GL_CXXDEFS_H */ diff --git a/build-aux/snippet/unused-parameter.h b/build-aux/snippet/unused-parameter.h new file mode 100644 index 00000000..f30ef478 --- /dev/null +++ b/build-aux/snippet/unused-parameter.h @@ -0,0 +1,38 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* A C macro for declaring that specific function parameters are not used. + Copyright (C) 2008-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter + declarations for parameters that are not used. This helps to reduce + warnings, such as from GCC -Wunused-parameter. The syntax is as follows: + type param _GL_UNUSED_PARAMETER + or more generally + param_decl _GL_UNUSED_PARAMETER + For example: + int param _GL_UNUSED_PARAMETER + int *(*param)(void) _GL_UNUSED_PARAMETER + Other possible, but obscure and discouraged syntaxes: + int _GL_UNUSED_PARAMETER *(*param)(void) + _GL_UNUSED_PARAMETER int *(*param)(void) + */ +#ifndef _GL_UNUSED_PARAMETER +# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__)) +# else +# define _GL_UNUSED_PARAMETER +# endif +#endif diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h new file mode 100644 index 00000000..e760dbc4 --- /dev/null +++ b/build-aux/snippet/warn-on-use.h @@ -0,0 +1,111 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* A C macro for emitting warnings if a function is used. + Copyright (C) 2010-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* _GL_WARN_ON_USE (function, "literal string") issues a declaration + for FUNCTION which will then trigger a compiler warning containing + the text of "literal string" anywhere that function is called, if + supported by the compiler. If the compiler does not support this + feature, the macro expands to an unused extern declaration. + + This macro is useful for marking a function as a potential + portability trap, with the intent that "literal string" include + instructions on the replacement function that should be used + instead. However, one of the reasons that a function is a + portability trap is if it has the wrong signature. Declaring + FUNCTION with a different signature in C is a compilation error, so + this macro must use the same type as any existing declaration so + that programs that avoid the problematic FUNCTION do not fail to + compile merely because they included a header that poisoned the + function. But this implies that _GL_WARN_ON_USE is only safe to + use if FUNCTION is known to already have a declaration. Use of + this macro implies that there must not be any other macro hiding + the declaration of FUNCTION; but undefining FUNCTION first is part + of the poisoning process anyway (although for symbols that are + provided only via a macro, the result is a compilation error rather + than a warning containing "literal string"). Also note that in + C++, it is only safe to use if FUNCTION has no overloads. + + For an example, it is possible to poison 'getline' by: + - adding a call to gl_WARN_ON_USE_PREPARE([[#include ]], + [getline]) in configure.ac, which potentially defines + HAVE_RAW_DECL_GETLINE + - adding this code to a header that wraps the system : + #undef getline + #if HAVE_RAW_DECL_GETLINE + _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but" + "not universally present; use the gnulib module getline"); + #endif + + It is not possible to directly poison global variables. But it is + possible to write a wrapper accessor function, and poison that + (less common usage, like &environ, will cause a compilation error + rather than issue the nice warning, but the end result of informing + the developer about their portability problem is still achieved): + #if HAVE_RAW_DECL_ENVIRON + static char ***rpl_environ (void) { return &environ; } + _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); + # undef environ + # define environ (*rpl_environ ()) + #endif + */ +#ifndef _GL_WARN_ON_USE + +# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) +/* A compiler attribute is available in gcc versions 4.3.0 and later. */ +# define _GL_WARN_ON_USE(function, message) \ +extern __typeof__ (function) function __attribute__ ((__warning__ (message))) +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +/* Verify the existence of the function. */ +# define _GL_WARN_ON_USE(function, message) \ +extern __typeof__ (function) function +# else /* Unsupported. */ +# define _GL_WARN_ON_USE(function, message) \ +_GL_WARN_EXTERN_C int _gl_warn_on_use +# endif +#endif + +/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") + is like _GL_WARN_ON_USE (function, "string"), except that the function is + declared with the given prototype, consisting of return type, parameters, + and attributes. + This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does + not work in this case. */ +#ifndef _GL_WARN_ON_USE_CXX +# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) +# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ +extern rettype function parameters_and_attributes \ + __attribute__ ((__warning__ (msg))) +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +/* Verify the existence of the function. */ +# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ +extern rettype function parameters_and_attributes +# else /* Unsupported. */ +# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ +_GL_WARN_EXTERN_C int _gl_warn_on_use +# endif +#endif + +/* _GL_WARN_EXTERN_C declaration; + performs the declaration with C linkage. */ +#ifndef _GL_WARN_EXTERN_C +# if defined __cplusplus +# define _GL_WARN_EXTERN_C extern "C" +# else +# define _GL_WARN_EXTERN_C extern +# endif +#endif diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex index 7b943897..3427d2ad 100644 --- a/build-aux/texinfo.tex +++ b/build-aux/texinfo.tex @@ -3,11 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2011-02-24.09} +\def\texinfoversion{2013-06-23.10} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -24,13 +24,14 @@ % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) +% restriction. This Exception is an additional permission under section 7 +% of the GNU General Public License, version 3 ("GPLv3"). % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org). +% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or +% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or +% http://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % @@ -116,6 +117,7 @@ % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi +\ifx\putworderror\undefined \gdef\putworderror{error}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi @@ -229,6 +231,13 @@ \errorcontextlines16 }% +% @errormsg{MSG}. Do the index-like expansions on MSG, but if things +% aren't perfect, it's not the end of the world, being an error message, +% after all. +% +\def\errormsg{\begingroup \indexnofonts \doerrormsg} +\def\doerrormsg#1{\errmessage{#1}} + % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % @@ -586,7 +595,7 @@ \def\:{\spacefactor=1000 } % @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} +\def\*{\unskip\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak @@ -693,15 +702,6 @@ where each line of input produces a line of output.} \newdimen\mil \mil=0.001in -% Old definition--didn't work. -%\parseargdef\need{\par % -%% This method tries to make TeX break the page naturally -%% if the depth of the box does not fit. -%{\baselineskip=0pt% -%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak -%\prevdepth=-1000pt -%}} - \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. @@ -888,7 +888,7 @@ where each line of input produces a line of output.} \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} - +% \def\thisfile{} % @center line @@ -896,36 +896,46 @@ where each line of input produces a line of output.} % \parseargdef\center{% \ifhmode - \let\next\centerH + \let\centersub\centerH \else - \let\next\centerV + \let\centersub\centerV \fi - \next{\hfil \ignorespaces#1\unskip \hfil}% + \centersub{\hfil \ignorespaces#1\unskip \hfil}% + \let\centersub\relax % don't let the definition persist, just in case } -\def\centerH#1{% - {% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break - }% +\def\centerH#1{{% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break +}} +% +\newcount\centerpenalty +\def\centerV#1{% + % The idea here is the same as in \startdefun, \cartouche, etc.: if + % @center is the first thing after a section heading, we need to wipe + % out the negative parskip inserted by \sectionheading, but still + % prevent a page break here. + \centerpenalty = \lastpenalty + \ifnum\centerpenalty>10000 \vskip\parskip \fi + \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi + \line{\kern\leftskip #1\kern\rightskip}% } -\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space - +% \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment - +% \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} - +% \let\c=\comment % @paragraphindent NCHARS @@ -1098,50 +1108,24 @@ where each line of input produces a line of output.} % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. -% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html -% (and related messages, the final outcome is that it is up to the TeX -% user to double the backslashes and otherwise make the string valid, so -% that's what we do). - -% double active backslashes. -% -{\catcode`\@=0 \catcode`\\=\active - @gdef@activebackslashdouble{% - @catcode`@\=@active - @let\=@doublebackslash} -} - -% To handle parens, we must adopt a different approach, since parens are -% not active characters. hyperref.dtx (which has the same problem as -% us) handles it with this amazing macro to replace tokens, with minor -% changes for Texinfo. It is included here under the GPL by permission -% from the author, Heiko Oberdiek. -% -% #1 is the tokens to replace. -% #2 is the replacement. -% #3 is the control sequence with the string. -% -\def\HyPsdSubst#1#2#3{% - \def\HyPsdReplace##1#1##2\END{% - ##1% - \ifx\\##2\\% - \else - #2% - \HyReturnAfterFi{% - \HyPsdReplace##2\END - }% - \fi - }% - \xdef#3{\expandafter\HyPsdReplace#3#1\END}% -} -\long\def\HyReturnAfterFi#1\fi{\fi#1} - -% #1 is a control sequence in which to do the replacements. -\def\backslashparens#1{% - \xdef#1{#1}% redefine it as its expansion; the definition is simply - % \lastnode when called from \setref -> \pdfmkdest. - \HyPsdSubst{(}{\realbackslash(}{#1}% - \HyPsdSubst{)}{\realbackslash)}{#1}% +% +% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and +% related messages. The final outcome is that it is up to the TeX user +% to double the backslashes and otherwise make the string valid, so +% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to +% do this reliably, so we use it. + +% #1 is a control sequence in which to do the replacements, +% which we \xdef. +\def\txiescapepdf#1{% + \ifx\pdfescapestring\thisisundefined + % No primitive available; should we give a warning or log? + % Many times it won't matter. + \else + % The expandable \pdfescapestring primitive escapes parentheses, + % backslashes, and other special chars. + \xdef#1{\pdfescapestring{#1}}% + \fi } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images @@ -1200,32 +1184,34 @@ output) for that.)} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % - % pdftex (and the PDF format) support .png, .jpg, .pdf (among - % others). Let's try in that order. + % pdftex (and the PDF format) support .pdf, .png, .jpg (among + % others). Let's try in that order, PDF first since if + % someone has a scalable image, presumably better to use that than a + % bitmap. \let\pdfimgext=\empty \begingroup - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{PDF}% + \else \gdef\pdfimgext{JPG}% \fi - \else \gdef\pdfimgext{pdf}% + \else \gdef\pdfimgext{jpeg}% \fi - \else \gdef\pdfimgext{JPG}% + \else \gdef\pdfimgext{jpg}% \fi - \else \gdef\pdfimgext{jpeg}% + \else \gdef\pdfimgext{png}% \fi - \else \gdef\pdfimgext{jpg}% + \else \gdef\pdfimgext{PDF}% \fi - \else \gdef\pdfimgext{png}% + \else \gdef\pdfimgext{pdf}% \fi \closein 1 \endgroup @@ -1237,8 +1223,8 @@ output) for that.)} \else \immediate\pdfximage \fi - \ifdim \wd0 >0pt width \imagewidth \fi - \ifdim \wd2 >0pt height \imageheight \fi + \ifdim \wd0 >0pt width \pdfimagewidth \fi + \ifdim \wd2 >0pt height \pdfimageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else @@ -1253,10 +1239,9 @@ output) for that.)} % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive - \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% - \backslashparens\pdfdestname + \txiescapepdf\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % @@ -1288,28 +1273,22 @@ output) for that.)} % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. - \def\pdfoutlinedest{#3}% + \edef\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else - % Doubled backslashes in the name. - {\activebackslashdouble \xdef\pdfoutlinedest{#3}% - \backslashparens\pdfoutlinedest}% + \txiescapepdf\pdfoutlinedest \fi % - % Also double the backslashes in the display string. - {\activebackslashdouble \xdef\pdfoutlinetext{#1}% - \backslashparens\pdfoutlinetext}% + % Also escape PDF chars in the display string. + \edef\pdfoutlinetext{#1}% + \txiescapepdf\pdfoutlinetext % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup - % Thanh's hack / proper braces in bookmarks - \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace - \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace - % % Read toc silently, to get counts of subentries for \pdfoutline. \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% @@ -1365,25 +1344,41 @@ output) for that.)} % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % - % xx to do this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Right - % now, I guess we'll just let the pdf reader have its way. + % TODO this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Too + % much work for too little return. Just use the ASCII equivalents + % we use for the index sort strings. + % \indexnofonts \setupdatafile + % We can have normal brace characters in the PDF outlines, unlike + % Texinfo index files. So set that up. + \def\{{\lbracecharliteral}% + \def\}{\rbracecharliteral}% \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } + {\catcode`[=1 \catcode`]=2 + \catcode`{=\other \catcode`}=\other + \gdef\lbracecharliteral[{]% + \gdef\rbracecharliteral[}]% + ] % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi + \addtokens{\filename}{\PP}% + \advance\filenamelength by 1 \fi \nextsp} - \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} + \def\getfilename#1{% + \filenamelength=0 + % If we don't expand the argument now, \skipspaces will get + % snagged on things like "@value{foo}". + \edef\temp{#1}% + \expandafter\skipspaces\temp|\relax + } \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else @@ -1480,9 +1475,6 @@ output) for that.)} \def\ttsl{\setfontstyle{ttsl}} -% Default leading. -\newdimen\textleading \textleading = 13.2pt - % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. @@ -1494,6 +1486,7 @@ output) for that.)} % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % +\newdimen\textleading \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 @@ -1766,18 +1759,24 @@ end \fi\fi -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). +% Set the font macro #1 to the font named \fontprefix#2. % #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass -% empty to omit). +% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). +% Example: +% #1 = \textrm +% #2 = \rmshape +% #3 = 10 +% #4 = \mainmagstep +% #5 = OT1 +% \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble -% emacs-page end of cmaps +% +% (end of cmaps) % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix @@ -1787,7 +1786,7 @@ end \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold +\def\rmbshape{bx} % where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} @@ -1802,8 +1801,7 @@ end \def\scshape{csc} \def\scbshape{csc} -% Definitions for a main text size of 11pt. This is the default in -% Texinfo. +% Definitions for a main text size of 11pt. (The default in Texinfo.) % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). @@ -1928,7 +1926,7 @@ end \textleading = 13.2pt % line spacing for 11pt CM \textfonts % reset the current fonts \rm -} % end of 11pt text font size definitions +} % end of 11pt text font size definitions, \definetextfontsizexi % Definitions to make the main text be 10pt Computer Modern, with @@ -2060,7 +2058,7 @@ end \textleading = 12pt % line spacing for 10pt CM \textfonts % reset the current fonts \rm -} % end of 10pt text font size definitions +} % end of 10pt text font size definitions, \definetextfontsizex % We provide the user-level command @@ -2275,8 +2273,6 @@ end \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} - -\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft @@ -2285,6 +2281,9 @@ end \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % +\let\markupsetuplqkbd \markupsetcodequoteleft +\let\markupsetuprqkbd \markupsetcodequoteright +% \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % @@ -2294,8 +2293,6 @@ end \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright -\let\markupsetuplqkbd \markupsetnoligaturesquoteleft - % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it @@ -2381,19 +2378,26 @@ end \else\ifx\next-% \else\ifx\next.% \else\ptexslash - \fi\fi\fi} + \fi\fi\fi + \aftersmartic +} -% like \smartslanted except unconditionally uses \ttsl, and no ic. -% @var is set to this for defun arguments. +% Unconditional use \ttsl, and no ic. @var is set to this for defuns. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} +\def\aftersmartic{} +\def\var#1{% + \let\saveaftersmartic = \aftersmartic + \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% + \smartslanted{#1}% +} + \let\i=\smartitalic \let\slanted=\smartslanted -\def\var#1{\smartslanted{#1}} \let\dfn=\smartslanted \let\emph=\smartitalic @@ -2443,34 +2447,12 @@ end % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} -% definition of @key that produces a lozenge. Doesn't adjust to text size. -%\setfont\keyrm\rmshape{8}{1000}{OT1} -%\font\keysy=cmsy9 -%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% -% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% -% \vbox{\hrule\kern-0.4pt -% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% -% \kern-0.4pt\hrule}% -% \kern-.06em\raise0.4pt\hbox{\angleright}}}} +% @indicateurl is \samp, that is, with quotes. +\let\indicateurl=\samp -% definition of @key with no lozenge. If the current font is already -% monospace, don't change it; that way, we respect @kbdinputstyle. But -% if it isn't monospace, then use \tt. -% -\def\key#1{{\setupmarkupstyle{key}% - \nohyphenation - \ifmonospace\else\tt\fi - #1}\null} - -% ctrl is no longer a Texinfo command. -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp - -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. +% @code (and similar) prints in typewriter, but with spaces the same +% size as normal in the surrounding text, without hyphenation, etc. +% This is a subroutine for that. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. @@ -2489,18 +2471,18 @@ end \plainfrenchspacing #1% }% - \null + \null % reset spacefactor to 1000 } % We *must* turn on hyphenation at `-' and `_' in @code. +% (But see \codedashfinish below.) % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. - +% % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. +% and arrange explicitly to hyphenate at a dash. -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active @@ -2514,17 +2496,36 @@ end \let-\codedash \let_\codeunder \else - \let-\realdash + \let-\normaldash \let_\realunder \fi + % Given -foo (with a single dash), we do not want to allow a break + % after the hyphen. + \global\let\codedashprev=\codedash + % \codex } + % + \gdef\codedash{\futurelet\next\codedashfinish} + \gdef\codedashfinish{% + \normaldash % always output the dash character itself. + % + % Now, output a discretionary to allow a line break, unless + % (a) the next character is a -, or + % (b) the preceding character is a -. + % E.g., given --posix, we do not want to allow a break after either -. + % Given --foo-bar, we do want to allow a break between the - and the b. + \ifx\next\codedash \else + \ifx\codedashprev\codedash + \else \discretionary{}{}{}\fi + \fi + \global\let\codedashprev=\next + } } - +\def\normaldash{-} +% \def\codex #1{\tclose{#1}\endgroup} -\def\realdash{-} -\def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) @@ -2538,9 +2539,9 @@ end } % An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. +% each of the four underscores in __typeof__. This is bad. +% @allowcodebreaks provides a document-level way to turn breaking at - +% and _ on and off. % \newif\ifallowcodebreaks \allowcodebreakstrue @@ -2559,6 +2560,13 @@ end \fi\fi } +% For @command, @env, @file, @option quotes seem unnecessary, +% so use \code rather than \samp. +\let\command=\code +\let\env=\code +\let\file=\code +\let\option=\code + % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url @@ -2705,10 +2713,6 @@ end \let\email=\uref \fi -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} - % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). @@ -2732,16 +2736,36 @@ end % Default is `distinct'. \kbdinputstyle distinct +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. +\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} + \def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} +\def\kbdsub#1#2#3\par{% + \def\one{#1}\def\three{#3}\def\threex{??}% + \ifx\one\xkey\ifx\threex\three \key{#2}% + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +} -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code +% definition of @key that produces a lozenge. Doesn't adjust to text size. +%\setfont\keyrm\rmshape{8}{1000}{OT1} +%\font\keysy=cmsy9 +%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% +% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% +% \vbox{\hrule\kern-0.4pt +% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% +% \kern-0.4pt\hrule}% +% \kern-.06em\raise0.4pt\hbox{\angleright}}}} + +% definition of @key with no lozenge. If the current font is already +% monospace, don't change it; that way, we respect @kbdinputstyle. But +% if it isn't monospace, then use \tt. +% +\def\key#1{{\setupmarkupstyle{key}% + \nohyphenation + \ifmonospace\else\tt\fi + #1}\null} % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} @@ -2771,6 +2795,7 @@ end \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi + \null % reset \spacefactor=1000 } % @abbr for "Comput. J." and the like. @@ -2783,6 +2808,7 @@ end \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi + \null % reset \spacefactor=1000 } % @asis just yields its argument. Used with @table, for example. @@ -2847,20 +2873,51 @@ end } } +% ctrl is no longer a Texinfo command, but leave this definition for fun. +\def\ctrl #1{{\tt \rawbackslash \hat}#1} + +% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. +% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, +% except specified as a normal braced arg, so no newlines to worry about. +% +\def\outfmtnametex{tex} +% +\long\def\inlinefmt#1{\doinlinefmt #1,\finish} +\long\def\doinlinefmt#1,#2,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi +} +% For raw, must switch into @tex before parsing the argument, to avoid +% setting catcodes prematurely. Doing it this way means that, for +% example, @inlineraw{html, foo{bar} gets a parse error instead of being +% ignored. But this isn't important because if people want a literal +% *right* brace they would have to use a command anyway, so they may as +% well use a command to get a left brace too. We could re-use the +% delimiter character idea from \verb, but it seems like overkill. +% +\long\def\inlineraw{\tex \doinlineraw} +\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} +\def\doinlinerawtwo#1,#2,\finish{% + \def\inlinerawname{#1}% + \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi + \endgroup % close group opened by \tex. +} + \message{glyphs,} % and logos. -% @@ prints an @. +% @@ prints an @, as does @atchar{}. \def\@{\char64 } +\let\atchar=\@ -% Used to generate quoted braces. Unless we're in typewriter, use -% \ecfont because the CM text fonts do not have braces, and we don't -% want to switch into math. +% @{ @} @lbracechar{} @rbracechar{} all generate brace characters. +% Unless we're in typewriter, use \ecfont because the CM text fonts do +% not have braces, and we don't want to switch into math. \def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} \def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} -\let\{=\mylbrace -\let\}=\myrbrace +\let\{=\mylbrace \let\lbracechar=\{ +\let\}=\myrbrace \let\rbracechar=\} \begingroup % Definitions to produce \{ and \} commands for indices, % and @{ and @} for the aux/toc files. @@ -2988,7 +3045,7 @@ end {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} +\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. @@ -3109,12 +3166,17 @@ end % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% - \ifx\curfontstyle\bfstylename - % bold: - \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \ifmonospace + % typewriter: + \font\thisecfont = ectt\ecsize \space at \nominalsize \else - % regular: - \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi \fi \thisecfont } @@ -3227,14 +3289,28 @@ end \finishedtitlepagetrue } -%%% Macros to be used within @titlepage: +% Settings used for typesetting titles: no hyphenation, no indentation, +% don't worry much about spacing, ragged right. This should be used +% inside a \vbox, and fonts need to be set appropriately first. Because +% it is always used for titles, nothing else, we call \rmisbold. \par +% should be specified before the end of the \vbox, since a vbox is a group. +% +\def\raggedtitlesettings{% + \rmisbold + \hyphenpenalty=10000 + \parindent=0pt + \tolerance=5000 + \ptexraggedright +} + +% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \parseargdef\title{% \checkenv\titlepage - \leftline{\titlefonts\rmisbold #1} + \vbox{\titlefonts \raggedtitlesettings #1\par}% % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt @@ -3260,7 +3336,7 @@ end } -%%% Set up page headings and footings. +% Set up page headings and footings. \let\thispage=\folio @@ -3959,18 +4035,18 @@ end \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi -%% Test to see if parskip is larger than space between lines of -%% table. If not, do nothing. -%% If so, set to same dimension as multitablelinespace. +% Test to see if parskip is larger than space between lines of +% table. If not, do nothing. +% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. +\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller + % than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. +\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller + % than skip between lines in the table. \fi} @@ -4131,7 +4207,7 @@ end % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore + \let-\normaldash \let_\normalunderscore } } @@ -4154,8 +4230,9 @@ end % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +% To get the special treatment we need for `@end ifset,' we call +% \makecond and then redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} @@ -4171,7 +4248,7 @@ end } \def\ifsetfail{\doignore{ifset}} -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been +% @ifclear VAR ... @end executes the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the @@ -4182,6 +4259,35 @@ end \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} +% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written +% without the @) is in fact defined. We can only feasibly check at the +% TeX level, so something like `mathcode' is going to considered +% defined even though it is not a Texinfo command. +% +\makecond{ifcommanddefined} +\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} +% +\def\doifcmddefined#1#2{{% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname #2\endcsname\relax + #1% If not defined, \let\next as above. + \fi + \expandafter + }\next +} +\def\ifcmddefinedfail{\doignore{ifcommanddefined}} + +% @ifcommandnotdefined CMD ... handled similar to @ifclear above. +\makecond{ifcommandnotdefined} +\def\ifcommandnotdefined{% + \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} +\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} + +% Set the `txicommandconditionals' variable, so documents have a way to +% test if the @ifcommand...defined conditionals are available. +\set txicommandconditionals + % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment @@ -4418,6 +4524,7 @@ end \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright + \definedummyword\lbracechar \definedummyword\leq \definedummyword\minus \definedummyword\ogonek @@ -4430,6 +4537,7 @@ end \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase + \definedummyword\rbracechar \definedummyword\result \definedummyword\textdegree % @@ -4481,7 +4589,9 @@ end \definedummyword\t % % Commands that take arguments. + \definedummyword\abbr \definedummyword\acronym + \definedummyword\anchor \definedummyword\cite \definedummyword\code \definedummyword\command @@ -4491,7 +4601,9 @@ end \definedummyword\emph \definedummyword\env \definedummyword\file + \definedummyword\image \definedummyword\indicateurl + \definedummyword\inforef \definedummyword\kbd \definedummyword\key \definedummyword\math @@ -4538,7 +4650,10 @@ end % content at all. So for index sorting, we map @{ and @} to strings % starting with |, since that ASCII character is between ASCII { and }. \def\{{|a}% + \def\lbracechar{|a}% + % \def\}{|b}% + \def\rbracechar{|b}% % % Non-English letters. \def\AA{AA}% @@ -4714,10 +4829,9 @@ end % % ..., ready, GO: % -\def\safewhatsit#1{% -\ifhmode +\def\safewhatsit#1{\ifhmode #1% -\else + \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% @@ -4741,7 +4855,6 @@ end % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: - % % @deffn deffn-whatever % @vindex index-whatever % Description. @@ -4754,8 +4867,7 @@ end % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi -\fi -} +\fi} % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} @@ -5502,14 +5614,6 @@ end % Define @majorheading, @heading and @subheading -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. - \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz @@ -5517,10 +5621,8 @@ end \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}% - \bigskip \par\penalty 200\relax + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip \nobreak \suppressfirstparagraphindent } @@ -5536,14 +5638,13 @@ end % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. -%%% Args are the skip and penalty (usually negative) +% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} -%%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) - \newskip\chapheadingskip +% Define plain chapter starts, and page on/off switching for it. \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will @@ -5680,8 +5781,7 @@ end % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright - \hangindent=\wd0 \centerparametersmaybe + \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title @@ -5703,18 +5803,18 @@ end \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% + \nobreak\bigskip \nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen @@ -5859,15 +5959,15 @@ end % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) + % discardable item.) However, when a paragraph is not started next + % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out + % or the negative glue will cause weirdly wrong output, typically + % obscuring the section heading with something else. \vskip-\parskip % - % This is purely so the last item on the list is a known \penalty > - % 10000. This is so \startdefun can avoid allowing breakpoints after - % section headings. Otherwise, it would insert a valid breakpoint between: - % - % @section sec-whatever - % @deffn def-whatever + % This is so the last item on the main vertical list is a known + % \penalty > 10000, so \startdefun, etc., can recognize the situation + % and do the needful. \penalty 10001 } @@ -6283,6 +6383,12 @@ end \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% + % + % If this cartouche directly follows a sectioning command, we need the + % \parskip glue (backspaced over by default) or the cartouche can + % collide with the section heading. + \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi + % \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop @@ -6296,7 +6402,7 @@ end \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip - \comment % For explanation, see the end of \def\group. + \comment % For explanation, see the end of def\group. } \def\Ecartouche{% \ifhmode\par\fi @@ -6316,7 +6422,7 @@ end \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak - \hfuzz = 12pt % Don't be fussy + \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output @@ -6474,16 +6580,9 @@ end \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax \fi \parsearg\quotationlabel } @@ -6509,6 +6608,32 @@ end \fi } +% @indentedblock is like @quotation, but indents only on the left and +% has no optional argument. +% +\makedispenvdef{indentedblock}{\indentedblockstart} +% +\def\indentedblockstart{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi +} + +% Keep a nonzero parskip for the environment, since we're doing normal filling. +% +\def\Eindentedblock{% + \par + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallindentedblock{\Eindentedblock} + % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, @@ -6702,7 +6827,7 @@ end % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % - % As a minor refinement, we avoid "club" headers by signalling + % As a further refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. @@ -6769,13 +6894,36 @@ end \def\domakedefun#1#2#3{% \envdef#1{% \startdefun + \doingtypefnfalse % distinguish typed functions from all else \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } -%%% Untyped functions: +\newif\ifdoingtypefn % doing typed function? +\newif\ifrettypeownline % typeset return type on its own line? + +% @deftypefnnewline on|off says whether the return type of typed functions +% are printed on their own line. This affects @deftypefn, @deftypefun, +% @deftypeop, and @deftypemethod. +% +\parseargdef\deftypefnnewline{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxideftypefnnl\endcsname + = \empty + \else\ifx\temp\offword + \expandafter\let\csname SETtxideftypefnnl\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @txideftypefnnl value `\temp', + must be on|off}% + \fi\fi +} + +% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} @@ -6794,7 +6942,7 @@ end \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } -%%% Typed functions: +% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} @@ -6809,10 +6957,11 @@ end % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% + \doingtypefntrue \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -%%% Typed variables: +% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} @@ -6830,7 +6979,7 @@ end \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -%%% Untyped variables: +% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } @@ -6841,7 +6990,8 @@ end % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } -%%% Type: +% Types: + % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% @@ -6869,25 +7019,49 @@ end % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% + \par % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % - % How we'll format the type name. Putting it in brackets helps + % Determine if we are typesetting the return type of a typed function + % on a line by itself. + \rettypeownlinefalse + \ifdoingtypefn % doing a typed function specifically? + % then check user option for putting return type on its own line: + \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else + \rettypeownlinetrue + \fi + \fi + % + % How we'll format the category name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % - % Figure out line sizes for the paragraph shape. + % Figure out line sizes for the paragraph shape. We'll always have at + % least two. + \tempnum = 2 + % % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip + % + % If doing a return type on its own line, we'll have another line. + \ifrettypeownline + \advance\tempnum by 1 + \def\maybeshapeline{0in \hsize}% + \else + \def\maybeshapeline{}% + \fi + % % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent - % (plain.tex says that \dimen1 should be used only as global.) - \parshape 2 0in \dimen0 \defargsindent \dimen2 % - % Put the type name to the right margin. + % The final paragraph shape: + \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 + % + % Put the category name at the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize @@ -6909,8 +7083,16 @@ end % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt - \def\temp{#2}% return value type - \ifx\temp\empty\else \tclose{\temp} \fi + \def\temp{#2}% text of the return type + \ifx\temp\empty\else + \tclose{\temp}% typeset the return type + \ifrettypeownline + % put return type on its own line; prohibit line break following: + \hfil\vadjust{\nobreak}\break + \else + \space % type on same line, so just followed by a space + \fi + \fi % no return type #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm @@ -6930,7 +7112,10 @@ end \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. + % want a way to get ttsl. We used to recommend @var for that, so + % leave the code in, but it's strange for @var to lead to typewriter. + % Nowadays we recommend @code, since the difference between a ttsl hyphen + % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 @@ -7053,12 +7238,14 @@ end % ... and for \example: \spaceisspace % - % The \empty here causes a following catcode 5 newline to be eaten - % as part of reading whitespace after a control sequence. It does - % not eat a catcode 13 newline. There's no good way to handle the - % two cases. See the Macro Details node in the manual for the - % workaround we currently have to recommend for macros and + % The \empty here causes a following catcode 5 newline to be eaten as + % part of reading whitespace after a control sequence. It does not + % eat a catcode 13 newline. There's no good way to handle the two + % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX + % would then have different behavior). See the Macro Details node in + % the manual for the workaround we recommend for macros and % line-oriented commands. + % \scantokens{#1\empty}% \endgroup} @@ -7193,9 +7380,15 @@ end \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments - \paramno=0 + \paramno=0\relax \else \expandafter\parsemargdef \argl;% + \if\paramno>256\relax + \ifx\eTeXversion\thisisundefined + \errhelp = \EMsimple + \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} + \fi + \fi \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% @@ -7245,9 +7438,17 @@ end \def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} +% For macro processing make @ a letter so that we can make Texinfo private macro names. +\edef\texiatcatcode{\the\catcode`\@} +\catcode `@=11\relax + % Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.blah for each blah -% in the params list to be ##N where N is the position in that list. +% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH +% in the params list to some hook where the argument si to be expanded. If +% there are less than 10 arguments that hook is to be replaced by ##N where N +% is the position in that list, that is to say the macro arguments are to be +% defined `a la TeX in the macro body. +% % That gets used by \mbodybackslash (above). % % We need to get `macro parameter char #' into several definitions. @@ -7257,12 +7458,33 @@ end % % The same technique is used to protect \eatspaces till just before % the macro is used. - +% +% If there are 10 or more arguments, a different technique is used, where the +% hook remains in the body, and when macro is to be expanded the body is +% processed again to replace the arguments. +% +% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the +% argument N value and then \edef the body (nothing else will expand because of +% the catcode regime underwhich the body was input). +% +% If you compile with TeX (not eTeX), and you have macros with 10 or more +% arguments, you need that no macro has more than 256 arguments, otherwise an +% error is produced. \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax \let\xeatspaces\relax \parsemargdefxxx#1,;,% + % In case that there are 10 or more arguments we parse again the arguments + % list to set new definitions for the \macarg.BLAH macros corresponding to + % each BLAH argument. It was anyhow needed to parse already once this list + % in order to count the arguments, and as macros with at most 9 arguments + % are by far more frequent than macro with 10 or more arguments, defining + % twice the \macarg.BLAH macros does not cost too much processing power. + \ifnum\paramno<10\relax\else + \paramno0\relax + \parsemmanyargdef@@#1,;,% 10 or more arguments + \fi } \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax @@ -7273,16 +7495,205 @@ end \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} +\def\parsemmanyargdef@@#1,{% + \if#1;\let\next=\relax + \else + \let\next=\parsemmanyargdef@@ + \edef\tempb{\eatspaces{#1}}% + \expandafter\def\expandafter\tempa + \expandafter{\csname macarg.\tempb\endcsname}% + % Note that we need some extra \noexpand\noexpand, this is because we + % don't want \the to be expanded in the \parsermacbody as it uses an + % \xdef . + \expandafter\edef\tempa + {\noexpand\noexpand\noexpand\the\toks\the\paramno}% + \advance\paramno by 1\relax + \fi\next} + % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) % + +\catcode `\@\texiatcatcode \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\catcode `\@=11\relax + +\let\endargs@\relax +\let\nil@\relax +\def\nilm@{\nil@}% +\long\def\nillm@{\nil@}% + +% This macro is expanded during the Texinfo macro expansion, not during its +% definition. It gets all the arguments values and assigns them to macros +% macarg.ARGNAME +% +% #1 is the macro name +% #2 is the list of argument names +% #3 is the list of argument values +\def\getargvals@#1#2#3{% + \def\macargdeflist@{}% + \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. + \def\paramlist{#2,\nil@}% + \def\macroname{#1}% + \begingroup + \macroargctxt + \def\argvaluelist{#3,\nil@}% + \def\@tempa{#3}% + \ifx\@tempa\empty + \setemptyargvalues@ + \else + \getargvals@@ + \fi +} -% This defines the macro itself. There are six cases: recursive and -% nonrecursive macros of zero, one, and many arguments. +% +\def\getargvals@@{% + \ifx\paramlist\nilm@ + % Some sanity check needed here that \argvaluelist is also empty. + \ifx\argvaluelist\nillm@ + \else + \errhelp = \EMsimple + \errmessage{Too many arguments in macro `\macroname'!}% + \fi + \let\next\macargexpandinbody@ + \else + \ifx\argvaluelist\nillm@ + % No more arguments values passed to macro. Set remaining named-arg + % macros to empty. + \let\next\setemptyargvalues@ + \else + % pop current arg name into \@tempb + \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% + \expandafter\@tempa\expandafter{\paramlist}% + % pop current argument value into \@tempc + \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% + \expandafter\@tempa\expandafter{\argvaluelist}% + % Here \@tempb is the current arg name and \@tempc is the current arg value. + % First place the new argument macro definition into \@tempd + \expandafter\macname\expandafter{\@tempc}% + \expandafter\let\csname macarg.\@tempb\endcsname\relax + \expandafter\def\expandafter\@tempe\expandafter{% + \csname macarg.\@tempb\endcsname}% + \edef\@tempd{\long\def\@tempe{\the\macname}}% + \push@\@tempd\macargdeflist@ + \let\next\getargvals@@ + \fi + \fi + \next +} + +\def\push@#1#2{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{% + \expandafter#1#2}% +} + +% Replace arguments by their values in the macro body, and place the result +% in macro \@tempa +\def\macvalstoargs@{% + % To do this we use the property that token registers that are \the'ed + % within an \edef expand only once. So we are going to place all argument + % values into respective token registers. + % + % First we save the token context, and initialize argument numbering. + \begingroup + \paramno0\relax + % Then, for each argument number #N, we place the corresponding argument + % value into a new token list register \toks#N + \expandafter\putargsintokens@\saveparamlist@,;,% + % Then, we expand the body so that argument are replaced by their + % values. The trick for values not to be expanded themselves is that they + % are within tokens and that tokens expand only once in an \edef . + \edef\@tempc{\csname mac.\macroname .body\endcsname}% + % Now we restore the token stack pointer to free the token list registers + % which we have used, but we make sure that expanded body is saved after + % group. + \expandafter + \endgroup + \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% + } + +\def\macargexpandinbody@{% + %% Define the named-macro outside of this group and then close this group. + \expandafter + \endgroup + \macargdeflist@ + % First the replace in body the macro arguments by their values, the result + % is in \@tempa . + \macvalstoargs@ + % Then we point at the \norecurse or \gobble (for recursive) macro value + % with \@tempb . + \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname + % Depending on whether it is recursive or not, we need some tailing + % \egroup . + \ifx\@tempb\gobble + \let\@tempc\relax + \else + \let\@tempc\egroup + \fi + % And now we do the real job: + \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% + \@tempd +} + +\def\putargsintokens@#1,{% + \if#1;\let\next\relax + \else + \let\next\putargsintokens@ + % First we allocate the new token list register, and give it a temporary + % alias \@tempb . + \toksdef\@tempb\the\paramno + % Then we place the argument value into that token list register. + \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname + \expandafter\@tempb\expandafter{\@tempa}% + \advance\paramno by 1\relax + \fi + \next +} + +% Save the token stack pointer into macro #1 +\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} +% Restore the token stack pointer from number in macro #1 +\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} +% newtoks that can be used non \outer . +\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} + +% Tailing missing arguments are set to empty +\def\setemptyargvalues@{% + \ifx\paramlist\nilm@ + \let\next\macargexpandinbody@ + \else + \expandafter\setemptyargvaluesparser@\paramlist\endargs@ + \let\next\setemptyargvalues@ + \fi + \next +} + +\def\setemptyargvaluesparser@#1,#2\endargs@{% + \expandafter\def\expandafter\@tempa\expandafter{% + \expandafter\def\csname macarg.#1\endcsname{}}% + \push@\@tempa\macargdeflist@ + \def\paramlist{#2}% +} + +% #1 is the element target macro +% #2 is the list macro +% #3,#4\endargs@ is the list value +\def\pop@#1#2#3,#4\endargs@{% + \def#1{#3}% + \def#2{#4}% +} +\long\def\longpop@#1#2#3,#4\endargs@{% + \long\def#1{#3}% + \long\def#2{#4}% +} + +% This defines a Texinfo @macro. There are eight cases: recursive and +% nonrecursive macros of zero, one, up to nine, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. @@ -7301,17 +7712,25 @@ end \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \else + \ifnum\paramno<10\relax % at most 9 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \else % 10 or more + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble + \fi \fi \else \ifcase\paramno @@ -7328,23 +7747,33 @@ end \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% + \else % at most 9 + \ifnum\paramno<10\relax + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \else % 10 or more: + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse + \fi \fi \fi} +\catcode `\@\texiatcatcode\relax + \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a @@ -7470,7 +7899,7 @@ end \fi\fi } - +% % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed @@ -7479,26 +7908,41 @@ end \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} +% +\newbox\toprefbox +\newbox\printedrefnamebox +\newbox\infofilenamebox +\newbox\printedmanualbox +% \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces - \def\printedmanual{\ignorespaces #5}% + % + % Get args without leading/trailing spaces. \def\printedrefname{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual\unskip}% - \setbox0=\hbox{\printedrefname\unskip}% - \ifdim \wd0 = 0pt + \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% + % + \def\infofilename{\ignorespaces #4}% + \setbox\infofilenamebox = \hbox{\infofilename\unskip}% + % + \def\printedmanual{\ignorespaces #5}% + \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% + % + % If the printed reference name (arg #3) was not explicitly given in + % the @xref, figure out what we want to use. + \ifdim \wd\printedrefnamebox = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax - % Use the node name inside the square brackets. + % Not auto section-title: use node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else - % Use the actual chapter/section title appear inside - % the square brackets. Use the real section title if we have it. - \ifdim \wd1 > 0pt - % It is in another manual, so we don't have it. + % Auto section-title: use chapter/section title inside + % the square brackets if we have it. + \ifdim \wd\printedmanualbox > 0pt + % It is in another manual, so we don't have it; use node name. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs - % We know the real title if we have the xref values. + % We (should) know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. @@ -7512,13 +7956,20 @@ end \ifpdf {\indexnofonts \turnoffactive + \makevalueexpandable % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. + % etc. don't get their TeX definitions. This ignores all spaces in + % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % - % See comments at \activebackslashdouble. - {\activebackslashdouble \xdef\pdfxrefdest{#1}% - \backslashparens\pdfxrefdest}% + % This (wrongly) does not take account of leading or trailing + % spaces in #1, which should be ignored. + \edef\pdfxrefdest{#1}% + \ifx\pdfxrefdest\empty + \def\pdfxrefdest{Top}% no empty targets + \else + \txiescapepdf\pdfxrefdest % escape PDF special chars + \fi % \leavevmode \startlink attr{/Border [0 0 0]}% @@ -7545,29 +7996,42 @@ end \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". - \ifdim\wd0 = 0pt + \ifdim\wd\printedrefnamebox = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % - % if the user also gave the printed manual name (fifth arg), append + % If the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". - \ifdim \wd1 > 0pt + \ifdim \wd\printedmanualbox > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. + % + % If we use \unhbox to print the node names, TeX does not insert + % empty discretionaries after hyphens, which means that it will not + % find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, + % this is a loss. Therefore, we give the text of the node name + % again, so it is as if TeX is seeing it for the first time. + % + \ifdim \wd\printedmanualbox > 0pt + % Cross-manual reference with a printed manual name. + % + \crossmanualxref{\cite{\printedmanual\unskip}}% + % + \else\ifdim \wd\infofilenamebox > 0pt + % Cross-manual reference with only an info filename (arg 4), no + % printed manual name (arg 5). This is essentially the same as + % the case above; we output the filename, since we have nothing else. + % + \crossmanualxref{\code{\infofilename\unskip}}% % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. - \ifdim \wd1 > 0pt - \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else + % Reference within this manual. + % % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of @@ -7579,7 +8043,7 @@ end \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% - % output the `[mynode]' via a macro so it can be overridden. + % output the `[mynode]' via the macro below so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: @@ -7587,11 +8051,37 @@ end % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi + \fi\fi \fi \endlink \endgroup} +% Output a cross-manual xref to #1. Used just above (twice). +% +% Only include the text "Section ``foo'' in" if the foo is neither +% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply +% "see The Foo Manual", the idea being to refer to the whole manual. +% +% But, this being TeX, we can't easily compare our node name against the +% string "Top" while ignoring the possible spaces before and after in +% the input. By adding the arbitrary 7sp below, we make it much less +% likely that a real node name would have the same width as "Top" (e.g., +% in a monospaced font). Hopefully it will never happen in practice. +% +% For the same basic reason, we retypeset the "Top" at every +% reference, since the current font is indeterminate. +% +\def\crossmanualxref#1{% + \setbox\toprefbox = \hbox{Top\kern7sp}% + \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% + \ifdim \wd2 > 7sp % nonempty? + \ifdim \wd2 = \wd\toprefbox \else % same as Top? + \putwordSection{} ``\printedrefname'' \putwordin{}\space + \fi + \fi + #1% +} + % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly @@ -7807,7 +8297,7 @@ end % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } -% @footnotestyle is meaningful for info output only. +% @footnotestyle is meaningful for Info output only. \let\footnotestyle=\comment {\catcode `\@=11 @@ -7870,6 +8360,8 @@ end % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut + % + % Invoke rest of plain TeX footnote routine. \futurelet\next\fo@t } }%end \catcode `\@=11 @@ -7957,7 +8449,7 @@ end it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% - \ifx\epsfbox\thisiundefined + \ifx\epsfbox\thisisundefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% @@ -7981,6 +8473,13 @@ end % If the image is by itself, center it. \ifvmode \imagevmodetrue + \else \ifx\centersub\centerV + % for @center @image, we need a vbox so we can have our vertical space + \imagevmodetrue + \vbox\bgroup % vbox has better behavior than vtop herev + \fi\fi + % + \ifimagevmode \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space @@ -7990,9 +8489,13 @@ end \fi % % Leave vertical mode so that indentation from an enclosing - % environment such as @quotation is respected. On the other hand, if - % it's at the top level, we don't want the normal paragraph indentation. - \noindent + % environment such as @quotation is respected. + % However, if we're at the top level, we don't want the + % normal paragraph indentation. + % On the other hand, if we are in the case of @center @image, we don't + % want to start a paragraph, which will create a hsize-width box and + % eradicate the centering. + \ifx\centersub\centerV\else \noindent \fi % % Output the image. \ifpdf @@ -8004,7 +8507,10 @@ end \epsfbox{#1.eps}% \fi % - \ifimagevmode \medskip \fi % space after the standalone image + \ifimagevmode + \medskip % space after a standalone image + \fi + \ifx\centersub\centerV \egroup \fi \endgroup} @@ -8422,7 +8928,7 @@ directory should work if nowhere else does.} % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% - \gdef^^a0{~} + \gdef^^a0{\tie} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} @@ -8544,7 +9050,7 @@ directory should work if nowhere else does.} % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% - \gdef^^a0{~} + \gdef^^a0{\tie} \gdef^^a1{\ogonek{A}} \gdef^^a2{\u{}} \gdef^^a3{\L} @@ -9393,6 +9899,8 @@ directory should work if nowhere else does.} \message{and turning on texinfo input format.} +\def^^L{\par} % remove \outer, so ^L can appear in an @comment + % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 @@ -9483,34 +9991,48 @@ directory should work if nowhere else does.} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. -\catcode`\\=\active -@def@normalbackslash{{@tt@backslashcurfont}} +\catcode`\\=\active % @ for escape char from now on. + +% The story here is that in math mode, the \char of \backslashcurfont +% ends up printing the roman \ from the math symbol font (because \char +% in math mode uses the \mathcode, and plain.tex sets +% \mathcode`\\="026E). It seems better for @backslashchar{} to always +% print a typewriter backslash, hence we use an explicit \mathchar, +% which is the decimal equivalent of "715c (class 7, e.g., use \fam; +% ignored family value; char position "5C). We can't use " for the +% usual hex value because it has already been made active. +@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} +@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents. + % On startup, @fixbackslash assigns: % @let \ = @normalbackslash - % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. +% catcode other. We switch back and forth between these. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let"=@normaldoublequote - @let$=@normaldollar %$ font-lock fix - @let+=@normalplus - @let<=@normalless - @let>=@normalgreater - @let\=@normalbackslash - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let~=@normaltilde - @markupsetuplqdefault - @markupsetuprqdefault - @unsepspaces +% the literal character `\'. Also revert - to its normal character, in +% case the active - from code has slipped in. +% +{@catcode`- = @active + @gdef@normalturnoffactive{% + @let-=@normaldash + @let"=@normaldoublequote + @let$=@normaldollar %$ font-lock fix + @let+=@normalplus + @let<=@normalless + @let>=@normalgreater + @let\=@normalbackslash + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let~=@normaltilde + @markupsetuplqdefault + @markupsetuprqdefault + @unsepspaces + } } % Make _ and + \other characters, temporarily. @@ -9546,10 +10068,13 @@ directory should work if nowhere else does.} @def@normalslash{/} % These look ok in all fonts, so just make them not special. +% @hashchar{} gets its own user-level command, because of #line. @catcode`@& = @other @def@normalamp{&} @catcode`@# = @other @def@normalhash{#} @catcode`@% = @other @def@normalpercent{%} +@let @hashchar = @normalhash + @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we @c don't make ` and ' active, @code will not get them as active chars. diff --git a/build-aux/ylwrap b/build-aux/ylwrap index 84d56340..7befa46d 100755 --- a/build-aux/ylwrap +++ b/build-aux/ylwrap @@ -1,10 +1,9 @@ #! /bin/sh # ylwrap - wrapper for lex/yacc invocations. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-07-14.08; # UTC -# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, -# 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # # Written by Tom Tromey . # @@ -30,9 +29,40 @@ scriptversion=2009-04-28.21; # UTC # bugs to or send patches to # . +get_dirname () +{ + case $1 in + */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';; + # Otherwise, we want the empty string (not "."). + esac +} + +# guard FILE +# ---------- +# The CPP macro used to guard inclusion of FILE. +guard() +{ + printf '%s\n' "$from" \ + | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' +} + +# quote_for_sed [STRING] +# ---------------------- +# Return STRING (or stdin) quoted to be used as a sed pattern. +quote_for_sed () +{ + case $# in + 0) cat;; + 1) printf '%s\n' "$1";; + esac \ + | sed -e 's|[][\\.*]|\\&|g' +} + case "$1" in '') - echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 + echo "$0: No files given. Try '$0 --help' for more information." 1>&2 exit 1 ;; --basedir) @@ -67,6 +97,8 @@ esac # The input. input="$1" shift +# We'll later need for a correct munging of "#line" directives. +input_sub_rx=`get_dirname "$input" | quote_for_sed` case "$input" in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. @@ -76,15 +108,40 @@ case "$input" in input="`pwd`/$input" ;; esac +input_rx=`get_dirname "$input" | quote_for_sed` + +# Since DOS filename conventions don't allow two dots, +# the DOS version of Bison writes out y_tab.c instead of y.tab.c +# and y_tab.h instead of y.tab.h. Test to see if this is the case. +y_tab_nodot=false +if test -f y_tab.c || test -f y_tab.h; then + y_tab_nodot=true +fi -pairlist= +# The parser itself, the first file, is the destination of the .y.c +# rule in the Makefile. +parser=$1 +# A sed program to s/FROM/TO/g for all the FROM/TO so that, for +# instance, we rename #include "y.tab.h" into #include "parse.h" +# during the conversion from y.tab.c to parse.c. +rename_sed= while test "$#" -ne 0; do if test "$1" = "--"; then shift break fi - pairlist="$pairlist $1" + from=$1 + # Handle y_tab.c and y_tab.h output by DOS + if $y_tab_nodot; then + case $from in + "y.tab.c") from=y_tab.c;; + "y.tab.h") from=y_tab.h;; + esac + fi shift + to=$1 + shift + rename_sed="${rename_sed}s|"`quote_for_sed "$from"`"|$to|g;" done # The program to run. @@ -99,7 +156,11 @@ esac # FIXME: add hostname here for parallel makes that run commands on # other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ -trap "cd '`pwd`'; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 +do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' +trap "ret=129; $do_exit" 1 +trap "ret=130; $do_exit" 2 +trap "ret=141; $do_exit" 13 +trap "ret=143; $do_exit" 15 mkdir $dirname || exit 1 cd $dirname @@ -111,98 +172,55 @@ esac ret=$? if test $ret -eq 0; then - set X $pairlist - shift - first=yes - # Since DOS filename conventions don't allow two dots, - # the DOS version of Bison writes out y_tab.c instead of y.tab.c - # and y_tab.h instead of y.tab.h. Test to see if this is the case. - y_tab_nodot="no" - if test -f y_tab.c || test -f y_tab.h; then - y_tab_nodot="yes" - fi - - # The directory holding the input. - input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` - # Quote $INPUT_DIR so we can use it in a regexp. - # FIXME: really we should care about more than `.' and `\'. - input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` - - while test "$#" -ne 0; do - from="$1" - # Handle y_tab.c and y_tab.h output by DOS - if test $y_tab_nodot = "yes"; then - if test $from = "y.tab.c"; then - from="y_tab.c" - else - if test $from = "y.tab.h"; then - from="y_tab.h" - fi - fi - fi + for from in * + do + to=`printf '%s\n' "$from" | sed "$rename_sed"` if test -f "$from"; then # If $2 is an absolute path name, then just use that, - # otherwise prepend `../'. - case "$2" in - [\\/]* | ?:[\\/]*) target="$2";; - *) target="../$2";; + # otherwise prepend '../'. + case $to in + [\\/]* | ?:[\\/]*) target=$to;; + *) target="../$to";; esac - # We do not want to overwrite a header file if it hasn't - # changed. This avoid useless recompilations. However the - # parser itself (the first file) should always be updated, - # because it is the destination of the .y.c rule in the - # Makefile. Divert the output of all other files to a temporary - # file so we can compare them to existing versions. - if test $first = no; then - realtarget="$target" - target="tmp-`echo $target | sed s/.*[\\/]//g`" + # Do not overwrite unchanged header files to avoid useless + # recompilations. Always update the parser itself: it is the + # destination of the .y.c rule in the Makefile. Divert the + # output of all other files to a temporary file so we can + # compare them to existing versions. + if test $from != $parser; then + realtarget="$target" + target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'` fi - # Edit out `#line' or `#' directives. - # - # We don't want the resulting debug information to point at - # an absolute srcdir; it is better for it to just mention the - # .y file with no path. - # - # We want to use the real output file name, not yy.lex.c for - # instance. - # - # We want the include guards to be adjusted too. - FROM=`echo "$from" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - TARGET=`echo "$2" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - - sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ - -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? - - # Check whether header files must be updated. - if test $first = no; then - if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then - echo "$2" is unchanged - rm -f "$target" - else - echo updating "$2" + + # Munge "#line" or "#" directives. Don't let the resulting + # debug information point at an absolute srcdir. Use the real + # output file name, not yy.lex.c for instance. Adjust the + # include guards too. + FROM=`guard "$from"` + TARGET=`guard "$to"` + sed -e "/^#/!b" -e "s|$input_rx|$input_sub_rx|" -e "$rename_sed" \ + -e "s|$FROM|$TARGET|" "$from" >"$target" || ret=$? + + # Check whether files must be updated. + if test "$from" != "$parser"; then + if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then + echo "$to is unchanged" + rm -f "$target" + else + echo "updating $to" mv -f "$target" "$realtarget" fi fi else - # A missing file is only an error for the first file. This - # is a blatant hack to let us support using "yacc -d". If -d - # is not specified, we don't want an error when the header - # file is "missing". - if test $first = yes; then + # A missing file is only an error for the parser. This is a + # blatant hack to let us support using "yacc -d". If -d is not + # specified, don't fail when the header file is "missing". + if test "$from" = "$parser"; then ret=1 fi fi - shift - shift - first=no done -else - ret=$? fi # Remove the directory. diff --git a/config.h.in b/config.h.in index d9dd5a88..e2137907 100644 --- a/config.h.in +++ b/config.h.in @@ -1,5 +1,8 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T @@ -42,6 +45,13 @@ /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA +/* Define as the bit index in the word where to find bit 0 of the exponent of + 'double'. */ +#undef DBL_EXPBIT0_BIT + +/* Define as the word index where to find the exponent of 'double'. */ +#undef DBL_EXPBIT0_WORD + /* Define to a string giving the full name of the default archive file. */ #undef DEFAULT_ARCHIVE @@ -95,6 +105,13 @@ /* Define this to 1 if F_DUPFD behavior does not match POSIX */ #undef FCNTL_DUPFD_BUGGY +/* Enable compile-time and run-time bounds-checking, and some warnings, + without upsetting glibc 2.15+. */ + #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ + # define _FORTIFY_SOURCE 2 + #endif + + /* Define to 1 if mkdir mistakenly creates a directory given with a trailing dot component. */ #undef FUNC_MKDIR_DOT_BUG @@ -116,9 +133,6 @@ declaration of the second argument to gettimeofday. */ #undef GETTIMEOFDAY_TIMEZONE -/* Define to make the limit macros in visible. */ -#undef GL_TRIGGER_STDC_LIMIT_MACROS - /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module areadlinkat shall be considered present. */ #undef GNULIB_AREADLINKAT @@ -139,6 +153,14 @@ whether the gnulib module dirname shall be considered present. */ #undef GNULIB_DIRNAME +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fchmodat shall be considered present. */ +#undef GNULIB_FCHMODAT + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fchownat shall be considered present. */ +#undef GNULIB_FCHOWNAT + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fdopendir shall be considered present. */ #undef GNULIB_FDOPENDIR @@ -147,10 +169,25 @@ whether the gnulib module fdutimensat shall be considered present. */ #undef GNULIB_FDUTIMENSAT +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fscanf shall be considered present. */ +#undef GNULIB_FSCANF + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module getcwd shall be considered present. */ +#undef GNULIB_GETCWD + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module malloc-gnu shall be considered present. */ #undef GNULIB_MALLOC_GNU +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module openat shall be considered present. */ +#undef GNULIB_OPENAT + +/* enable some gnulib portability checks */ +#undef GNULIB_PORTCHECK + /* Define to 1 to add extern declaration of program_invocation_name to argp.h */ #undef GNULIB_PROGRAM_INVOCATION_NAME @@ -159,10 +196,22 @@ argp.h */ #undef GNULIB_PROGRAM_INVOCATION_SHORT_NAME +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module scanf shall be considered present. */ +#undef GNULIB_SCANF + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module snprintf shall be considered present. */ #undef GNULIB_SNPRINTF +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module statat shall be considered present. */ +#undef GNULIB_STATAT + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module strerror shall be considered present. */ +#undef GNULIB_STRERROR + /* Define to 1 when the gnulib module btowc should be tested. */ #undef GNULIB_TEST_BTOWC @@ -170,6 +219,9 @@ */ #undef GNULIB_TEST_CANONICALIZE_FILE_NAME +/* Define to 1 when the gnulib module chdir should be tested. */ +#undef GNULIB_TEST_CHDIR + /* Define to 1 when the gnulib module chown should be tested. */ #undef GNULIB_TEST_CHOWN @@ -179,9 +231,15 @@ /* Define to 1 when the gnulib module close should be tested. */ #undef GNULIB_TEST_CLOSE +/* Define to 1 when the gnulib module closedir should be tested. */ +#undef GNULIB_TEST_CLOSEDIR + /* Define to 1 when the gnulib module dirfd should be tested. */ #undef GNULIB_TEST_DIRFD +/* Define to 1 when the gnulib module dup should be tested. */ +#undef GNULIB_TEST_DUP + /* Define to 1 when the gnulib module dup2 should be tested. */ #undef GNULIB_TEST_DUP2 @@ -191,8 +249,11 @@ /* Define to 1 when the gnulib module fchdir should be tested. */ #undef GNULIB_TEST_FCHDIR -/* Define to 1 when the gnulib module fclose should be tested. */ -#undef GNULIB_TEST_FCLOSE +/* Define to 1 when the gnulib module fchmodat should be tested. */ +#undef GNULIB_TEST_FCHMODAT + +/* Define to 1 when the gnulib module fchownat should be tested. */ +#undef GNULIB_TEST_FCHOWNAT /* Define to 1 when the gnulib module fcntl should be tested. */ #undef GNULIB_TEST_FCNTL @@ -200,9 +261,18 @@ /* Define to 1 when the gnulib module fdopendir should be tested. */ #undef GNULIB_TEST_FDOPENDIR +/* Define to 1 when the gnulib module fseek should be tested. */ +#undef GNULIB_TEST_FSEEK + /* Define to 1 when the gnulib module fseeko should be tested. */ #undef GNULIB_TEST_FSEEKO +/* Define to 1 when the gnulib module fstat should be tested. */ +#undef GNULIB_TEST_FSTAT + +/* Define to 1 when the gnulib module fstatat should be tested. */ +#undef GNULIB_TEST_FSTATAT + /* Define to 1 when the gnulib module futimens should be tested. */ #undef GNULIB_TEST_FUTIMENS @@ -239,6 +309,9 @@ /* Define to 1 when the gnulib module linkat should be tested. */ #undef GNULIB_TEST_LINKAT +/* Define to 1 when the gnulib module localeconv should be tested. */ +#undef GNULIB_TEST_LOCALECONV + /* Define to 1 when the gnulib module lseek should be tested. */ #undef GNULIB_TEST_LSEEK @@ -272,6 +345,9 @@ /* Define to 1 when the gnulib module memrchr should be tested. */ #undef GNULIB_TEST_MEMRCHR +/* Define to 1 when the gnulib module mkdirat should be tested. */ +#undef GNULIB_TEST_MKDIRAT + /* Define to 1 when the gnulib module mkdtemp should be tested. */ #undef GNULIB_TEST_MKDTEMP @@ -296,9 +372,24 @@ /* Define to 1 when the gnulib module open should be tested. */ #undef GNULIB_TEST_OPEN +/* Define to 1 when the gnulib module openat should be tested. */ +#undef GNULIB_TEST_OPENAT + +/* Define to 1 when the gnulib module opendir should be tested. */ +#undef GNULIB_TEST_OPENDIR + +/* Define to 1 when the gnulib module raise should be tested. */ +#undef GNULIB_TEST_RAISE + /* Define to 1 when the gnulib module rawmemchr should be tested. */ #undef GNULIB_TEST_RAWMEMCHR +/* Define to 1 when the gnulib module read should be tested. */ +#undef GNULIB_TEST_READ + +/* Define to 1 when the gnulib module readdir should be tested. */ +#undef GNULIB_TEST_READDIR + /* Define to 1 when the gnulib module readlink should be tested. */ #undef GNULIB_TEST_READLINK @@ -317,12 +408,18 @@ /* Define to 1 when the gnulib module renameat should be tested. */ #undef GNULIB_TEST_RENAMEAT +/* Define to 1 when the gnulib module rewinddir should be tested. */ +#undef GNULIB_TEST_REWINDDIR + /* Define to 1 when the gnulib module rmdir should be tested. */ #undef GNULIB_TEST_RMDIR /* Define to 1 when the gnulib module rpmatch should be tested. */ #undef GNULIB_TEST_RPMATCH +/* Define to 1 when the gnulib module secure_getenv should be tested. */ +#undef GNULIB_TEST_SECURE_GETENV + /* Define to 1 when the gnulib module setenv should be tested. */ #undef GNULIB_TEST_SETENV @@ -353,9 +450,6 @@ /* Define to 1 when the gnulib module strnlen should be tested. */ #undef GNULIB_TEST_STRNLEN -/* Define to 1 when the gnulib module strtoll should be tested. */ -#undef GNULIB_TEST_STRTOLL - /* Define to 1 when the gnulib module strtoull should be tested. */ #undef GNULIB_TEST_STRTOULL @@ -371,6 +465,9 @@ /* Define to 1 when the gnulib module unlink should be tested. */ #undef GNULIB_TEST_UNLINK +/* Define to 1 when the gnulib module unlinkat should be tested. */ +#undef GNULIB_TEST_UNLINKAT + /* Define to 1 when the gnulib module unsetenv should be tested. */ #undef GNULIB_TEST_UNSETENV @@ -395,8 +492,74 @@ /* Define to the program name of gzip compressor program */ #undef GZIP_PROGRAM -/* Define to 1 if you have the `alarm' function. */ -#undef HAVE_ALARM +/* Define to 1 if you have the `aclsort' function. */ +#undef HAVE_ACLSORT + +/* Define to 1 if you have the header file. */ +#undef HAVE_ACLV_H + +/* Define to 1 if you have the `aclx_get' function. */ +#undef HAVE_ACLX_GET + +/* Define to 1 if you have the `acl_copy_ext_native' function. */ +#undef HAVE_ACL_COPY_EXT_NATIVE + +/* Define to 1 if you have the `acl_create_entry_np' function. */ +#undef HAVE_ACL_CREATE_ENTRY_NP + +/* Define to 1 if you have the `acl_delete_def_file' function. */ +#undef HAVE_ACL_DELETE_DEF_FILE + +/* Define to 1 if you have the `acl_delete_fd_np' function. */ +#undef HAVE_ACL_DELETE_FD_NP + +/* Define to 1 if you have the `acl_delete_file_np' function. */ +#undef HAVE_ACL_DELETE_FILE_NP + +/* Define to 1 if you have the `acl_entries' function. */ +#undef HAVE_ACL_ENTRIES + +/* Define to 1 if you have the `acl_extended_file' function. */ +#undef HAVE_ACL_EXTENDED_FILE + +/* Define to 1 if the constant ACL_FIRST_ENTRY exists. */ +#undef HAVE_ACL_FIRST_ENTRY + +/* Define to 1 if you have the `acl_free' function. */ +#undef HAVE_ACL_FREE + +/* Define to 1 if you have the `acl_free_text' function. */ +#undef HAVE_ACL_FREE_TEXT + +/* Define to 1 if you have the `acl_from_mode' function. */ +#undef HAVE_ACL_FROM_MODE + +/* Define to 1 if you have the `acl_from_text' function. */ +#undef HAVE_ACL_FROM_TEXT + +/* Define to 1 if you have the `acl_get_fd' function. */ +#undef HAVE_ACL_GET_FD + +/* Define to 1 if you have the `acl_get_file' function. */ +#undef HAVE_ACL_GET_FILE + +/* Define to 1 if you have the header file. */ +#undef HAVE_ACL_LIBACL_H + +/* Define to 1 if you have the `acl_set_fd' function. */ +#undef HAVE_ACL_SET_FD + +/* Define to 1 if you have the `acl_set_file' function. */ +#undef HAVE_ACL_SET_FILE + +/* Define to 1 if you have the `acl_to_short_text' function. */ +#undef HAVE_ACL_TO_SHORT_TEXT + +/* Define to 1 if you have the `acl_trivial' function. */ +#undef HAVE_ACL_TRIVIAL + +/* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */ +#undef HAVE_ACL_TYPE_EXTENDED /* Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution. */ @@ -406,6 +569,9 @@ */ #undef HAVE_ALLOCA_H +/* define to 1 if we have header */ +#undef HAVE_ATTR_XATTR_H + /* Define to 1 if you have the header file. */ #undef HAVE_BP_SYM_H @@ -415,11 +581,11 @@ /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE @@ -432,6 +598,9 @@ /* Define to 1 if you have the `clock_settime' function. */ #undef HAVE_CLOCK_SETTIME +/* Define to 1 if you have the `closedir' function. */ +#undef HAVE_CLOSEDIR + /* Define if you have compound literals. */ #undef HAVE_COMPOUND_LITERALS @@ -439,6 +608,10 @@ */ #undef HAVE_DCGETTEXT +/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. + */ +#undef HAVE_DECL_ALARM + /* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_CLEARERR_UNLOCKED @@ -523,14 +696,6 @@ don't. */ #undef HAVE_DECL_GETPWUID -/* Define to 1 if you have the declaration of `imaxabs', and to 0 if you - don't. */ -#undef HAVE_DECL_IMAXABS - -/* Define to 1 if you have the declaration of `imaxdiv', and to 0 if you - don't. */ -#undef HAVE_DECL_IMAXDIV - /* Define to 1 if you have the declaration of `isblank', and to 0 if you don't. */ #undef HAVE_DECL_ISBLANK @@ -543,6 +708,18 @@ don't. */ #undef HAVE_DECL_LOCALTIME_R +/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you + don't. */ +#undef HAVE_DECL_MBRTOWC + +/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you + don't. */ +#undef HAVE_DECL_MBSINIT + +/* Define to 1 if you have the declaration of `mbsrtowcs', and to 0 if you + don't. */ +#undef HAVE_DECL_MBSRTOWCS + /* Define to 1 if you have the declaration of `memrchr', and to 0 if you don't. */ #undef HAVE_DECL_MEMRCHR @@ -579,10 +756,6 @@ */ #undef HAVE_DECL_STRDUP -/* Define to 1 if you have the declaration of `strerror', and to 0 if you - don't. */ -#undef HAVE_DECL_STRERROR - /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R @@ -599,14 +772,6 @@ don't. */ #undef HAVE_DECL_STRNLEN -/* Define to 1 if you have the declaration of `strtoimax', and to 0 if you - don't. */ -#undef HAVE_DECL_STRTOIMAX - -/* Define to 1 if you have the declaration of `strtoll', and to 0 if you - don't. */ -#undef HAVE_DECL_STRTOLL - /* Define to 1 if you have the declaration of `strtoull', and to 0 if you don't. */ #undef HAVE_DECL_STRTOULL @@ -619,6 +784,10 @@ */ #undef HAVE_DECL_TIME +/* Define to 1 if you have the declaration of `towlower', and to 0 if you + don't. */ +#undef HAVE_DECL_TOWLOWER + /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ #undef HAVE_DECL_TZNAME @@ -631,6 +800,10 @@ don't. */ #undef HAVE_DECL_VSNPRINTF +/* Define to 1 if you have the declaration of `wcrtomb', and to 0 if you + don't. */ +#undef HAVE_DECL_WCRTOMB + /* Define to 1 if you have the declaration of `wcwidth', and to 0 if you don't. */ #undef HAVE_DECL_WCWIDTH @@ -649,12 +822,15 @@ /* Define to 1 if you have the `dirfd' function. */ #undef HAVE_DIRFD -/* Define to 1 if you have the `dup2' function. */ +/* Define to 1 if you have the 'dup2' function. */ #undef HAVE_DUP2 /* Define if you have the declaration of environ. */ #undef HAVE_ENVIRON_DECL +/* Define to 1 if you have the `facl' function. */ +#undef HAVE_FACL + /* Define to 1 if you have the `fchdir' function. */ #undef HAVE_FCHDIR @@ -679,12 +855,21 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FEATURES_H +/* Define to 1 if you have the `fgetxattr' function. */ +#undef HAVE_FGETXATTR + +/* Define to 1 if you have the `flistxattr' function. */ +#undef HAVE_FLISTXATTR + /* Define to 1 if you have the `flockfile' function. */ #undef HAVE_FLOCKFILE /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO +/* Define to 1 if you have the `fsetxattr' function. */ +#undef HAVE_FSETXATTR + /* Define to 1 if you have the `fstatat' function. */ #undef HAVE_FSTATAT @@ -703,6 +888,9 @@ /* Define to 1 if you have the `futimesat' function. */ #undef HAVE_FUTIMESAT +/* Define to 1 if you have the `getacl' function. */ +#undef HAVE_GETACL + /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD @@ -730,6 +918,9 @@ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY +/* Define to 1 if you have the `getxattr' function. */ +#undef HAVE_GETXATTR + /* Define to 1 if you have the header file. */ #undef HAVE_GRP_H @@ -739,11 +930,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_ICONV_H -/* Define to 1 if the compiler supports one of the keywords 'inline', - '__inline__', '__inline' and effectively inlines functions marked as such. - */ -#undef HAVE_INLINE - /* Define if you have the 'intmax_t' type in or . */ #undef HAVE_INTMAX_T @@ -757,6 +943,9 @@ /* Define to 1 if you have the `isblank' function. */ #undef HAVE_ISBLANK +/* Define to 1 if you have the `issetugid' function. */ +#undef HAVE_ISSETUGID + /* Define to 1 if you have the `iswblank' function. */ #undef HAVE_ISWBLANK @@ -781,6 +970,9 @@ /* Define to 1 if you have the `lchown' function. */ #undef HAVE_LCHOWN +/* Define to 1 if you have the `lgetxattr' function. */ +#undef HAVE_LGETXATTR + /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H @@ -796,6 +988,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_FD_H +/* Define to 1 if you have the `listxattr' function. */ +#undef HAVE_LISTXATTR + +/* Define to 1 if you have the `llistxattr' function. */ +#undef HAVE_LLISTXATTR + /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H @@ -805,9 +1003,12 @@ /* Define to 1 if you support file names longer than 14 characters. */ #undef HAVE_LONG_FILE_NAMES -/* Define to 1 if the system has the type `long long int'. */ +/* Define to 1 if the system has the type 'long long int'. */ #undef HAVE_LONG_LONG_INT +/* Define to 1 if you have the `lsetxattr' function. */ +#undef HAVE_LSETXATTR + /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT @@ -837,9 +1038,6 @@ /* Define to 1 if declares mbstate_t. */ #undef HAVE_MBSTATE_T -/* Define to 1 if you have the `memchr' function. */ -#undef HAVE_MEMCHR - /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H @@ -849,6 +1047,10 @@ /* Define to 1 if you have the `memrchr' function. */ #undef HAVE_MEMRCHR +/* Define to 1 if getcwd minimally works, that is, its result can be trusted + when it succeeds. */ +#undef HAVE_MINIMALLY_WORKING_GETCWD + /* Define to 1 if you have the `mkdirat' function. */ #undef HAVE_MKDIRAT @@ -870,6 +1072,10 @@ /* Define to 1 if you have the `mprotect' function. */ #undef HAVE_MPROTECT +/* Define to 1 on MSVC platforms that have the "invalid parameter handler" + concept. */ +#undef HAVE_MSVC_INVALID_PARAMETER_HANDLER + /* Define to 1 if you have the `nanotime' function. */ #undef HAVE_NANOTIME @@ -891,6 +1097,9 @@ /* Define to 1 if you have the `openat' function. */ #undef HAVE_OPENAT +/* Define to 1 if you have the `opendir' function. */ +#undef HAVE_OPENDIR + /* Define to 1 if you have the header file. */ #undef HAVE_OS_H @@ -904,6 +1113,9 @@ /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE +/* Define when we have working POSIX acls */ +#undef HAVE_POSIX_ACLS + /* Define to 1 if you have the header file. */ #undef HAVE_PRIV_H @@ -916,6 +1128,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H +/* Define to 1 if you have the `raise' function. */ +#undef HAVE_RAISE + /* Define to 1 if you have the `rawmemchr' function. */ #undef HAVE_RAWMEMCHR @@ -932,21 +1147,33 @@ macros. */ #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME +/* Define to 1 if chdir is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_CHDIR + /* Define to 1 if chown is declared even after undefining macros. */ #undef HAVE_RAW_DECL_CHOWN +/* Define to 1 if closedir is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_CLOSEDIR + /* Define to 1 if dirfd is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DIRFD /* Define to 1 if dprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DPRINTF +/* Define to 1 if dup is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_DUP + /* Define to 1 if dup2 is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DUP2 /* Define to 1 if dup3 is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DUP3 +/* Define to 1 if duplocale is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_DUPLOCALE + /* Define to 1 if endusershell is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ENDUSERSHELL @@ -971,15 +1198,30 @@ /* Define to 1 if fcntl is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FCNTL +/* Define to 1 if fdatasync is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_FDATASYNC + /* Define to 1 if fdopendir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FDOPENDIR +/* Define to 1 if ffs is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_FFS + +/* Define to 1 if ffsl is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_FFSL + +/* Define to 1 if ffsll is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_FFSLL + /* Define to 1 if fpurge is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FPURGE /* Define to 1 if fseeko is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FSEEKO +/* Define to 1 if fstat is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_FSTAT + /* Define to 1 if fstatat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FSTATAT @@ -1028,6 +1270,9 @@ /* Define to 1 if getpagesize is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETPAGESIZE +/* Define to 1 if gets is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_GETS + /* Define to 1 if getsubopt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GETSUBOPT @@ -1040,14 +1285,23 @@ /* Define to 1 if grantpt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GRANTPT +/* Define to 1 if group_member is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_GROUP_MEMBER + /* Define to 1 if imaxabs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_IMAXABS /* Define to 1 if imaxdiv is declared even after undefining macros. */ #undef HAVE_RAW_DECL_IMAXDIV -/* Define to 1 if initstat_r is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_INITSTAT_R +/* Define to 1 if initstate is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_INITSTATE + +/* Define to 1 if initstate_r is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_INITSTATE_R + +/* Define to 1 if isatty is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_ISATTY /* Define to 1 if iswctype is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ISWCTYPE @@ -1130,6 +1384,12 @@ /* Define to 1 if openat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_OPENAT +/* Define to 1 if opendir is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_OPENDIR + +/* Define to 1 if pclose is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_PCLOSE + /* Define to 1 if pipe is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PIPE @@ -1139,21 +1399,36 @@ /* Define to 1 if popen is declared even after undefining macros. */ #undef HAVE_RAW_DECL_POPEN +/* Define to 1 if posix_openpt is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_POSIX_OPENPT + /* Define to 1 if pread is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PREAD +/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_PTHREAD_SIGMASK + /* Define to 1 if ptsname is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PTSNAME +/* Define to 1 if ptsname_r is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_PTSNAME_R + /* Define to 1 if pwrite is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PWRITE +/* Define to 1 if random is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_RANDOM + /* Define to 1 if random_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RANDOM_R /* Define to 1 if rawmemchr is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RAWMEMCHR +/* Define to 1 if readdir is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_READDIR + /* Define to 1 if readlink is declared even after undefining macros. */ #undef HAVE_RAW_DECL_READLINK @@ -1166,6 +1441,9 @@ /* Define to 1 if renameat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RENAMEAT +/* Define to 1 if rewinddir is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_REWINDDIR + /* Define to 1 if rmdir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RMDIR @@ -1175,21 +1453,60 @@ /* Define to 1 if scandir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SCANDIR +/* Define to 1 if secure_getenv is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SECURE_GETENV + /* Define to 1 if setenv is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SETENV +/* Define to 1 if sethostname is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SETHOSTNAME + +/* Define to 1 if setlocale is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SETLOCALE + +/* Define to 1 if setstate is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SETSTATE + /* Define to 1 if setstate_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SETSTATE_R /* Define to 1 if setusershell is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SETUSERSHELL +/* Define to 1 if sigaction is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGACTION + +/* Define to 1 if sigaddset is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGADDSET + +/* Define to 1 if sigdelset is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGDELSET + +/* Define to 1 if sigemptyset is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGEMPTYSET + +/* Define to 1 if sigfillset is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGFILLSET + +/* Define to 1 if sigismember is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGISMEMBER + +/* Define to 1 if sigpending is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGPENDING + +/* Define to 1 if sigprocmask is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SIGPROCMASK + /* Define to 1 if sleep is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SLEEP /* Define to 1 if snprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SNPRINTF +/* Define to 1 if srandom is declared even after undefining macros. */ +#undef HAVE_RAW_DECL_SRANDOM + /* Define to 1 if srandom_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SRANDOM_R @@ -1406,6 +1723,9 @@ /* Define to 1 if _Exit is declared even after undefining macros. */ #undef HAVE_RAW_DECL__EXIT +/* Define to 1 if you have the `readdir' function. */ +#undef HAVE_READDIR + /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK @@ -1421,18 +1741,36 @@ /* Define to 1 if you have the `renameat' function. */ #undef HAVE_RENAMEAT +/* Define to 1 if you have the `rewinddir' function. */ +#undef HAVE_REWINDDIR + /* Define to 1 if you have the `rpmatch' function. */ #undef HAVE_RPMATCH /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H +/* Define to 1 if you have the `secure_getenv' function. */ +#undef HAVE_SECURE_GETENV + +/* Define to 1 if you have the header file. */ +#undef HAVE_SELINUX_CONTEXT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SELINUX_FLASK_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SELINUX_SELINUX_H + /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE +/* Define to 1 if you have the `setxattr' function. */ +#undef HAVE_SETXATTR + /* Define to 1 if you have the header file. */ #undef HAVE_SGTTY_H @@ -1445,6 +1783,9 @@ /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T +/* Define to 1 if the system has the type `sigset_t'. */ +#undef HAVE_SIGSET_T + /* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP @@ -1456,6 +1797,9 @@ buffer had been large enough. */ #undef HAVE_SNPRINTF_RETVAL_C99 +/* Define to 1 if you have the `statacl' function. */ +#undef HAVE_STATACL + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H @@ -1499,15 +1843,9 @@ /* Define to 1 if you have the `strnlen' function. */ #undef HAVE_STRNLEN -/* Define to 1 if you have the `strtoimax' function. */ -#undef HAVE_STRTOIMAX - /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL -/* Define to 1 if you have the `strtoll' function. */ -#undef HAVE_STRTOLL - /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL @@ -1517,34 +1855,37 @@ /* Define to 1 if you have the `strtoumax' function. */ #undef HAVE_STRTOUMAX -/* Define to 1 if `st_atimensec' is member of `struct stat'. */ +/* Define to 1 if `decimal_point' is a member of `struct lconv'. */ +#undef HAVE_STRUCT_LCONV_DECIMAL_POINT + +/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMENSEC -/* Define to 1 if `st_atimespec.tv_nsec' is member of `struct stat'. */ +/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC -/* Define to 1 if `st_atim.st__tim.tv_nsec' is member of `struct stat'. */ +/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC -/* Define to 1 if `st_atim.tv_nsec' is member of `struct stat'. */ +/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC -/* Define to 1 if `st_birthtimensec' is member of `struct stat'. */ +/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC -/* Define to 1 if `st_birthtimespec.tv_nsec' is member of `struct stat'. */ +/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC -/* Define to 1 if `st_birthtim.tv_nsec' is member of `struct stat'. */ +/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC -/* Define to 1 if `st_blksize' is member of `struct stat'. */ +/* Define to 1 if `st_blksize' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLKSIZE -/* Define to 1 if `st_blocks' is member of `struct stat'. */ +/* Define to 1 if `st_blocks' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLOCKS -/* Define to 1 if `tm_zone' is member of `struct tm'. */ +/* Define to 1 if `tm_zone' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_ZONE /* Define if struct utimbuf is declared -- usually in . Some systems @@ -1571,6 +1912,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYSEXITS_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_ACL_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BITYPES_H @@ -1640,6 +1984,9 @@ `HAVE_STRUCT_TM_TM_ZONE' instead. */ #undef HAVE_TM_ZONE +/* Define to 1 if you have the `towlower' function. */ +#undef HAVE_TOWLOWER + /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH @@ -1656,7 +2003,7 @@ /* Define to 1 if you have the `unsetenv' function. */ #undef HAVE_UNSETENV -/* Define to 1 if the system has the type `unsigned long long int'. */ +/* Define to 1 if the system has the type 'unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `utimensat' function. */ @@ -1716,6 +2063,10 @@ /* Define to 1 if you have the `wmempcpy' function. */ #undef HAVE_WMEMPCPY +/* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX + 7.1. */ +#undef HAVE_WORKING_FSTATAT_ZERO_FLAG + /* Define to 1 if O_NOATIME works. */ #undef HAVE_WORKING_O_NOATIME @@ -1725,22 +2076,37 @@ /* Define if utimes works properly. */ #undef HAVE_WORKING_UTIMES +/* Define when we have working linux xattrs. */ +#undef HAVE_XATTRS + +/* Define to 1 if you have the header file. */ +#undef HAVE_XLOCALE_H + /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL +/* Define to 1 if you have the `_fseeki64' function. */ +#undef HAVE__FSEEKI64 + /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME +/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ +#undef HAVE__SET_INVALID_PARAMETER_HANDLER + /* Define to 1 if you have the `__fpending' function. */ #undef HAVE___FPENDING +/* Define to 1 if you have the `__secure_getenv' function. */ +#undef HAVE___SECURE_GETENV + /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST /* Define to 1 if linkat fails to recognize a trailing slash. */ #undef LINKAT_TRAILING_SLASH_BUG -/* Define to 1 if `link(2)' dereferences symbolic links, 0 if it creates hard +/* Define to 1 if 'link(2)' dereferences symbolic links, 0 if it creates hard links to symlinks, -1 if it depends on the variable __xpg4, and -2 if unknown. */ #undef LINK_FOLLOWS_SYMLINKS @@ -1748,7 +2114,7 @@ /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN -/* Define to 1 if `lstat' dereferences a symlink specified with a trailing +/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK @@ -1826,10 +2192,13 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* the number of pending output bytes on stream `fp' */ +/* the number of pending output bytes on stream 'fp' */ #undef PENDING_OUTPUT_N_BYTES /* Define if exists and defines unusable PRI* macros. */ @@ -1883,8 +2252,8 @@ */ #undef REPLACE_OPEN_DIRECTORY -/* Define this to 1 if strerror is broken. */ -#undef REPLACE_STRERROR +/* Define to 1 if strerror(0) does not return a message implying success. */ +#undef REPLACE_STRERROR_0 /* Define if vasnprintf exists but is overridden by gnulib. */ #undef REPLACE_VASNPRINTF @@ -1942,6 +2311,41 @@ /* Define to 1 if unlink() on a parent directory may succeed */ #undef UNLINK_PARENT_BUG +/* Define to nonzero if you want access control list support. */ +#undef USE_ACL + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable general extensions on OS X. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable X/Open extensions if necessary. HP-UX 11.11 defines + mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of + whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +#ifndef _XOPEN_SOURCE +# undef _XOPEN_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + /* Define to 1 if you want getc etc. to use unlocked I/O if available. Unlocked I/O can improve performance in unithreaded apps, but it is not safe for multithreaded apps. */ @@ -1961,73 +2365,150 @@ 'wint_t'. */ #undef WINT_T_SUFFIX +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif + /* Define to the program name of xz compressor program */ #undef XZ_PROGRAM +/* Enable large inode numbers on Mac OS X 10.5. */ +#undef _DARWIN_USE_64_BIT_INODE + /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS +/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct + stat.st_size becomes 64-bit. */ +#undef _GL_WINDOWS_64_BIT_ST_SIZE + /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES +/* Define to 1 on Solaris. */ +#undef _LCONV_C99 + /* Define to 1 if on MINIX. */ #undef _MINIX +/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ +#undef _NETBSD_SOURCE + +/* The _Noreturn keyword of C11. */ +#if ! (defined _Noreturn \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE -/* Define to 1 if you need to in order for `stat' and other things to work. */ +/* Define to 1 if you need to in order for 'stat' and other things to work. */ #undef _POSIX_SOURCE +/* Define if you want to include , so that it consistently + overrides 's RE_DUP_MAX. */ +#undef _REGEX_INCLUDE_LIMITS_H + /* Define if you want regoff_t to be at least as wide POSIX requires. */ #undef _REGEX_LARGE_OFFSETS -/* Define to 500 only on HP-UX. */ -#undef _XOPEN_SOURCE - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX -/* Ensure that defines the limit macros, since gnulib's - relies on them. */ -#if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS 1 +/* Define to `unsigned' if does not define. */ +#undef dev_t + +/* Please see the Gnulib manual for how to use these macros. + + Suppress extern inline with HP-UX cc, as it appears to be broken; see + . + + Suppress extern inline with Sun C in standards-conformance mode, as it + mishandles inline functions that call each other. E.g., for 'inline void f + (void) { } inline void g (void) { f (); }', c99 incorrectly complains + 'reference to static identifier "f" in extern inline function'. + This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + + Suppress the use of extern inline on Apple's platforms, as Libc at least + through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., + . + Perhaps Apple will fix this some day. */ +#if ((__GNUC__ \ + ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + : (199901L <= __STDC_VERSION__ \ + && !defined __HP_cc \ + && !(defined __SUNPRO_C && __STDC__))) \ + && !defined __APPLE__) +# define _GL_INLINE inline +# define _GL_EXTERN_INLINE extern inline +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined __APPLE__) +# if __GNUC_GNU_INLINE__ + /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ +# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) +# else +# define _GL_INLINE extern inline +# endif +# define _GL_EXTERN_INLINE extern +#else +# define _GL_INLINE static _GL_UNUSED +# define _GL_EXTERN_INLINE static _GL_UNUSED #endif +#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ +# define _GL_INLINE_HEADER_CONST_PRAGMA +# else +# define _GL_INLINE_HEADER_CONST_PRAGMA \ + _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") +# endif + /* Suppress GCC's bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + . */ +# define _GL_INLINE_HEADER_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ + _GL_INLINE_HEADER_CONST_PRAGMA +# define _GL_INLINE_HEADER_END \ + _Pragma ("GCC diagnostic pop") +#else +# define _GL_INLINE_HEADER_BEGIN +# define _GL_INLINE_HEADER_END +#endif -/* Define to `unsigned' if does not define. */ -#undef dev_t +/* Always use our fgetfilecon wrapper. */ +#undef fgetfilecon /* Define to a replacement function name for fnmatch(). */ #undef fnmatch +/* Always use our getfilecon wrapper. */ +#undef getfilecon + /* Define to `int' if doesn't define. */ #undef gid_t @@ -2055,13 +2536,19 @@ /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. + __APPLE__ && __MACH__ test for Mac OS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif +/* Always use our lgetfilecon wrapper. */ +#undef lgetfilecon + +/* Define to 1 if the compiler is checking for lint. */ +#undef lint + /* Define to rpl_localtime if the replacement function should be used. */ #undef localtime @@ -2139,13 +2626,14 @@ nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict +# define __restrict__ #endif /* Define to `unsigned int' if does not define. */ @@ -2169,6 +2657,20 @@ is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif + /* Define as a macro for copying va_list variables. */ #undef va_copy diff --git a/configure b/configure index 858b4e79..8b3c4f74 100755 --- a/configure +++ b/configure @@ -1,20 +1,22 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for GNU tar 1.26. +# Generated by GNU Autoconf 2.69 for GNU tar 1.27. # # Report bugs to . # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -22,23 +24,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -46,7 +40,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -57,7 +57,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -80,13 +80,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -96,15 +89,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -116,12 +110,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -133,330 +131,345 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - # CDPATH. -$as_unset CDPATH - - +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST else - as_have_required=no + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. + as_have_required=no fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - case $as_dir in + as_found=: + case $as_dir in #( /*) for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi done;; esac + as_found=false done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } IFS=$as_save_IFS - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-tar@gnu.org +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} } +as_unset=as_fn_unset -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ -if ( set x; as_func_ret_success y && test x = "$1" ); then - : + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error -exitcode=0 -if as_func_success; then - : +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. + as_expr=false fi -if as_func_ret_success; then - : +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. + as_basename=false fi -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname else - exitcode=1 - echo positional parameters were not saved. + as_dirname=false fi -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= @@ -473,9 +486,12 @@ test \$exitcode = 0") || { s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -484,29 +500,18 @@ test \$exitcode = 0") || { exit } - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -521,49 +526,29 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -572,11 +557,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -exec 7<&0 &1 +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -591,14 +576,14 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GNU tar' PACKAGE_TARNAME='tar' -PACKAGE_VERSION='1.26' -PACKAGE_STRING='GNU tar 1.26' +PACKAGE_VERSION='1.27' +PACKAGE_STRING='GNU tar 1.27' PACKAGE_BUGREPORT='bug-tar@gnu.org' +PACKAGE_URL='http://www.gnu.org/software/tar/' ac_unique_file="src/tar.c" # Factoring default headers for most tests. @@ -673,7 +658,14 @@ DEFAULT_QUOTING_STYLE DEFAULT_BLOCKING DEFAULT_ARCHIVE DEFAULT_ARCHIVE_FORMAT +RSH LIBOBJS +TAR_COND_XATTR_H_FALSE +TAR_COND_XATTR_H_TRUE +GNULIB_TEST_WARN_CFLAGS +GNULIB_WARN_CFLAGS +WARN_CFLAGS +WERROR_CFLAGS DEFAULT_RMT_COMMAND DEFAULT_RMT_DIR PU_RMT_PROG @@ -696,30 +688,63 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC TIME_H_DEFINES_STRUCT_TIMESPEC NEXT_AS_FIRST_DIRECTIVE_TIME_H NEXT_TIME_H +GL_GENERATE_SYSEXITS_H_FALSE +GL_GENERATE_SYSEXITS_H_TRUE SYSEXITS_H HAVE_SYSEXITS_H NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H NEXT_SYSEXITS_H -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H -NEXT_SYS_STAT_H +HAVE_STRINGS_H NEXT_AS_FIRST_DIRECTIVE_STRINGS_H NEXT_STRINGS_H NEXT_AS_FIRST_DIRECTIVE_STRING_H NEXT_STRING_H HAVE_DECL_STRNCASECMP HAVE_STRCASECMP +HAVE_FFS +GNULIB_FFS NEXT_AS_FIRST_DIRECTIVE_STDLIB_H NEXT_STDLIB_H NEXT_AS_FIRST_DIRECTIVE_STDIO_H NEXT_STDIO_H -NEXT_AS_FIRST_DIRECTIVE_STDDEF_H -NEXT_STDDEF_H -STDDEF_H -HAVE_WCHAR_T -REPLACE_NULL +GL_GENERATE_STDARG_H_FALSE +GL_GENERATE_STDARG_H_TRUE +STDARG_H NEXT_AS_FIRST_DIRECTIVE_STDARG_H NEXT_STDARG_H -STDARG_H +GL_GENERATE_STDALIGN_H_FALSE +GL_GENERATE_STDALIGN_H_TRUE +STDALIGN_H +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H +NEXT_SIGNAL_H +GL_GENERATE_SELINUX_CONTEXT_H_FALSE +GL_GENERATE_SELINUX_CONTEXT_H_TRUE +SELINUX_CONTEXT_H +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H +NEXT_SELINUX_SELINUX_H +LIB_SELINUX +REPLACE_RAISE +REPLACE_PTHREAD_SIGMASK +HAVE_SIGHANDLER_T +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T +HAVE_STRUCT_SIGACTION_SA_SIGACTION +HAVE_SIGACTION +HAVE_SIGINFO_T +HAVE_SIGSET_T +HAVE_RAISE +HAVE_PTHREAD_SIGMASK +HAVE_POSIX_SIGNALBLOCKING +GNULIB_SIGACTION +GNULIB_SIGPROCMASK +GNULIB_SIGNAL_H_SIGPIPE +GNULIB_RAISE +GNULIB_PTHREAD_SIGMASK +USE_ACL +LIB_ACL +HAVE__BOOL +GL_GENERATE_STDBOOL_H_FALSE +GL_GENERATE_STDBOOL_H_TRUE +STDBOOL_H REPLACE_TIMEGM REPLACE_NANOSLEEP REPLACE_MKTIME @@ -741,6 +766,7 @@ REPLACE_STRNDUP REPLACE_STRNCAT REPLACE_STRERROR_R REPLACE_STRERROR +REPLACE_STRCHRNUL REPLACE_STRCASESTR REPLACE_STRSTR REPLACE_STRDUP @@ -765,6 +791,8 @@ HAVE_DECL_MEMRCHR HAVE_MEMPCPY HAVE_DECL_MEMMEM HAVE_MEMCHR +HAVE_FFSLL +HAVE_FFSL HAVE_MBSLEN GNULIB_STRVERSCMP GNULIB_STRSIGNAL @@ -801,9 +829,29 @@ GNULIB_MEMRCHR GNULIB_MEMPCPY GNULIB_MEMMEM GNULIB_MEMCHR +GNULIB_FFSLL +GNULIB_FFSL LOCALE_FR_UTF8 LOCALE_ZH_CN LOCALE_JA +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H +NEXT_LOCALE_H +HAVE_XLOCALE_H +NEXT_AS_FIRST_DIRECTIVE_STDDEF_H +NEXT_STDDEF_H +GL_GENERATE_STDDEF_H_FALSE +GL_GENERATE_STDDEF_H_TRUE +STDDEF_H +HAVE_WCHAR_T +REPLACE_NULL +REPLACE_STRUCT_LCONV +REPLACE_DUPLOCALE +REPLACE_SETLOCALE +REPLACE_LOCALECONV +HAVE_DUPLOCALE +GNULIB_DUPLOCALE +GNULIB_SETLOCALE +GNULIB_LOCALECONV LOCALCHARSET_TESTS_ENVIRONMENT GLIBC21 HAVE_LANGINFO_YESEXPR @@ -816,6 +864,7 @@ NEXT_LANGINFO_H REPLACE_NL_LANGINFO HAVE_NL_LANGINFO GNULIB_NL_LANGINFO +REPLACE_TOWLOWER REPLACE_ISWCNTRL HAVE_WCTYPE_H NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H @@ -831,13 +880,15 @@ GNULIB_WCTRANS GNULIB_ISWCTYPE GNULIB_WCTYPE GNULIB_ISWBLANK +NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H +NEXT_INTTYPES_H UINT64_MAX_EQ_ULONG_MAX UINT32_MAX_LT_UINTMAX_MAX +PRIPTR_PREFIX +PRI_MACROS_BROKEN INT64_MAX_EQ_LONG_MAX INT32_MAX_LT_INTMAX_MAX -PRIPTR_PREFIX -NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H -NEXT_INTTYPES_H +REPLACE_STRTOIMAX HAVE_DECL_STRTOUMAX HAVE_DECL_STRTOIMAX HAVE_DECL_IMAXDIV @@ -846,7 +897,8 @@ GNULIB_STRTOUMAX GNULIB_STRTOIMAX GNULIB_IMAXDIV GNULIB_IMAXABS -PRI_MACROS_BROKEN +GL_GENERATE_STDINT_H_FALSE +GL_GENERATE_STDINT_H_TRUE STDINT_H WINT_T_SUFFIX WCHAR_T_SUFFIX @@ -872,10 +924,9 @@ HAVE_INTTYPES_H HAVE_WCHAR_H HAVE_UNSIGNED_LONG_LONG_INT HAVE_LONG_LONG_INT -HAVE__BOOL -STDBOOL_H NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H NEXT_SYS_TIME_H +REPLACE_STRUCT_TIMEVAL REPLACE_GETTIMEOFDAY HAVE_SYS_TIME_H HAVE_STRUCT_TIMEVAL @@ -883,15 +934,17 @@ HAVE_GETTIMEOFDAY GNULIB_GETTIMEOFDAY LTLIBINTL LIBINTL +GNULIB_GL_UNISTD_H_GETOPT +GETOPT_H HAVE_GETOPT_H NEXT_AS_FIRST_DIRECTIVE_GETOPT_H NEXT_GETOPT_H -FNMATCH_H -FLOAT_H -NEXT_AS_FIRST_DIRECTIVE_FLOAT_H -NEXT_FLOAT_H -NEXT_AS_FIRST_DIRECTIVE_FCNTL_H -NEXT_FCNTL_H +WINDOWS_64_BIT_ST_SIZE +NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H +NEXT_SYS_STAT_H +WINDOWS_64_BIT_OFF_T +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H +NEXT_SYS_TYPES_H REPLACE_VSPRINTF REPLACE_VSNPRINTF REPLACE_VPRINTF @@ -900,6 +953,7 @@ REPLACE_VDPRINTF REPLACE_VASPRINTF REPLACE_TMPFILE REPLACE_STDIO_WRITE_FUNCS +REPLACE_STDIO_READ_FUNCS REPLACE_SPRINTF REPLACE_SNPRINTF REPLACE_RENAMEAT @@ -920,11 +974,14 @@ REPLACE_FPURGE REPLACE_FPRINTF REPLACE_FOPEN REPLACE_FFLUSH +REPLACE_FDOPEN REPLACE_FCLOSE REPLACE_DPRINTF HAVE_VDPRINTF HAVE_VASPRINTF HAVE_RENAMEAT +HAVE_POPEN +HAVE_PCLOSE HAVE_FTELLO HAVE_FSEEKO HAVE_DPRINTF @@ -943,11 +1000,15 @@ GNULIB_VPRINTF GNULIB_VFPRINTF_POSIX GNULIB_VFPRINTF GNULIB_VDPRINTF +GNULIB_VSCANF +GNULIB_VFSCANF GNULIB_VASPRINTF GNULIB_TMPFILE GNULIB_STDIO_H_SIGPIPE +GNULIB_STDIO_H_NONBLOCKING GNULIB_SPRINTF_POSIX GNULIB_SNPRINTF +GNULIB_SCANF GNULIB_RENAMEAT GNULIB_RENAME GNULIB_REMOVE @@ -958,25 +1019,44 @@ GNULIB_PRINTF_POSIX GNULIB_PRINTF GNULIB_POPEN GNULIB_PERROR +GNULIB_PCLOSE GNULIB_OBSTACK_PRINTF_POSIX GNULIB_OBSTACK_PRINTF GNULIB_GETLINE GNULIB_GETDELIM +GNULIB_GETCHAR +GNULIB_GETC GNULIB_FWRITE GNULIB_FTELLO GNULIB_FTELL GNULIB_FSEEKO GNULIB_FSEEK +GNULIB_FSCANF GNULIB_FREOPEN +GNULIB_FREAD GNULIB_FPUTS GNULIB_FPUTC GNULIB_FPURGE GNULIB_FPRINTF_POSIX GNULIB_FPRINTF GNULIB_FOPEN +GNULIB_FGETS +GNULIB_FGETC GNULIB_FFLUSH +GNULIB_FDOPEN GNULIB_FCLOSE GNULIB_DPRINTF +GL_GENERATE_FNMATCH_H_FALSE +GL_GENERATE_FNMATCH_H_TRUE +FNMATCH_H +REPLACE_ITOLD +GL_GENERATE_FLOAT_H_FALSE +GL_GENERATE_FLOAT_H_TRUE +FLOAT_H +NEXT_AS_FIRST_DIRECTIVE_FLOAT_H +NEXT_FLOAT_H +NEXT_AS_FIRST_DIRECTIVE_FCNTL_H +NEXT_FCNTL_H REPLACE_OPENAT REPLACE_OPEN REPLACE_FCNTL @@ -984,6 +1064,7 @@ HAVE_OPENAT HAVE_FCNTL GNULIB_OPENAT GNULIB_OPEN +GNULIB_NONBLOCKING GNULIB_FCNTL REPLACE_UTIMENSAT REPLACE_STAT @@ -1016,6 +1097,7 @@ GNULIB_LSTAT GNULIB_LCHMOD GNULIB_FUTIMENS GNULIB_FSTATAT +GNULIB_FSTAT GNULIB_FCHMODAT EOVERFLOW_VALUE EOVERFLOW_HIDDEN @@ -1023,30 +1105,43 @@ ENOLINK_VALUE ENOLINK_HIDDEN EMULTIHOP_VALUE EMULTIHOP_HIDDEN +GL_GENERATE_ERRNO_H_FALSE +GL_GENERATE_ERRNO_H_TRUE ERRNO_H NEXT_AS_FIRST_DIRECTIVE_ERRNO_H NEXT_ERRNO_H +HAVE_DIRENT_H NEXT_AS_FIRST_DIRECTIVE_DIRENT_H NEXT_DIRENT_H PRAGMA_COLUMNS PRAGMA_SYSTEM_HEADER INCLUDE_NEXT_AS_FIRST_DIRECTIVE INCLUDE_NEXT -REPLACE_OPENDIR +pkglibexecdir +lispdir REPLACE_FDOPENDIR REPLACE_DIRFD REPLACE_CLOSEDIR +REPLACE_OPENDIR HAVE_ALPHASORT HAVE_SCANDIR HAVE_FDOPENDIR HAVE_DECL_FDOPENDIR HAVE_DECL_DIRFD +HAVE_CLOSEDIR +HAVE_REWINDDIR +HAVE_READDIR +HAVE_OPENDIR GNULIB_ALPHASORT GNULIB_SCANDIR GNULIB_FDOPENDIR GNULIB_DIRFD -pkglibexecdir -lispdir +GNULIB_CLOSEDIR +GNULIB_REWINDDIR +GNULIB_READDIR +GNULIB_OPENDIR +HAVE_WINSOCK2_H +HAVE_MSVC_INVALID_PARAMETER_HANDLER LIB_CLOCK_GETTIME UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS UNISTD_H_HAVE_WINSOCK2_H @@ -1059,17 +1154,20 @@ REPLACE_SYMLINK REPLACE_SLEEP REPLACE_RMDIR REPLACE_READLINK +REPLACE_READ REPLACE_PWRITE REPLACE_PREAD REPLACE_LSEEK REPLACE_LINKAT REPLACE_LINK REPLACE_LCHOWN +REPLACE_ISATTY REPLACE_GETPAGESIZE REPLACE_GETGROUPS REPLACE_GETLOGIN_R REPLACE_GETDOMAINNAME REPLACE_GETCWD +REPLACE_FTRUNCATE REPLACE_FCHOWNAT REPLACE_DUP2 REPLACE_DUP @@ -1078,10 +1176,12 @@ REPLACE_CHOWN HAVE_SYS_PARAM_H HAVE_OS_H HAVE_DECL_TTYNAME_R +HAVE_DECL_SETHOSTNAME HAVE_DECL_GETUSERSHELL HAVE_DECL_GETPAGESIZE HAVE_DECL_GETLOGIN_R HAVE_DECL_GETDOMAINNAME +HAVE_DECL_FDATASYNC HAVE_DECL_FCHDIR HAVE_DECL_ENVIRON HAVE_USLEEP @@ -1089,6 +1189,7 @@ HAVE_UNLINKAT HAVE_SYMLINKAT HAVE_SYMLINK HAVE_SLEEP +HAVE_SETHOSTNAME HAVE_READLINKAT HAVE_READLINK HAVE_PWRITE @@ -1098,6 +1199,7 @@ HAVE_PIPE HAVE_LINKAT HAVE_LINK HAVE_LCHOWN +HAVE_GROUP_MEMBER HAVE_GETPAGESIZE HAVE_GETLOGIN HAVE_GETHOSTNAME @@ -1105,6 +1207,7 @@ HAVE_GETGROUPS HAVE_GETDTABLESIZE HAVE_FTRUNCATE HAVE_FSYNC +HAVE_FDATASYNC HAVE_FCHOWNAT HAVE_FCHDIR HAVE_FACCESSAT @@ -1117,14 +1220,16 @@ GNULIB_USLEEP GNULIB_UNLINKAT GNULIB_UNLINK GNULIB_UNISTD_H_SIGPIPE -GNULIB_UNISTD_H_GETOPT +GNULIB_UNISTD_H_NONBLOCKING GNULIB_TTYNAME_R GNULIB_SYMLINKAT GNULIB_SYMLINK GNULIB_SLEEP +GNULIB_SETHOSTNAME GNULIB_RMDIR GNULIB_READLINKAT GNULIB_READLINK +GNULIB_READ GNULIB_PWRITE GNULIB_PREAD GNULIB_PIPE2 @@ -1133,6 +1238,8 @@ GNULIB_LSEEK GNULIB_LINKAT GNULIB_LINK GNULIB_LCHOWN +GNULIB_ISATTY +GNULIB_GROUP_MEMBER GNULIB_GETUSERSHELL GNULIB_GETPAGESIZE GNULIB_GETLOGIN_R @@ -1144,6 +1251,7 @@ GNULIB_GETDOMAINNAME GNULIB_GETCWD GNULIB_FTRUNCATE GNULIB_FSYNC +GNULIB_FDATASYNC GNULIB_FCHOWNAT GNULIB_FCHDIR GNULIB_FACCESSAT @@ -1151,15 +1259,20 @@ GNULIB_EUIDACCESS GNULIB_ENVIRON GNULIB_DUP3 GNULIB_DUP2 +GNULIB_DUP GNULIB_CLOSE GNULIB_CHOWN +GNULIB_CHDIR REPLACE_WCTOMB REPLACE_UNSETENV REPLACE_STRTOD REPLACE_SETENV REPLACE_REALPATH REPLACE_REALLOC +REPLACE_RANDOM_R REPLACE_PUTENV +REPLACE_PTSNAME_R +REPLACE_PTSNAME REPLACE_MKSTEMP REPLACE_MBTOWC REPLACE_MALLOC @@ -1174,11 +1287,15 @@ HAVE_STRTOLL HAVE_STRTOD HAVE_DECL_SETENV HAVE_SETENV +HAVE_SECURE_GETENV HAVE_RPMATCH HAVE_REALPATH HAVE_RANDOM_R HAVE_RANDOM_H +HAVE_RANDOM +HAVE_PTSNAME_R HAVE_PTSNAME +HAVE_POSIX_OPENPT HAVE_MKSTEMPS HAVE_MKSTEMP HAVE_MKOSTEMPS @@ -1198,12 +1315,16 @@ GNULIB_STRTOULL GNULIB_STRTOLL GNULIB_STRTOD GNULIB_SETENV +GNULIB_SECURE_GETENV GNULIB_RPMATCH GNULIB_REALPATH GNULIB_REALLOC_POSIX GNULIB_RANDOM_R +GNULIB_RANDOM GNULIB_PUTENV +GNULIB_PTSNAME_R GNULIB_PTSNAME +GNULIB_POSIX_OPENPT GNULIB_MKSTEMPS GNULIB_MKSTEMP GNULIB_MKOSTEMPS @@ -1310,14 +1431,6 @@ GNULIB_MBRTOWC GNULIB_MBSINIT GNULIB_WCTOB GNULIB_BTOWC -GETOPT_H -ALLOCA_H -ALLOCA -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -EGREP -GREP -CPP host_os host_vendor host_cpu @@ -1326,12 +1439,24 @@ build_os build_vendor build_cpu build +GL_GENERATE_ALLOCA_H_FALSE +GL_GENERATE_ALLOCA_H_TRUE +ALLOCA_H +ALLOCA +GL_COND_LIBTOOL_FALSE +GL_COND_LIBTOOL_TRUE +ARFLAGS +AR +EGREP +GREP +CPP YFLAGS YACC RANLIB am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -1347,6 +1472,8 @@ CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V am__untar am__tar AMTAR @@ -1400,6 +1527,7 @@ bindir program_transform_name prefix exec_prefix +PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -1413,11 +1541,16 @@ enable_option_checking enable_silent_rules enable_dependency_tracking enable_largefile +with_posix_acls +enable_acl with_included_regex +with_selinux with_packager with_packager_version with_packager_bug_reports with_rmt +enable_gcc_warnings +with_xattrs with_compress with_gzip with_bzip2 @@ -1444,6 +1577,7 @@ YACC YFLAGS CPP DEFAULT_RMT_DIR +RSH DEFAULT_ARCHIVE_FORMAT DEFAULT_ARCHIVE DEFAULT_BLOCKING @@ -1510,8 +1644,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1556,8 +1691,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1583,8 +1717,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1788,8 +1921,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1805,8 +1937,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1836,17 +1967,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1855,7 +1986,7 @@ Try \`$0 --help' for more information." >&2 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1863,15 +1994,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1894,8 +2023,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1909,8 +2037,6 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1925,11 +2051,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1968,13 +2092,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -2000,7 +2122,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU tar 1.26 to adapt to many kinds of systems. +\`configure' configures GNU tar 1.27 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2014,7 +2136,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -2070,7 +2192,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU tar 1.26:";; + short | recursive ) echo "Configuration of GNU tar 1.27:";; esac cat <<\_ACEOF @@ -2078,11 +2200,16 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build --disable-largefile omit support for large files + --disable-acl do not support ACLs + --enable-gcc-warnings turn on many GCC warnings (for developers; best with + GNU make) --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support --enable-backup-scripts Create and install backup and restore scripts @@ -2090,16 +2217,19 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --without-posix-acls do not use POSIX.1e access control lists --without-included-regex don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems). + --without-selinux do not use SELinux, even on systems with SELinux --with-packager String identifying the packager of this software --with-packager-version Packager-specific version information --with-packager-bug-reports Packager info for bug reports (URL/e-mail/...) --with-rmt=FILE Use FILE as the default `rmt' program. Do not build included copy of `rmt'. + --without-xattrs don't use linux extended attributes --with-compress=PROG use PROG as compress compressor program --with-gzip=PROG use PROG as gzip compressor program --with-bzip2=PROG use PROG as bzip2 compressor program @@ -2107,7 +2237,7 @@ Optional Packages: --with-lzma=PROG use PROG as lzma compressor program --with-lzop=PROG use PROG as lzop compressor program --with-xz=PROG use PROG as xz compressor program - --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib @@ -2119,10 +2249,11 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory - YACC The `Yet Another C Compiler' implementation to use. Defaults to - the first program found out of: `bison -y', `byacc', `yacc'. + YACC The `Yet Another Compiler Compiler' implementation to use. + Defaults to the first program found out of: `bison -y', `byacc', + `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. @@ -2130,6 +2261,7 @@ Some influential environment variables: DEFAULT_RMT_DIR Define full file name of the directory where to install `rmt'. (default: $(libexecdir)) + RSH Configure absolute path to default remote shell binary DEFAULT_ARCHIVE_FORMAT Set the default archive format. Allowed values are: V7, OLDGNU, USTAR, POSIX, GNU. Default is GNU @@ -2146,6 +2278,8 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . +GNU tar home page: . +General help using GNU software: . _ACEOF ac_status=$? fi @@ -2208,22 +2342,717 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU tar configure 1.26 -generated by GNU Autoconf 2.63 +GNU tar configure 1.27 +generated by GNU Autoconf 2.69 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ------------------------------ ## +## Report this to bug-tar@gnu.org ## +## ------------------------------ ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 &5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_member cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU tar $as_me 1.26, which was -generated by GNU Autoconf 2.63. Invocation command line was +It was created by GNU tar $as_me 1.27, which was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2259,8 +3088,8 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS } >&5 @@ -2297,9 +3126,9 @@ do ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -2315,13 +3144,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -2333,11 +3162,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2346,13 +3173,13 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -2371,11 +3198,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2388,11 +3213,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2406,11 +3229,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2424,46 +3245,53 @@ _ASBOX exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h +$as_echo "/* confdefs.h */" > confdefs.h + # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2474,19 +3302,23 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; @@ -2494,115 +3326,123 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi -ac_header_list="$ac_header_list fcntl.h" -ac_header_list="$ac_header_list linux/fd.h" -ac_header_list="$ac_header_list memory.h" -ac_header_list="$ac_header_list net/errno.h" -ac_header_list="$ac_header_list sgtty.h" -ac_header_list="$ac_header_list string.h" -ac_header_list="$ac_header_list sys/param.h" -ac_header_list="$ac_header_list sys/device.h" -ac_header_list="$ac_header_list sys/gentape.h" -ac_header_list="$ac_header_list sys/inet.h" -ac_header_list="$ac_header_list sys/io/trioctl.h" -ac_header_list="$ac_header_list sys/mtio.h" -ac_header_list="$ac_header_list sys/time.h" -ac_header_list="$ac_header_list sys/tprintf.h" -ac_header_list="$ac_header_list sys/tape.h" -ac_header_list="$ac_header_list unistd.h" -ac_header_list="$ac_header_list locale.h" -ac_func_list="$ac_func_list flockfile" -ac_func_list="$ac_func_list funlockfile" -ac_header_list="$ac_header_list features.h" -ac_header_list="$ac_header_list linewrap.h" -ac_func_list="$ac_func_list pathconf" -ac_func_list="$ac_func_list btowc" -ac_func_list="$ac_func_list canonicalize_file_name" -ac_func_list="$ac_func_list getcwd" -ac_func_list="$ac_func_list readlink" -ac_func_list="$ac_func_list realpath" -ac_func_list="$ac_func_list chown" -ac_func_list="$ac_func_list fchown" -ac_header_list="$ac_header_list dirent.h" -ac_func_list="$ac_func_list fdopendir" -ac_func_list="$ac_func_list dup2" -ac_func_list="$ac_func_list fcntl" -ac_func_list="$ac_func_list fchdir" -ac_func_list="$ac_func_list mempcpy" -ac_func_list="$ac_func_list isblank" -ac_func_list="$ac_func_list iswctype" -ac_func_list="$ac_func_list mbsrtowcs" -ac_func_list="$ac_func_list wmemchr" -ac_func_list="$ac_func_list wmemcpy" -ac_func_list="$ac_func_list wmempcpy" -ac_header_list="$ac_header_list wctype.h" +as_fn_append ac_header_list " fcntl.h" +as_fn_append ac_header_list " linux/fd.h" +as_fn_append ac_header_list " memory.h" +as_fn_append ac_header_list " net/errno.h" +as_fn_append ac_header_list " sgtty.h" +as_fn_append ac_header_list " string.h" +as_fn_append ac_header_list " sys/param.h" +as_fn_append ac_header_list " sys/device.h" +as_fn_append ac_header_list " sys/gentape.h" +as_fn_append ac_header_list " sys/inet.h" +as_fn_append ac_header_list " sys/io/trioctl.h" +as_fn_append ac_header_list " sys/mtio.h" +as_fn_append ac_header_list " sys/time.h" +as_fn_append ac_header_list " sys/tprintf.h" +as_fn_append ac_header_list " sys/tape.h" +as_fn_append ac_header_list " unistd.h" +as_fn_append ac_header_list " locale.h" +as_fn_append ac_func_list " flockfile" +as_fn_append ac_func_list " funlockfile" +as_fn_append ac_header_list " features.h" +as_fn_append ac_header_list " linewrap.h" +as_fn_append ac_func_list " pathconf" +as_fn_append ac_func_list " btowc" +as_fn_append ac_func_list " canonicalize_file_name" +as_fn_append ac_func_list " getcwd" +as_fn_append ac_func_list " readlink" +as_fn_append ac_func_list " realpath" +as_fn_append ac_func_list " readlinkat" +as_fn_append ac_func_list " chown" +as_fn_append ac_func_list " fchown" +as_fn_append ac_func_list " _set_invalid_parameter_handler" +as_fn_append ac_header_list " sys/socket.h" +as_fn_append ac_func_list " fchdir" +as_fn_append ac_header_list " dirent.h" +as_fn_append ac_func_list " fdopendir" +as_fn_append ac_func_list " fchmodat" +as_fn_append ac_func_list " lchmod" +as_fn_append ac_func_list " fcntl" +as_fn_append ac_func_list " symlink" +as_fn_append ac_func_list " mempcpy" +as_fn_append ac_func_list " isblank" +as_fn_append ac_func_list " iswctype" +as_fn_append ac_func_list " mbsrtowcs" +as_fn_append ac_func_list " wmemchr" +as_fn_append ac_func_list " wmemcpy" +as_fn_append ac_func_list " wmempcpy" +as_fn_append ac_header_list " wctype.h" gl_fnmatch_required=GNU -ac_header_list="$ac_header_list stdio_ext.h" -ac_func_list="$ac_func_list __fpending" -ac_func_list="$ac_func_list futimens" -ac_func_list="$ac_func_list getdelim" -ac_func_list="$ac_func_list getdtablesize" +as_fn_append ac_header_list " stdio_ext.h" +as_fn_append ac_func_list " __fpending" +as_fn_append ac_header_list " sys/stat.h" +as_fn_append ac_func_list " fstatat" +as_fn_append ac_func_list " futimens" +as_fn_append ac_func_list " getdelim" +as_fn_append ac_func_list " getdtablesize" gl_getopt_required=GNU -ac_header_list="$ac_header_list getopt.h" -ac_func_list="$ac_func_list gettimeofday" -ac_func_list="$ac_func_list nanotime" -ac_header_list="$ac_header_list wchar.h" -ac_header_list="$ac_header_list stdint.h" -ac_header_list="$ac_header_list inttypes.h" -ac_func_list="$ac_func_list iswcntrl" -ac_func_list="$ac_func_list iswblank" -ac_header_list="$ac_header_list langinfo.h" -ac_func_list="$ac_func_list lchmod" -ac_func_list="$ac_func_list link" -ac_func_list="$ac_func_list linkat" -ac_func_list="$ac_func_list symlink" -ac_func_list="$ac_func_list lstat" -ac_func_list="$ac_func_list mbsinit" -ac_func_list="$ac_func_list mbrtowc" -ac_header_list="$ac_header_list sys/mman.h" -ac_func_list="$ac_func_list mprotect" -ac_func_list="$ac_func_list memchr" -ac_func_list="$ac_func_list mkfifo" -ac_func_list="$ac_func_list mkfifoat" -ac_func_list="$ac_func_list mknodat" -ac_func_list="$ac_func_list mknod" -ac_func_list="$ac_func_list alarm" -ac_func_list="$ac_func_list nl_langinfo" -ac_header_list="$ac_header_list priv.h" -ac_func_list="$ac_func_list readlinkat" -ac_func_list="$ac_func_list wcscoll" -ac_func_list="$ac_func_list renameat" -ac_func_list="$ac_func_list setenv" -ac_func_list="$ac_func_list sleep" -ac_func_list="$ac_func_list strdup" -ac_header_list="$ac_header_list sys/socket.h" -ac_header_list="$ac_header_list strings.h" -ac_func_list="$ac_func_list strndup" -ac_func_list="$ac_func_list symlinkat" -ac_header_list="$ac_header_list sys/stat.h" -ac_header_list="$ac_header_list sysexits.h" -ac_func_list="$ac_func_list localtime_r" -ac_func_list="$ac_func_list pipe" -ac_header_list="$ac_header_list utime.h" -ac_func_list="$ac_func_list futimes" -ac_func_list="$ac_func_list futimesat" -ac_func_list="$ac_func_list utimensat" -ac_func_list="$ac_func_list lutimes" -ac_func_list="$ac_func_list vasnprintf" -ac_func_list="$ac_func_list wcrtomb" -ac_func_list="$ac_func_list wcwidth" -ac_header_list="$ac_header_list netdb.h" -ac_header_list="$ac_header_list sys/wait.h" -ac_header_list="$ac_header_list pwd.h" -ac_header_list="$ac_header_list grp.h" -ac_func_list="$ac_func_list setlocale" -ac_func_list="$ac_func_list fchmod" -ac_func_list="$ac_func_list fsync" +as_fn_append ac_header_list " getopt.h" +as_fn_append ac_func_list " gettimeofday" +as_fn_append ac_func_list " nanotime" +as_fn_append ac_header_list " wchar.h" +as_fn_append ac_header_list " stdint.h" +as_fn_append ac_header_list " inttypes.h" +as_fn_append ac_func_list " iswcntrl" +as_fn_append ac_func_list " iswblank" +as_fn_append ac_header_list " langinfo.h" +as_fn_append ac_func_list " link" +as_fn_append ac_func_list " openat" +as_fn_append ac_func_list " linkat" +as_fn_append ac_header_list " xlocale.h" +as_fn_append ac_func_list " lstat" +as_fn_append ac_func_list " mbsinit" +as_fn_append ac_func_list " mbrtowc" +as_fn_append ac_header_list " sys/mman.h" +as_fn_append ac_func_list " mprotect" +as_fn_append ac_func_list " mkdirat" +as_fn_append ac_func_list " mkfifo" +as_fn_append ac_func_list " mkfifoat" +as_fn_append ac_func_list " mknodat" +as_fn_append ac_func_list " mknod" +as_fn_append ac_func_list " nl_langinfo" +as_fn_append ac_header_list " priv.h" +as_fn_append ac_func_list " wcscoll" +as_fn_append ac_func_list " renameat" +as_fn_append ac_func_list " secure_getenv" +as_fn_append ac_header_list " selinux/selinux.h" +as_fn_append ac_func_list " setenv" +as_fn_append ac_func_list " sleep" +as_fn_append ac_func_list " snprintf" +as_fn_append ac_func_list " strdup" +as_fn_append ac_header_list " strings.h" +as_fn_append ac_func_list " strndup" +as_fn_append ac_func_list " strtoumax" +as_fn_append ac_func_list " symlinkat" +as_fn_append ac_header_list " sysexits.h" +as_fn_append ac_func_list " localtime_r" +as_fn_append ac_func_list " pipe" +as_fn_append ac_func_list " unlinkat" +as_fn_append ac_header_list " utime.h" +as_fn_append ac_func_list " futimes" +as_fn_append ac_func_list " futimesat" +as_fn_append ac_func_list " utimensat" +as_fn_append ac_func_list " lutimes" +as_fn_append ac_func_list " vasnprintf" +as_fn_append ac_func_list " wcrtomb" +as_fn_append ac_func_list " wcwidth" +as_fn_append ac_header_list " netdb.h" +as_fn_append ac_header_list " sys/wait.h" +as_fn_append ac_header_list " pwd.h" +as_fn_append ac_header_list " grp.h" +as_fn_append ac_func_list " setlocale" +as_fn_append ac_func_list " fchmod" +as_fn_append ac_func_list " fsync" gt_needs="$gt_needs need-formatstring-macros" # Check that the precious variables saved in the cache have kept the same # value. @@ -2614,11 +3454,11 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; @@ -2628,17 +3468,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac @@ -2650,43 +3490,20 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi - - - - - - - - - - - - - - - - - - - - - - - - +## -------------------- ## +## Main body of script. ## +## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2713,9 +3530,7 @@ for ac_dir in build-aux "$srcdir"/build-aux; do fi done if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2730,7 +3545,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers config.h" -am__api_version='1.11' +am__api_version='1.12' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2746,10 +3561,10 @@ am__api_version='1.11' # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2757,11 +3572,11 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2769,7 +3584,7 @@ case $as_dir/ in # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2798,7 +3613,7 @@ case $as_dir/ in ;; esac -done + done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -2814,7 +3629,7 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -2825,68 +3640,73 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 -$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 -$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$2" = conftest.file ) then # Ok. : else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -2913,8 +3733,8 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then @@ -2926,17 +3746,17 @@ if test x"${install_sh}" != xset; then esac fi -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. +# will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -2947,24 +3767,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2974,9 +3794,9 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -2987,24 +3807,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3013,7 +3833,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -3026,10 +3846,10 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then + if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3037,9 +3857,9 @@ for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do + for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -3049,11 +3869,12 @@ do esac done done -done + done IFS=$as_save_IFS fi + test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else @@ -3061,27 +3882,19 @@ fi # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -3092,24 +3905,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3117,11 +3930,11 @@ fi test -n "$AWK" && break done -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -3129,7 +3942,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -3139,11 +3952,11 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -3158,15 +3971,42 @@ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then +if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=1;; +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then @@ -3175,9 +4015,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -3193,7 +4031,7 @@ fi # Define the identity of the package. PACKAGE='tar' - VERSION='1.26' + VERSION='1.27' cat >>confdefs.h <<_ACEOF @@ -3221,20 +4059,26 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' -AMTAR=${AMTAR-"${am_missing_run}tar"} - -{ $as_echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 $as_echo_n "checking how to create a ustar tar archive... " >&6; } # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar plaintar pax cpio none' _am_tools=${am_cv_prog_tar_ustar-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. +# Solaris sh will not grok spaces in the rhs of '-'. for _am_tool in $_am_tools do case $_am_tool in @@ -3301,13 +4145,13 @@ do done rm -rf conftest.dir -if test "${am_cv_prog_tar_ustar+set}" = set; then +if ${am_cv_prog_tar_ustar+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_prog_tar_ustar=$_am_tool fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 $as_echo "$am_cv_prog_tar_ustar" >&6; } @@ -3317,15 +4161,42 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; } # Enable silent rules by default: # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then +if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=0;; +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi AM_BACKSLASH='\' @@ -3337,9 +4208,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3350,24 +4221,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3377,9 +4248,9 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3390,24 +4261,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3416,7 +4287,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -3430,9 +4301,9 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3443,24 +4314,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3470,9 +4341,9 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3484,18 +4355,18 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then @@ -3514,10 +4385,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3529,9 +4400,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3542,24 +4413,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3573,9 +4444,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3586,24 +4457,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -3616,7 +4487,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -3627,57 +4498,37 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3693,8 +4544,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -3710,17 +4561,17 @@ do done rm -f $ac_rmfiles -if { (ac_try="$ac_link_default" +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -3737,7 +4588,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -3756,84 +4607,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" +if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3848,32 +4656,83 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3885,17 +4744,17 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -3908,31 +4767,23 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3946,37 +4797,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -3985,20 +4815,16 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4009,35 +4835,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4048,36 +4850,12 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_c_werror_flag=$ac_save_c_werror_flag +else + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4088,42 +4866,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -4140,23 +4893,18 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -4208,32 +4956,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -4244,17 +4969,19 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4273,14 +5000,14 @@ am__doit: .PHONY: am__doit END # If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -4301,18 +5028,19 @@ if test "$am__include" = "#"; then fi -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then +if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -4326,17 +5054,18 @@ fi depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -4370,16 +5099,16 @@ else : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -4388,16 +5117,16 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -4436,7 +5165,7 @@ else fi fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type @@ -4455,9 +5184,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -4468,24 +5197,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4495,9 +5224,9 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -4508,24 +5237,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4534,7 +5263,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4548,9 +5277,9 @@ for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_YACC+set}" = set; then +if ${ac_cv_prog_YACC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$YACC"; then @@ -4561,24 +5290,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_YACC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then - { $as_echo "$as_me:$LINENO: result: $YACC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 $as_echo "$YACC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4587,235 +5316,20 @@ fi done test -n "$YACC" || YACC="yacc" -if test "x$CC" != xcc; then - { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define NO_MINUS_C_MINUS_O 1 -_ACEOF - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -4830,11 +5344,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -4843,78 +5353,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : break fi @@ -4926,7 +5392,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -4937,11 +5403,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -4950,87 +5412,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -5040,9 +5455,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -5053,10 +5468,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -5073,7 +5488,7 @@ case `"$ac_path_GREP" --version 2>&1` in $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -5088,26 +5503,24 @@ esac $ac_path_GREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -5121,10 +5534,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -5141,7 +5554,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -5156,12 +5569,10 @@ esac $ac_path_EGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -5169,26 +5580,263 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 +$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } +if ${gl_cv_c_amsterdam_compiler+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __ACK__ +Amsterdam +#endif + _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Amsterdam" >/dev/null 2>&1; then : + gl_cv_c_amsterdam_compiler=yes +else + gl_cv_c_amsterdam_compiler=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 +$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } + if test -z "$AR"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + AR='cc -c.a' + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="ar" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + else + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + + + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + fi + fi + + +if test "x$CC" != xcc; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include int main () @@ -5198,48 +5846,146 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - ac_cv_header_stdc=no +$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -5249,18 +5995,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -5270,14 +6012,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -5304,118 +6042,33 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -5426,141 +6079,8 @@ done - - - if test "${ac_cv_header_minix_config_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 -$as_echo_n "checking minix/config.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5 -$as_echo_n "checking minix/config.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_minix_config_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } - -fi -if test "x$ac_cv_header_minix_config_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= @@ -5569,44 +6089,26 @@ fi if test "$MINIX" = yes; then -cat >>confdefs.h <<\_ACEOF -#define _POSIX_SOURCE 1 -_ACEOF +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _POSIX_1_SOURCE 2 -_ACEOF - +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _MINIX 1 -_ACEOF - fi +$as_echo "#define _MINIX 1" >>confdefs.h - case "$host_os" in - hpux*) -cat >>confdefs.h <<\_ACEOF -#define _XOPEN_SOURCE 500 -_ACEOF - - ;; - esac +$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h + fi - { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then +if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 @@ -5619,57 +6121,75 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_safe_to_define___extensions__=no + ac_cv_safe_to_define___extensions__=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && - cat >>confdefs.h <<\_ACEOF -#define __EXTENSIONS__ 1 -_ACEOF + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _ALL_SOURCE 1 -_ACEOF + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _GNU_SOURCE 1 -_ACEOF + $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _POSIX_PTHREAD_SEMANTICS 1 -_ACEOF + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _TANDEM_SOURCE 1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 +$as_echo_n "checking whether _XOPEN_SOURCE should be defined... " >&6; } +if ${ac_cv_should_define__xopen_source+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_should_define__xopen_source=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + mbstate_t x; +int +main () +{ + + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define _XOPEN_SOURCE 500 + #include + mbstate_t x; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_should_define__xopen_source=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 +$as_echo "$ac_cv_should_define__xopen_source" >&6; } + test $ac_cv_should_define__xopen_source = yes && + $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h @@ -5678,17 +6198,13 @@ _ACEOF -{ $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then +if ${ac_cv_sys_largefile_source+:} false; then : $as_echo_n "(cached) " >&6 else while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* for off_t */ #include @@ -5701,43 +6217,12 @@ int (*fp) (FILE *, off_t, int) = fseeko; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_largefile_source=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 #include /* for off_t */ @@ -5751,43 +6236,16 @@ int (*fp) (FILE *, off_t, int) = fseeko; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_largefile_source=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ac_cv_sys_largefile_source=unknown break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 $as_echo "$ac_cv_sys_largefile_source" >&6; } case $ac_cv_sys_largefile_source in #( no | unknown) ;; @@ -5804,26 +6262,224 @@ rm -rf conftest* # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. if test $ac_cv_sys_largefile_source != unknown; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_FSEEKO 1 +$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h + +fi + +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} _ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ - case $ac_cv_prog_cc_stdc in - no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; - *) { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +$as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h + +fi + + case $ac_cv_prog_cc_stdc in #( + no) : + ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if test "${ac_cv_prog_cc_c99+set}" = set; then +if ${ac_cv_prog_cc_c99+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -5962,35 +6618,12 @@ main () return 0; } _ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c99=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done @@ -6001,36 +6634,31 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac -if test "x$ac_cv_prog_cc_c99" != xno; then +if test "x$ac_cv_prog_cc_c99" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 else - { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -6082,32 +6710,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -6118,67 +6723,72 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then +if test "x$ac_cv_prog_cc_c89" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 else ac_cv_prog_cc_stdc=no fi - fi - ;; esac - { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO Standard C" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } - if test "${ac_cv_prog_cc_stdc+set}" = set; then + if ${ac_cv_prog_cc_stdc+:} false; then : $as_echo_n "(cached) " >&6 fi - case $ac_cv_prog_cc_stdc in - no) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - '') { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - *) { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 + case $ac_cv_prog_cc_stdc in #( + no) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; #( + '') : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 $as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; esac - + # Code from module acl: # Code from module alloca: # Code from module alloca-opt: + # Code from module allocator: # Code from module areadlink: # Code from module areadlinkat: - # Code from module arg-nonnull: # Code from module argmatch: # Code from module argp: # Code from module argp-version-etc: + # Code from module at-internal: # Code from module backupfile: # Code from module bitrotate: # Code from module btowc: - # Code from module c++defs: # Code from module c-ctype: + # Code from module c-strcase: + # Code from module c-strcaseeq: # Code from module canonicalize-lgpl: + # Code from module careadlinkat: + # Code from module chdir: # Code from module chdir-long: # Code from module chown: # Code from module clock-time: # Code from module cloexec: # Code from module close: - # Code from module close-hook: # Code from module close-stream: + # Code from module closedir: # Code from module closeout: # Code from module configmake: # Code from module d-ino: @@ -6189,6 +6799,7 @@ esac # Code from module dirname-lgpl: # Code from module dosname: # Code from module double-slash-root: + # Code from module dup: # Code from module dup2: # Code from module environ: # Code from module errno: @@ -6197,23 +6808,31 @@ esac # Code from module exitfail: # Code from module extensions: + # Code from module extern-inline: # Code from module fchdir: - # Code from module fclose: + # Code from module fchmodat: + # Code from module fchownat: # Code from module fcntl: # Code from module fcntl-h: + # Code from module fd-hook: # Code from module fdopendir: # Code from module fdutimensat: # Code from module fileblocks: + # Code from module filename: # Code from module filenamecat-lgpl: # Code from module float: # Code from module fnmatch: # Code from module fnmatch-gnu: # Code from module fpending: + # Code from module fseek: # Code from module fseeko: + # Code from module fstat: + # Code from module fstatat: # Code from module full-write: # Code from module futimens: # Code from module getcwd: + # Code from module getcwd-lgpl: # Code from module getdelim: # Code from module getdtablesize: # Code from module getline: @@ -6229,22 +6848,27 @@ esac # Code from module havelib: # Code from module human: # Code from module include_next: - # Code from module inline: # Code from module intprops: # Code from module inttostr: # Code from module inttypes: + # Code from module inttypes-incomplete: # Code from module iswblank: # Code from module langinfo: + # Code from module largefile: + # Code from module lchown: # Code from module link: # Code from module link-follow: # Code from module linkat: # Code from module localcharset: + # Code from module locale: + # Code from module localeconv: # Code from module lseek: # Code from module lstat: # Code from module malloc-gnu: # Code from module malloc-posix: # Code from module malloca: + # Code from module manywarnings: # Code from module mbchar: # Code from module mbrtowc: # Code from module mbscasecmp: @@ -6256,49 +6880,74 @@ esac # Code from module mempcpy: # Code from module memrchr: # Code from module mkdir: + # Code from module mkdirat: # Code from module mkdtemp: # Code from module mkfifo: # Code from module mkfifoat: # Code from module mknod: # Code from module mktime: # Code from module modechange: + # Code from module msvc-inval: + # Code from module msvc-nothrow: # Code from module multiarch: # Code from module nl_langinfo: + # Code from module nocrash: # Code from module obstack: # Code from module open: # Code from module openat: # Code from module openat-die: + # Code from module openat-h: + # Code from module opendir: # Code from module parse-datetime: # Code from module pathmax: # Code from module priv-set: # Code from module progname: + # Code from module qacl: # Code from module quote: # Code from module quotearg: # Code from module quotearg-simple: + # Code from module raise: # Code from module rawmemchr: + # Code from module read: + # Code from module readdir: # Code from module readlink: # Code from module readlinkat: # Code from module realloc-posix: # Code from module regex: # Code from module rename: # Code from module renameat: + # Code from module rewinddir: # Code from module rmdir: + # Code from module root-uid: # Code from module rpmatch: # Code from module safe-read: # Code from module safe-write: # Code from module same-inode: # Code from module save-cwd: # Code from module savedir: + # Code from module secure_getenv: + # Code from module selinux-at: + # Code from module selinux-h: # Code from module setenv: + # Code from module signal-h: # Code from module size_max: # Code from module sleep: + # Code from module snippet/_Noreturn: + # Code from module snippet/arg-nonnull: + # Code from module snippet/c++defs: + # Code from module snippet/unused-parameter: + # Code from module snippet/warn-on-use: # Code from module snprintf: # Code from module ssize_t: # Code from module stat: # Code from module stat-macros: # Code from module stat-time: + # Code from module statat: + # Code from module stdalign: # Code from module stdarg: + + # Code from module stdbool: # Code from module stddef: # Code from module stdint: @@ -6310,14 +6959,13 @@ esac # Code from module strdup-posix: # Code from module streq: # Code from module strerror: + # Code from module strerror-override: # Code from module string: # Code from module strings: # Code from module strndup: # Code from module strnlen: # Code from module strnlen1: - # Code from module strtoimax: # Code from module strtol: - # Code from module strtoll: # Code from module strtoul: # Code from module strtoull: # Code from module strtoumax: @@ -6325,6 +6973,7 @@ esac # Code from module symlinkat: # Code from module sys_stat: # Code from module sys_time: + # Code from module sys_types: # Code from module sysexits: # Code from module tempname: # Code from module time: @@ -6336,6 +6985,7 @@ esac # Code from module uniwidth/base: # Code from module uniwidth/width: # Code from module unlink: + # Code from module unlinkat: # Code from module unlinkdir: # Code from module unlocked-io: # Code from module unsetenv: @@ -6347,7 +6997,7 @@ esac # Code from module version-etc: # Code from module version-etc-fsf: # Code from module vsnprintf: - # Code from module warn-on-use: + # Code from module warnings: # Code from module wchar: # Code from module wcrtomb: # Code from module wctype-h: @@ -6355,6 +7005,7 @@ esac # Code from module write: # Code from module xalloc: # Code from module xalloc-die: + # Code from module xalloc-oversized: # Code from module xgetcwd: # Code from module xsize: # Code from module xstrndup: @@ -6364,28 +7015,24 @@ esac # Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then +if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then - { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then +if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -6394,8 +7041,8 @@ cat >>conftest.$ac_ext <<_ACEOF incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { @@ -6404,84 +7051,34 @@ main () return 0; } _ACEOF - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext - break + break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi - { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then +if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -6490,8 +7087,8 @@ cat >>conftest.$ac_ext <<_ACEOF incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { @@ -6500,38 +7097,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include @@ -6541,8 +7111,8 @@ cat >>conftest.$ac_ext <<_ACEOF incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { @@ -6551,38 +7121,15 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; @@ -6594,17 +7141,13 @@ _ACEOF esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then +if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -6613,8 +7156,8 @@ cat >>conftest.$ac_ext <<_ACEOF incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { @@ -6623,38 +7166,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include @@ -6664,8 +7180,8 @@ cat >>conftest.$ac_ext <<_ACEOF incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; int main () { @@ -6674,38 +7190,15 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; @@ -6717,19 +7210,19 @@ _ACEOF esac rm -rf conftest* fi + + +$as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h + fi -{ $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } -if test "${ac_cv_search_strerror+set}" = set; then +if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -6754,70 +7247,39 @@ for ac_lib in '' cposix; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_strerror+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_strerror+:} false; then : break fi done -if test "${ac_cv_search_strerror+set}" = set; then - : +if ${ac_cv_search_strerror+:} false; then : + else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -{ $as_echo "$as_me:$LINENO: checking for inline" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then +if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; @@ -6826,41 +7288,17 @@ $ac_kw foo_t foo () {return 0; } #endif _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } - case $ac_cv_c_inline in inline | yes) ;; *) @@ -6880,149 +7318,12 @@ esac - -for ac_header in $ac_header_list -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in $ac_header_list +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7050,44 +7351,6 @@ done - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -7106,62 +7369,14 @@ done for ac_header in sys/buf.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if HAVE_SYS_PARAM_H +do : + ac_fn_c_check_header_compile "$LINENO" "sys/buf.h" "ac_cv_header_sys_buf_h" "#if HAVE_SYS_PARAM_H #include #endif - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +" +if test "x$ac_cv_header_sys_buf_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_SYS_BUF_H 1 _ACEOF fi @@ -7169,16 +7384,12 @@ fi done -{ $as_echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if test "${ac_cv_header_sys_wait_h+set}" = set; then +if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -7199,63 +7410,31 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_sys_wait_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_sys_wait_h=no + ac_cv_header_sys_wait_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 $as_echo "$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_WAIT_H 1 -_ACEOF +$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi - - - - - ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> @@ -7269,41 +7448,17 @@ return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF @@ -7314,17 +7469,13 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7349,70 +7500,39 @@ for ac_lib in '' dir; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if ${ac_cv_search_opendir+:} false; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7437,70 +7557,39 @@ for ac_lib in '' x; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if ${ac_cv_search_opendir+:} false; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi -{ $as_echo "$as_me:$LINENO: checking whether sys/types.h defines makedev" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 $as_echo_n "checking whether sys/types.h defines makedev... " >&6; } -if test "${ac_cv_header_sys_types_h_makedev+set}" = set; then +if ${ac_cv_header_sys_types_h_makedev+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -7511,324 +7600,33 @@ return makedev(0, 0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_header_sys_types_h_makedev=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_sys_types_h_makedev=no + ac_cv_header_sys_types_h_makedev=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_types_h_makedev" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 $as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } if test $ac_cv_header_sys_types_h_makedev = no; then -if test "${ac_cv_header_sys_mkdev_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/mkdev.h" >&5 -$as_echo_n "checking for sys/mkdev.h... " >&6; } -if test "${ac_cv_header_sys_mkdev_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_mkdev_h" >&5 -$as_echo "$ac_cv_header_sys_mkdev_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/mkdev.h usability" >&5 -$as_echo_n "checking sys/mkdev.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/mkdev.h presence" >&5 -$as_echo_n "checking sys/mkdev.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/mkdev.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/mkdev.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/mkdev.h" >&5 -$as_echo_n "checking for sys/mkdev.h... " >&6; } -if test "${ac_cv_header_sys_mkdev_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_mkdev_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_mkdev_h" >&5 -$as_echo "$ac_cv_header_sys_mkdev_h" >&6; } - -fi -if test "x$ac_cv_header_sys_mkdev_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : -cat >>confdefs.h <<\_ACEOF -#define MAJOR_IN_MKDEV 1 -_ACEOF +$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h fi if test $ac_cv_header_sys_mkdev_h = no; then - if test "${ac_cv_header_sys_sysmacros_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/sysmacros.h" >&5 -$as_echo_n "checking for sys/sysmacros.h... " >&6; } -if test "${ac_cv_header_sys_sysmacros_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_sysmacros_h" >&5 -$as_echo "$ac_cv_header_sys_sysmacros_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/sysmacros.h usability" >&5 -$as_echo_n "checking sys/sysmacros.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/sysmacros.h presence" >&5 -$as_echo_n "checking sys/sysmacros.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/sysmacros.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/sysmacros.h" >&5 -$as_echo_n "checking for sys/sysmacros.h... " >&6; } -if test "${ac_cv_header_sys_sysmacros_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_sysmacros_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_sysmacros_h" >&5 -$as_echo "$ac_cv_header_sys_sysmacros_h" >&6; } - -fi -if test "x$ac_cv_header_sys_sysmacros_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : -cat >>confdefs.h <<\_ACEOF -#define MAJOR_IN_SYSMACROS 1 -_ACEOF +$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h fi @@ -7836,16 +7634,12 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if test "${ac_cv_header_stat_broken+set}" = set; then +if ${ac_cv_header_stat_broken+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -7867,54 +7661,27 @@ extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; #endif _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stat_broken=no else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stat_broken=yes + ac_cv_header_stat_broken=yes fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 $as_echo "$ac_cv_header_stat_broken" >&6; } if test $ac_cv_header_stat_broken = yes; then -cat >>confdefs.h <<\_ACEOF -#define STAT_MACROS_BROKEN 1 -_ACEOF +$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -7929,48 +7696,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -7980,18 +7722,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -8001,14 +7739,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -8035,65 +7769,32 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for st_fstype string in struct stat" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_fstype string in struct stat" >&5 $as_echo_n "checking for st_fstype string in struct stat... " >&6; } -if test "${diff_cv_st_fstype_string+set}" = set; then +if ${diff_cv_st_fstype_string+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -8105,511 +7806,189 @@ struct stat s; s.st_fstype[0] = 'x'; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : diff_cv_st_fstype_string=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - diff_cv_st_fstype_string=no + diff_cv_st_fstype_string=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $diff_cv_st_fstype_string" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $diff_cv_st_fstype_string" >&5 $as_echo "$diff_cv_st_fstype_string" >&6; } if test $diff_cv_st_fstype_string = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ST_FSTYPE_STRING 1 -_ACEOF +$as_echo "#define HAVE_ST_FSTYPE_STRING 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5 -$as_echo_n "checking return type of signal handlers... " >&6; } -if test "${ac_cv_type_signal+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_signal=int -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_signal=void -fi +# even if we use gnulib's acl.h with integrated m4 file later on (used because +# of very useful file_has_acl() function) we need following checks that restrict +# tar to use POSIX.1e ACLs only. -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Check whether --with-posix-acls was given. +if test "${with_posix_acls+set}" = set; then : + withval=$with_posix_acls; with_posix_acls=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 -$as_echo "$ac_cv_type_signal" >&6; } -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal +if test "x$with_posix_acls" != "xno"; then + for ac_header in sys/acl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_acl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_ACL_H 1 _ACEOF +else + with_posix_acls=no +fi + +done -{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5 -$as_echo_n "checking for mode_t... " >&6; } -if test "${ac_cv_type_mode_t+set}" = set; then + for tar_acl_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ + acl_to_text acl_from_text; do \ + test "x$with_posix_acls" = xno && break + as_ac_Search=`$as_echo "ac_cv_search_$tar_acl_func" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $tar_acl_func" >&5 +$as_echo_n "checking for library containing $tar_acl_func... " >&6; } +if eval \${$as_ac_Search+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_mode_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (mode_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $tar_acl_func (); int main () { -if (sizeof ((mode_t))) - return 0; +return $tar_acl_func (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_mode_t=yes +for ac_lib in '' acl pacl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Search=\$ac_res" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if eval \${$as_ac_Search+:} false; then : + break fi +done +if eval \${$as_ac_Search+:} false; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + eval "$as_ac_Search=no" fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 -$as_echo "$ac_cv_type_mode_t" >&6; } -if test "x$ac_cv_type_mode_t" = x""yes; then - : +eval ac_res=\$$as_ac_Search + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval ac_res=\$$as_ac_Search +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + else + with_posix_acls=no +fi -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF + done + if test "x$with_posix_acls" != xno; then +$as_echo "#define HAVE_POSIX_ACLS /**/" >>confdefs.h + + fi +else + # disable acls in gnulib's checks + export enable_acl=no fi -{ $as_echo "$as_me:$LINENO: checking for pid_t" >&5 -$as_echo_n "checking for pid_t... " >&6; } -if test "${ac_cv_type_pid_t+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 +$as_echo_n "checking return type of signal handlers... " >&6; } +if ${ac_cv_type_signal+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_pid_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (pid_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include +#include + int main () { -if (sizeof ((pid_t))) - return 0; +return *(signal (0, 0)) (0) == 1; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_pid_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_type_signal=int else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + ac_cv_type_signal=void fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 -$as_echo "$ac_cv_type_pid_t" >&6; } -if test "x$ac_cv_type_pid_t" = x""yes; then - : -else +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 +$as_echo "$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF -#define pid_t int +#define RETSIGTYPE $ac_cv_type_signal _ACEOF -fi - -{ $as_echo "$as_me:$LINENO: checking for off_t" >&5 -$as_echo_n "checking for off_t... " >&6; } -if test "${ac_cv_type_off_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_off_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (off_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((off_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_type_off_t=yes -fi +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +cat >>confdefs.h <<_ACEOF +#define mode_t int +_ACEOF fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 -$as_echo "$ac_cv_type_off_t" >&6; } -if test "x$ac_cv_type_off_t" = x""yes; then - : +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + else cat >>confdefs.h <<_ACEOF -#define off_t long int +#define pid_t int _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_size_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((size_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=yes -fi +ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" +if test "x$ac_cv_type_off_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +cat >>confdefs.h <<_ACEOF +#define off_t long int +_ACEOF fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test "x$ac_cv_type_size_t" = x""yes; then - : +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + else cat >>confdefs.h <<_ACEOF @@ -8618,22 +7997,18 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then +if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then + $EGREP "uid_t" >/dev/null 2>&1; then : ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no @@ -8641,325 +8016,38 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 $as_echo "$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then -cat >>confdefs.h <<\_ACEOF -#define uid_t int -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define gid_t int -_ACEOF +$as_echo "#define uid_t int" >>confdefs.h -fi -{ $as_echo "$as_me:$LINENO: checking for major_t" >&5 -$as_echo_n "checking for major_t... " >&6; } -if test "${ac_cv_type_major_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_major_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (major_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((major_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define gid_t int" >>confdefs.h - ac_cv_type_major_t=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi +ac_fn_c_check_type "$LINENO" "major_t" "ac_cv_type_major_t" "$ac_includes_default" +if test "x$ac_cv_type_major_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_major_t" >&5 -$as_echo "$ac_cv_type_major_t" >&6; } -if test "x$ac_cv_type_major_t" = x""yes; then - : else -cat >>confdefs.h <<\_ACEOF -#define major_t int -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for minor_t" >&5 -$as_echo_n "checking for minor_t... " >&6; } -if test "${ac_cv_type_minor_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_minor_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (minor_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((minor_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define major_t int" >>confdefs.h - ac_cv_type_minor_t=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi +ac_fn_c_check_type "$LINENO" "minor_t" "ac_cv_type_minor_t" "$ac_includes_default" +if test "x$ac_cv_type_minor_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_minor_t" >&5 -$as_echo "$ac_cv_type_minor_t" >&6; } -if test "x$ac_cv_type_minor_t" = x""yes; then - : else -cat >>confdefs.h <<\_ACEOF -#define minor_t int -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for dev_t" >&5 -$as_echo_n "checking for dev_t... " >&6; } -if test "${ac_cv_type_dev_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_dev_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (dev_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((dev_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define minor_t int" >>confdefs.h - ac_cv_type_dev_t=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi +ac_fn_c_check_type "$LINENO" "dev_t" "ac_cv_type_dev_t" "$ac_includes_default" +if test "x$ac_cv_type_dev_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5 -$as_echo "$ac_cv_type_dev_t" >&6; } -if test "x$ac_cv_type_dev_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -8968,102 +8056,9 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for ino_t" >&5 -$as_echo_n "checking for ino_t... " >&6; } -if test "${ac_cv_type_ino_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_ino_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (ino_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((ino_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_ino_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default" +if test "x$ac_cv_type_ino_t" = xyes; then : -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5 -$as_echo "$ac_cv_type_ino_t" >&6; } -if test "x$ac_cv_type_ino_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -9074,16 +8069,12 @@ fi - { $as_echo "$as_me:$LINENO: checking for ssize_t" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 $as_echo_n "checking for ssize_t... " >&6; } -if test "${gt_cv_ssize_t+set}" = set; then +if ${gt_cv_ssize_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -9095,41 +8086,18 @@ int x = sizeof (ssize_t *) + sizeof (ssize_t); return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gt_cv_ssize_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_ssize_t=no + gt_cv_ssize_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_ssize_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 $as_echo "$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then -cat >>confdefs.h <<\_ACEOF -#define ssize_t int -_ACEOF +$as_echo "#define ssize_t int" >>confdefs.h fi @@ -9140,22 +8108,17 @@ _ACEOF - LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! -{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then +if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -9167,59 +8130,28 @@ char *p = (char *) alloca (2 * sizeof (int)); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_working_alloca_h=no + ac_cv_working_alloca_h=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA_H 1 -_ACEOF +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for alloca" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then +if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca @@ -9235,7 +8167,7 @@ cat >>conftest.$ac_ext <<_ACEOF #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); +void *alloca (size_t); # endif # endif # endif @@ -9251,47 +8183,20 @@ char *p = (char *) alloca (1); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_alloca_works=no + ac_cv_func_alloca_works=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA 1 -_ACEOF +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions @@ -9305,21 +8210,15 @@ else ALLOCA=\${LIBOBJDIR}alloca.$ac_objext -cat >>confdefs.h <<\_ACEOF -#define C_ALLOCA 1 -_ACEOF +$as_echo "#define C_ALLOCA 1" >>confdefs.h -{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then +if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray @@ -9329,7 +8228,7 @@ wenotbecray _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then + $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no @@ -9337,101 +8236,13 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -9443,81 +8254,46 @@ fi done fi -{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then +if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int -find_stack_direction () +find_stack_direction (int *addr, int depth) { - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; } int -main () +main (int argc, char **argv) { - return find_stack_direction () < 0; + return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_stack_direction=-1 + ac_cv_c_stack_direction=-1 fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } - cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF @@ -9525,19 +8301,15 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 $as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if test "${ac_cv_c_restrict+set}" = set; then +if ${ac_cv_c_restrict+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { @@ -9554,46 +8326,20 @@ int s[1]; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_restrict=$ac_kw -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 $as_echo "$ac_cv_c_restrict" >&6; } - case $ac_cv_c_restrict in restrict) ;; - no) cat >>confdefs.h <<\_ACEOF -#define restrict /**/ -_ACEOF + no) $as_echo "#define restrict /**/" >>confdefs.h ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict @@ -9601,1177 +8347,311 @@ _ACEOF ;; esac -{ $as_echo "$as_me:$LINENO: checking whether getenv is declared" >&5 -$as_echo_n "checking whether getenv is declared... " >&6; } -if test "${ac_cv_have_decl_getenv+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getenv - (void) getenv; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getenv=yes +ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getenv=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 -$as_echo "$ac_cv_have_decl_getenv" >&6; } -if test "x$ac_cv_have_decl_getenv" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETENV 1 +#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl _ACEOF - +ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then : + ac_have_decl=1 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETENV 0 -_ACEOF - - + ac_have_decl=0 fi - -{ $as_echo "$as_me:$LINENO: checking whether clearerr_unlocked is declared" >&5 -$as_echo_n "checking whether clearerr_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_clearerr_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef clearerr_unlocked - (void) clearerr_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_clearerr_unlocked=yes +ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_clearerr_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_clearerr_unlocked" >&5 -$as_echo "$ac_cv_have_decl_clearerr_unlocked" >&6; } -if test "x$ac_cv_have_decl_clearerr_unlocked" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_CLEARERR_UNLOCKED 1 +#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl _ACEOF - +ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then : + ac_have_decl=1 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_CLEARERR_UNLOCKED 0 -_ACEOF - - + ac_have_decl=0 fi - -{ $as_echo "$as_me:$LINENO: checking whether feof_unlocked is declared" >&5 -$as_echo_n "checking whether feof_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef feof_unlocked - (void) feof_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_feof_unlocked=yes +ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_feof_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 -$as_echo "$ac_cv_have_decl_feof_unlocked" >&6; } -if test "x$ac_cv_have_decl_feof_unlocked" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FEOF_UNLOCKED 1 +#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl _ACEOF - +ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then : + ac_have_decl=1 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FEOF_UNLOCKED 0 -_ACEOF - - + ac_have_decl=0 fi - -{ $as_echo "$as_me:$LINENO: checking whether ferror_unlocked is declared" >&5 -$as_echo_n "checking whether ferror_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_ferror_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef ferror_unlocked - (void) ferror_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_ferror_unlocked=yes +ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_ferror_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ferror_unlocked" >&5 -$as_echo "$ac_cv_have_decl_ferror_unlocked" >&6; } -if test "x$ac_cv_have_decl_ferror_unlocked" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FERROR_UNLOCKED 1 +#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl _ACEOF - +ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then : + ac_have_decl=1 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FERROR_UNLOCKED 0 -_ACEOF - - + ac_have_decl=0 fi - -{ $as_echo "$as_me:$LINENO: checking whether fflush_unlocked is declared" >&5 -$as_echo_n "checking whether fflush_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fflush_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef fflush_unlocked - (void) fflush_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fflush_unlocked=yes +ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fflush_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fflush_unlocked" >&6; } -if test "x$ac_cv_have_decl_fflush_unlocked" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FFLUSH_UNLOCKED 1 +#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl _ACEOF - +ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : + ac_have_decl=1 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FFLUSH_UNLOCKED 0 -_ACEOF - - + ac_have_decl=0 fi - -{ $as_echo "$as_me:$LINENO: checking whether fgets_unlocked is declared" >&5 -$as_echo_n "checking whether fgets_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef fgets_unlocked - (void) fgets_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fgets_unlocked=yes +ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fgets_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fgets_unlocked" >&6; } -if test "x$ac_cv_have_decl_fgets_unlocked" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FGETS_UNLOCKED 1 +#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl _ACEOF - +ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then : + ac_have_decl=1 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FGETS_UNLOCKED 0 -_ACEOF - - + ac_have_decl=0 fi - -{ $as_echo "$as_me:$LINENO: checking whether fputc_unlocked is declared" >&5 -$as_echo_n "checking whether fputc_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fputc_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef fputc_unlocked - (void) fputc_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fputc_unlocked=yes +ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fputc_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputc_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fputc_unlocked" >&6; } -if test "x$ac_cv_have_decl_fputc_unlocked" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTC_UNLOCKED 1 +#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl _ACEOF -else + + + for ac_func in $ac_func_list +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTC_UNLOCKED 0 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - fi +done -{ $as_echo "$as_me:$LINENO: checking whether fputs_unlocked is declared" >&5 -$as_echo_n "checking whether fputs_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fputs_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef fputs_unlocked - (void) fputs_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fputs_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_fputs_unlocked=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fputs_unlocked" >&6; } -if test "x$ac_cv_have_decl_fputs_unlocked" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTS_UNLOCKED 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTS_UNLOCKED 0 -_ACEOF -fi + XGETTEXT_EXTRA_OPTIONS= +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:$LINENO: checking whether fread_unlocked is declared" >&5 -$as_echo_n "checking whether fread_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fread_unlocked+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef fread_unlocked - (void) fread_unlocked; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fread_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fread_unlocked=no -fi + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fread_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fread_unlocked" >&6; } -if test "x$ac_cv_have_decl_fread_unlocked" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FREAD_UNLOCKED 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FREAD_UNLOCKED 0 -_ACEOF - + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:$LINENO: checking whether fwrite_unlocked is declared" >&5 -$as_echo_n "checking whether fwrite_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_fwrite_unlocked+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_ino member in directory struct" >&5 +$as_echo_n "checking for d_ino member in directory struct... " >&6; } +if ${gl_cv_struct_dirent_d_ino+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems with Linux kernel. + linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_struct_dirent_d_ino="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + #include + #include + int main () { -#ifndef fwrite_unlocked - (void) fwrite_unlocked; -#endif +DIR *dp = opendir ("."); + struct dirent *e; + struct stat st; + if (! dp) + return 1; + e = readdir (dp); + if (! e) + return 2; + if (stat (e->d_name, &st) != 0) + return 3; + if (e->d_ino != st.st_ino) + return 4; + return 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fwrite_unlocked=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_struct_dirent_d_ino=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fwrite_unlocked=no + gl_cv_struct_dirent_d_ino=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fwrite_unlocked" >&5 -$as_echo "$ac_cv_have_decl_fwrite_unlocked" >&6; } -if test "x$ac_cv_have_decl_fwrite_unlocked" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FWRITE_UNLOCKED 1 -_ACEOF - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FWRITE_UNLOCKED 0 -_ACEOF +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_struct_dirent_d_ino" >&5 +$as_echo "$gl_cv_struct_dirent_d_ino" >&6; } + case "$gl_cv_struct_dirent_d_ino" in + *yes) +$as_echo "#define D_INO_IN_DIRENT 1" >>confdefs.h -fi + ;; + esac -{ $as_echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 -$as_echo_n "checking whether getc_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getc_unlocked - (void) getc_unlocked; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getc_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getc_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 -$as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } -if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED 0 -_ACEOF - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether getchar_unlocked is declared" >&5 -$as_echo_n "checking whether getchar_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_getchar_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getchar_unlocked - (void) getchar_unlocked; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getchar_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getchar_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getchar_unlocked" >&5 -$as_echo "$ac_cv_have_decl_getchar_unlocked" >&6; } -if test "x$ac_cv_have_decl_getchar_unlocked" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETCHAR_UNLOCKED 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETCHAR_UNLOCKED 0 -_ACEOF - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether putc_unlocked is declared" >&5 -$as_echo_n "checking whether putc_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_putc_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef putc_unlocked - (void) putc_unlocked; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_putc_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_putc_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 -$as_echo "$ac_cv_have_decl_putc_unlocked" >&6; } -if test "x$ac_cv_have_decl_putc_unlocked" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTC_UNLOCKED 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTC_UNLOCKED 0 -_ACEOF - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether putchar_unlocked is declared" >&5 -$as_echo_n "checking whether putchar_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_putchar_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef putchar_unlocked - (void) putchar_unlocked; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_putchar_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_putchar_unlocked=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_putchar_unlocked" >&5 -$as_echo "$ac_cv_have_decl_putchar_unlocked" >&6; } -if test "x$ac_cv_have_decl_putchar_unlocked" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTCHAR_UNLOCKED 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTCHAR_UNLOCKED 0 -_ACEOF - - -fi - - - - - - -for ac_func in $ac_func_list -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - - - - - - - - XGETTEXT_EXTRA_OPTIONS= - -{ $as_echo "$as_me:$LINENO: checking for d_ino member in directory struct" >&5 -$as_echo_n "checking for d_ino member in directory struct... " >&6; } -if test "${gl_cv_struct_dirent_d_ino+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_struct_dirent_d_ino=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - #include - -int -main () -{ -DIR *dp = opendir ("."); - struct dirent *e; - struct stat st; - if (! dp) - return 1; - e = readdir (dp); - if (! e) - return 2; - if (stat (e->d_name, &st) != 0) - return 3; - if (e->d_ino != st.st_ino) - return 4; - return 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_struct_dirent_d_ino=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_struct_dirent_d_ino=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_struct_dirent_d_ino" >&5 -$as_echo "$gl_cv_struct_dirent_d_ino" >&6; } - if test $gl_cv_struct_dirent_d_ino = yes; then - -cat >>confdefs.h <<\_ACEOF -#define D_INO_IN_DIRENT 1 -_ACEOF - - fi - - -{ $as_echo "$as_me:$LINENO: checking for long file names" >&5 -$as_echo_n "checking for long file names... " >&6; } -if test "${ac_cv_sys_long_file_names+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5 +$as_echo_n "checking for long file names... " >&6; } +if ${ac_cv_sys_long_file_names+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_long_file_names=yes @@ -10801,13 +8681,11 @@ for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib test $ac_cv_sys_long_file_names = no && break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_long_file_names" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_long_file_names" >&5 $as_echo "$ac_cv_sys_long_file_names" >&6; } if test $ac_cv_sys_long_file_names = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_FILE_NAMES 1 -_ACEOF +$as_echo "#define HAVE_LONG_FILE_NAMES 1" >>confdefs.h fi @@ -10907,20 +8785,16 @@ fi REPLACE_WCSWIDTH=0; - { $as_echo "$as_me:$LINENO: checking whether uses 'inline' correctly" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 $as_echo_n "checking whether uses 'inline' correctly... " >&6; } -if test "${gl_cv_header_wchar_h_correct_inline+set}" = set; then +if ${gl_cv_header_wchar_h_correct_inline+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_header_wchar_h_correct_inline=yes - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#define wcstod renamed_wcstod + + #define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be @@ -10933,20 +8807,16 @@ extern int zero (void); int main () { return zero(); } _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then mv conftest.$ac_objext conftest1.$ac_objext - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#define wcstod renamed_wcstod + + #define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be @@ -10958,11 +8828,11 @@ cat >>conftest.$ac_ext <<_ACEOF int zero (void) { return 0; } _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then mv conftest.$ac_objext conftest2.$ac_objext if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then : @@ -10974,10 +8844,10 @@ _ACEOF rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_wchar_h_correct_inline" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 $as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; } if test $gl_cv_header_wchar_h_correct_inline = no; then - { { $as_echo "$as_me:$LINENO: error: cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). + as_fn_error $? " cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or @@ -10985,32 +8855,18 @@ C99 mode. You have four options: , or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. -Configuration aborted." >&5 -$as_echo "$as_me: error: cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). -This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in -C99 mode. You have four options: - - Add the flag -fgnu89-inline to CC and reconfigure, or - - Fix your include files, using parts of - , or - - Use a gcc version older than 4.3, or - - Don't use the flags -std=c99 or -std=gnu99. -Configuration aborted." >&2;} - { (exit 1); exit 1; }; } +Configuration aborted." "$LINENO" 5 fi - { $as_echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } -if test "${am_cv_langinfo_codeset+set}" = set; then +if ${am_cv_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -11021,64 +8877,33 @@ char* cs = nl_langinfo(CODESET); return !cs; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_langinfo_codeset=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - am_cv_langinfo_codeset=no + am_cv_langinfo_codeset=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 $as_echo "$am_cv_langinfo_codeset" >&6; } if test $am_cv_langinfo_codeset = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_LANGINFO_CODESET 1 -_ACEOF +$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi - { $as_echo "$as_me:$LINENO: checking for a traditional french locale" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } -if test "${gt_cv_locale_fr+set}" = set; then +if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -11093,9 +8918,9 @@ char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, + /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) @@ -11104,7 +8929,7 @@ int main () { if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, @@ -11130,19 +8955,21 @@ int main () { one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; +#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; +#endif return 0; } _ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest$ac_exeext; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", @@ -11151,7 +8978,7 @@ _ACEOF # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) - # Test for the native Win32 locale name. + # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else @@ -11161,7 +8988,7 @@ _ACEOF ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. @@ -11197,12 +9024,90 @@ _ACEOF rm -fr conftest* fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_locale_fr" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr + GNULIB__EXIT=0; + GNULIB_ATOLL=0; + GNULIB_CALLOC_POSIX=0; + GNULIB_CANONICALIZE_FILE_NAME=0; + GNULIB_GETLOADAVG=0; + GNULIB_GETSUBOPT=0; + GNULIB_GRANTPT=0; + GNULIB_MALLOC_POSIX=0; + GNULIB_MBTOWC=0; + GNULIB_MKDTEMP=0; + GNULIB_MKOSTEMP=0; + GNULIB_MKOSTEMPS=0; + GNULIB_MKSTEMP=0; + GNULIB_MKSTEMPS=0; + GNULIB_POSIX_OPENPT=0; + GNULIB_PTSNAME=0; + GNULIB_PTSNAME_R=0; + GNULIB_PUTENV=0; + GNULIB_RANDOM=0; + GNULIB_RANDOM_R=0; + GNULIB_REALLOC_POSIX=0; + GNULIB_REALPATH=0; + GNULIB_RPMATCH=0; + GNULIB_SECURE_GETENV=0; + GNULIB_SETENV=0; + GNULIB_STRTOD=0; + GNULIB_STRTOLL=0; + GNULIB_STRTOULL=0; + GNULIB_SYSTEM_POSIX=0; + GNULIB_UNLOCKPT=0; + GNULIB_UNSETENV=0; + GNULIB_WCTOMB=0; + HAVE__EXIT=1; + HAVE_ATOLL=1; + HAVE_CANONICALIZE_FILE_NAME=1; + HAVE_DECL_GETLOADAVG=1; + HAVE_GETSUBOPT=1; + HAVE_GRANTPT=1; + HAVE_MKDTEMP=1; + HAVE_MKOSTEMP=1; + HAVE_MKOSTEMPS=1; + HAVE_MKSTEMP=1; + HAVE_MKSTEMPS=1; + HAVE_POSIX_OPENPT=1; + HAVE_PTSNAME=1; + HAVE_PTSNAME_R=1; + HAVE_RANDOM=1; + HAVE_RANDOM_H=1; + HAVE_RANDOM_R=1; + HAVE_REALPATH=1; + HAVE_RPMATCH=1; + HAVE_SECURE_GETENV=1; + HAVE_SETENV=1; + HAVE_DECL_SETENV=1; + HAVE_STRTOD=1; + HAVE_STRTOLL=1; + HAVE_STRTOULL=1; + HAVE_STRUCT_RANDOM_DATA=1; + HAVE_SYS_LOADAVG_H=0; + HAVE_UNLOCKPT=1; + HAVE_DECL_UNSETENV=1; + REPLACE_CALLOC=0; + REPLACE_CANONICALIZE_FILE_NAME=0; + REPLACE_MALLOC=0; + REPLACE_MBTOWC=0; + REPLACE_MKSTEMP=0; + REPLACE_PTSNAME=0; + REPLACE_PTSNAME_R=0; + REPLACE_PUTENV=0; + REPLACE_RANDOM_R=0; + REPLACE_REALLOC=0; + REPLACE_REALPATH=0; + REPLACE_SETENV=0; + REPLACE_STRTOD=0; + REPLACE_UNSETENV=0; + REPLACE_WCTOMB=0; + + @@ -11210,9 +9115,9 @@ $as_echo "$gt_cv_locale_fr" >&6; } - { $as_echo "$as_me:$LINENO: checking whether // is distinct from /" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 $as_echo_n "checking whether // is distinct from /... " >&6; } -if test "${gl_cv_double_slash_root+set}" = set; then +if ${gl_cv_double_slash_root+:} false; then : $as_echo_n "(cached) " >&6 else if test x"$cross_compiling" = xyes ; then @@ -11239,13 +9144,11 @@ else fi fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_double_slash_root" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 $as_echo "$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then -cat >>confdefs.h <<\_ACEOF -#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 -_ACEOF +$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h fi @@ -11253,30 +9156,142 @@ _ACEOF - - - - - - { $as_echo "$as_me:$LINENO: checking whether realpath works" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5 $as_echo_n "checking whether realpath works... " >&6; } -if test "${gl_cv_func_realpath_works+set}" = set; then +if ${gl_cv_func_realpath_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.a - if test "$cross_compiling" = yes; then - gl_cv_func_realpath_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF + mkdir conftest.d + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_realpath_works="guessing no" ;; + esac - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + + +#include +#if defined __MACH__ && defined __APPLE__ +/* Avoid a crash on Mac OS X. */ +#include +#include +#include +#include +#include +#include +/* The exception port on which our thread listens. */ +static mach_port_t our_exception_port; +/* The main function of the thread listening for exceptions of type + EXC_BAD_ACCESS. */ +static void * +mach_exception_thread (void *arg) +{ + /* Buffer for a message to be received. */ + struct { + mach_msg_header_t head; + mach_msg_body_t msgh_body; + char data[1024]; + } msg; + mach_msg_return_t retval; + /* Wait for a message on the exception port. */ + retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), + our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (retval != MACH_MSG_SUCCESS) + abort (); + exit (1); +} +static void +nocrash_init (void) +{ + mach_port_t self = mach_task_self (); + /* Allocate a port on which the thread shall listen for exceptions. */ + if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) + == KERN_SUCCESS) { + /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ + if (mach_port_insert_right (self, our_exception_port, our_exception_port, + MACH_MSG_TYPE_MAKE_SEND) + == KERN_SUCCESS) { + /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting + for us. */ + exception_mask_t mask = EXC_MASK_BAD_ACCESS; + /* Create the thread listening on the exception port. */ + pthread_attr_t attr; + pthread_t thread; + if (pthread_attr_init (&attr) == 0 + && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 + && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { + pthread_attr_destroy (&attr); + /* Replace the exception port info for these exceptions with our own. + Note that we replace the exception port for the entire task, not only + for a particular thread. This has the effect that when our exception + port gets the message, the thread specific exception port has already + been asked, and we don't need to bother about it. + See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ + task_set_exception_ports (self, mask, our_exception_port, + EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); + } + } + } +} +#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* Avoid a crash on native Windows. */ +#define WIN32_LEAN_AND_MEAN +#include +#include +static LONG WINAPI +exception_filter (EXCEPTION_POINTERS *ExceptionInfo) +{ + switch (ExceptionInfo->ExceptionRecord->ExceptionCode) + { + case EXCEPTION_ACCESS_VIOLATION: + case EXCEPTION_IN_PAGE_ERROR: + case EXCEPTION_STACK_OVERFLOW: + case EXCEPTION_GUARD_PAGE: + case EXCEPTION_PRIV_INSTRUCTION: + case EXCEPTION_ILLEGAL_INSTRUCTION: + case EXCEPTION_DATATYPE_MISALIGNMENT: + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: + case EXCEPTION_NONCONTINUABLE_EXCEPTION: + exit (1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +static void +nocrash_init (void) +{ + SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); +} +#else +/* Avoid a crash on POSIX systems. */ +#include +/* A POSIX signal handler. */ +static void +exception_handler (int sig) +{ + exit (1); +} +static void +nocrash_init (void) +{ +#ifdef SIGSEGV + signal (SIGSEGV, exception_handler); +#endif +#ifdef SIGBUS + signal (SIGBUS, exception_handler); +#endif +} +#endif + #include + #include int main () @@ -11298,6 +9313,12 @@ main () if (name != NULL) result |= 4; } + { + char *name1 = realpath (".", NULL); + char *name2 = realpath ("conftest.d//./..", NULL); + if (strcmp (name1, name2) != 0) + result |= 8; + } return result; ; @@ -11305,65 +9326,27 @@ main () } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_realpath_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_realpath_works=no + gl_cv_func_realpath_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - + rm -rf conftest.a conftest.d fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_realpath_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5 $as_echo "$gl_cv_func_realpath_works" >&6; } - if test "$gl_cv_func_realpath_works" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define FUNC_REALPATH_WORKS 1 -_ACEOF - - fi - - - - - - - - - - + case "$gl_cv_func_realpath_works" in + *yes) +$as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h + ;; + esac @@ -11375,75 +9358,10 @@ _ACEOF - GNULIB__EXIT=0; - GNULIB_ATOLL=0; - GNULIB_CALLOC_POSIX=0; - GNULIB_CANONICALIZE_FILE_NAME=0; - GNULIB_GETLOADAVG=0; - GNULIB_GETSUBOPT=0; - GNULIB_GRANTPT=0; - GNULIB_MALLOC_POSIX=0; - GNULIB_MBTOWC=0; - GNULIB_MKDTEMP=0; - GNULIB_MKOSTEMP=0; - GNULIB_MKOSTEMPS=0; - GNULIB_MKSTEMP=0; - GNULIB_MKSTEMPS=0; - GNULIB_PTSNAME=0; - GNULIB_PUTENV=0; - GNULIB_RANDOM_R=0; - GNULIB_REALLOC_POSIX=0; - GNULIB_REALPATH=0; - GNULIB_RPMATCH=0; - GNULIB_SETENV=0; - GNULIB_STRTOD=0; - GNULIB_STRTOLL=0; - GNULIB_STRTOULL=0; - GNULIB_SYSTEM_POSIX=0; - GNULIB_UNLOCKPT=0; - GNULIB_UNSETENV=0; - GNULIB_WCTOMB=0; - HAVE__EXIT=1; - HAVE_ATOLL=1; - HAVE_CANONICALIZE_FILE_NAME=1; - HAVE_DECL_GETLOADAVG=1; - HAVE_GETSUBOPT=1; - HAVE_GRANTPT=1; - HAVE_MKDTEMP=1; - HAVE_MKOSTEMP=1; - HAVE_MKOSTEMPS=1; - HAVE_MKSTEMP=1; - HAVE_MKSTEMPS=1; - HAVE_PTSNAME=1; - HAVE_RANDOM_H=1; - HAVE_RANDOM_R=1; - HAVE_REALPATH=1; - HAVE_RPMATCH=1; - HAVE_SETENV=1; - HAVE_DECL_SETENV=1; - HAVE_STRTOD=1; - HAVE_STRTOLL=1; - HAVE_STRTOULL=1; - HAVE_STRUCT_RANDOM_DATA=1; - HAVE_SYS_LOADAVG_H=0; - HAVE_UNLOCKPT=1; - HAVE_DECL_UNSETENV=1; - REPLACE_CALLOC=0; - REPLACE_CANONICALIZE_FILE_NAME=0; - REPLACE_MALLOC=0; - REPLACE_MBTOWC=0; - REPLACE_MKSTEMP=0; - REPLACE_PUTENV=0; - REPLACE_REALLOC=0; - REPLACE_REALPATH=0; - REPLACE_SETENV=0; - REPLACE_STRTOD=0; - REPLACE_UNSETENV=0; - REPLACE_WCTOMB=0; - - + GNULIB_CHDIR=0; GNULIB_CHOWN=0; GNULIB_CLOSE=0; + GNULIB_DUP=0; GNULIB_DUP2=0; GNULIB_DUP3=0; GNULIB_ENVIRON=0; @@ -11451,6 +9369,7 @@ _ACEOF GNULIB_FACCESSAT=0; GNULIB_FCHDIR=0; GNULIB_FCHOWNAT=0; + GNULIB_FDATASYNC=0; GNULIB_FSYNC=0; GNULIB_FTRUNCATE=0; GNULIB_GETCWD=0; @@ -11462,6 +9381,8 @@ _ACEOF GNULIB_GETLOGIN_R=0; GNULIB_GETPAGESIZE=0; GNULIB_GETUSERSHELL=0; + GNULIB_GROUP_MEMBER=0; + GNULIB_ISATTY=0; GNULIB_LCHOWN=0; GNULIB_LINK=0; GNULIB_LINKAT=0; @@ -11470,14 +9391,16 @@ _ACEOF GNULIB_PIPE2=0; GNULIB_PREAD=0; GNULIB_PWRITE=0; + GNULIB_READ=0; GNULIB_READLINK=0; GNULIB_READLINKAT=0; GNULIB_RMDIR=0; + GNULIB_SETHOSTNAME=0; GNULIB_SLEEP=0; GNULIB_SYMLINK=0; GNULIB_SYMLINKAT=0; GNULIB_TTYNAME_R=0; - GNULIB_UNISTD_H_GETOPT=0; + GNULIB_UNISTD_H_NONBLOCKING=0; GNULIB_UNISTD_H_SIGPIPE=0; GNULIB_UNLINK=0; GNULIB_UNLINKAT=0; @@ -11490,6 +9413,7 @@ _ACEOF HAVE_FACCESSAT=1; HAVE_FCHDIR=1; HAVE_FCHOWNAT=1; + HAVE_FDATASYNC=1; HAVE_FSYNC=1; HAVE_FTRUNCATE=1; HAVE_GETDTABLESIZE=1; @@ -11497,6 +9421,7 @@ _ACEOF HAVE_GETHOSTNAME=1; HAVE_GETLOGIN=1; HAVE_GETPAGESIZE=1; + HAVE_GROUP_MEMBER=1; HAVE_LCHOWN=1; HAVE_LINK=1; HAVE_LINKAT=1; @@ -11506,6 +9431,7 @@ _ACEOF HAVE_PWRITE=1; HAVE_READLINK=1; HAVE_READLINKAT=1; + HAVE_SETHOSTNAME=1; HAVE_SLEEP=1; HAVE_SYMLINK=1; HAVE_SYMLINKAT=1; @@ -11513,10 +9439,12 @@ _ACEOF HAVE_USLEEP=1; HAVE_DECL_ENVIRON=1; HAVE_DECL_FCHDIR=1; + HAVE_DECL_FDATASYNC=1; HAVE_DECL_GETDOMAINNAME=1; HAVE_DECL_GETLOGIN_R=1; HAVE_DECL_GETPAGESIZE=1; HAVE_DECL_GETUSERSHELL=1; + HAVE_DECL_SETHOSTNAME=1; HAVE_DECL_TTYNAME_R=1; HAVE_OS_H=0; HAVE_SYS_PARAM_H=0; @@ -11525,17 +9453,20 @@ _ACEOF REPLACE_DUP=0; REPLACE_DUP2=0; REPLACE_FCHOWNAT=0; + REPLACE_FTRUNCATE=0; REPLACE_GETCWD=0; REPLACE_GETDOMAINNAME=0; REPLACE_GETLOGIN_R=0; REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; + REPLACE_ISATTY=0; REPLACE_LCHOWN=0; REPLACE_LINK=0; REPLACE_LINKAT=0; REPLACE_LSEEK=0; REPLACE_PREAD=0; REPLACE_PWRITE=0; + REPLACE_READ=0; REPLACE_READLINK=0; REPLACE_RMDIR=0; REPLACE_SLEEP=0; @@ -11550,258 +9481,94 @@ _ACEOF -for ac_header in unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in unistd.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_UNISTD_H 1 _ACEOF fi done -{ $as_echo "$as_me:$LINENO: checking for working chown" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 $as_echo_n "checking for working chown... " >&6; } -if test "${ac_cv_func_chown_works+set}" = set; then +if ${ac_cv_func_chown_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_chown_works=no + if test "$cross_compiling" = yes; then : + case "$host_os" in # (( + # Guess yes on glibc systems. + *-gnu*) ac_cv_func_chown_works=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_chown_works=no ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default -#include + #include int main () { - char *f = "conftest.chown"; - struct stat before, after; - if (creat (f, 0600) < 0) - return 1; - if (stat (f, &before) < 0) - return 1; - if (chown (f, (uid_t) -1, (gid_t) -1) == -1) - return 1; - if (stat (f, &after) < 0) - return 1; - return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); + char *f = "conftest.chown"; + struct stat before, after; + + if (creat (f, 0600) < 0) + return 1; + if (stat (f, &before) < 0) + return 1; + if (chown (f, (uid_t) -1, (gid_t) -1) == -1) + return 1; + if (stat (f, &after) < 0) + return 1; + return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); ; return 0; } + _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_chown_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_chown_works=no + ac_cv_func_chown_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -rm -f conftest.chown + rm -f conftest.chown fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_chown_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 $as_echo "$ac_cv_func_chown_works" >&6; } -if test $ac_cv_func_chown_works = yes; then + if test $ac_cv_func_chown_works = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_CHOWN 1 -_ACEOF +$as_echo "#define HAVE_CHOWN 1" >>confdefs.h -fi + fi - { $as_echo "$as_me:$LINENO: checking whether chown dereferences symlinks" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether chown dereferences symlinks" >&5 $as_echo_n "checking whether chown dereferences symlinks... " >&6; } -if test "${gl_cv_func_chown_follows_symlink+set}" = set; then +if ${gl_cv_func_chown_follows_symlink+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : gl_cv_func_chown_follows_symlink=yes else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -11828,53 +9595,24 @@ cat >>conftest.$ac_ext <<_ACEOF } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_chown_follows_symlink=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_chown_follows_symlink=no + gl_cv_func_chown_follows_symlink=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_chown_follows_symlink" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_follows_symlink" >&5 $as_echo "$gl_cv_func_chown_follows_symlink" >&6; } if test $gl_cv_func_chown_follows_symlink = no; then -cat >>confdefs.h <<\_ACEOF -#define CHOWN_MODIFIES_SYMLINK 1 -_ACEOF +$as_echo "#define CHOWN_MODIFIES_SYMLINK 1" >>confdefs.h fi @@ -11889,74 +9627,36 @@ _ACEOF - - - - - - - - if test $ac_cv_func_chown = no; then HAVE_CHOWN=0 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" - else if test $gl_cv_func_chown_follows_symlink = no; then REPLACE_CHOWN=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" - fi if test $ac_cv_func_chown_works = no; then -cat >>confdefs.h <<\_ACEOF -#define CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE 1 -_ACEOF +$as_echo "#define CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE 1" >>confdefs.h REPLACE_CHOWN=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" - fi - { $as_echo "$as_me:$LINENO: checking whether chown honors trailing slash" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether chown honors trailing slash" >&5 $as_echo_n "checking whether chown honors trailing slash... " >&6; } -if test "${gl_cv_func_chown_slash_works+set}" = set; then +if ${gl_cv_func_chown_slash_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file && rm -f conftest.link - if test "$cross_compiling" = yes; then - gl_cv_func_chown_slash_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_slash_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -11973,78 +9673,44 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_chown_slash_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_chown_slash_works=no + gl_cv_func_chown_slash_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.link conftest.file fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_chown_slash_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_slash_works" >&5 $as_echo "$gl_cv_func_chown_slash_works" >&6; } - if test "$gl_cv_func_chown_slash_works" != yes; then - -cat >>confdefs.h <<\_ACEOF -#define CHOWN_TRAILING_SLASH_BUG 1 -_ACEOF - - REPLACE_CHOWN=1 - - - - - - - + case "$gl_cv_func_chown_slash_works" in + *yes) ;; + *) - gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" +$as_echo "#define CHOWN_TRAILING_SLASH_BUG 1" >>confdefs.h - fi + REPLACE_CHOWN=1 + ;; + esac - { $as_echo "$as_me:$LINENO: checking whether chown always updates ctime" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether chown always updates ctime" >&5 $as_echo_n "checking whether chown always updates ctime... " >&6; } -if test "${gl_cv_func_chown_ctime_works+set}" = set; then +if ${gl_cv_func_chown_ctime_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_chown_ctime_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_ctime_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -12068,99 +9734,76 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_chown_ctime_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_chown_ctime_works=no + gl_cv_func_chown_ctime_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.file fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_chown_ctime_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_ctime_works" >&5 $as_echo "$gl_cv_func_chown_ctime_works" >&6; } - if test "$gl_cv_func_chown_ctime_works" != yes; then - -cat >>confdefs.h <<\_ACEOF -#define CHOWN_CHANGE_TIME_BUG 1 -_ACEOF - - REPLACE_CHOWN=1 - - - - - + case "$gl_cv_func_chown_ctime_works" in + *yes) ;; + *) +$as_echo "#define CHOWN_CHANGE_TIME_BUG 1" >>confdefs.h + REPLACE_CHOWN=1 + ;; + esac + fi - gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" - fi - if test $REPLACE_CHOWN = 1 && test $ac_cv_func_fchown = no; then + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 +$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h + else + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 + fi - gl_LIBOBJS="$gl_LIBOBJS fchown-stub.$ac_objext" - fi - fi - GNULIB_DIRFD=0; + GNULIB_OPENDIR=0; + GNULIB_READDIR=0; + GNULIB_REWINDDIR=0; + GNULIB_CLOSEDIR=0; + GNULIB_DIRFD=0; GNULIB_FDOPENDIR=0; GNULIB_SCANDIR=0; GNULIB_ALPHASORT=0; - HAVE_DECL_DIRFD=1; + HAVE_OPENDIR=1; + HAVE_READDIR=1; + HAVE_REWINDDIR=1; + HAVE_CLOSEDIR=1; + HAVE_DECL_DIRFD=1; HAVE_DECL_FDOPENDIR=1; HAVE_FDOPENDIR=1; HAVE_SCANDIR=1; HAVE_ALPHASORT=1; + REPLACE_OPENDIR=0; REPLACE_CLOSEDIR=0; REPLACE_DIRFD=0; REPLACE_FDOPENDIR=0; - REPLACE_OPENDIR=0; - { $as_echo "$as_me:$LINENO: checking whether the preprocessor supports include_next" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 $as_echo_n "checking whether the preprocessor supports include_next... " >&6; } -if test "${gl_cv_have_include_next+set}" = set; then +if ${gl_cv_have_include_next+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftestd1a conftestd1b conftestd2 @@ -12192,72 +9835,32 @@ EOF EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" - cat >conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ #include _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_have_include_next=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - cat >conftest.$ac_ext <<_ACEOF + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ #include _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_have_include_next=buggy else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_have_include_next=no + gl_cv_have_include_next=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_have_include_next" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 $as_echo "$gl_cv_have_include_next" >&6; } PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then @@ -12278,16 +9881,12 @@ $as_echo "$gl_cv_have_include_next" >&6; } - { $as_echo "$as_me:$LINENO: checking whether system header files limit the line length" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5 $as_echo_n "checking whether system header files limit the line length... " >&6; } -if test "${gl_cv_pragma_columns+set}" = set; then +if ${gl_cv_pragma_columns+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __TANDEM @@ -12296,7 +9895,7 @@ choke me _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "choke me" >/dev/null 2>&1; then + $EGREP "choke me" >/dev/null 2>&1; then : gl_cv_pragma_columns=yes else gl_cv_pragma_columns=no @@ -12305,7 +9904,7 @@ rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_pragma_columns" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5 $as_echo "$gl_cv_pragma_columns" >&6; } if test $gl_cv_pragma_columns = yes; then PRAGMA_COLUMNS="#pragma COLUMNS 10000" @@ -12327,54 +9926,22 @@ $as_echo "$gl_cv_pragma_columns" >&6; } - gl_LIBOBJS="$gl_LIBOBJS basename-lgpl.$ac_objext" - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS dirname-lgpl.$ac_objext" - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS stripslash.$ac_objext" - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking if environ is properly declared" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 $as_echo_n "checking if environ is properly declared... " >&6; } - if test "${gt_cv_var_environ_declaration+set}" = set; then + if ${gt_cv_var_environ_declaration+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include + extern struct { int foo; } environ; int main () @@ -12384,42 +9951,19 @@ environ.foo = 1; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gt_cv_var_environ_declaration=no else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_var_environ_declaration=yes + gt_cv_var_environ_declaration=yes fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - { $as_echo "$as_me:$LINENO: result: $gt_cv_var_environ_declaration" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 $as_echo "$gt_cv_var_environ_declaration" >&6; } if test $gt_cv_var_environ_declaration = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ENVIRON_DECL 1 -_ACEOF +$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h fi @@ -12430,20 +9974,19 @@ _ACEOF - { $as_echo "$as_me:$LINENO: checking for complete errno.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 $as_echo_n "checking for complete errno.h... " >&6; } -if test "${gl_cv_header_errno_h_complete+set}" = set; then +if ${gl_cv_header_errno_h_complete+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include +#if !defined ETXTBSY +booboo +#endif #if !defined ENOMSG booboo #endif @@ -12468,6 +10011,12 @@ booboo #if !defined ENOTSUP booboo #endif +#if !defined ENETRESET +booboo +#endif +#if !defined ECONNABORTED +booboo +#endif #if !defined ESTALE booboo #endif @@ -12477,10 +10026,19 @@ booboo #if !defined ECANCELED booboo #endif +#if !defined EOWNERDEAD +booboo +#endif +#if !defined ENOTRECOVERABLE +booboo +#endif +#if !defined EILSEQ +booboo +#endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "booboo" >/dev/null 2>&1; then + $EGREP "booboo" >/dev/null 2>&1; then : gl_cv_header_errno_h_complete=no else gl_cv_header_errno_h_complete=yes @@ -12489,7 +10047,7 @@ rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_complete" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 $as_echo "$gl_cv_header_errno_h_complete" >&6; } if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' @@ -12505,17 +10063,13 @@ $as_echo "$gl_cv_header_errno_h_complete" >&6; } if test $gl_cv_have_include_next = yes; then gl_cv_next_errno_h='<'errno.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_errno_h+set}" = set; then +if ${gl_cv_next_errno_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -12524,17 +10078,31 @@ _ACEOF aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'errno.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/errno.h#{ - s#.*"\(.*/errno.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + sed -n "$gl_absolute_header_sed"`'"' fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_errno_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 $as_echo "$gl_cv_next_errno_h" >&6; } fi NEXT_ERRNO_H=$gl_cv_next_errno_h @@ -12554,19 +10122,23 @@ $as_echo "$gl_cv_next_errno_h" >&6; } ERRNO_H='errno.h' fi + if test -n "$ERRNO_H"; then + GL_GENERATE_ERRNO_H_TRUE= + GL_GENERATE_ERRNO_H_FALSE='#' +else + GL_GENERATE_ERRNO_H_TRUE='#' + GL_GENERATE_ERRNO_H_FALSE= +fi + if test -n "$ERRNO_H"; then - { $as_echo "$as_me:$LINENO: checking for EMULTIHOP value" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 $as_echo_n "checking for EMULTIHOP value... " >&6; } -if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then +if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -12576,7 +10148,7 @@ yes _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then + $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EMULTIHOP=yes else gl_cv_header_errno_h_EMULTIHOP=no @@ -12584,11 +10156,7 @@ fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 @@ -12599,1942 +10167,1241 @@ yes _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then + $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EMULTIHOP=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - + if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include +"; then : -int -main () -{ -static int test_array [1 - 2 * !((EMULTIHOP) >= 0)]; -test_array [0] = 0 +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + fi + fi -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 +$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } + case $gl_cv_header_errno_h_EMULTIHOP in + yes | no) + EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= + ;; + *) + EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" + ;; + esac -int -main () -{ -static int test_array [1 - 2 * !((EMULTIHOP) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + fi - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done + if test -n "$ERRNO_H"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 +$as_echo_n "checking for ENOLINK value... " >&6; } +if ${gl_cv_header_errno_h_ENOLINK+:} false; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef ENOLINK +yes +#endif + _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_ENOLINK=yes +else + gl_cv_header_errno_h_ENOLINK=no +fi +rm -f conftest* + + if test $gl_cv_header_errno_h_ENOLINK = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include - -int -main () -{ -static int test_array [1 - 2 * !((EMULTIHOP) < 0)]; -test_array [0] = 0 +#ifdef ENOLINK +yes +#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_ENOLINK=hidden +fi +rm -f conftest* + if test $gl_cv_header_errno_h_ENOLINK = hidden; then + if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include +"; then : -int -main () -{ -static int test_array [1 - 2 * !((EMULTIHOP) >= $ac_mid)]; -test_array [0] = 0 +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + fi + fi - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 +$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } + case $gl_cv_header_errno_h_ENOLINK in + yes | no) + ENOLINK_HIDDEN=0; ENOLINK_VALUE= + ;; + *) + ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" + ;; + esac -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include - -int -main () -{ -static int test_array [1 - 2 * !((EMULTIHOP) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) gl_cv_header_errno_h_EMULTIHOP=$ac_lo;; -'') ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include - -static long int longval () { return EMULTIHOP; } -static unsigned long int ulongval () { return EMULTIHOP; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((EMULTIHOP) < 0) - { - long int i = longval (); - if (i != (EMULTIHOP)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (EMULTIHOP)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_header_errno_h_EMULTIHOP=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val - fi - fi - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 -$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } - case $gl_cv_header_errno_h_EMULTIHOP in - yes | no) - EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= - ;; - *) - EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" - ;; - esac - - - fi + fi if test -n "$ERRNO_H"; then - { $as_echo "$as_me:$LINENO: checking for ENOLINK value" >&5 -$as_echo_n "checking for ENOLINK value... " >&6; } -if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 +$as_echo_n "checking for EOVERFLOW value... " >&6; } +if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include -#ifdef ENOLINK +#ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then - gl_cv_header_errno_h_ENOLINK=yes + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_EOVERFLOW=yes else - gl_cv_header_errno_h_ENOLINK=no + gl_cv_header_errno_h_EOVERFLOW=no fi rm -f conftest* - if test $gl_cv_header_errno_h_ENOLINK = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test $gl_cv_header_errno_h_EOVERFLOW = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include -#ifdef ENOLINK +#ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then - gl_cv_header_errno_h_ENOLINK=hidden + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_EOVERFLOW=hidden fi rm -f conftest* - if test $gl_cv_header_errno_h_ENOLINK = hidden; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - + if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then + if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include +"; then : -int -main () -{ -static int test_array [1 - 2 * !((ENOLINK) >= 0)]; -test_array [0] = 0 +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + fi + fi -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 +$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } + case $gl_cv_header_errno_h_EOVERFLOW in + yes | no) + EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= + ;; + *) + EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" + ;; + esac -int -main () -{ -static int test_array [1 - 2 * !((ENOLINK) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + fi - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done +ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" +if test "x$ac_cv_have_decl_strerror_r" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_have_decl=0 +fi - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRERROR_R $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include +for ac_func in strerror_r +do : + ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" +if test "x$ac_cv_func_strerror_r" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRERROR_R 1 +_ACEOF + +fi +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 +$as_echo_n "checking whether strerror_r returns char *... " >&6; } +if ${ac_cv_func_strerror_r_char_p+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_func_strerror_r_char_p=no + if test $ac_cv_have_decl_strerror_r = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default int main () { -static int test_array [1 - 2 * !((ENOLINK) < 0)]; -test_array [0] = 0 + + char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + char *p = strerror_r (0, buf, sizeof buf); + return !p || x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_func_strerror_r_char_p=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + else + # strerror_r is not declared. Choose between + # systems that have relatively inaccessible declarations for the + # function. BeOS and DEC UNIX 4.0 fall in this category, but the + # former has a strerror_r that returns char*, while the latter + # has a strerror_r that returns `int'. + # This test should segfault on the DEC system. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include - +$ac_includes_default + extern char *strerror_r (); int main () { -static int test_array [1 - 2 * !((ENOLINK) >= $ac_mid)]; -test_array [0] = 0 - +char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + return ! isalpha (x); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strerror_r_char_p=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + fi - ac_lo= ac_hi= fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 +$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } +if test $ac_cv_func_strerror_r_char_p = yes; then + +$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((ENOLINK) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid +ac_fn_c_check_decl "$LINENO" "fchdir" "ac_cv_have_decl_fchdir" "$ac_includes_default" +if test "x$ac_cv_have_decl_fchdir" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` + ac_have_decl=0 fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) gl_cv_header_errno_h_ENOLINK=$ac_lo;; -'') ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FCHDIR $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include - -static long int longval () { return ENOLINK; } -static unsigned long int ulongval () { return ENOLINK; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((ENOLINK) < 0) - { - long int i = longval (); - if (i != (ENOLINK)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (ENOLINK)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_header_errno_h_ENOLINK=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + GNULIB_FCHMODAT=0; + GNULIB_FSTAT=0; + GNULIB_FSTATAT=0; + GNULIB_FUTIMENS=0; + GNULIB_LCHMOD=0; + GNULIB_LSTAT=0; + GNULIB_MKDIRAT=0; + GNULIB_MKFIFO=0; + GNULIB_MKFIFOAT=0; + GNULIB_MKNOD=0; + GNULIB_MKNODAT=0; + GNULIB_STAT=0; + GNULIB_UTIMENSAT=0; + HAVE_FCHMODAT=1; + HAVE_FSTATAT=1; + HAVE_FUTIMENS=1; + HAVE_LCHMOD=1; + HAVE_LSTAT=1; + HAVE_MKDIRAT=1; + HAVE_MKFIFO=1; + HAVE_MKFIFOAT=1; + HAVE_MKNOD=1; + HAVE_MKNODAT=1; + HAVE_UTIMENSAT=1; + REPLACE_FSTAT=0; + REPLACE_FSTATAT=0; + REPLACE_FUTIMENS=0; + REPLACE_LSTAT=0; + REPLACE_MKDIR=0; + REPLACE_MKFIFO=0; + REPLACE_MKNOD=0; + REPLACE_STAT=0; + REPLACE_UTIMENSAT=0; -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_ENOLINK" >&5 -$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } - case $gl_cv_header_errno_h_ENOLINK in - yes | no) - ENOLINK_HIDDEN=0; ENOLINK_VALUE= - ;; - *) - ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" - ;; - esac - fi - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:$LINENO: checking for EOVERFLOW value" >&5 -$as_echo_n "checking for EOVERFLOW value... " >&6; } -if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then - $as_echo_n "(cached) " >&6 -else + GNULIB_FCNTL=0; + GNULIB_NONBLOCKING=0; + GNULIB_OPEN=0; + GNULIB_OPENAT=0; + HAVE_FCNTL=1; + HAVE_OPENAT=1; + REPLACE_FCNTL=0; + REPLACE_OPEN=0; + REPLACE_OPENAT=0; - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#ifdef EOVERFLOW -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then - gl_cv_header_errno_h_EOVERFLOW=yes -else - gl_cv_header_errno_h_EOVERFLOW=no -fi -rm -f conftest* - if test $gl_cv_header_errno_h_EOVERFLOW = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EOVERFLOW -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then - gl_cv_header_errno_h_EOVERFLOW=hidden -fi -rm -f conftest* - if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((EOVERFLOW) >= 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5 +$as_echo_n "checking for working fcntl.h... " >&6; } +if ${gl_cv_header_working_fcntl_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + gl_cv_header_working_fcntl_h=cross-compiling +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include +#include + #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + # defined sleep(n) _sleep ((n) * 1000) + #endif + #include + #ifndef O_NOATIME + #define O_NOATIME 0 + #endif + #ifndef O_NOFOLLOW + #define O_NOFOLLOW 0 + #endif + static int const constants[] = + { + O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, + O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY + }; int main () { -static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break + int result = !constants; + #if HAVE_SYMLINK + { + static char const sym[] = "conftest.sym"; + if (symlink ("/dev/null", sym) != 0) + result |= 2; + else + { + int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0); + if (fd >= 0) + { + close (fd); + result |= 4; + } + } + if (unlink (sym) != 0 || symlink (".", sym) != 0) + result |= 2; + else + { + int fd = open (sym, O_RDONLY | O_NOFOLLOW); + if (fd >= 0) + { + close (fd); + result |= 4; + } + } + unlink (sym); + } + #endif + { + static char const file[] = "confdefs.h"; + int fd = open (file, O_RDONLY | O_NOATIME); + if (fd < 0) + result |= 8; + else + { + struct stat st0; + if (fstat (fd, &st0) != 0) + result |= 16; + else + { + char c; + sleep (1); + if (read (fd, &c, 1) != 1) + result |= 24; + else + { + if (close (fd) != 0) + result |= 32; + else + { + struct stat st1; + if (stat (file, &st1) != 0) + result |= 40; + else + if (st0.st_atime != st1.st_atime) + result |= 64; + } + } + } + } + } + return result; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_header_working_fcntl_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + case $? in #( + 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( + 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( + 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( + *) gl_cv_header_working_fcntl_h='no';; + esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5 +$as_echo "$gl_cv_header_working_fcntl_h" >&6; } -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + case $gl_cv_header_working_fcntl_h in #( + *O_NOATIME* | no | cross-compiling) ac_val=0;; #( + *) ac_val=1;; + esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_WORKING_O_NOATIME $ac_val _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((EOVERFLOW) < 0)]; -test_array [0] = 0 + case $gl_cv_header_working_fcntl_h in #( + *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( + *) ac_val=1;; + esac - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_WORKING_O_NOFOLLOW $ac_val _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 +$as_echo_n "checking for mbstate_t... " >&6; } +if ${ac_cv_type_mbstate_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include int main () { -static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)]; -test_array [0] = 0 - +mbstate_t x; return sizeof x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_type_mbstate_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + ac_cv_type_mbstate_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 +$as_echo "$ac_cv_type_mbstate_t" >&6; } + if test $ac_cv_type_mbstate_t = yes; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi +$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + else -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include +$as_echo "#define mbstate_t int" >>confdefs.h -int -main () -{ -static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; -test_array [0] = 0 + fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) gl_cv_header_errno_h_EOVERFLOW=$ac_lo;; -'') ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -static long int longval () { return EOVERFLOW; } -static unsigned long int ulongval () { return EOVERFLOW; } + + + + + + + + + + + + + + + + GNULIB_DPRINTF=0; + GNULIB_FCLOSE=0; + GNULIB_FDOPEN=0; + GNULIB_FFLUSH=0; + GNULIB_FGETC=0; + GNULIB_FGETS=0; + GNULIB_FOPEN=0; + GNULIB_FPRINTF=0; + GNULIB_FPRINTF_POSIX=0; + GNULIB_FPURGE=0; + GNULIB_FPUTC=0; + GNULIB_FPUTS=0; + GNULIB_FREAD=0; + GNULIB_FREOPEN=0; + GNULIB_FSCANF=0; + GNULIB_FSEEK=0; + GNULIB_FSEEKO=0; + GNULIB_FTELL=0; + GNULIB_FTELLO=0; + GNULIB_FWRITE=0; + GNULIB_GETC=0; + GNULIB_GETCHAR=0; + GNULIB_GETDELIM=0; + GNULIB_GETLINE=0; + GNULIB_OBSTACK_PRINTF=0; + GNULIB_OBSTACK_PRINTF_POSIX=0; + GNULIB_PCLOSE=0; + GNULIB_PERROR=0; + GNULIB_POPEN=0; + GNULIB_PRINTF=0; + GNULIB_PRINTF_POSIX=0; + GNULIB_PUTC=0; + GNULIB_PUTCHAR=0; + GNULIB_PUTS=0; + GNULIB_REMOVE=0; + GNULIB_RENAME=0; + GNULIB_RENAMEAT=0; + GNULIB_SCANF=0; + GNULIB_SNPRINTF=0; + GNULIB_SPRINTF_POSIX=0; + GNULIB_STDIO_H_NONBLOCKING=0; + GNULIB_STDIO_H_SIGPIPE=0; + GNULIB_TMPFILE=0; + GNULIB_VASPRINTF=0; + GNULIB_VFSCANF=0; + GNULIB_VSCANF=0; + GNULIB_VDPRINTF=0; + GNULIB_VFPRINTF=0; + GNULIB_VFPRINTF_POSIX=0; + GNULIB_VPRINTF=0; + GNULIB_VPRINTF_POSIX=0; + GNULIB_VSNPRINTF=0; + GNULIB_VSPRINTF_POSIX=0; + HAVE_DECL_FPURGE=1; + HAVE_DECL_FSEEKO=1; + HAVE_DECL_FTELLO=1; + HAVE_DECL_GETDELIM=1; + HAVE_DECL_GETLINE=1; + HAVE_DECL_OBSTACK_PRINTF=1; + HAVE_DECL_SNPRINTF=1; + HAVE_DECL_VSNPRINTF=1; + HAVE_DPRINTF=1; + HAVE_FSEEKO=1; + HAVE_FTELLO=1; + HAVE_PCLOSE=1; + HAVE_POPEN=1; + HAVE_RENAMEAT=1; + HAVE_VASPRINTF=1; + HAVE_VDPRINTF=1; + REPLACE_DPRINTF=0; + REPLACE_FCLOSE=0; + REPLACE_FDOPEN=0; + REPLACE_FFLUSH=0; + REPLACE_FOPEN=0; + REPLACE_FPRINTF=0; + REPLACE_FPURGE=0; + REPLACE_FREOPEN=0; + REPLACE_FSEEK=0; + REPLACE_FSEEKO=0; + REPLACE_FTELL=0; + REPLACE_FTELLO=0; + REPLACE_GETDELIM=0; + REPLACE_GETLINE=0; + REPLACE_OBSTACK_PRINTF=0; + REPLACE_PERROR=0; + REPLACE_POPEN=0; + REPLACE_PRINTF=0; + REPLACE_REMOVE=0; + REPLACE_RENAME=0; + REPLACE_RENAMEAT=0; + REPLACE_SNPRINTF=0; + REPLACE_SPRINTF=0; + REPLACE_STDIO_READ_FUNCS=0; + REPLACE_STDIO_WRITE_FUNCS=0; + REPLACE_TMPFILE=0; + REPLACE_VASPRINTF=0; + REPLACE_VDPRINTF=0; + REPLACE_VFPRINTF=0; + REPLACE_VPRINTF=0; + REPLACE_VSNPRINTF=0; + REPLACE_VSPRINTF=0; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 +$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } +if ${gl_cv_var_stdin_large_offset+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ #include -#include int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((EOVERFLOW) < 0) - { - long int i = longval (); - if (i != (EOVERFLOW)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (EOVERFLOW)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - +#if defined __SL64 && defined __SCLE /* cygwin */ + /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making + fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and + it is easier to do a version check than building a runtime test. */ +# include +# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) + choke me +# endif +#endif ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_header_errno_h_EOVERFLOW=`cat conftest.val` +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_var_stdin_large_offset=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + gl_cv_var_stdin_large_offset=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -rm -f conftest.val - fi - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 +$as_echo "$gl_cv_var_stdin_large_offset" >&6; } -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 -$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } - case $gl_cv_header_errno_h_EOVERFLOW in - yes | no) - EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= - ;; - *) - EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" - ;; - esac - fi -{ $as_echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5 -$as_echo_n "checking whether strerror_r is declared... " >&6; } -if test "${ac_cv_have_decl_strerror_r+set}" = set; then + case "$host_os" in + mingw*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5 +$as_echo_n "checking for 64-bit off_t... " >&6; } +if ${gl_cv_type_off_t_64+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; + int main () { -#ifndef strerror_r - (void) strerror_r; -#endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strerror_r=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_type_off_t_64=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strerror_r=no + gl_cv_type_off_t_64=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 -$as_echo "$ac_cv_have_decl_strerror_r" >&6; } -if test "x$ac_cv_have_decl_strerror_r" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 +$as_echo "$gl_cv_type_off_t_64" >&6; } + if test $gl_cv_type_off_t_64 = no; then + WINDOWS_64_BIT_OFF_T=1 + else + WINDOWS_64_BIT_OFF_T=0 + fi + WINDOWS_64_BIT_ST_SIZE=1 + ;; + *) + WINDOWS_64_BIT_OFF_T=0 + WINDOWS_64_BIT_ST_SIZE=0 + ;; + esac + + + + + + + + -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R 1 -_ACEOF + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_types_h='<'sys/types.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_types_h+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R 0 + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/types.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 +$as_echo "$gl_cv_next_sys_types_h" >&6; } + fi + NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/types.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_types_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive -for ac_func in strerror_r -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 + + + + + + + + +ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" +if test "x$ac_cv_have_decl_fseeko" = xyes; then : + ac_have_decl=1 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FSEEKO $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 +$as_echo_n "checking for fseeko... " >&6; } +if ${gl_cv_func_fseeko+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -return $ac_func (); +fseeko (stdin, 0, 0); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_fseeko=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_func_fseeko=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 +$as_echo "$gl_cv_func_fseeko" >&6; } -fi -done -{ $as_echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5 -$as_echo_n "checking whether strerror_r returns char *... " >&6; } -if test "${ac_cv_func_strerror_r_char_p+set}" = set; then + if test $ac_cv_have_decl_fseeko = no; then + HAVE_DECL_FSEEKO=0 + fi + + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FSEEKO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FSEEKO=1 + fi + + fi + + + + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_stat_h+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_func_strerror_r_char_p=no - if test $ac_cv_have_decl_strerror_r = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ + if test $ac_cv_header_sys_stat_h = yes; then - char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - char *p = strerror_r (0, buf, sizeof buf); - return !p || x; - ; - return 0; -} + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_func_strerror_r_char_p=yes + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/stat.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 +$as_echo "$gl_cv_next_sys_stat_h" >&6; } + fi + NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/stat.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_stat_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive + + + + + + + + + + + + if test $WINDOWS_64_BIT_ST_SIZE = 1; then + +$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h + + fi + + ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include + #include +" +if test "x$ac_cv_type_nlink_t" = xyes; then : + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define nlink_t int" >>confdefs.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the - # function. BeOS and DEC UNIX 4.0 fall in this category, but the - # former has a strerror_r that returns char*, while the latter - # has a strerror_r that returns `int'. - # This test should segfault on the DEC system. - if test "$cross_compiling" = yes; then - : + + + for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default - extern char *strerror_r (); +#include + int main () { -char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - return ! isalpha (x); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strerror_r_char_p=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + eval "$as_gl_Symbol=no" fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5 -$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } -if test $ac_cv_func_strerror_r_char_p = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STRERROR_R_CHAR_P 1 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF + eval ac_cv_have_decl_$gl_func=yes fi + done - GNULIB_FCHMODAT=0; - GNULIB_FSTATAT=0; - GNULIB_FUTIMENS=0; - GNULIB_LCHMOD=0; - GNULIB_LSTAT=0; - GNULIB_MKDIRAT=0; - GNULIB_MKFIFO=0; - GNULIB_MKFIFOAT=0; - GNULIB_MKNOD=0; - GNULIB_MKNODAT=0; - GNULIB_STAT=0; - GNULIB_UTIMENSAT=0; - HAVE_FCHMODAT=1; - HAVE_FSTATAT=1; - HAVE_FUTIMENS=1; - HAVE_LCHMOD=1; - HAVE_LSTAT=1; - HAVE_MKDIRAT=1; - HAVE_MKFIFO=1; - HAVE_MKFIFOAT=1; - HAVE_MKNOD=1; - HAVE_MKNODAT=1; - HAVE_UTIMENSAT=1; - REPLACE_FSTAT=0; - REPLACE_FSTATAT=0; - REPLACE_FUTIMENS=0; - REPLACE_LSTAT=0; - REPLACE_MKDIR=0; - REPLACE_MKFIFO=0; - REPLACE_MKNOD=0; - REPLACE_STAT=0; - REPLACE_UTIMENSAT=0; -{ $as_echo "$as_me:$LINENO: checking whether fchdir is declared" >&5 -$as_echo_n "checking whether fchdir is declared... " >&6; } -if test "${ac_cv_have_decl_fchdir+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + rm -f conftest.sym conftest.file + echo >conftest.file + if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { -#ifndef fchdir - (void) fchdir; -#endif +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fchdir=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_lstat_dereferences_slashed_symlink=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fchdir=no + gl_cv_func_lstat_dereferences_slashed_symlink=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fchdir" >&5 -$as_echo "$ac_cv_have_decl_fchdir" >&6; } -if test "x$ac_cv_have_decl_fchdir" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FCHDIR 1 -_ACEOF + else + # If the 'ln -s' command failed, then we probably don't even + # have an lstat function. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" + fi + rm -f conftest.sym conftest.file +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 +$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *yes) -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FCHDIR 0 +cat >>confdefs.h <<_ACEOF +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF - -fi - + ;; + esac - GNULIB_FCNTL=0; - GNULIB_OPEN=0; - GNULIB_OPENAT=0; - HAVE_FCNTL=1; - HAVE_OPENAT=1; - REPLACE_FCNTL=0; - REPLACE_OPEN=0; - REPLACE_OPENAT=0; - { $as_echo "$as_me:$LINENO: checking for promoted mode_t type" >&5 -$as_echo_n "checking for promoted mode_t type... " >&6; } -if test "${gl_cv_promoted_mode_t+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5 +$as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; } +if ${gl_cv_func_getcwd_null+:} false; then : $as_echo_n "(cached) " >&6 else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on Cygwin. + cygwin*) gl_cv_func_getcwd_null="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_getcwd_null="guessing no";; + esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +# if HAVE_UNISTD_H +# include +# else /* on Windows with MSVC */ +# include +# endif +# ifndef getcwd + char *getcwd (); +# endif + int main () { -typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* mingw cwd does not start with '/', but getcwd does allocate. + However, mingw fails to honor non-zero size. */ +#else + if (chdir ("/") != 0) + return 1; + else + { + char *f = getcwd (NULL, 0); + if (! f) + return 2; + if (f[0] != '/') + return 3; + if (f[1] != '\0') + return 4; + return 0; + } +#endif + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_promoted_mode_t='int' +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getcwd_null=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_promoted_mode_t='mode_t' + gl_cv_func_getcwd_null=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_promoted_mode_t" >&5 -$as_echo "$gl_cv_promoted_mode_t" >&6; } - -cat >>confdefs.h <<_ACEOF -#define PROMOTED_MODE_T $gl_cv_promoted_mode_t -_ACEOF - - - - GNULIB_DPRINTF=0; - GNULIB_FCLOSE=0; - GNULIB_FFLUSH=0; - GNULIB_FOPEN=0; - GNULIB_FPRINTF=0; - GNULIB_FPRINTF_POSIX=0; - GNULIB_FPURGE=0; - GNULIB_FPUTC=0; - GNULIB_FPUTS=0; - GNULIB_FREOPEN=0; - GNULIB_FSEEK=0; - GNULIB_FSEEKO=0; - GNULIB_FTELL=0; - GNULIB_FTELLO=0; - GNULIB_FWRITE=0; - GNULIB_GETDELIM=0; - GNULIB_GETLINE=0; - GNULIB_OBSTACK_PRINTF=0; - GNULIB_OBSTACK_PRINTF_POSIX=0; - GNULIB_PERROR=0; - GNULIB_POPEN=0; - GNULIB_PRINTF=0; - GNULIB_PRINTF_POSIX=0; - GNULIB_PUTC=0; - GNULIB_PUTCHAR=0; - GNULIB_PUTS=0; - GNULIB_REMOVE=0; - GNULIB_RENAME=0; - GNULIB_RENAMEAT=0; - GNULIB_SNPRINTF=0; - GNULIB_SPRINTF_POSIX=0; - GNULIB_STDIO_H_SIGPIPE=0; - GNULIB_TMPFILE=0; - GNULIB_VASPRINTF=0; - GNULIB_VDPRINTF=0; - GNULIB_VFPRINTF=0; - GNULIB_VFPRINTF_POSIX=0; - GNULIB_VPRINTF=0; - GNULIB_VPRINTF_POSIX=0; - GNULIB_VSNPRINTF=0; - GNULIB_VSPRINTF_POSIX=0; - HAVE_DECL_FPURGE=1; - HAVE_DECL_FSEEKO=1; - HAVE_DECL_FTELLO=1; - HAVE_DECL_GETDELIM=1; - HAVE_DECL_GETLINE=1; - HAVE_DECL_OBSTACK_PRINTF=1; - HAVE_DECL_SNPRINTF=1; - HAVE_DECL_VSNPRINTF=1; - HAVE_DPRINTF=1; - HAVE_FSEEKO=1; - HAVE_FTELLO=1; - HAVE_RENAMEAT=1; - HAVE_VASPRINTF=1; - HAVE_VDPRINTF=1; - REPLACE_DPRINTF=0; - REPLACE_FCLOSE=0; - REPLACE_FFLUSH=0; - REPLACE_FOPEN=0; - REPLACE_FPRINTF=0; - REPLACE_FPURGE=0; - REPLACE_FREOPEN=0; - REPLACE_FSEEK=0; - REPLACE_FSEEKO=0; - REPLACE_FTELL=0; - REPLACE_FTELLO=0; - REPLACE_GETDELIM=0; - REPLACE_GETLINE=0; - REPLACE_OBSTACK_PRINTF=0; - REPLACE_PERROR=0; - REPLACE_POPEN=0; - REPLACE_PRINTF=0; - REPLACE_REMOVE=0; - REPLACE_RENAME=0; - REPLACE_RENAMEAT=0; - REPLACE_SNPRINTF=0; - REPLACE_SPRINTF=0; - REPLACE_STDIO_WRITE_FUNCS=0; - REPLACE_TMPFILE=0; - REPLACE_VASPRINTF=0; - REPLACE_VDPRINTF=0; - REPLACE_VFPRINTF=0; - REPLACE_VPRINTF=0; - REPLACE_VSNPRINTF=0; - REPLACE_VSPRINTF=0; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5 +$as_echo "$gl_cv_func_getcwd_null" >&6; } - { $as_echo "$as_me:$LINENO: checking for working fcntl.h" >&5 -$as_echo_n "checking for working fcntl.h... " >&6; } -if test "${gl_cv_header_working_fcntl_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5 +$as_echo_n "checking for getcwd with POSIX signature... " >&6; } +if ${gl_cv_func_getcwd_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_header_working_fcntl_h=cross-compiling -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include - #include - #ifndef O_NOATIME - #define O_NOATIME 0 - #endif - #ifndef O_NOFOLLOW - #define O_NOFOLLOW 0 - #endif - static int const constants[] = - { - O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, - O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY - }; - +#include int main () { +extern + #ifdef __cplusplus + "C" + #endif + char *getcwd (char *, size_t); - int result = !constants; - { - static char const sym[] = "conftest.sym"; - if (symlink (".", sym) != 0) - result |= 2; - else - { - int fd = open (sym, O_RDONLY | O_NOFOLLOW); - if (fd >= 0) - { - close (fd); - result |= 4; - } - } - unlink (sym); - } - { - static char const file[] = "confdefs.h"; - int fd = open (file, O_RDONLY | O_NOATIME); - if (fd < 0) - result |= 8; - else - { - struct stat st0; - if (fstat (fd, &st0) != 0) - result |= 16; - else - { - char c; - sleep (1); - if (read (fd, &c, 1) != 1) - result |= 24; - else - { - if (close (fd) != 0) - result |= 32; - else - { - struct stat st1; - if (stat (file, &st1) != 0) - result |= 40; - else - if (st0.st_atime != st1.st_atime) - result |= 64; - } - } - } - } - } - return result; ; return 0; } + _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_header_working_fcntl_h=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_getcwd_posix_signature=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_getcwd_posix_signature=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -( exit $ac_status ) -case $? in #( - 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( - 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( - 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( - *) gl_cv_header_working_fcntl_h='no';; - esac fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5 +$as_echo "$gl_cv_func_getcwd_posix_signature" >&6; } + +ac_fn_c_check_decl "$LINENO" "getcwd" "ac_cv_have_decl_getcwd" "$ac_includes_default" +if test "x$ac_cv_have_decl_getcwd" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETCWD $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default" +if test "x$ac_cv_have_decl_getdelim" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_working_fcntl_h" >&5 -$as_echo "$gl_cv_header_working_fcntl_h" >&6; } - - case $gl_cv_header_working_fcntl_h in #( - *O_NOATIME* | no | cross-compiling) ac_val=0;; #( - *) ac_val=1;; - esac cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOATIME $ac_val +#define HAVE_DECL_GETDELIM $ac_have_decl _ACEOF - case $gl_cv_header_working_fcntl_h in #( - *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( - *) ac_val=1;; - esac + + + +ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default" +if test "x$ac_cv_have_decl_getline" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOFOLLOW $ac_val +#define HAVE_DECL_GETLINE $ac_have_decl _ACEOF @@ -14542,611 +11409,640 @@ _ACEOF - { $as_echo "$as_me:$LINENO: checking for mbstate_t" >&5 -$as_echo_n "checking for mbstate_t... " >&6; } -if test "${ac_cv_type_mbstate_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int -main () -{ -mbstate_t x; return sizeof x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_mbstate_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_type_mbstate_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5 -$as_echo "$ac_cv_type_mbstate_t" >&6; } - if test $ac_cv_type_mbstate_t = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_MBSTATE_T 1 -_ACEOF - else -cat >>confdefs.h <<\_ACEOF -#define mbstate_t int -_ACEOF - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_getopt_h='<'getopt.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_getopt_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_getopt_h = yes; then + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'getopt.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_getopt_h='<'getopt.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 +$as_echo "$gl_cv_next_getopt_h" >&6; } + fi + NEXT_GETOPT_H=$gl_cv_next_getopt_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'getopt.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_getopt_h + fi + NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive + if test $ac_cv_header_getopt_h = yes; then + HAVE_GETOPT_H=1 + else + HAVE_GETOPT_H=0 + fi + gl_replace_getopt= + if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then + for ac_header in getopt.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" +if test "x$ac_cv_header_getopt_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT_H 1 +_ACEOF +else + gl_replace_getopt=yes +fi +done + fi + if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then + for ac_func in getopt_long_only +do : + ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" +if test "x$ac_cv_func_getopt_long_only" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT_LONG_ONLY 1 +_ACEOF +else + gl_replace_getopt=yes +fi +done + fi - { $as_echo "$as_me:$LINENO: checking for fseeko" >&5 -$as_echo_n "checking for fseeko... " >&6; } -if test "${gl_cv_func_fseeko+set}" = set; then + if test -z "$gl_replace_getopt"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 +$as_echo_n "checking whether getopt is POSIX compatible... " >&6; } +if ${gl_cv_func_getopt_posix+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test $cross_compiling = no; then + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#include +#include +#include int main () { -fseeko (stdin, 0, 0); - ; + static char program[] = "program"; + static char a[] = "-a"; + static char foo[] = "foo"; + static char bar[] = "bar"; + char *argv[] = { program, a, foo, bar, NULL }; + int c; + + c = getopt (4, argv, "ab"); + if (!(c == 'a')) + return 1; + c = getopt (4, argv, "ab"); + if (!(c == -1)) + return 2; + if (!(optind == 2)) + return 3; return 0; } + _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gl_cv_func_fseeko=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_posix=maybe else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_fseeko=no + gl_cv_func_getopt_posix=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fseeko" >&5 -$as_echo "$gl_cv_func_fseeko" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether stdin defaults to large file offsets" >&5 -$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } -if test "${gl_cv_var_stdin_large_offset+set}" = set; then - $as_echo_n "(cached) " >&6 + if test $gl_cv_func_getopt_posix = maybe; then + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#include +#include +#include + int main () { -#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif -#endif - ; + static char program[] = "program"; + static char donald[] = "donald"; + static char p[] = "-p"; + static char billy[] = "billy"; + static char duck[] = "duck"; + static char a[] = "-a"; + static char bar[] = "bar"; + char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; + int c; + + c = getopt (7, argv, "+abp:q:"); + if (!(c == -1)) + return 4; + if (!(strcmp (argv[0], "program") == 0)) + return 5; + if (!(strcmp (argv[1], "donald") == 0)) + return 6; + if (!(strcmp (argv[2], "-p") == 0)) + return 7; + if (!(strcmp (argv[3], "billy") == 0)) + return 8; + if (!(strcmp (argv[4], "duck") == 0)) + return 9; + if (!(strcmp (argv[5], "-a") == 0)) + return 10; + if (!(strcmp (argv[6], "bar") == 0)) + return 11; + if (!(optind == 1)) + return 12; return 0; } + _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gl_cv_var_stdin_large_offset=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_posix=maybe else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_var_stdin_large_offset=no + gl_cv_func_getopt_posix=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_var_stdin_large_offset" >&5 -$as_echo "$gl_cv_var_stdin_large_offset" >&6; } -{ $as_echo "$as_me:$LINENO: checking whether fseeko is declared" >&5 -$as_echo_n "checking whether fseeko is declared... " >&6; } -if test "${ac_cv_have_decl_fseeko+set}" = set; then - $as_echo_n "(cached) " >&6 + fi + if test $gl_cv_func_getopt_posix = maybe; then + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default + +#include +#include +#include + int main () { -#ifndef fseeko - (void) fseeko; -#endif - - ; + static char program[] = "program"; + static char ab[] = "-ab"; + char *argv[3] = { program, ab, NULL }; + if (getopt (2, argv, "ab:") != 'a') + return 13; + if (getopt (2, argv, "ab:") != '?') + return 14; + if (optopt != 'b') + return 15; + if (optind != 2) + return 16; return 0; } + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fseeko=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_posix=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fseeko=no + gl_cv_func_getopt_posix=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fseeko" >&5 -$as_echo "$ac_cv_have_decl_fseeko" >&6; } -if test "x$ac_cv_have_decl_fseeko" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FSEEKO 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FSEEKO 0 -_ACEOF + fi + else + case "$host_os" in + darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; + *) gl_cv_func_getopt_posix="guessing yes";; + esac + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5 +$as_echo "$gl_cv_func_getopt_posix" >&6; } + case "$gl_cv_func_getopt_posix" in + *no) gl_replace_getopt=yes ;; + esac + fi - - - - - { $as_echo "$as_me:$LINENO: checking whether getcwd (NULL, 0) allocates memory for result" >&5 -$as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; } -if test "${gl_cv_func_getcwd_null+set}" = set; then + if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5 +$as_echo_n "checking for working GNU getopt function... " >&6; } +if ${gl_cv_func_getopt_gnu+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on mingw. - mingw*) gl_cv_func_getcwd_null="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_getcwd_null="guessing no";; + # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the + # optstring is necessary for programs like m4 that have POSIX-mandated + # semantics for supporting options interspersed with files. + # Also, since getopt_long is a GNU extension, we require optind=0. + # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; + # so take care to revert to the correct (non-)export state. + gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' + case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + #include + #include + +#include +#if defined __MACH__ && defined __APPLE__ +/* Avoid a crash on Mac OS X. */ +#include +#include +#include +#include +#include +#include +/* The exception port on which our thread listens. */ +static mach_port_t our_exception_port; +/* The main function of the thread listening for exceptions of type + EXC_BAD_ACCESS. */ +static void * +mach_exception_thread (void *arg) +{ + /* Buffer for a message to be received. */ + struct { + mach_msg_header_t head; + mach_msg_body_t msgh_body; + char data[1024]; + } msg; + mach_msg_return_t retval; + /* Wait for a message on the exception port. */ + retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), + our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (retval != MACH_MSG_SUCCESS) + abort (); + exit (1); +} +static void +nocrash_init (void) +{ + mach_port_t self = mach_task_self (); + /* Allocate a port on which the thread shall listen for exceptions. */ + if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) + == KERN_SUCCESS) { + /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ + if (mach_port_insert_right (self, our_exception_port, our_exception_port, + MACH_MSG_TYPE_MAKE_SEND) + == KERN_SUCCESS) { + /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting + for us. */ + exception_mask_t mask = EXC_MASK_BAD_ACCESS; + /* Create the thread listening on the exception port. */ + pthread_attr_t attr; + pthread_t thread; + if (pthread_attr_init (&attr) == 0 + && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 + && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { + pthread_attr_destroy (&attr); + /* Replace the exception port info for these exceptions with our own. + Note that we replace the exception port for the entire task, not only + for a particular thread. This has the effect that when our exception + port gets the message, the thread specific exception port has already + been asked, and we don't need to bother about it. + See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ + task_set_exception_ports (self, mask, our_exception_port, + EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); + } + } + } +} +#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* Avoid a crash on native Windows. */ +#define WIN32_LEAN_AND_MEAN +#include +#include +static LONG WINAPI +exception_filter (EXCEPTION_POINTERS *ExceptionInfo) +{ + switch (ExceptionInfo->ExceptionRecord->ExceptionCode) + { + case EXCEPTION_ACCESS_VIOLATION: + case EXCEPTION_IN_PAGE_ERROR: + case EXCEPTION_STACK_OVERFLOW: + case EXCEPTION_GUARD_PAGE: + case EXCEPTION_PRIV_INSTRUCTION: + case EXCEPTION_ILLEGAL_INSTRUCTION: + case EXCEPTION_DATATYPE_MISALIGNMENT: + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: + case EXCEPTION_NONCONTINUABLE_EXCEPTION: + exit (1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +static void +nocrash_init (void) +{ + SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); +} +#else +/* Avoid a crash on POSIX systems. */ +#include +/* A POSIX signal handler. */ +static void +exception_handler (int sig) +{ + exit (1); +} +static void +nocrash_init (void) +{ +#ifdef SIGSEGV + signal (SIGSEGV, exception_handler); +#endif +#ifdef SIGBUS + signal (SIGBUS, exception_handler); +#endif +} +#endif -# include -# ifndef getcwd - char *getcwd (); -# endif int main () { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* mingw cwd does not start with '/', but getcwd does allocate. */ -#else - if (chdir ("/") != 0) - return 1; - else + int result = 0; + + nocrash_init(); + + /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, + and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, + OSF/1 5.1, Solaris 10. */ { - char *f = getcwd (NULL, 0); - if (! f) - return 2; - if (f[0] != '/') - return 3; - if (f[1] != '\0') - return 4; - return 0; + static char conftest[] = "conftest"; + static char plus[] = "-+"; + char *argv[3] = { conftest, plus, NULL }; + opterr = 0; + if (getopt (2, argv, "+a") != '?') + result |= 1; } -#endif + /* This code succeeds on glibc 2.8, mingw, + and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, + IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ + { + static char program[] = "program"; + static char p[] = "-p"; + static char foo[] = "foo"; + static char bar[] = "bar"; + char *argv[] = { program, p, foo, bar, NULL }; + + optind = 1; + if (getopt (4, argv, "p::") != 'p') + result |= 2; + else if (optarg != NULL) + result |= 4; + else if (getopt (4, argv, "p::") != -1) + result |= 6; + else if (optind != 2) + result |= 8; + } + /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ + { + static char program[] = "program"; + static char foo[] = "foo"; + static char p[] = "-p"; + char *argv[] = { program, foo, p, NULL }; + optind = 0; + if (getopt (3, argv, "-p") != 1) + result |= 16; + else if (getopt (3, argv, "-p") != 'p') + result |= 16; + } + /* This code fails on glibc 2.11. */ + { + static char program[] = "program"; + static char b[] = "-b"; + static char a[] = "-a"; + char *argv[] = { program, b, a, NULL }; + optind = opterr = 0; + if (getopt (3, argv, "+:a:b") != 'b') + result |= 32; + else if (getopt (3, argv, "+:a:b") != ':') + result |= 32; + } + /* This code dumps core on glibc 2.14. */ + { + static char program[] = "program"; + static char w[] = "-W"; + static char dummy[] = "dummy"; + char *argv[] = { program, w, dummy, NULL }; + optind = opterr = 1; + if (getopt (3, argv, "W;") != 'W') + result |= 64; + } + return result; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_getcwd_null=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_gnu=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_getcwd_null=no + gl_cv_func_getopt_gnu=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + case $gl_had_POSIXLY_CORRECT in + exported) ;; + yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;; + *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;; + esac fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_null" >&5 -$as_echo "$gl_cv_func_getcwd_null" >&6; } - -{ $as_echo "$as_me:$LINENO: checking whether getcwd is declared" >&5 -$as_echo_n "checking whether getcwd is declared... " >&6; } -if test "${ac_cv_have_decl_getcwd+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 +$as_echo "$gl_cv_func_getopt_gnu" >&6; } + if test "$gl_cv_func_getopt_gnu" != yes; then + gl_replace_getopt=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5 +$as_echo_n "checking for working GNU getopt_long function... " >&6; } +if ${gl_cv_func_getopt_long_gnu+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + case "$host_os" in + openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; + *) gl_cv_func_getopt_long_gnu="guessing yes";; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + #include + #include + int main () { -#ifndef getcwd - (void) getcwd; -#endif +static const struct option long_options[] = + { + { "xtremely-",no_argument, NULL, 1003 }, + { "xtra", no_argument, NULL, 1001 }, + { "xtreme", no_argument, NULL, 1002 }, + { "xtremely", no_argument, NULL, 1003 }, + { NULL, 0, NULL, 0 } + }; + /* This code fails on OpenBSD 5.0. */ + { + static char program[] = "program"; + static char xtremel[] = "--xtremel"; + char *argv[] = { program, xtremel, NULL }; + int option_index; + optind = 1; opterr = 0; + if (getopt_long (2, argv, "", long_options, &option_index) != 1003) + return 1; + } + return 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getcwd=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_long_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getcwd=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_func_getopt_long_gnu=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getcwd" >&5 -$as_echo "$ac_cv_have_decl_getcwd" >&6; } -if test "x$ac_cv_have_decl_getcwd" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETCWD 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETCWD 0 -_ACEOF - - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: checking whether getdelim is declared" >&5 -$as_echo_n "checking whether getdelim is declared... " >&6; } -if test "${ac_cv_have_decl_getdelim+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getdelim - (void) getdelim; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getdelim=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getdelim=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5 +$as_echo "$gl_cv_func_getopt_long_gnu" >&6; } + case "$gl_cv_func_getopt_long_gnu" in + *yes) ;; + *) gl_replace_getopt=yes ;; + esac + fi + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getdelim" >&5 -$as_echo "$ac_cv_have_decl_getdelim" >&6; } -if test "x$ac_cv_have_decl_getdelim" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETDELIM 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETDELIM 0 -_ACEOF -fi + REPLACE_GETOPT=1 + if test $REPLACE_GETOPT = 1; then + GETOPT_H=getopt.h +$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h -{ $as_echo "$as_me:$LINENO: checking whether getline is declared" >&5 -$as_echo_n "checking whether getline is declared... " >&6; } -if test "${ac_cv_have_decl_getline+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getline - (void) getline; -#endif + fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getline=yes +ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_getenv" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getline=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getline" >&5 -$as_echo "$ac_cv_have_decl_getline" >&6; } -if test "x$ac_cv_have_decl_getline" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETLINE 1 +#define HAVE_DECL_GETENV $ac_have_decl _ACEOF - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETLINE 0 -_ACEOF - - -fi - - - +: + GNULIB_GETTIMEOFDAY=0; + HAVE_GETTIMEOFDAY=1; + HAVE_STRUCT_TIMEVAL=1; + HAVE_SYS_TIME_H=1; + REPLACE_GETTIMEOFDAY=0; + REPLACE_STRUCT_TIMEVAL=0; @@ -15162,791 +12058,428 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_getopt_h='<'getopt.h'>' + gl_cv_next_sys_time_h='<'sys/time.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_getopt_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_time_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_getopt_h = yes; then + if test $ac_cv_header_sys_time_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac - gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/getopt.h#{ - s#.*"\(.*/getopt.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/time.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' else - gl_cv_next_getopt_h='<'getopt.h'>' + gl_cv_next_sys_time_h='<'sys/time.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_getopt_h" >&5 -$as_echo "$gl_cv_next_getopt_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 +$as_echo "$gl_cv_next_sys_time_h" >&6; } fi - NEXT_GETOPT_H=$gl_cv_next_getopt_h + NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'getopt.h'>' + gl_next_as_first_directive='<'sys/time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_getopt_h + gl_next_as_first_directive=$gl_cv_next_sys_time_h fi - NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive - if test $ac_cv_header_getopt_h = yes; then - HAVE_GETOPT_H=1 - else - HAVE_GETOPT_H=0 + + if test $ac_cv_header_sys_time_h != yes; then + HAVE_SYS_TIME_H=0 fi - gl_replace_getopt= - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then -for ac_header in getopt.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF + fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + +done + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 +$as_echo_n "checking for struct timeval... " >&6; } +if ${gl_cv_sys_struct_timeval+:} false; then : + $as_echo_n "(cached) " >&6 else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> +int +main () +{ +static struct timeval x; x.tv_sec = x.tv_usec; + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timeval=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + gl_cv_sys_struct_timeval=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 +$as_echo "$gl_cv_sys_struct_timeval" >&6; } + if test $gl_cv_sys_struct_timeval != yes; then + HAVE_STRUCT_TIMEVAL=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 +$as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; } +if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then : $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +int +main () +{ +static struct timeval x; + typedef int verify_tv_sec_type[ + sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 + ]; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timeval_tv_sec=yes else - gl_replace_getopt=yes + gl_cv_sys_struct_timeval_tv_sec=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done - +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 +$as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; } + if test $gl_cv_sys_struct_timeval_tv_sec != yes; then + REPLACE_STRUCT_TIMEVAL=1 + fi fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then -for ac_func in getopt_long_only -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + for gl_func in gettimeofday; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me +#if HAVE_SYS_TIME_H +# include #endif +#include int main () { -return $ac_func (); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + eval "$as_gl_Symbol=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -else - gl_replace_getopt=yes + eval ac_cv_have_decl_$gl_func=yes fi -done - - fi - - if test -z "$gl_replace_getopt"; then - { $as_echo "$as_me:$LINENO: checking whether getopt is POSIX compatible" >&5 -$as_echo_n "checking whether getopt is POSIX compatible... " >&6; } -if test "${gl_cv_func_getopt_posix+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int *p = &optreset; return optreset; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_optind_min=1 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + done - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -return !getopt_clip; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_optind_min=1 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_optind_min=0 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - gl_save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min" - if test "$cross_compiling" = yes; then - case "$host_os" in - mingw*) gl_cv_func_getopt_posix="guessing no";; - darwin* | aix*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 +$as_echo_n "checking for unsigned long long int... " >&6; } +if ${ac_cv_type_unsigned_long_long_int+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_cv_type_unsigned_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include - + /* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; int main () { - { - int argc = 0; - char *argv[10]; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = OPTIND_MIN; - opterr = 0; - - c = getopt (argc, argv, "ab"); - if (!(c == 'a')) - return 1; - c = getopt (argc, argv, "ab"); - if (!(c == -1)) - return 2; - if (!(optind == 2)) - return 3; - } - /* Some internal state exists at this point. */ - { - int argc = 0; - char *argv[10]; - int c; - - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = OPTIND_MIN; - opterr = 0; - - c = getopt (argc, argv, "+abp:q:"); - if (!(c == -1)) - return 4; - if (!(strcmp (argv[0], "program") == 0)) - return 5; - if (!(strcmp (argv[1], "donald") == 0)) - return 6; - if (!(strcmp (argv[2], "-p") == 0)) - return 7; - if (!(strcmp (argv[3], "billy") == 0)) - return 8; - if (!(strcmp (argv[4], "duck") == 0)) - return 9; - if (!(strcmp (argv[5], "-a") == 0)) - return 10; - if (!(strcmp (argv[6], "bar") == 0)) - return 11; - if (!(optind == 1)) - return 12; - } - /* Detect MacOS 10.5, AIX 7.1 bug. */ - { - char *argv[3] = { "program", "-ab", NULL }; - optind = OPTIND_MIN; - opterr = 0; - if (getopt (2, argv, "ab:") != 'a') - return 13; - if (getopt (2, argv, "ab:") != '?') - return 14; - if (optopt != 'b') - return 15; - if (optind != 2) - return 16; - } - +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_getopt_posix=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : -( exit $ac_status ) -gl_cv_func_getopt_posix=no +else + ac_cv_type_unsigned_long_long_int=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 +$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } + if test $ac_cv_type_unsigned_long_long_int = yes; then +$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - CPPFLAGS=$gl_save_CPPFLAGS - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getopt_posix" >&5 -$as_echo "$gl_cv_func_getopt_posix" >&6; } - case "$gl_cv_func_getopt_posix" in - *no) gl_replace_getopt=yes ;; - esac fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - { $as_echo "$as_me:$LINENO: checking for working GNU getopt function" >&5 -$as_echo_n "checking for working GNU getopt function... " >&6; } -if test "${gl_cv_func_getopt_gnu+set}" = set; then + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +$as_echo_n "checking for long long int... " >&6; } +if ${ac_cv_type_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else - # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the - # optstring is necessary for programs like m4 that have POSIX-mandated - # semantics for supporting options interspersed with files. - # Also, since getopt_long is a GNU extension, we require optind=0. - # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; - # so take care to revert to the correct (non-)export state. - gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' - case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include - +#include + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif int main () { - - int result = 0; - /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, - and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, - OSF/1 5.1, Solaris 10. */ - { - char *myargv[3]; - myargv[0] = "conftest"; - myargv[1] = "-+"; - myargv[2] = 0; - opterr = 0; - if (getopt (2, myargv, "+a") != '?') - result |= 1; - } - /* This code succeeds on glibc 2.8, mingw, - and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, - IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ - { - char *argv[] = { "program", "-p", "foo", "bar", NULL }; - - optind = 1; - if (getopt (4, argv, "p::") != 'p') - result |= 2; - else if (optarg != NULL) - result |= 4; - else if (getopt (4, argv, "p::") != -1) - result |= 6; - else if (optind != 2) - result |= 8; - } - /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ - { - char *argv[] = { "program", "foo", "-p", NULL }; - optind = 0; - if (getopt (3, argv, "-p") != 1) - result |= 16; - else if (getopt (3, argv, "-p") != 'p') - result |= 32; - } - /* This code fails on glibc 2.11. */ - { - char *argv[] = { "program", "-b", "-a", NULL }; - optind = opterr = 0; - if (getopt (3, argv, "+:a:b") != 'b') - result |= 64; - else if (getopt (3, argv, "+:a:b") != ':') - result |= 64; - } - return result; - +long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_getopt_gnu=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -gl_cv_func_getopt_gnu=no +else + ac_cv_type_long_long_int=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - case $gl_had_POSIXLY_CORRECT in - exported) ;; - yes) $as_unset POSIXLY_CORRECT || test "${POSIXLY_CORRECT+set}" != set || { POSIXLY_CORRECT=; export POSIXLY_CORRECT; }; POSIXLY_CORRECT=1 ;; - *) $as_unset POSIXLY_CORRECT || test "${POSIXLY_CORRECT+set}" != set || { POSIXLY_CORRECT=; export POSIXLY_CORRECT; } ;; - esac - + fi + fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getopt_gnu" >&5 -$as_echo "$gl_cv_func_getopt_gnu" >&6; } - if test "$gl_cv_func_getopt_gnu" = "no"; then - gl_replace_getopt=yes - fi - fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 +$as_echo "$ac_cv_type_long_long_int" >&6; } + if test $ac_cv_type_long_long_int = yes; then +$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h + fi - if test -n "$gl_replace_getopt"; then - GETOPT_H=getopt.h + gl_cv_c_multiarch=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; -cat >>confdefs.h <<\_ACEOF -#define __GETOPT_PREFIX rpl_ _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : - - - GNULIB_UNISTD_H_GETOPT=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" - - - - - - - - + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_c_multiarch = yes; then + APPLE_UNIVERSAL_BUILD=1 + else + APPLE_UNIVERSAL_BUILD=0 + fi + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi - - GNULIB_GETTIMEOFDAY=0; - HAVE_GETTIMEOFDAY=1; - HAVE_STRUCT_TIMEVAL=1; - HAVE_SYS_TIME_H=1; - REPLACE_GETTIMEOFDAY=0; - - - - - - - - - + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 + else + HAVE_SYS_TYPES_H=0 + fi @@ -15959,10593 +12492,958 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_time_h='<'sys/time.h'>' + gl_cv_next_stdint_h='<'stdint.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_time_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sys_time_h = yes; then + if test $ac_cv_header_stdint_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac - gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/time.h#{ - s#.*"\(.*/sys/time.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stdint.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' else - gl_cv_next_sys_time_h='<'sys/time.h'>' + gl_cv_next_stdint_h='<'stdint.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_sys_time_h" >&5 -$as_echo "$gl_cv_next_sys_time_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 +$as_echo "$gl_cv_next_stdint_h" >&6; } fi - NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h + NEXT_STDINT_H=$gl_cv_next_stdint_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/time.h'>' + gl_next_as_first_directive='<'stdint.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_time_h + gl_next_as_first_directive=$gl_cv_next_stdint_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive - + NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_time_h != yes; then - HAVE_SYS_TIME_H=0 + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 fi - { $as_echo "$as_me:$LINENO: checking for struct timeval" >&5 -$as_echo_n "checking for struct timeval... " >&6; } -if test "${gl_cv_sys_struct_timeval+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - -int -main () -{ -static struct timeval x; x.tv_sec = x.tv_usec; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_sys_struct_timeval=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_sys_struct_timeval=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timeval" >&5 -$as_echo "$gl_cv_sys_struct_timeval" >&6; } - if test $gl_cv_sys_struct_timeval != yes; then - HAVE_STRUCT_TIMEVAL=0 - fi - - - - for gl_func in gettimeofday; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#if HAVE_SYS_TIME_H -# include -#endif -#include - -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - - done - - - - - -{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - -int -main () -{ - - bool e = &s; - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdbool_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdbool_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - { $as_echo "$as_me:$LINENO: checking for _Bool" >&5 -$as_echo_n "checking for _Bool... " >&6; } -if test "${ac_cv_type__Bool+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type__Bool=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (_Bool)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((_Bool))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type__Bool=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 -$as_echo "$ac_cv_type__Bool" >&6; } -if test "x$ac_cv_type__Bool" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF - - -fi - - - - - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi - - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - - - - { $as_echo "$as_me:$LINENO: checking for unsigned long long int" >&5 -$as_echo_n "checking for unsigned long long int... " >&6; } -if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_unsigned_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; -int -main () -{ -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); - ; - return 0; -} - -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_unsigned_long_long_int=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long_int" >&5 -$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } - if test $ac_cv_type_unsigned_long_long_int = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UNSIGNED_LONG_LONG_INT 1 -_ACEOF - - fi - - - - { $as_echo "$as_me:$LINENO: checking for long long int" >&5 -$as_echo_n "checking for long long int... " >&6; } -if test "${ac_cv_type_long_long_int+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int - if test $ac_cv_type_long_long_int = yes; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #ifndef LLONG_MAX - # define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - # define LLONG_MAX (HALF - 1 + HALF) - #endif -int -main () -{ -long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_type_long_long_int=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5 -$as_echo "$ac_cv_type_long_long_int" >&6; } - if test $ac_cv_type_long_long_int = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_LONG_INT 1 -_ACEOF - - fi - - - - - - - gl_cv_c_multiarch=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_c_multiarch = yes; then - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - - - - - - - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi - - - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi - - - - - - - - - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi - - - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - - - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi - - - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdint_h='<'stdint.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdint_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_stdint_h = yes; then - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdint.h#{ - s#.*"\(.*/stdint.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_stdint_h='<'stdint.h'>' - fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } - fi - NEXT_STDINT_H=$gl_cv_next_stdint_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdint.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdint_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive - - - - - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 - fi - - - if test $ac_cv_header_stdint_h = yes; then - { $as_echo "$as_me:$LINENO: checking whether stdint.h conforms to C99" >&5 -$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } -if test "${gl_cv_header_working_stdint_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif - - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; - -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - if test "$cross_compiling" = yes; then - gl_cv_header_working_stdint_h=yes - -else - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include - - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; - -int -main () -{ - - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return mv - macro_values + 1; - } - return 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_header_working_stdint_h=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_working_stdint_h" >&5 -$as_echo "$gl_cv_header_working_stdint_h" >&6; } - fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - - -for ac_header in sys/inttypes.h sys/bitypes.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - - - - - if test $APPLE_UNIVERSAL_BUILD = 0; then - - - - - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) result=$ac_lo;; -'') result=unknown ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -static long int longval () { return sizeof ($gltype) * CHAR_BIT; } -static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof ($gltype) * CHAR_BIT) < 0) - { - long int i = longval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - result=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -result=unknown -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val - eval gl_cv_bitsizeof_${gltype}=\$result - -fi -ac_res=`eval 'as_val=${'gl_cv_bitsizeof_${gltype}'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - - eval BITSIZEOF_${GLTYPE}=\$result - done - - - fi - - - - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) result=$ac_lo;; -'') result=unknown ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -static long int longval () { return sizeof ($gltype) * CHAR_BIT; } -static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof ($gltype) * CHAR_BIT) < 0) - { - long int i = longval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - result=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -result=unknown -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val - eval gl_cv_bitsizeof_${gltype}=\$result - -fi -ac_res=`eval 'as_val=${'gl_cv_bitsizeof_${gltype}'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - - eval BITSIZEOF_${GLTYPE}=\$result - done - - - - - - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:$LINENO: checking whether $gltype is signed" >&5 -$as_echo_n "checking whether $gltype is signed... " >&6; } -if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - result=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - result=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result - -fi -ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_signed'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNED_${GLTYPE} 1 -_ACEOF - - eval HAVE_SIGNED_${GLTYPE}=1 - else - eval HAVE_SIGNED_${GLTYPE}=0 - fi - done - - - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then - - - - - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval gl_cv_type_${gltype}_suffix=\$glsuf -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_suffix'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - - done - - - fi - - - - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval gl_cv_type_${gltype}_suffix=\$glsuf -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_suffix'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - - done - - - - STDINT_H=stdint.h - fi - - - - -for ac_header in inttypes.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test $ac_cv_header_inttypes_h = yes; then - { $as_echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5 -$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } -if test "${gt_cv_inttypes_pri_broken+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef PRId32 -char *p = PRId32; -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gt_cv_inttypes_pri_broken=no -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_inttypes_pri_broken=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5 -$as_echo "$gt_cv_inttypes_pri_broken" >&6; } - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then - -cat >>confdefs.h <<_ACEOF -#define PRI_MACROS_BROKEN 1 -_ACEOF - - PRI_MACROS_BROKEN=1 - else - PRI_MACROS_BROKEN=0 - fi - - - - -{ $as_echo "$as_me:$LINENO: checking whether imaxabs is declared" >&5 -$as_echo_n "checking whether imaxabs is declared... " >&6; } -if test "${ac_cv_have_decl_imaxabs+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef imaxabs - (void) imaxabs; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_imaxabs=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_imaxabs=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_imaxabs" >&5 -$as_echo "$ac_cv_have_decl_imaxabs" >&6; } -if test "x$ac_cv_have_decl_imaxabs" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_IMAXABS 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_IMAXABS 0 -_ACEOF - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether imaxdiv is declared" >&5 -$as_echo_n "checking whether imaxdiv is declared... " >&6; } -if test "${ac_cv_have_decl_imaxdiv+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef imaxdiv - (void) imaxdiv; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_imaxdiv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_imaxdiv=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_imaxdiv" >&5 -$as_echo "$ac_cv_have_decl_imaxdiv" >&6; } -if test "x$ac_cv_have_decl_imaxdiv" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_IMAXDIV 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_IMAXDIV 0 -_ACEOF - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether strtoimax is declared" >&5 -$as_echo_n "checking whether strtoimax is declared... " >&6; } -if test "${ac_cv_have_decl_strtoimax+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strtoimax - (void) strtoimax; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strtoimax=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strtoimax=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoimax" >&5 -$as_echo "$ac_cv_have_decl_strtoimax" >&6; } -if test "x$ac_cv_have_decl_strtoimax" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOIMAX 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOIMAX 0 -_ACEOF - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether strtoumax is declared" >&5 -$as_echo_n "checking whether strtoumax is declared... " >&6; } -if test "${ac_cv_have_decl_strtoumax+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strtoumax - (void) strtoumax; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strtoumax=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strtoumax=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoumax" >&5 -$as_echo "$ac_cv_have_decl_strtoumax" >&6; } -if test "x$ac_cv_have_decl_strtoumax" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOUMAX 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOUMAX 0 -_ACEOF - - -fi - - - - GNULIB_IMAXABS=0; - GNULIB_IMAXDIV=0; - GNULIB_STRTOIMAX=0; - GNULIB_STRTOUMAX=0; - HAVE_DECL_IMAXABS=1; - HAVE_DECL_IMAXDIV=1; - HAVE_DECL_STRTOIMAX=1; - HAVE_DECL_STRTOUMAX=1; - - - GNULIB_ISWBLANK=0; - GNULIB_WCTYPE=0; - GNULIB_ISWCTYPE=0; - GNULIB_WCTRANS=0; - GNULIB_TOWCTRANS=0; - HAVE_ISWBLANK=1; - HAVE_WCTYPE_T=1; - HAVE_WCTRANS_T=1; - REPLACE_ISWBLANK=0; - - - - - { $as_echo "$as_me:$LINENO: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if test "${gt_cv_c_wint_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - wint_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gt_cv_c_wint_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_c_wint_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_WINT_T 1 -_ACEOF - - fi - - - - - - - - - - - - if test $ac_cv_func_iswcntrl = yes; then - HAVE_ISWCNTRL=1 - else - HAVE_ISWCNTRL=0 - fi - - - - - - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi - - - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_wctype_h='<'wctype.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_wctype_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_wctype_h = yes; then - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/wctype.h#{ - s#.*"\(.*/wctype.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_wctype_h='<'wctype.h'>' - fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_wctype_h" >&5 -$as_echo "$gl_cv_next_wctype_h" >&6; } - fi - NEXT_WCTYPE_H=$gl_cv_next_wctype_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'wctype.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_wctype_h - fi - NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive - - - - - if test $ac_cv_header_wctype_h = yes; then - if test $ac_cv_func_iswcntrl = yes; then - { $as_echo "$as_me:$LINENO: checking whether iswcntrl works" >&5 -$as_echo_n "checking whether iswcntrl works... " >&6; } -if test "${gl_cv_func_iswcntrl_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #if __GNU_LIBRARY__ == 1 - Linux libc5 i18n is broken. - #endif -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_iswcntrl_works=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_iswcntrl_works=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - /* Tru64 with Desktop Toolkit C has a bug: must be - included before . - BSD/OS 4.0.1 has a bug: , and - must be included before . */ - #include - #include - #include - #include - #include - int main () { return iswprint ('x') == 0; } - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_iswcntrl_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_iswcntrl_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_iswcntrl_works" >&5 -$as_echo "$gl_cv_func_iswcntrl_works" >&6; } - fi - HAVE_WCTYPE_H=1 - else - HAVE_WCTYPE_H=0 - fi - - - if test "$gl_cv_func_iswcntrl_works" = no; then - REPLACE_ISWCNTRL=1 - else - REPLACE_ISWCNTRL=0 - fi - - - if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then - : - fi - - { $as_echo "$as_me:$LINENO: checking for wctype_t" >&5 -$as_echo_n "checking for wctype_t... " >&6; } -if test "${gl_cv_type_wctype_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Tru64 with Desktop Toolkit C has a bug: must be - included before . - BSD/OS 4.0.1 has a bug: , and - must be included before . */ - #include - #include - #include - #include - #if HAVE_WCTYPE_H - # include - #endif - wctype_t a; - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_type_wctype_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_type_wctype_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_type_wctype_t" >&5 -$as_echo "$gl_cv_type_wctype_t" >&6; } - if test $gl_cv_type_wctype_t = no; then - HAVE_WCTYPE_T=0 - fi - - { $as_echo "$as_me:$LINENO: checking for wctrans_t" >&5 -$as_echo_n "checking for wctrans_t... " >&6; } -if test "${gl_cv_type_wctrans_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Tru64 with Desktop Toolkit C has a bug: must be - included before . - BSD/OS 4.0.1 has a bug: , and - must be included before . */ - #include - #include - #include - #include - #include - wctrans_t a; - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_type_wctrans_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_type_wctrans_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_type_wctrans_t" >&5 -$as_echo "$gl_cv_type_wctrans_t" >&6; } - if test $gl_cv_type_wctrans_t = no; then - HAVE_WCTRANS_T=0 - fi - - - - - - - for gl_func in wctype iswctype wctrans towctrans ; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -# include -#endif -#include - -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - - done - - - - -{ $as_echo "$as_me:$LINENO: checking whether iswblank is declared" >&5 -$as_echo_n "checking whether iswblank is declared... " >&6; } -if test "${ac_cv_have_decl_iswblank+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef iswblank - (void) iswblank; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_iswblank=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_iswblank=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_iswblank" >&5 -$as_echo "$ac_cv_have_decl_iswblank" >&6; } -if test "x$ac_cv_have_decl_iswblank" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ISWBLANK 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ISWBLANK 0 -_ACEOF - - -fi - - - - GNULIB_NL_LANGINFO=0; - HAVE_NL_LANGINFO=1; - REPLACE_NL_LANGINFO=0; - - - - - - - - - { $as_echo "$as_me:$LINENO: checking whether lstat correctly handles trailing slash" >&5 -$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } -if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -f conftest.sym conftest.file - echo >conftest.file - if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then - # When cross-compiling, be pessimistic so we will end up using the - # replacement version of lstat that checks for trailing slashes and - # calls lstat a second time when necessary. - ac_cv_func_lstat_dereferences_slashed_symlink=no - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_lstat_dereferences_slashed_symlink=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_lstat_dereferences_slashed_symlink=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - else - # If the 'ln -s' command failed, then we probably don't even - # have an lstat function. - ac_cv_func_lstat_dereferences_slashed_symlink=no - fi - rm -f conftest.sym conftest.file - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 -$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } - test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && - -cat >>confdefs.h <<_ACEOF -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -_ACEOF - - if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" - - fi - - - - - { $as_echo "$as_me:$LINENO: checking whether unlink honors trailing slashes" >&5 -$as_echo_n "checking whether unlink honors trailing slashes... " >&6; } -if test "${gl_cv_func_unlink_honors_slashes+set}" = set; then - $as_echo_n "(cached) " >&6 -else - touch conftest.file - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - ln -s conftest.file conftest.lnk - fi - if test "$cross_compiling" = yes; then - gl_cv_func_unlink_honors_slashes="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - -int -main () -{ -int result = 0; - if (!unlink ("conftest.file/")) - result |= 1; - else if (errno != ENOTDIR) - result |= 2; -#if HAVE_LSTAT - if (!unlink ("conftest.lnk/")) - result |= 4; - else if (errno != ENOTDIR) - result |= 8; -#endif - return result; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_unlink_honors_slashes=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_unlink_honors_slashes=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - rm -f conftest.file conftest.lnk -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_honors_slashes" >&5 -$as_echo "$gl_cv_func_unlink_honors_slashes" >&6; } - { $as_echo "$as_me:$LINENO: checking whether unlink of a parent directory fails as it should" >&5 -$as_echo_n "checking whether unlink of a parent directory fails as it should... " >&6; } -if test "${gl_cv_func_unlink_parent_fails+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - darwin*) - if { - # Use the mktemp program if available. If not available, hide the error - # message. - tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" - } || - { - # Use a simple mkdir command. It is guaranteed to fail if the directory - # already exists. $RANDOM is bash specific and expands to empty in shells - # other than bash, ksh and zsh. Its use does not increase security; - # rather, it minimizes the probability of failure in a very cluttered /tmp - # directory. - tmp=/tmp/gt$$-$RANDOM - (umask 077 && mkdir "$tmp") - }; then - mkdir "$tmp/subdir" - GL_SUBDIR_FOR_UNLINK="$tmp/subdir" - export GL_SUBDIR_FOR_UNLINK - if test "$cross_compiling" = yes; then - gl_cv_func_unlink_parent_fails="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #include - int main () - { - int result = 0; - if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0) - result |= 1; - else if (unlink ("..") == 0) - result |= 2; - return result; - } - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_unlink_parent_fails=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_unlink_parent_fails=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - unset GL_SUBDIR_FOR_UNLINK - rm -rf "$tmp" - else - gl_cv_func_unlink_parent_fails="guessing no" - fi - ;; - *) - gl_cv_func_unlink_parent_fails="guessing yes" - ;; - esac - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_parent_fails" >&5 -$as_echo "$gl_cv_func_unlink_parent_fails" >&6; } - case "$gl_cv_func_unlink_parent_fails" in - *no) - -cat >>confdefs.h <<\_ACEOF -#define UNLINK_PARENT_BUG 1 -_ACEOF - - ;; - esac - if test "$gl_cv_func_unlink_honors_slashes" != yes \ - || { case "$gl_cv_func_unlink_parent_fails" in - *yes) false;; - *no) true;; - esac - }; then - REPLACE_UNLINK=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unlink.$ac_objext" - - fi - - - - GNULIB_OPENAT=1 - - - GNULIB_FCHMODAT=1 - GNULIB_FSTATAT=1 - GNULIB_MKDIRAT=1 - - - GNULIB_FCHOWNAT=1 - GNULIB_UNLINKAT=1 - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -for ac_func in fchmodat fstatat mkdirat openat unlinkat -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - -fi -done - - - - - case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in - yes+yes) - # GNU/Hurd has unlinkat, but it has the same bug as unlink. - if test $REPLACE_UNLINK = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext" - - REPLACE_UNLINKAT=1 - fi ;; - yes+*) - # Solaris 9 has *at functions, but uniformly mishandles trailing - # slash in all of them. - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext" - - REPLACE_OPENAT=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext" - - REPLACE_FSTATAT=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext" - - REPLACE_UNLINKAT=1 - ;; - *) - HAVE_OPENAT=0 - HAVE_UNLINKAT=0 # No known system with unlinkat but not openat - HAVE_FSTATAT=0 # No known system with fstatat but not openat - - - - : -;; - esac - if test $ac_cv_func_fchmodat != yes; then - HAVE_FCHMODAT=0 - fi - if test $ac_cv_func_mkdirat != yes; then - HAVE_MKDIRAT=0 - fi - - - - { $as_echo "$as_me:$LINENO: checking for fchownat" >&5 -$as_echo_n "checking for fchownat... " >&6; } -if test "${ac_cv_func_fchownat+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define fchownat to an innocuous variant, in case declares fchownat. - For example, HP-UX 11i declares gettimeofday. */ -#define fchownat innocuous_fchownat - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char fchownat (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef fchownat - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char fchownat (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_fchownat || defined __stub___fchownat -choke me -#endif - -int -main () -{ -return fchownat (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_fchownat=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_fchownat=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_fchownat" >&5 -$as_echo "$ac_cv_func_fchownat" >&6; } -if test "x$ac_cv_func_fchownat" = x""yes; then - - - - { $as_echo "$as_me:$LINENO: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5 -$as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; } -if test "${gl_cv_func_fchownat_nofollow_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - gl_dangle=conftest.dangle - # Remove any remnants of a previous test. - rm -f $gl_dangle - # Arrange for deletion of the temporary file this test creates. - ac_clean_files="$ac_clean_files $gl_dangle" - ln -s conftest.no-such $gl_dangle - if test "$cross_compiling" = yes; then - gl_cv_func_fchownat_nofollow_works=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include -#include -int -main () -{ - return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), - AT_SYMLINK_NOFOLLOW) != 0 - && errno == ENOENT); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_fchownat_nofollow_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_fchownat_nofollow_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_nofollow_works" >&5 -$as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; } - if test $gl_cv_func_fchownat_nofollow_works = no; then - REPLACE_FCHOWNAT=1 - -cat >>confdefs.h <<\_ACEOF -#define FCHOWNAT_NOFOLLOW_BUG 1 -_ACEOF - - -fi - - - - - - { $as_echo "$as_me:$LINENO: checking whether fchownat works with an empty file name" >&5 -$as_echo_n "checking whether fchownat works with an empty file name... " >&6; } -if test "${gl_cv_func_fchownat_empty_filename_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_func_fchownat_empty_filename_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - -int -main () -{ -int fd; - int ret; - if (mkdir ("conftestdir", 0700) < 0) - return 2; - fd = open ("conftestdir", O_RDONLY); - if (fd < 0) - return 3; - ret = fchownat (fd, "", -1, -1, 0); - close (fd); - rmdir ("conftestdir"); - return ret == 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_fchownat_empty_filename_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_fchownat_empty_filename_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_empty_filename_works" >&5 -$as_echo "$gl_cv_func_fchownat_empty_filename_works" >&6; } - if test "$gl_cv_func_fchownat_empty_filename_works" != yes; then - REPLACE_FCHOWNAT=1 - -cat >>confdefs.h <<\_ACEOF -#define FCHOWNAT_EMPTY_FILENAME_BUG 1 -_ACEOF - - -fi - - - if test $REPLACE_CHOWN = 1; then - REPLACE_FCHOWNAT=1 - fi -else - HAVE_FCHOWNAT=0 -fi - - if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext" - - fi - - - - - - - - { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5 -$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; } -if test "${ac_cv_gnu_library_2_1+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif -#ifdef __UCLIBC__ - Lucky user -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky" >/dev/null 2>&1; then - ac_cv_gnu_library_2_1=yes -else - ac_cv_gnu_library_2_1=no -fi -rm -f conftest* - - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 -$as_echo "$ac_cv_gnu_library_2_1" >&6; } - - GLIBC21="$ac_cv_gnu_library_2_1" - - - - - - { $as_echo "$as_me:$LINENO: checking whether malloc, realloc, calloc are POSIX compliant" >&5 -$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } -if test "${gl_cv_func_malloc_posix+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - choke me - #endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_malloc_posix=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_malloc_posix=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_malloc_posix" >&5 -$as_echo "$gl_cv_func_malloc_posix" >&6; } - - - -for ac_header in stdlib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_malloc_0_nonnull=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_malloc_0_nonnull=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then - gl_cv_func_malloc_0_nonnull=1 -else - gl_cv_func_malloc_0_nonnull=0 -fi - - - -cat >>confdefs.h <<_ACEOF -#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull -_ACEOF - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for a traditional japanese locale" >&5 -$as_echo_n "checking for a traditional japanese locale... " >&6; } -if test "${gt_cv_locale_ja+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#if HAVE_LANGINFO_CODESET -# include -#endif -#include -#include -struct tm t; -char buf[16]; -int main () -{ - const char *p; - /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, - not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE - category of the locale to "C". */ - if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL - || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) - return 1; -#else - if (setlocale (LC_ALL, "") == NULL) return 1; -#endif - /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) - is empty, and the behaviour of Tcl 8.4 in this locale is not useful. - On OpenBSD 4.0, when an unsupported locale is specified, setlocale() - succeeds but then nl_langinfo(CODESET) is "646". In this situation, - some unit tests fail. - On MirBSD 10, when an unsupported locale is specified, setlocale() - succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET - { - const char *cs = nl_langinfo (CODESET); - if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 - || strcmp (cs, "UTF-8") == 0) - return 1; - } -#endif -#ifdef __CYGWIN__ - /* On Cygwin, avoid locale names without encoding suffix, because the - locale_charset() function relies on the encoding suffix. Note that - LC_ALL is set on the command line. */ - if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif - /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales - on Cygwin 1.5.x. */ - if (MB_CUR_MAX == 1) - return 1; - /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. - This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; - return 0; -} - -_ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest$ac_exeext; then - case "$host_os" in - # Handle native Windows specially, because there setlocale() interprets - # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", - # "fr" or "fra" as "French" or "French_France.1252", - # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", - # "ja" as "Japanese" or "Japanese_Japan.932", - # and similar. - mingw*) - # Note that on native Win32, the Japanese locale is Japanese_Japan.932, - # and CP932 is very different from EUC-JP, so we cannot use it here. - gt_cv_locale_ja=none - ;; - *) - # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the - # configure script would override the LC_ALL setting. Likewise for - # LC_CTYPE, which is also set at the beginning of the configure script. - # Test for the AIX locale name. - if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_ja=ja_JP - else - # Test for the locale name with explicit encoding suffix. - if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_ja=ja_JP.EUC-JP - else - # Test for the HP-UX, OSF/1, NetBSD locale name. - if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_ja=ja_JP.eucJP - else - # Test for the IRIX, FreeBSD locale name. - if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_ja=ja_JP.EUC - else - # Test for the Solaris 7 locale name. - if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_ja=ja - else - # Special test for NetBSD 1.6. - if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then - gt_cv_locale_ja=ja_JP.eucJP - else - # None found. - gt_cv_locale_ja=none - fi - fi - fi - fi - fi - fi - ;; - esac - fi - rm -fr conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_locale_ja" >&5 -$as_echo "$gt_cv_locale_ja" >&6; } - LOCALE_JA=$gt_cv_locale_ja - - - - - - { $as_echo "$as_me:$LINENO: checking for a transitional chinese locale" >&5 -$as_echo_n "checking for a transitional chinese locale... " >&6; } -if test "${gt_cv_locale_zh_CN+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#if HAVE_LANGINFO_CODESET -# include -#endif -#include -#include -struct tm t; -char buf[16]; -int main () -{ - const char *p; - /* Check whether the given locale name is recognized by the system. */ -#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, - not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE - category of the locale to "C". */ - if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL - || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) - return 1; -#else - if (setlocale (LC_ALL, "") == NULL) return 1; -#endif - /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) - is empty, and the behaviour of Tcl 8.4 in this locale is not useful. - On OpenBSD 4.0, when an unsupported locale is specified, setlocale() - succeeds but then nl_langinfo(CODESET) is "646". In this situation, - some unit tests fail. - On MirBSD 10, when an unsupported locale is specified, setlocale() - succeeds but then nl_langinfo(CODESET) is "UTF-8". */ -#if HAVE_LANGINFO_CODESET - { - const char *cs = nl_langinfo (CODESET); - if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 - || strcmp (cs, "UTF-8") == 0) - return 1; - } -#endif -#ifdef __CYGWIN__ - /* On Cygwin, avoid locale names without encoding suffix, because the - locale_charset() function relies on the encoding suffix. Note that - LC_ALL is set on the command line. */ - if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -#endif - /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. - This excludes the UTF-8 encoding (except on MirBSD). */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; - for (p = buf; *p != '\0'; p++) - if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) - return 1; - /* Check whether a typical GB18030 multibyte sequence is recognized as a - single wide character. This excludes the GB2312 and GBK encodings. */ - if (mblen ("\203\062\332\066", 5) != 4) - return 1; - return 0; -} - -_ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest$ac_exeext; then - case "$host_os" in - # Handle native Windows specially, because there setlocale() interprets - # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", - # "fr" or "fra" as "French" or "French_France.1252", - # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", - # "ja" as "Japanese" or "Japanese_Japan.932", - # and similar. - mingw*) - # Test for the hypothetical native Win32 locale name. - if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_zh_CN=Chinese_China.54936 - else - # None found. - gt_cv_locale_zh_CN=none - fi - ;; - *) - # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the - # configure script would override the LC_ALL setting. Likewise for - # LC_CTYPE, which is also set at the beginning of the configure script. - # Test for the locale name without encoding suffix. - if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_zh_CN=zh_CN - else - # Test for the locale name with explicit encoding suffix. - if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_zh_CN=zh_CN.GB18030 - else - # None found. - gt_cv_locale_zh_CN=none - fi - fi - ;; - esac - else - # If there was a link error, due to mblen(), the system is so old that - # it certainly doesn't have a chinese locale. - gt_cv_locale_zh_CN=none - fi - rm -fr conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_locale_zh_CN" >&5 -$as_echo "$gt_cv_locale_zh_CN" >&6; } - LOCALE_ZH_CN=$gt_cv_locale_zh_CN - - - - - { $as_echo "$as_me:$LINENO: checking for a french Unicode locale" >&5 -$as_echo_n "checking for a french Unicode locale... " >&6; } -if test "${gt_cv_locale_fr_utf8+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#if HAVE_LANGINFO_CODESET -# include -#endif -#include -#include -struct tm t; -char buf[16]; -int main () { - /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl - imitates locale dependent behaviour by looking at the environment - variables, and all locales use the UTF-8 encoding. */ -#if !(defined __BEOS__ || defined __HAIKU__) - /* Check whether the given locale name is recognized by the system. */ -# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, - not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE - category of the locale to "C". */ - if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL - || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) - return 1; -# else - if (setlocale (LC_ALL, "") == NULL) return 1; -# endif - /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) - is empty, and the behaviour of Tcl 8.4 in this locale is not useful. - On OpenBSD 4.0, when an unsupported locale is specified, setlocale() - succeeds but then nl_langinfo(CODESET) is "646". In this situation, - some unit tests fail. */ -# if HAVE_LANGINFO_CODESET - { - const char *cs = nl_langinfo (CODESET); - if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) - return 1; - } -# endif -# ifdef __CYGWIN__ - /* On Cygwin, avoid locale names without encoding suffix, because the - locale_charset() function relies on the encoding suffix. Note that - LC_ALL is set on the command line. */ - if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; -# endif - /* Check whether in the abbreviation of the second month, the second - character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is - two bytes long, with UTF-8 encoding. */ - t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; - if (strftime (buf, sizeof (buf), "%b", &t) < 4 - || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') - return 1; -#endif - /* Check whether the decimal separator is a comma. - On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point - are nl_langinfo(RADIXCHAR) are both ".". */ - if (localeconv () ->decimal_point[0] != ',') return 1; - return 0; -} - -_ACEOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest$ac_exeext; then - case "$host_os" in - # Handle native Windows specially, because there setlocale() interprets - # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", - # "fr" or "fra" as "French" or "French_France.1252", - # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", - # "ja" as "Japanese" or "Japanese_Japan.932", - # and similar. - mingw*) - # Test for the hypothetical native Win32 locale name. - if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=French_France.65001 - else - # None found. - gt_cv_locale_fr_utf8=none - fi - ;; - *) - # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the - # configure script would override the LC_ALL setting. Likewise for - # LC_CTYPE, which is also set at the beginning of the configure script. - # Test for the usual locale name. - if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr_FR - else - # Test for the locale name with explicit encoding suffix. - if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr_FR.UTF-8 - else - # Test for the Solaris 7 locale name. - if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr.UTF-8 - else - # None found. - gt_cv_locale_fr_utf8=none - fi - fi - fi - ;; - esac - fi - rm -fr conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_locale_fr_utf8" >&5 -$as_echo "$gt_cv_locale_fr_utf8" >&6; } - LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 - - - - GNULIB_MEMCHR=0; - GNULIB_MEMMEM=0; - GNULIB_MEMPCPY=0; - GNULIB_MEMRCHR=0; - GNULIB_RAWMEMCHR=0; - GNULIB_STPCPY=0; - GNULIB_STPNCPY=0; - GNULIB_STRCHRNUL=0; - GNULIB_STRDUP=0; - GNULIB_STRNCAT=0; - GNULIB_STRNDUP=0; - GNULIB_STRNLEN=0; - GNULIB_STRPBRK=0; - GNULIB_STRSEP=0; - GNULIB_STRSTR=0; - GNULIB_STRCASESTR=0; - GNULIB_STRTOK_R=0; - GNULIB_MBSLEN=0; - GNULIB_MBSNLEN=0; - GNULIB_MBSCHR=0; - GNULIB_MBSRCHR=0; - GNULIB_MBSSTR=0; - GNULIB_MBSCASECMP=0; - GNULIB_MBSNCASECMP=0; - GNULIB_MBSPCASECMP=0; - GNULIB_MBSCASESTR=0; - GNULIB_MBSCSPN=0; - GNULIB_MBSPBRK=0; - GNULIB_MBSSPN=0; - GNULIB_MBSSEP=0; - GNULIB_MBSTOK_R=0; - GNULIB_STRERROR=0; - GNULIB_STRERROR_R=0; - GNULIB_STRSIGNAL=0; - GNULIB_STRVERSCMP=0; - HAVE_MBSLEN=0; - HAVE_MEMCHR=1; - HAVE_DECL_MEMMEM=1; - HAVE_MEMPCPY=1; - HAVE_DECL_MEMRCHR=1; - HAVE_RAWMEMCHR=1; - HAVE_STPCPY=1; - HAVE_STPNCPY=1; - HAVE_STRCHRNUL=1; - HAVE_DECL_STRDUP=1; - HAVE_DECL_STRNDUP=1; - HAVE_DECL_STRNLEN=1; - HAVE_STRPBRK=1; - HAVE_STRSEP=1; - HAVE_STRCASESTR=1; - HAVE_DECL_STRTOK_R=1; - HAVE_DECL_STRERROR_R=1; - HAVE_DECL_STRSIGNAL=1; - HAVE_STRVERSCMP=1; - REPLACE_MEMCHR=0; - REPLACE_MEMMEM=0; - REPLACE_STPNCPY=0; - REPLACE_STRDUP=0; - REPLACE_STRSTR=0; - REPLACE_STRCASESTR=0; - REPLACE_STRERROR=0; - REPLACE_STRERROR_R=0; - REPLACE_STRNCAT=0; - REPLACE_STRNDUP=0; - REPLACE_STRNLEN=0; - REPLACE_STRSIGNAL=0; - REPLACE_STRTOK_R=0; - UNDEFINE_STRTOK_R=0; - - - - - - - - - - - - # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it - # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is - # irrelevant for anonymous mappings. - { $as_echo "$as_me:$LINENO: checking for mmap" >&5 -$as_echo_n "checking for mmap... " >&6; } -if test "${ac_cv_func_mmap+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define mmap to an innocuous variant, in case declares mmap. - For example, HP-UX 11i declares gettimeofday. */ -#define mmap innocuous_mmap - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mmap (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef mmap - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char mmap (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_mmap || defined __stub___mmap -choke me -#endif - -int -main () -{ -return mmap (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_mmap=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_mmap=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mmap" >&5 -$as_echo "$ac_cv_func_mmap" >&6; } -if test "x$ac_cv_func_mmap" = x""yes; then - gl_have_mmap=yes -else - gl_have_mmap=no -fi - - - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { $as_echo "$as_me:$LINENO: checking for MAP_ANONYMOUS" >&5 -$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef MAP_ANONYMOUS - I cant identify this map. -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cant identify this map." >/dev/null 2>&1; then - gl_have_mmap_anonymous=yes -fi -rm -f conftest* - - if test $gl_have_mmap_anonymous != yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef MAP_ANON - I cant identify this map. -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cant identify this map." >/dev/null 2>&1; then - -cat >>confdefs.h <<\_ACEOF -#define MAP_ANONYMOUS MAP_ANON -_ACEOF - - gl_have_mmap_anonymous=yes -fi -rm -f conftest* - - fi - { $as_echo "$as_me:$LINENO: result: $gl_have_mmap_anonymous" >&5 -$as_echo "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MAP_ANONYMOUS 1 -_ACEOF - - fi - fi - - - - - - - - - - - - - - - - - - - - - - if test $ac_cv_func_memchr = yes; then - # Detect platform-specific bugs in some versions of glibc: - # memchr should not dereference anything with length 0 - # http://bugzilla.redhat.com/499689 - # memchr should not dereference overestimated length after a match - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 - # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 - # Assume that memchr works on platforms that lack mprotect. - { $as_echo "$as_me:$LINENO: checking whether memchr works" >&5 -$as_echo_n "checking whether memchr works... " >&6; } -if test "${gl_cv_func_memchr_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_func_memchr_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#if HAVE_SYS_MMAN_H -# include -# include -# include -# include -# ifndef MAP_FILE -# define MAP_FILE 0 -# endif -#endif - -int -main () -{ - - int result = 0; - char *fence = NULL; -#if HAVE_SYS_MMAN_H && HAVE_MPROTECT -# if HAVE_MAP_ANONYMOUS - const int flags = MAP_ANONYMOUS | MAP_PRIVATE; - const int fd = -1; -# else /* !HAVE_MAP_ANONYMOUS */ - const int flags = MAP_FILE | MAP_PRIVATE; - int fd = open ("/dev/zero", O_RDONLY, 0666); - if (fd >= 0) -# endif - { - int pagesize = getpagesize (); - char *two_pages = - (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, - flags, fd, 0); - if (two_pages != (char *)(-1) - && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) - fence = two_pages + pagesize; - } -#endif - if (fence) - { - if (memchr (fence, 0, 0)) - result |= 1; - strcpy (fence - 9, "12345678"); - if (memchr (fence - 9, 0, 79) != fence - 1) - result |= 2; - if (memchr (fence - 1, 0, 3) != fence - 1) - result |= 4; - } - return result; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_memchr_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_memchr_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_memchr_works" >&5 -$as_echo "$gl_cv_func_memchr_works" >&6; } - if test "$gl_cv_func_memchr_works" != yes; then - REPLACE_MEMCHR=1 - fi - else - HAVE_MEMCHR=0 - fi - if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" - - - -for ac_header in bp-sym.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - fi - -{ $as_echo "$as_me:$LINENO: checking whether memrchr is declared" >&5 -$as_echo_n "checking whether memrchr is declared... " >&6; } -if test "${ac_cv_have_decl_memrchr+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef memrchr - (void) memrchr; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_memrchr=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_memrchr=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_memrchr" >&5 -$as_echo "$ac_cv_have_decl_memrchr" >&6; } -if test "x$ac_cv_have_decl_memrchr" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MEMRCHR 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MEMRCHR 0 -_ACEOF - - -fi - - - - - - - - - - - - GNULIB_MKTIME=0; - GNULIB_NANOSLEEP=0; - GNULIB_STRPTIME=0; - GNULIB_TIMEGM=0; - GNULIB_TIME_R=0; - HAVE_DECL_LOCALTIME_R=1; - HAVE_NANOSLEEP=1; - HAVE_STRPTIME=1; - HAVE_TIMEGM=1; - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_MKTIME=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; - - - - - - - # parse-datetime.y works with bison only. - : ${YACC='bison -y'} - - - { $as_echo "$as_me:$LINENO: checking for compound literals" >&5 -$as_echo_n "checking for compound literals... " >&6; } -if test "${gl_cv_compound_literals+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -struct s { int i, j; }; -int -main () -{ -struct s t = (struct s) { 3, 4 }; - if (t.i != 0) return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_compound_literals=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_compound_literals=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_compound_literals" >&5 -$as_echo "$gl_cv_compound_literals" >&6; } - if test $gl_cv_compound_literals = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_COMPOUND_LITERALS 1 -_ACEOF - - fi - -{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_struct_tm=time.h -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_struct_tm=sys/time.h -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF - -fi - - - { $as_echo "$as_me:$LINENO: checking for struct tm.tm_gmtoff" >&5 -$as_echo_n "checking for struct tm.tm_gmtoff... " >&6; } -if test "${ac_cv_member_struct_tm_tm_gmtoff+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct tm ac_aggr; -if (ac_aggr.tm_gmtoff) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_tm_tm_gmtoff=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct tm ac_aggr; -if (sizeof ac_aggr.tm_gmtoff) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_tm_tm_gmtoff=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_tm_tm_gmtoff=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5 -$as_echo "$ac_cv_member_struct_tm_tm_gmtoff" >&6; } -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TM_GMTOFF 1 -_ACEOF - -fi - - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking whether setenv is declared" >&5 -$as_echo_n "checking whether setenv is declared... " >&6; } -if test "${ac_cv_have_decl_setenv+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef setenv - (void) setenv; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_setenv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_setenv=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_setenv" >&5 -$as_echo "$ac_cv_have_decl_setenv" >&6; } -if test "x$ac_cv_have_decl_setenv" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SETENV 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SETENV 0 -_ACEOF - - -fi - - - - - - - - - - - if test $ac_cv_have_decl_setenv = no; then - HAVE_DECL_SETENV=0 - fi - - - - - - - if test $ac_cv_func_setenv = no; then - HAVE_SETENV=0 - else - { $as_echo "$as_me:$LINENO: checking whether setenv validates arguments" >&5 -$as_echo_n "checking whether setenv validates arguments... " >&6; } -if test "${gl_cv_func_setenv_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_func_setenv_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - #include - #include - #include - -int -main () -{ - - int result = 0; - { - if (setenv ("", "", 0) != -1) - result |= 1; - else if (errno != EINVAL) - result |= 2; - } - { - if (setenv ("a", "=", 1) != 0) - result |= 4; - else if (strcmp (getenv ("a"), "=") != 0) - result |= 8; - } - return result; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_setenv_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_setenv_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_setenv_works" >&5 -$as_echo "$gl_cv_func_setenv_works" >&6; } - if test "$gl_cv_func_setenv_works" != yes; then - REPLACE_SETENV=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext" - - fi - fi - - - - - - - - - - -for ac_header in search.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in tsearch -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - - - - - { $as_echo "$as_me:$LINENO: checking whether snprintf returns a byte count as in C99" >&5 -$as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; } -if test "${gl_cv_func_snprintf_retval_c99+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then - - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; - darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_snprintf_retval_c99="guessing no";; - openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; - solaris*) gl_cv_func_printf_sizes_c99="guessing no";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; - aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_retval_c99="guessing no";; - netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_retval_c99="guessing no";; - esac - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -static char buf[100]; -int main () -{ - strcpy (buf, "ABCDEF"); - if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) - return 1; - if (snprintf (buf, 0, "%d %d", 4567, 89) != 7) - return 2; - if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7) - return 3; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_snprintf_retval_c99=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_snprintf_retval_c99=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_retval_c99" >&5 -$as_echo "$gl_cv_func_snprintf_retval_c99" >&6; } - -{ $as_echo "$as_me:$LINENO: checking whether snprintf is declared" >&5 -$as_echo_n "checking whether snprintf is declared... " >&6; } -if test "${ac_cv_have_decl_snprintf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef snprintf - (void) snprintf; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_snprintf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_snprintf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_snprintf" >&5 -$as_echo "$ac_cv_have_decl_snprintf" >&6; } -if test "x$ac_cv_have_decl_snprintf" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF 0 -_ACEOF - - -fi - - - - REPLACE_NULL=0; - HAVE_WCHAR_T=1; - STDDEF_H=''; - - - { $as_echo "$as_me:$LINENO: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gt_cv_c_wchar_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_c_wchar_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_WCHAR_T 1 -_ACEOF - - fi - - - HAVE_STRCASECMP=1; - HAVE_DECL_STRNCASECMP=1; - - - -{ $as_echo "$as_me:$LINENO: checking whether strdup is declared" >&5 -$as_echo_n "checking whether strdup is declared... " >&6; } -if test "${ac_cv_have_decl_strdup+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strdup - (void) strdup; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strdup=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strdup=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strdup" >&5 -$as_echo "$ac_cv_have_decl_strdup" >&6; } -if test "x$ac_cv_have_decl_strdup" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRDUP 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRDUP 0 -_ACEOF - - -fi - - - - - - - - if test -z "$ERRNO_H"; then - { $as_echo "$as_me:$LINENO: checking for working strerror function" >&5 -$as_echo_n "checking for working strerror function... " >&6; } -if test "${gl_cv_func_working_strerror+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -return !*strerror (-2); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_working_strerror=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_working_strerror=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -return !*strerror (-2); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_working_strerror=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_working_strerror=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_working_strerror" >&5 -$as_echo "$gl_cv_func_working_strerror" >&6; } - if test $gl_cv_func_working_strerror = no; then - REPLACE_STRERROR=1 - fi - else - REPLACE_STRERROR=1 - fi - if test $REPLACE_STRERROR = 1; then - - { $as_echo "$as_me:$LINENO: checking whether strerror is declared" >&5 -$as_echo_n "checking whether strerror is declared... " >&6; } -if test "${ac_cv_have_decl_strerror+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strerror - (void) strerror; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strerror=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strerror=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror" >&5 -$as_echo "$ac_cv_have_decl_strerror" >&6; } -if test "x$ac_cv_have_decl_strerror" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR 0 -_ACEOF - - -fi - - - - - - - - - if test $ac_cv_header_sys_socket_h != yes; then - -for ac_header in winsock2.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - fi - - fi - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_string_h='<'string.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_string_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/string.h#{ - s#.*"\(.*/string.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_string_h" >&5 -$as_echo "$gl_cv_next_string_h" >&6; } - fi - NEXT_STRING_H=$gl_cv_next_string_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'string.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_string_h - fi - NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive - - - - - - - - - - - - - - - - - - - - - - - - - for gl_func in memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - - done - - - - - - - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_strings_h='<'strings.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_strings_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_strings_h = yes; then - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_strings_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/strings.h#{ - s#.*"\(.*/strings.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_strings_h='<'strings.h'>' - fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_strings_h" >&5 -$as_echo "$gl_cv_next_strings_h" >&6; } - fi - NEXT_STRINGS_H=$gl_cv_next_strings_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'strings.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_strings_h - fi - NEXT_AS_FIRST_DIRECTIVE_STRINGS_H=$gl_next_as_first_directive - - - - - - - - - for gl_func in strcasecmp strncasecmp; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - - done - - -{ $as_echo "$as_me:$LINENO: checking whether strndup is declared" >&5 -$as_echo_n "checking whether strndup is declared... " >&6; } -if test "${ac_cv_have_decl_strndup+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strndup - (void) strndup; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strndup=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strndup=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strndup" >&5 -$as_echo "$ac_cv_have_decl_strndup" >&6; } -if test "x$ac_cv_have_decl_strndup" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNDUP 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNDUP 0 -_ACEOF - - -fi - - - - -{ $as_echo "$as_me:$LINENO: checking whether strnlen is declared" >&5 -$as_echo_n "checking whether strnlen is declared... " >&6; } -if test "${ac_cv_have_decl_strnlen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strnlen - (void) strnlen; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strnlen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strnlen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strnlen" >&5 -$as_echo "$ac_cv_have_decl_strnlen" >&6; } -if test "x$ac_cv_have_decl_strnlen" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNLEN 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNLEN 0 -_ACEOF - - -fi - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_sys_struct_timespec_in_time_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_sys_struct_timespec_in_time_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } - - TIME_H_DEFINES_STRUCT_TIMESPEC=0 - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 - if test $gl_cv_sys_struct_timespec_in_time_h = yes; then - TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:$LINENO: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_sys_struct_timespec_in_sys_time_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_sys_struct_timespec_in_sys_time_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:$LINENO: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_pthread_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_sys_struct_timespec_in_pthread_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_sys_struct_timespec_in_pthread_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 - fi - fi - fi - - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_time_h='<'time.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_time_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/time.h#{ - s#.*"\(.*/time.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_time_h" >&5 -$as_echo "$gl_cv_next_time_h" >&6; } - fi - NEXT_TIME_H=$gl_cv_next_time_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'time.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_time_h - fi - NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive - - - - - - -{ $as_echo "$as_me:$LINENO: checking whether localtime_r is declared" >&5 -$as_echo_n "checking whether localtime_r is declared... " >&6; } -if test "${ac_cv_have_decl_localtime_r+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef localtime_r - (void) localtime_r; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_localtime_r=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_localtime_r=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_localtime_r" >&5 -$as_echo "$ac_cv_have_decl_localtime_r" >&6; } -if test "x$ac_cv_have_decl_localtime_r" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_LOCALTIME_R 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_LOCALTIME_R 0 -_ACEOF - - -fi - - - - - - - - - - - - -gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} -i\ -0 -q -' -gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} -i\ -0 -q -' -gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} -i\ -0 -q -' - - - if test "$HAVE_LIBUNISTRING" = yes; then - LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` - LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` - LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` - fi - -{ $as_echo "$as_me:$LINENO: checking whether unsetenv is declared" >&5 -$as_echo_n "checking whether unsetenv is declared... " >&6; } -if test "${ac_cv_have_decl_unsetenv+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef unsetenv - (void) unsetenv; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_unsetenv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_unsetenv=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_unsetenv" >&5 -$as_echo "$ac_cv_have_decl_unsetenv" >&6; } -if test "x$ac_cv_have_decl_unsetenv" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_UNSETENV 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_UNSETENV 0 -_ACEOF - - -fi - - - - { $as_echo "$as_me:$LINENO: checking whether the utimes function works" >&5 -$as_echo_n "checking whether the utimes function works... " >&6; } -if test "${gl_cv_func_working_utimes+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then - gl_cv_func_working_utimes=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static int -inorder (time_t a, time_t b, time_t c) -{ - return a <= b && b <= c; -} - -int -main () -{ - int result = 0; - char const *file = "conftest.utimes"; - static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; - - /* Test whether utimes() essentially works. */ - { - struct stat sbuf; - FILE *f = fopen (file, "w"); - if (f == NULL) - result |= 1; - else if (fclose (f) != 0) - result |= 1; - else if (utimes (file, timeval) != 0) - result |= 2; - else if (lstat (file, &sbuf) != 0) - result |= 1; - else if (!(sbuf.st_atime == timeval[0].tv_sec - && sbuf.st_mtime == timeval[1].tv_sec)) - result |= 4; - if (unlink (file) != 0) - result |= 1; - } - - /* Test whether utimes() with a NULL argument sets the file's timestamp - to the current time. Use 'fstat' as well as 'time' to - determine the "current" time, to accommodate NFS file systems - if there is a time skew between the host and the NFS server. */ - { - int fd = open (file, O_WRONLY|O_CREAT, 0644); - if (fd < 0) - result |= 1; - else - { - time_t t0, t2; - struct stat st0, st1, st2; - if (time (&t0) == (time_t) -1) - result |= 1; - else if (fstat (fd, &st0) != 0) - result |= 1; - else if (utimes (file, timeval) != 0) - result |= 2; - else if (utimes (file, NULL) != 0) - result |= 8; - else if (fstat (fd, &st1) != 0) - result |= 1; - else if (write (fd, "\n", 1) != 1) - result |= 1; - else if (fstat (fd, &st2) != 0) - result |= 1; - else if (time (&t2) == (time_t) -1) - result |= 1; - else - { - int m_ok_POSIX = inorder (t0, st1.st_mtime, t2); - int m_ok_NFS = inorder (st0.st_mtime, st1.st_mtime, st2.st_mtime); - if (! (st1.st_atime == st1.st_mtime)) - result |= 16; - if (! (m_ok_POSIX || m_ok_NFS)) - result |= 32; - } - if (close (fd) != 0) - result |= 1; - } - if (unlink (file) != 0) - result |= 1; - } - - /* Test whether utimes() with a NULL argument works on read-only files. */ - { - int fd = open (file, O_WRONLY|O_CREAT, 0444); - if (fd < 0) - result |= 1; - else if (close (fd) != 0) - result |= 1; - else if (utimes (file, NULL) != 0) - result |= 64; - if (unlink (file) != 0) - result |= 1; - } - - return result; -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_working_utimes=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_working_utimes=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_working_utimes" >&5 -$as_echo "$gl_cv_func_working_utimes" >&6; } - - if test $gl_cv_func_working_utimes = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_UTIMES 1 -_ACEOF - - fi - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for struct utimbuf" >&5 -$as_echo_n "checking for struct utimbuf... " >&6; } -if test "${gl_cv_sys_struct_utimbuf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - #ifdef HAVE_UTIME_H - #include - #endif - -int -main () -{ -static struct utimbuf x; x.actime = x.modtime; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_sys_struct_utimbuf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_sys_struct_utimbuf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_utimbuf" >&5 -$as_echo "$gl_cv_sys_struct_utimbuf" >&6; } - - if test $gl_cv_sys_struct_utimbuf = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRUCT_UTIMBUF 1 -_ACEOF - - fi - - - - - - - - - - - - - - - - - - - if test $ac_cv_header_features_h = yes; then - HAVE_FEATURES_H=1 - else - HAVE_FEATURES_H=0 - fi - - - - { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if test "${gl_cv_header_inttypes_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_inttypes_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_header_inttypes_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_inttypes_h" >&5 -$as_echo "$gl_cv_header_inttypes_h" >&6; } - if test $gl_cv_header_inttypes_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -_ACEOF - - fi - - - { $as_echo "$as_me:$LINENO: checking for stdint.h" >&5 -$as_echo_n "checking for stdint.h... " >&6; } -if test "${gl_cv_header_stdint_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_stdint_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_header_stdint_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_stdint_h" >&5 -$as_echo "$gl_cv_header_stdint_h" >&6; } - if test $gl_cv_header_stdint_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H_WITH_UINTMAX 1 -_ACEOF - - fi - - - - - { $as_echo "$as_me:$LINENO: checking for intmax_t" >&5 -$as_echo_n "checking for intmax_t... " >&6; } -if test "${gt_cv_c_intmax_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif - -int -main () -{ -intmax_t x = -1; return !x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gt_cv_c_intmax_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_c_intmax_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_c_intmax_t" >&5 -$as_echo "$gt_cv_c_intmax_t" >&6; } - if test $gt_cv_c_intmax_t = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_INTMAX_T 1 -_ACEOF - - else - - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' - -cat >>confdefs.h <<_ACEOF -#define intmax_t $ac_type -_ACEOF - - fi - - - - - - - - - - - - - -for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - { $as_echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 -$as_echo_n "checking whether _snprintf is declared... " >&6; } -if test "${ac_cv_have_decl__snprintf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _snprintf - (void) _snprintf; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl__snprintf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl__snprintf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 -$as_echo "$ac_cv_have_decl__snprintf" >&6; } -if test "x$ac_cv_have_decl__snprintf" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNPRINTF 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNPRINTF 0 -_ACEOF - - -fi - - - - case "$gl_cv_func_snprintf_retval_c99" in - *yes) - -cat >>confdefs.h <<\_ACEOF -#define HAVE_SNPRINTF_RETVAL_C99 1 -_ACEOF - - ;; - esac - -{ $as_echo "$as_me:$LINENO: checking whether vsnprintf is declared" >&5 -$as_echo_n "checking whether vsnprintf is declared... " >&6; } -if test "${ac_cv_have_decl_vsnprintf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef vsnprintf - (void) vsnprintf; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_vsnprintf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_vsnprintf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_vsnprintf" >&5 -$as_echo "$ac_cv_have_decl_vsnprintf" >&6; } -if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_VSNPRINTF 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_VSNPRINTF 0 -_ACEOF - - -fi - - - - - - - - if false; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - - gl_cond_libtool=false - gl_libdeps= - gl_ltlibdeps= - gl_m4_base='m4' - - - - - - - - - - gl_source_base='gnu' - # Code from module alloca: - # Code from module alloca-opt: - - - if test $ac_cv_func_alloca_works = no; then - : - fi - - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - { $as_echo "$as_me:$LINENO: checking for alloca as a compiler built-in" >&5 -$as_echo_n "checking for alloca as a compiler built-in... " >&6; } -if test "${gl_cv_rpl_alloca+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then - gl_cv_rpl_alloca=yes -else - gl_cv_rpl_alloca=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_rpl_alloca" >&5 -$as_echo "$gl_cv_rpl_alloca" >&6; } - if test $gl_cv_rpl_alloca = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA 1 -_ACEOF - - ALLOCA_H=alloca.h - else - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h - fi - - - # Code from module areadlink: - # Code from module areadlinkat: - - -cat >>confdefs.h <<_ACEOF -#define GNULIB_AREADLINKAT 1 -_ACEOF - - - # Code from module arg-nonnull: - # Code from module argmatch: - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS argmatch.$ac_objext" - - - # Code from module argp: - - - - - - - GETOPT_H=getopt.h - -cat >>confdefs.h <<\_ACEOF -#define __GETOPT_PREFIX rpl_ -_ACEOF - - - - GNULIB_UNISTD_H_GETOPT=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking whether program_invocation_name is declared" >&5 -$as_echo_n "checking whether program_invocation_name is declared... " >&6; } -if test "${ac_cv_have_decl_program_invocation_name+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef program_invocation_name - (void) program_invocation_name; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_program_invocation_name=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_program_invocation_name=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_program_invocation_name" >&5 -$as_echo "$ac_cv_have_decl_program_invocation_name" >&6; } -if test "x$ac_cv_have_decl_program_invocation_name" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME 1 -_ACEOF - -else - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_PROGRAM_INVOCATION_NAME 1 -_ACEOF - -fi - - { $as_echo "$as_me:$LINENO: checking whether program_invocation_short_name is declared" >&5 -$as_echo_n "checking whether program_invocation_short_name is declared... " >&6; } -if test "${ac_cv_have_decl_program_invocation_short_name+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef program_invocation_short_name - (void) program_invocation_short_name; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_program_invocation_short_name=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_program_invocation_short_name=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_program_invocation_short_name" >&5 -$as_echo "$ac_cv_have_decl_program_invocation_short_name" >&6; } -if test "x$ac_cv_have_decl_program_invocation_short_name" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1 -_ACEOF - -else - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1 -_ACEOF - -fi - - - # Check if program_invocation_name and program_invocation_short_name - # are defined elsewhere. It is improbable that only one of them will - # be defined and other not, I prefer to stay on the safe side and to - # test each one separately. - { $as_echo "$as_me:$LINENO: checking whether program_invocation_name is defined" >&5 -$as_echo_n "checking whether program_invocation_name is defined... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -program_invocation_name = "test"; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PROGRAM_INVOCATION_NAME 1 -_ACEOF - - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - - { $as_echo "$as_me:$LINENO: checking whether program_invocation_short_name is defined" >&5 -$as_echo_n "checking whether program_invocation_short_name is defined... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -program_invocation_short_name = "test"; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1 -_ACEOF - - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_error:2:c-format" - - - - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format" - - # Code from module argp-version-etc: - # Code from module backupfile: - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS backupfile.$ac_objext" - - - - - - - - - - - - # Code from module bitrotate: - - # Code from module btowc: - - - - - - - - - - - - if test $ac_cv_func_btowc = no; then - HAVE_BTOWC=0 - else - - - - - { $as_echo "$as_me:$LINENO: checking whether btowc(0) is correct" >&5 -$as_echo_n "checking whether btowc(0) is correct... " >&6; } -if test "${gl_cv_func_btowc_nul+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then - - case "$host_os" in - # Guess no on Cygwin. - cygwin*) gl_cv_func_btowc_nul="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_nul="guessing yes" ;; - esac - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - if (btowc ('\0') != 0) - return 1; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_btowc_nul=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_btowc_nul=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_btowc_nul" >&5 -$as_echo "$gl_cv_func_btowc_nul" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether btowc(EOF) is correct" >&5 -$as_echo_n "checking whether btowc(EOF) is correct... " >&6; } -if test "${gl_cv_func_btowc_eof+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - case "$host_os" in - # Guess no on IRIX. - irix*) gl_cv_func_btowc_eof="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_eof="guessing yes" ;; - esac - if test $LOCALE_FR != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) - { - if (btowc (EOF) != WEOF) - return 1; - } - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_btowc_eof=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_btowc_eof=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - fi - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_btowc_eof" >&5 -$as_echo "$gl_cv_func_btowc_eof" >&6; } - - case "$gl_cv_func_btowc_nul" in - *yes) ;; - *) REPLACE_BTOWC=1 ;; - esac - case "$gl_cv_func_btowc_eof" in - *yes) ;; - *) REPLACE_BTOWC=1 ;; - esac - fi - if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then - - : - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext" - - - : - - fi - - - - GNULIB_BTOWC=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_BTOWC 1 -_ACEOF - - - - # Code from module c++defs: - # Code from module c-ctype: - # Code from module canonicalize-lgpl: - - - if test $ac_cv_func_canonicalize_file_name = no; then - HAVE_CANONICALIZE_FILE_NAME=0 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" - - if test $ac_cv_func_realpath = no; then - HAVE_REALPATH=0 - elif test "$gl_cv_func_realpath_works" != yes; then - REPLACE_REALPATH=1 - fi - elif test "$gl_cv_func_realpath_works" != yes; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" - - REPLACE_REALPATH=1 - REPLACE_CANONICALIZE_FILE_NAME=1 - fi - - - -cat >>confdefs.h <<_ACEOF -#define GNULIB_CANONICALIZE_LGPL 1 -_ACEOF - - - - - - GNULIB_CANONICALIZE_FILE_NAME=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 -_ACEOF - - - - - - - GNULIB_REALPATH=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_REALPATH 1 -_ACEOF - - - - # Code from module chdir-long: - - { $as_echo "$as_me:$LINENO: checking whether this system has an arbitrary file name length limit" >&5 -$as_echo_n "checking whether this system has an arbitrary file name length limit... " >&6; } -if test "${gl_cv_have_arbitrary_file_name_length_limit+set}" = set; then + if test $ac_cv_header_stdint_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 +$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } +if ${gl_cv_header_working_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + gl_cv_header_working_stdint_h=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if defined PATH_MAX || defined MAXPATHLEN -have_arbitrary_file_name_length_limit -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "have_arbitrary_file_name_length_limit" >/dev/null 2>&1; then - gl_cv_have_arbitrary_file_name_length_limit=yes -else - gl_cv_have_arbitrary_file_name_length_limit=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_have_arbitrary_file_name_length_limit" >&5 -$as_echo "$gl_cv_have_arbitrary_file_name_length_limit" >&6; } - - if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS chdir-long.$ac_objext" - - - - : - - fi - - # Code from module chown: - - - - - GNULIB_CHOWN=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_CHOWN 1 -_ACEOF - - - - # Code from module clock-time: - - - - # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. - # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. - - # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* - # programs in the package would end up linked with that potentially-shared - # library, inducing unnecessary run-time overhead. - LIB_CLOCK_GETTIME= - gl_saved_libs=$LIBS - { $as_echo "$as_me:$LINENO: checking for library containing clock_gettime" >&5 -$as_echo_n "checking for library containing clock_gettime... " >&6; } -if test "${ac_cv_search_clock_gettime+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " #endif -char clock_gettime (); -int -main () -{ -return clock_gettime (); - ; - return 0; -} -_ACEOF -for ac_lib in '' rt posix4; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_search_clock_gettime=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_clock_gettime+set}" = set; then - break -fi -done -if test "${ac_cv_search_clock_gettime+set}" = set; then - : -else - ac_cv_search_clock_gettime=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_clock_gettime" >&5 -$as_echo "$ac_cv_search_clock_gettime" >&6; } -ac_res=$ac_cv_search_clock_gettime -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_clock_gettime" = "none required" || - LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime -fi + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif -for ac_func in clock_gettime clock_settime -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; #else -# include +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; #endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - LIBS=$gl_saved_libs - - # Code from module cloexec: - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS cloexec.$ac_objext" - - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_CLOEXEC 1 -_ACEOF - - - # Code from module close: - - - - - - - GNULIB_CLOSE=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_CLOSE 1 -_ACEOF - - - - # Code from module close-hook: - # Code from module close-stream: - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS close-stream.$ac_objext" - - - : - - - -cat >>confdefs.h <<_ACEOF -#define GNULIB_CLOSE_STREAM 1 -_ACEOF - - - # Code from module closeout: - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS closeout.$ac_objext" - - - : - - # Code from module configmake: - - if test "x$datarootdir" = x; then - datarootdir='${datadir}' - - fi - if test "x$docdir" = x; then - docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' - - fi - if test "x$htmldir" = x; then - htmldir='${docdir}' - - fi - if test "x$dvidir" = x; then - dvidir='${docdir}' - - fi - if test "x$pdfdir" = x; then - pdfdir='${docdir}' - - fi - if test "x$psdir" = x; then - psdir='${docdir}' - - fi - if test "x$lispdir" = x; then - lispdir='${datarootdir}/emacs/site-lisp' - - fi - if test "x$localedir" = x; then - localedir='${datarootdir}/locale' - - fi - - pkglibexecdir='${libexecdir}/${PACKAGE}' - +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; - # Code from module d-ino: - { $as_echo "$as_me:$LINENO: checking for d_ino member in directory struct" >&5 -$as_echo_n "checking for d_ino member in directory struct... " >&6; } -if test "${gl_cv_struct_dirent_d_ino+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_struct_dirent_d_ino=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - #include + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; -int -main () -{ -DIR *dp = opendir ("."); - struct dirent *e; - struct stat st; - if (! dp) - return 1; - e = readdir (dp); - if (! e) - return 2; - if (stat (e->d_name, &st) != 0) - return 3; - if (e->d_ino != st.st_ino) - return 4; - return 0; + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; + +int +main () +{ ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_struct_dirent_d_ino=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_struct_dirent_d_ino=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_struct_dirent_d_ino" >&5 -$as_echo "$gl_cv_struct_dirent_d_ino" >&6; } - if test $gl_cv_struct_dirent_d_ino = yes; then - -cat >>confdefs.h <<\_ACEOF -#define D_INO_IN_DIRENT 1 -_ACEOF - - fi - - - # Code from module dirent: - - - - - - - - - - - - - - - - +if ac_fn_c_try_compile "$LINENO"; then : + if test "$cross_compiling" = yes; then : + gl_cv_header_working_stdint_h=yes - if test $gl_cv_have_include_next = yes; then - gl_cv_next_dirent_h='<'dirent.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_dirent_h+set}" = set; then - $as_echo_n "(cached) " >&6 else - - if test $ac_cv_header_dirent_h = yes; then - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_dirent_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/dirent.h#{ - s#.*"\(.*/dirent.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_dirent_h='<'dirent.h'>' - fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_dirent_h" >&5 -$as_echo "$gl_cv_next_dirent_h" >&6; } - fi - NEXT_DIRENT_H=$gl_cv_next_dirent_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'dirent.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_dirent_h - fi - NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive - - - - +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif - for gl_func in alphasort dirfd fdopendir scandir; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +#include +#include +#define MVAL(macro) MVAL1(macro) +#define MVAL1(expression) #expression +static const char *macro_values[] = + { +#ifdef INT8_MAX + MVAL (INT8_MAX), +#endif +#ifdef INT16_MAX + MVAL (INT16_MAX), +#endif +#ifdef INT32_MAX + MVAL (INT32_MAX), +#endif +#ifdef INT64_MAX + MVAL (INT64_MAX), +#endif +#ifdef UINT8_MAX + MVAL (UINT8_MAX), +#endif +#ifdef UINT16_MAX + MVAL (UINT16_MAX), +#endif +#ifdef UINT32_MAX + MVAL (UINT32_MAX), +#endif +#ifdef UINT64_MAX + MVAL (UINT64_MAX), +#endif + NULL + }; int main () { -#undef $gl_func - (void) $gl_func; + + const char **mv; + for (mv = macro_values; *mv != NULL; mv++) + { + const char *value = *mv; + /* Test whether it looks like a cast expression. */ + if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 + || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 + || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 + || strncmp (value, "((int)"/*)*/, 6) == 0 + || strncmp (value, "((signed short)"/*)*/, 15) == 0 + || strncmp (value, "((signed char)"/*)*/, 14) == 0) + return mv - macro_values + 1; + } + return 0; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_header_working_stdint_h=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + +fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 +$as_echo "$gl_cv_header_working_stdint_h" >&6; } + fi + if test "$gl_cv_header_working_stdint_h" = yes; then + STDINT_H= + else + for ac_header in sys/inttypes.h sys/bitypes.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - eval ac_cv_have_decl_$gl_func=yes fi - done +done + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + else + HAVE_SYS_INTTYPES_H=0 + fi - # Code from module dirent-safer: + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + else + HAVE_SYS_BITYPES_H=0 + fi + if test $APPLE_UNIVERSAL_BUILD = 0; then + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif +#include "; then : +else + result=unknown +fi + eval gl_cv_bitsizeof_${gltype}=\$result +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result +_ACEOF + eval BITSIZEOF_${GLTYPE}=\$result + done + fi - gl_LIBOBJS="$gl_LIBOBJS opendir-safer.$ac_objext" + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif +#include "; then : +else + result=unknown +fi + eval gl_cv_bitsizeof_${gltype}=\$result -cat >>confdefs.h <<_ACEOF -#define GNULIB_DIRENT_SAFER 1 +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result _ACEOF - - # Code from module dirfd: - - - - : - + eval BITSIZEOF_${GLTYPE}=\$result + done -for ac_func in dirfd -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 +$as_echo_n "checking whether $gltype is signed... " >&6; } +if eval \${gl_cv_type_${gltype}_signed+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { -return $ac_func (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + result=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + result=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval gl_cv_type_${gltype}_signed=\$result -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$gl_cv_type_${gltype}_signed + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_SIGNED_${GLTYPE} 1 _ACEOF -fi -done + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + + + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no + if test $APPLE_UNIVERSAL_BUILD = 0; then + - { $as_echo "$as_me:$LINENO: checking whether dirfd is declared" >&5 -$as_echo_n "checking whether dirfd is declared... " >&6; } -if test "${ac_cv_have_decl_dirfd+set}" = set; then + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if eval \${gl_cv_type_${gltype}_suffix+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; int main () { -#ifndef dirfd - (void) dirfd; -#endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_dirfd=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_dirfd=no +if ac_fn_c_try_compile "$LINENO"; then : + eval gl_cv_type_${gltype}_suffix=\$glsuf fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_dirfd" >&5 -$as_echo "$ac_cv_have_decl_dirfd" >&6; } -if test "x$ac_cv_have_decl_dirfd" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_DIRFD 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_DIRFD 0 +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result _ACEOF - -fi + done - if test $ac_cv_have_decl_dirfd = no; then - HAVE_DECL_DIRFD=0 fi - { $as_echo "$as_me:$LINENO: checking whether dirfd is a macro" >&5 -$as_echo_n "checking whether dirfd is a macro... " >&6; } -if test "${gl_cv_func_dirfd_macro+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#ifdef dirfd - dirent_header_defines_dirfd -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "dirent_header_defines_dirfd" >/dev/null 2>&1; then - gl_cv_func_dirfd_macro=yes -else - gl_cv_func_dirfd_macro=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_dirfd_macro" >&5 -$as_echo "$gl_cv_func_dirfd_macro" >&6; } - - # Use the replacement only if we have no function or macro with that name. - if test $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro = no,no; then - if test $ac_cv_have_decl_dirfd = yes; then - # If the system declares dirfd already, let's declare rpl_dirfd instead. - REPLACE_DIRFD=1 - fi - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS dirfd.$ac_objext" - - { $as_echo "$as_me:$LINENO: checking how to get the file descriptor associated with an open DIR*" >&5 -$as_echo_n "checking how to get the file descriptor associated with an open DIR*... " >&6; } -if test "${gl_cv_sys_dir_fd_member_name+set}" = set; then + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if eval \${gl_cv_type_${gltype}_suffix+:} false; then : $as_echo_n "(cached) " >&6 else - - dirfd_save_CFLAGS=$CFLAGS - for ac_expr in d_fd dd_fd; do - - CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #include + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; int main () { -DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - dir_fd_found=yes - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : + eval gl_cv_type_${gltype}_suffix=\$glsuf +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result +_ACEOF + done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$dirfd_save_CFLAGS - test "$dir_fd_found" = yes && break - done - test "$dir_fd_found" = yes || ac_expr=no_such_member - gl_cv_sys_dir_fd_member_name=$ac_expr + if test $BITSIZEOF_WINT_T -lt 32; then + BITSIZEOF_WINT_T=32 + fi + STDINT_H=stdint.h + fi + if test -n "$STDINT_H"; then + GL_GENERATE_STDINT_H_TRUE= + GL_GENERATE_STDINT_H_FALSE='#' +else + GL_GENERATE_STDINT_H_TRUE='#' + GL_GENERATE_STDINT_H_FALSE= fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_dir_fd_member_name" >&5 -$as_echo "$gl_cv_sys_dir_fd_member_name" >&6; } - if test $gl_cv_sys_dir_fd_member_name != no_such_member; then -cat >>confdefs.h <<_ACEOF -#define DIR_FD_MEMBER_NAME $gl_cv_sys_dir_fd_member_name -_ACEOF - fi - fi + GNULIB_IMAXABS=0; + GNULIB_IMAXDIV=0; + GNULIB_STRTOIMAX=0; + GNULIB_STRTOUMAX=0; + HAVE_DECL_IMAXABS=1; + HAVE_DECL_IMAXDIV=1; + HAVE_DECL_STRTOIMAX=1; + HAVE_DECL_STRTOUMAX=1; + REPLACE_STRTOIMAX=0; + INT32_MAX_LT_INTMAX_MAX=1; + INT64_MAX_EQ_LONG_MAX='defined _LP64'; + PRI_MACROS_BROKEN=0; + PRIPTR_PREFIX=__PRIPTR_PREFIX; + UINT32_MAX_LT_UINTMAX_MAX=1; + UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; - GNULIB_DIRFD=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_DIRFD 1 -_ACEOF - # Code from module dirname: + if test $gl_cv_have_include_next = yes; then + gl_cv_next_inttypes_h='<'inttypes.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_inttypes_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_inttypes_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - gl_LIBOBJS="$gl_LIBOBJS basename.$ac_objext" +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'inttypes.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_inttypes_h='<'inttypes.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 +$as_echo "$gl_cv_next_inttypes_h" >&6; } + fi + NEXT_INTTYPES_H=$gl_cv_next_inttypes_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'inttypes.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_inttypes_h + fi + NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS dirname.$ac_objext" + for gl_func in imaxabs imaxdiv strtoimax strtoumax; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -cat >>confdefs.h <<_ACEOF -#define GNULIB_DIRNAME 1 +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF - - # Code from module dirname-lgpl: - + eval ac_cv_have_decl_$gl_func=yes +fi + done + for ac_header in inttypes.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" +if test "x$ac_cv_header_inttypes_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H 1 +_ACEOF +fi +done + if test $ac_cv_header_inttypes_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 +$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } +if ${gt_cv_inttypes_pri_broken+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS basename-lgpl.$ac_objext" +#include +#ifdef PRId32 +char *p = PRId32; +#endif +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_inttypes_pri_broken=no +else + gt_cv_inttypes_pri_broken=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 +$as_echo "$gt_cv_inttypes_pri_broken" >&6; } + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then +cat >>confdefs.h <<_ACEOF +#define PRI_MACROS_BROKEN 1 +_ACEOF + PRI_MACROS_BROKEN=1 + else + PRI_MACROS_BROKEN=0 + fi + GNULIB_ISWBLANK=0; + GNULIB_WCTYPE=0; + GNULIB_ISWCTYPE=0; + GNULIB_WCTRANS=0; + GNULIB_TOWCTRANS=0; + HAVE_ISWBLANK=1; + HAVE_WCTYPE_T=1; + HAVE_WCTRANS_T=1; + REPLACE_ISWBLANK=0; - gl_LIBOBJS="$gl_LIBOBJS dirname-lgpl.$ac_objext" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 +$as_echo_n "checking for wint_t... " >&6; } +if ${gt_cv_c_wint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0'; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wint_t=yes +else + gt_cv_c_wint_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 +$as_echo "$gt_cv_c_wint_t" >&6; } + if test $gt_cv_c_wint_t = yes; then +$as_echo "#define HAVE_WINT_T 1" >>confdefs.h + fi - gl_LIBOBJS="$gl_LIBOBJS stripslash.$ac_objext" + if test $ac_cv_func_iswcntrl = yes; then + HAVE_ISWCNTRL=1 + else + HAVE_ISWCNTRL=0 + fi - # Code from module dosname: - # Code from module double-slash-root: - { $as_echo "$as_me:$LINENO: checking whether // is distinct from /" >&5 -$as_echo_n "checking whether // is distinct from /... " >&6; } -if test "${gl_cv_double_slash_root+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test x"$cross_compiling" = xyes ; then - # When cross-compiling, there is no way to tell whether // is special - # short of a list of hosts. However, the only known hosts to date - # that have a distinct // are Apollo DomainOS (too old to port to), - # Cygwin, and z/OS. If anyone knows of another system for which // has - # special semantics and is distinct from /, please report it to - # . - case $host in - *-cygwin | i370-ibm-openedition) - gl_cv_double_slash_root=yes ;; - *) - # Be optimistic and assume that / and // are the same when we - # don't know. - gl_cv_double_slash_root='unknown, assuming no' ;; - esac - else - set x `ls -di / // 2>/dev/null` - if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then - gl_cv_double_slash_root=no - else - gl_cv_double_slash_root=yes - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_double_slash_root" >&5 -$as_echo "$gl_cv_double_slash_root" >&6; } - if test "$gl_cv_double_slash_root" = yes; then + if test $gt_cv_c_wint_t = yes; then + HAVE_WINT_T=1 + else + HAVE_WINT_T=0 + fi -cat >>confdefs.h <<\_ACEOF -#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 -_ACEOF - fi - # Code from module dup2: @@ -26554,171 +13452,342 @@ _ACEOF + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wctype_h='<'wctype.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_wctype_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_wctype_h = yes; then - if test $ac_cv_func_dup2 = no; then - HAVE_DUP2=0 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'wctype.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_wctype_h='<'wctype.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 +$as_echo "$gl_cv_next_wctype_h" >&6; } + fi + NEXT_WCTYPE_H=$gl_cv_next_wctype_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'wctype.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_wctype_h + fi + NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" - else - { $as_echo "$as_me:$LINENO: checking whether dup2 works" >&5 -$as_echo_n "checking whether dup2 works... " >&6; } -if test "${gl_cv_func_dup2_works+set}" = set; then + if test $ac_cv_header_wctype_h = yes; then + if test $ac_cv_func_iswcntrl = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 +$as_echo_n "checking whether iswcntrl works... " >&6; } +if ${gl_cv_func_iswcntrl_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - case "$host_os" in - mingw*) # on this platform, dup2 always returns 0 for success - gl_cv_func_dup2_works=no;; - cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 - gl_cv_func_dup2_works=no;; - linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a - # closed fd may yield -EBADF instead of -1 / errno=EBADF. - gl_cv_func_dup2_works=no;; - freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. - gl_cv_func_dup2_works=no;; - haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. - gl_cv_func_dup2_works=no;; - *) gl_cv_func_dup2_works=yes;; - esac -else - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include +#include + #if __GNU_LIBRARY__ == 1 + Linux libc5 i18n is broken. + #endif int main () { -int result = 0; -#if HAVE_FCNTL - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; -#endif HAVE_FCNTL - if (dup2 (1, 1) == 0) - result |= 2; -#if HAVE_FCNTL - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; -#endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, 1000000) == -1 && errno != EBADF) - result |= 16; - return result; ; return 0; } - _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_dup2_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_iswcntrl_works="guessing yes" else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_dup2_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + gl_cv_func_iswcntrl_works="guessing no" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + /* Tru64 with Desktop Toolkit C has a bug: must be + included before . + BSD/OS 4.0.1 has a bug: , and + must be included before . */ + #include + #include + #include + #include + #include + int main () { return iswprint ('x') == 0; } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_iswcntrl_works=yes +else + gl_cv_func_iswcntrl_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_dup2_works" >&5 -$as_echo "$gl_cv_func_dup2_works" >&6; } - if test "$gl_cv_func_dup2_works" = no; then - if test $ac_cv_func_dup2 = yes; then - REPLACE_DUP2=1 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5 +$as_echo "$gl_cv_func_iswcntrl_works" >&6; } + fi + HAVE_WCTYPE_H=1 + else + HAVE_WCTYPE_H=0 fi + case "$gl_cv_func_iswcntrl_works" in + *yes) REPLACE_ISWCNTRL=0 ;; + *) REPLACE_ISWCNTRL=1 ;; + esac + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + : + fi + if test $REPLACE_ISWCNTRL = 1; then + REPLACE_TOWLOWER=1 + else + for ac_func in towlower +do : + ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower" +if test "x$ac_cv_func_towlower" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TOWLOWER 1 +_ACEOF +fi +done + if test $ac_cv_func_towlower = yes; then + REPLACE_TOWLOWER=0 + else + ac_fn_c_check_decl "$LINENO" "towlower" "ac_cv_have_decl_towlower" "/* Tru64 with Desktop Toolkit C has a bug: must be + included before . + BSD/OS 4.0.1 has a bug: , and + must be included before . */ + #include + #include + #include + #include + #if HAVE_WCTYPE_H + # include + #endif - gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" +" +if test "x$ac_cv_have_decl_towlower" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TOWLOWER $ac_have_decl +_ACEOF + if test $ac_cv_have_decl_towlower = yes; then + REPLACE_TOWLOWER=1 + else + REPLACE_TOWLOWER=0 + fi fi fi + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then + : + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5 +$as_echo_n "checking for wctype_t... " >&6; } +if ${gl_cv_type_wctype_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Tru64 with Desktop Toolkit C has a bug: must be + included before . + BSD/OS 4.0.1 has a bug: , and + must be included before . */ + #include + #include + #include + #include + #if HAVE_WCTYPE_H + # include + #endif + wctype_t a; +int +main () +{ - GNULIB_DUP2=1 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_type_wctype_t=yes +else + gl_cv_type_wctype_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5 +$as_echo "$gl_cv_type_wctype_t" >&6; } + if test $gl_cv_type_wctype_t = no; then + HAVE_WCTYPE_T=0 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5 +$as_echo_n "checking for wctrans_t... " >&6; } +if ${gl_cv_type_wctrans_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Tru64 with Desktop Toolkit C has a bug: must be + included before . + BSD/OS 4.0.1 has a bug: , and + must be included before . */ + #include + #include + #include + #include + #include + wctrans_t a; -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_DUP2 1 -_ACEOF +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_type_wctrans_t=yes +else + gl_cv_type_wctrans_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5 +$as_echo "$gl_cv_type_wctrans_t" >&6; } + if test $gl_cv_type_wctrans_t = no; then + HAVE_WCTRANS_T=0 + fi - # Code from module environ: + for gl_func in wctype iswctype wctrans towctrans ; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +# include +# include +# include +#endif +#include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF - GNULIB_ENVIRON=1 + eval ac_cv_have_decl_$gl_func=yes +fi + done -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_ENVIRON 1 -_ACEOF + GNULIB_NL_LANGINFO=0; + HAVE_NL_LANGINFO=1; + REPLACE_NL_LANGINFO=0; - # Code from module errno: - # Code from module error: @@ -26729,95 +13798,154 @@ _ACEOF + case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in + yes+*yes) + ;; + yes+*) + # Solaris 9 has *at functions, but uniformly mishandles trailing + # slash in all of them. + REPLACE_OPENAT=1 + ;; + *) + HAVE_OPENAT=0 + ;; + esac - { $as_echo "$as_me:$LINENO: checking for error_at_line" >&5 -$as_echo_n "checking for error_at_line... " >&6; } -if test "${ac_cv_lib_error_at_line+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5 +$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; } +if ${ac_cv_gnu_library_2_1+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ -error_at_line (0, 0, "", 0, "an error occurred"); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_error_at_line=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_error_at_line=no -fi +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif +#ifdef __UCLIBC__ + Lucky user +#endif -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky" >/dev/null 2>&1; then : + ac_cv_gnu_library_2_1=yes +else + ac_cv_gnu_library_2_1=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 -$as_echo "$ac_cv_lib_error_at_line" >&6; } - if test $ac_cv_lib_error_at_line = no; then - +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 +$as_echo "$ac_cv_gnu_library_2_1" >&6; } + GLIBC21="$ac_cv_gnu_library_2_1" - gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" + GNULIB_LOCALECONV=0; + GNULIB_SETLOCALE=0; + GNULIB_DUPLOCALE=0; + HAVE_DUPLOCALE=1; + REPLACE_LOCALECONV=0; + REPLACE_SETLOCALE=0; + REPLACE_DUPLOCALE=0; + REPLACE_STRUCT_LCONV=0; - fi + REPLACE_NULL=0; + HAVE_WCHAR_T=1; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 +$as_echo_n "checking for wchar_t... " >&6; } +if ${gt_cv_c_wchar_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + wchar_t foo = (wchar_t)'\0'; +int +main () +{ - : + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wchar_t=yes +else + gt_cv_c_wchar_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 +$as_echo "$gt_cv_c_wchar_t" >&6; } + if test $gt_cv_c_wchar_t = yes; then +$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h + fi - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" + STDDEF_H= + if test $gt_cv_c_wchar_t = no; then + HAVE_WCHAR_T=0 + STDDEF_H=stddef.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 +$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } +if ${gl_cv_decl_null_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int test[2 * (sizeof NULL == sizeof (void *)) -1]; - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" +int +main () +{ - # Code from module exclude: + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_decl_null_works=yes +else + gl_cv_decl_null_works=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 +$as_echo "$gl_cv_decl_null_works" >&6; } + if test $gl_cv_decl_null_works = no; then + REPLACE_NULL=1 + STDDEF_H=stddef.h + fi + if test -n "$STDDEF_H"; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' +else + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= +fi + if test -n "$STDDEF_H"; then @@ -26825,23 +13953,66 @@ $as_echo "$ac_cv_lib_error_at_line" >&6; } - gl_LIBOBJS="$gl_LIBOBJS exclude.$ac_objext" + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stddef_h='<'stddef.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stddef_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - # Code from module exitfail: - # Code from module extensions: - # Code from module fchdir: + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stddef.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 +$as_echo "$gl_cv_next_stddef_h" >&6; } + fi + NEXT_STDDEF_H=$gl_cv_next_stddef_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stddef.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stddef_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive - if test $ac_cv_have_decl_fchdir = no; then - HAVE_DECL_FCHDIR=0 fi @@ -26849,103 +14020,654 @@ $as_echo "$ac_cv_lib_error_at_line" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 +$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } +if ${gl_cv_func_malloc_posix+:} false; then : + $as_echo_n "(cached) " >&6 +else - if test $ac_cv_func_fchdir = no; then - HAVE_FCHDIR=0 - + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + choke me + #endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_malloc_posix=yes +else + gl_cv_func_malloc_posix=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 +$as_echo "$gl_cv_func_malloc_posix" >&6; } + for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS fchdir.$ac_objext" +fi - : +done -cat >>confdefs.h <<\_ACEOF -#define REPLACE_FCHDIR 1 -_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if ${ac_cv_func_malloc_0_nonnull+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* \ + | hpux* | solaris* | cygwin* | mingw*) + ac_cv_func_malloc_0_nonnull=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_malloc_0_nonnull=no ;; + esac - REPLACE_OPENDIR=1 - REPLACE_CLOSEDIR=1 - REPLACE_DUP=1 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H + # include + #else + char *malloc (); + #endif +int +main () +{ +return ! malloc (0); + ; + return 0; +} - REPLACE_OPEN=1 +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_malloc_0_nonnull=yes +else + ac_cv_func_malloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } + if test $ac_cv_func_malloc_0_nonnull = yes; then : + gl_cv_func_malloc_0_nonnull=1 +else + gl_cv_func_malloc_0_nonnull=0 +fi +cat >>confdefs.h <<_ACEOF +#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext" - : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 +$as_echo_n "checking for a traditional japanese locale... " >&6; } +if ${gt_cv_locale_ja+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if HAVE_LANGINFO_CODESET +# include +#endif +#include +#include +struct tm t; +char buf[16]; +int main () +{ + const char *p; + /* Check whether the given locale name is recognized by the system. */ +#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ + /* On native Windows, setlocale(category, "") looks at the system settings, + not at the environment variables. Also, when an encoding suffix such + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE + category of the locale to "C". */ + if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL + || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) + return 1; +#else + if (setlocale (LC_ALL, "") == NULL) return 1; +#endif + /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + is empty, and the behaviour of Tcl 8.4 in this locale is not useful. + On OpenBSD 4.0, when an unsupported locale is specified, setlocale() + succeeds but then nl_langinfo(CODESET) is "646". In this situation, + some unit tests fail. + On MirBSD 10, when an unsupported locale is specified, setlocale() + succeeds but then nl_langinfo(CODESET) is "UTF-8". */ +#if HAVE_LANGINFO_CODESET + { + const char *cs = nl_langinfo (CODESET); + if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 + || strcmp (cs, "UTF-8") == 0) + return 1; + } +#endif +#ifdef __CYGWIN__ + /* On Cygwin, avoid locale names without encoding suffix, because the + locale_charset() function relies on the encoding suffix. Note that + LC_ALL is set on the command line. */ + if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; +#endif + /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales + on Cygwin 1.5.x. */ + if (MB_CUR_MAX == 1) + return 1; + /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. + This excludes the UTF-8 encoding (except on MirBSD). */ + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + return 0; +} - REPLACE_CLOSE=1 +_ACEOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + case "$host_os" in + # Handle native Windows specially, because there setlocale() interprets + # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", + # "fr" or "fra" as "French" or "French_France.1252", + # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", + # "ja" as "Japanese" or "Japanese_Japan.932", + # and similar. + mingw*) + # Note that on native Windows, the Japanese locale is + # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we + # cannot use it here. + gt_cv_locale_ja=none + ;; + *) + # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the + # configure script would override the LC_ALL setting. Likewise for + # LC_CTYPE, which is also set at the beginning of the configure script. + # Test for the AIX locale name. + if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_ja=ja_JP + else + # Test for the locale name with explicit encoding suffix. + if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_ja=ja_JP.EUC-JP + else + # Test for the HP-UX, OSF/1, NetBSD locale name. + if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_ja=ja_JP.eucJP + else + # Test for the IRIX, FreeBSD locale name. + if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_ja=ja_JP.EUC + else + # Test for the Solaris 7 locale name. + if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_ja=ja + else + # Special test for NetBSD 1.6. + if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then + gt_cv_locale_ja=ja_JP.eucJP + else + # None found. + gt_cv_locale_ja=none + fi + fi + fi + fi + fi + fi + ;; + esac + fi + rm -fr conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 +$as_echo "$gt_cv_locale_ja" >&6; } + LOCALE_JA=$gt_cv_locale_ja + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 +$as_echo_n "checking for a transitional chinese locale... " >&6; } +if ${gt_cv_locale_zh_CN+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext" +#include +#include +#include +#if HAVE_LANGINFO_CODESET +# include +#endif +#include +#include +struct tm t; +char buf[16]; +int main () +{ + const char *p; + /* Check whether the given locale name is recognized by the system. */ +#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ + /* On native Windows, setlocale(category, "") looks at the system settings, + not at the environment variables. Also, when an encoding suffix such + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE + category of the locale to "C". */ + if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL + || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) + return 1; +#else + if (setlocale (LC_ALL, "") == NULL) return 1; +#endif + /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + is empty, and the behaviour of Tcl 8.4 in this locale is not useful. + On OpenBSD 4.0, when an unsupported locale is specified, setlocale() + succeeds but then nl_langinfo(CODESET) is "646". In this situation, + some unit tests fail. + On MirBSD 10, when an unsupported locale is specified, setlocale() + succeeds but then nl_langinfo(CODESET) is "UTF-8". */ +#if HAVE_LANGINFO_CODESET + { + const char *cs = nl_langinfo (CODESET); + if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 + || strcmp (cs, "UTF-8") == 0) + return 1; + } +#endif +#ifdef __CYGWIN__ + /* On Cygwin, avoid locale names without encoding suffix, because the + locale_charset() function relies on the encoding suffix. Note that + LC_ALL is set on the command line. */ + if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; +#endif + /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. + This excludes the UTF-8 encoding (except on MirBSD). */ + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; + for (p = buf; *p != '\0'; p++) + if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) + return 1; + /* Check whether a typical GB18030 multibyte sequence is recognized as a + single wide character. This excludes the GB2312 and GBK encodings. */ + if (mblen ("\203\062\332\066", 5) != 4) + return 1; + return 0; +} +_ACEOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + case "$host_os" in + # Handle native Windows specially, because there setlocale() interprets + # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", + # "fr" or "fra" as "French" or "French_France.1252", + # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", + # "ja" as "Japanese" or "Japanese_Japan.932", + # and similar. + mingw*) + # Test for the hypothetical native Windows locale name. + if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_zh_CN=Chinese_China.54936 + else + # None found. + gt_cv_locale_zh_CN=none + fi + ;; + solaris2.8) + # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are + # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. + # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. + gt_cv_locale_zh_CN=none + ;; + *) + # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the + # configure script would override the LC_ALL setting. Likewise for + # LC_CTYPE, which is also set at the beginning of the configure script. + # Test for the locale name without encoding suffix. + if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_zh_CN=zh_CN + else + # Test for the locale name with explicit encoding suffix. + if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_zh_CN=zh_CN.GB18030 + else + # None found. + gt_cv_locale_zh_CN=none + fi + fi + ;; + esac + else + # If there was a link error, due to mblen(), the system is so old that + # it certainly doesn't have a chinese locale. + gt_cv_locale_zh_CN=none + fi + rm -fr conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 +$as_echo "$gt_cv_locale_zh_CN" >&6; } + LOCALE_ZH_CN=$gt_cv_locale_zh_CN - REPLACE_FCLOSE=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 +$as_echo_n "checking for a french Unicode locale... " >&6; } +if ${gt_cv_locale_fr_utf8+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if HAVE_LANGINFO_CODESET +# include +#endif +#include +#include +struct tm t; +char buf[16]; +int main () { + /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl + imitates locale dependent behaviour by looking at the environment + variables, and all locales use the UTF-8 encoding. */ +#if !(defined __BEOS__ || defined __HAIKU__) + /* Check whether the given locale name is recognized by the system. */ +# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ + /* On native Windows, setlocale(category, "") looks at the system settings, + not at the environment variables. Also, when an encoding suffix such + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE + category of the locale to "C". */ + if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL + || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) + return 1; +# else + if (setlocale (LC_ALL, "") == NULL) return 1; +# endif + /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + is empty, and the behaviour of Tcl 8.4 in this locale is not useful. + On OpenBSD 4.0, when an unsupported locale is specified, setlocale() + succeeds but then nl_langinfo(CODESET) is "646". In this situation, + some unit tests fail. */ +# if HAVE_LANGINFO_CODESET + { + const char *cs = nl_langinfo (CODESET); + if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) + return 1; + } +# endif +# ifdef __CYGWIN__ + /* On Cygwin, avoid locale names without encoding suffix, because the + locale_charset() function relies on the encoding suffix. Note that + LC_ALL is set on the command line. */ + if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; +# endif + /* Check whether in the abbreviation of the second month, the second + character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is + two bytes long, with UTF-8 encoding. */ + t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; + if (strftime (buf, sizeof (buf), "%b", &t) < 4 + || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') + return 1; +#endif +#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ + /* Check whether the decimal separator is a comma. + On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point + are nl_langinfo(RADIXCHAR) are both ".". */ + if (localeconv () ->decimal_point[0] != ',') return 1; +#endif + return 0; +} +_ACEOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + case "$host_os" in + # Handle native Windows specially, because there setlocale() interprets + # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", + # "fr" or "fra" as "French" or "French_France.1252", + # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", + # "ja" as "Japanese" or "Japanese_Japan.932", + # and similar. + mingw*) + # Test for the hypothetical native Windows locale name. + if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=French_France.65001 + else + # None found. + gt_cv_locale_fr_utf8=none + fi + ;; + *) + # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the + # configure script would override the LC_ALL setting. Likewise for + # LC_CTYPE, which is also set at the beginning of the configure script. + # Test for the usual locale name. + if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr_FR + else + # Test for the locale name with explicit encoding suffix. + if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr_FR.UTF-8 + else + # Test for the Solaris 7 locale name. + if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr.UTF-8 + else + # None found. + gt_cv_locale_fr_utf8=none + fi + fi + fi + ;; + esac + fi + rm -fr conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 +$as_echo "$gt_cv_locale_fr_utf8" >&6; } + LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 - gl_LIBOBJS="$gl_LIBOBJS fclose.$ac_objext" + GNULIB_FFSL=0; + GNULIB_FFSLL=0; + GNULIB_MEMCHR=0; + GNULIB_MEMMEM=0; + GNULIB_MEMPCPY=0; + GNULIB_MEMRCHR=0; + GNULIB_RAWMEMCHR=0; + GNULIB_STPCPY=0; + GNULIB_STPNCPY=0; + GNULIB_STRCHRNUL=0; + GNULIB_STRDUP=0; + GNULIB_STRNCAT=0; + GNULIB_STRNDUP=0; + GNULIB_STRNLEN=0; + GNULIB_STRPBRK=0; + GNULIB_STRSEP=0; + GNULIB_STRSTR=0; + GNULIB_STRCASESTR=0; + GNULIB_STRTOK_R=0; + GNULIB_MBSLEN=0; + GNULIB_MBSNLEN=0; + GNULIB_MBSCHR=0; + GNULIB_MBSRCHR=0; + GNULIB_MBSSTR=0; + GNULIB_MBSCASECMP=0; + GNULIB_MBSNCASECMP=0; + GNULIB_MBSPCASECMP=0; + GNULIB_MBSCASESTR=0; + GNULIB_MBSCSPN=0; + GNULIB_MBSPBRK=0; + GNULIB_MBSSPN=0; + GNULIB_MBSSEP=0; + GNULIB_MBSTOK_R=0; + GNULIB_STRERROR=0; + GNULIB_STRERROR_R=0; + GNULIB_STRSIGNAL=0; + GNULIB_STRVERSCMP=0; + HAVE_MBSLEN=0; + HAVE_FFSL=1; + HAVE_FFSLL=1; + HAVE_MEMCHR=1; + HAVE_DECL_MEMMEM=1; + HAVE_MEMPCPY=1; + HAVE_DECL_MEMRCHR=1; + HAVE_RAWMEMCHR=1; + HAVE_STPCPY=1; + HAVE_STPNCPY=1; + HAVE_STRCHRNUL=1; + HAVE_DECL_STRDUP=1; + HAVE_DECL_STRNDUP=1; + HAVE_DECL_STRNLEN=1; + HAVE_STRPBRK=1; + HAVE_STRSEP=1; + HAVE_STRCASESTR=1; + HAVE_DECL_STRTOK_R=1; + HAVE_DECL_STRERROR_R=1; + HAVE_DECL_STRSIGNAL=1; + HAVE_STRVERSCMP=1; + REPLACE_MEMCHR=0; + REPLACE_MEMMEM=0; + REPLACE_STPNCPY=0; + REPLACE_STRDUP=0; + REPLACE_STRSTR=0; + REPLACE_STRCASESTR=0; + REPLACE_STRCHRNUL=0; + REPLACE_STRERROR=0; + REPLACE_STRERROR_R=0; + REPLACE_STRNCAT=0; + REPLACE_STRNDUP=0; + REPLACE_STRNLEN=0; + REPLACE_STRSIGNAL=0; + REPLACE_STRTOK_R=0; + UNDEFINE_STRTOK_R=0; - if test $ac_cv_func_dup2 = yes; then - REPLACE_DUP2=1 - fi + # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it + # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is + # irrelevant for anonymous mappings. + ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" +if test "x$ac_cv_func_mmap" = xyes; then : + gl_have_mmap=yes +else + gl_have_mmap=no +fi - gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" + # Try to allow MAP_ANONYMOUS. + gl_have_mmap_anonymous=no + if test $gl_have_mmap = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 +$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef MAP_ANONYMOUS + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : + gl_have_mmap_anonymous=yes +fi +rm -f conftest* + if test $gl_have_mmap_anonymous != yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef MAP_ANON + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : +$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h + gl_have_mmap_anonymous=yes +fi +rm -f conftest* + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 +$as_echo "$gl_have_mmap_anonymous" >&6; } + if test $gl_have_mmap_anonymous = yes; then +$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 - else - REPLACE_FCNTL=1 + fi fi @@ -26953,627 +14675,397 @@ _ACEOF - - - gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext" - - - - : - - { $as_echo "$as_me:$LINENO: checking whether open can visit directories" >&5 -$as_echo_n "checking whether open can visit directories... " >&6; } -if test "${gl_cv_func_open_directory_works+set}" = set; then + if test $HAVE_MEMCHR = 1; then + # Detect platform-specific bugs in some versions of glibc: + # memchr should not dereference anything with length 0 + # http://bugzilla.redhat.com/499689 + # memchr should not dereference overestimated length after a match + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 + # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # Assume that memchr works on platforms that lack mprotect. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 +$as_echo_n "checking whether memchr works... " >&6; } +if ${gl_cv_func_memchr_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_open_directory_works="guessing no" + if test "$cross_compiling" = yes; then : + gl_cv_func_memchr_works="guessing no" else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#include +#if HAVE_SYS_MMAN_H +# include +# include +# include +# include +# ifndef MAP_FILE +# define MAP_FILE 0 +# endif +#endif int main () { -return open(".", O_RDONLY) < 0; + + int result = 0; + char *fence = NULL; +#if HAVE_SYS_MMAN_H && HAVE_MPROTECT +# if HAVE_MAP_ANONYMOUS + const int flags = MAP_ANONYMOUS | MAP_PRIVATE; + const int fd = -1; +# else /* !HAVE_MAP_ANONYMOUS */ + const int flags = MAP_FILE | MAP_PRIVATE; + int fd = open ("/dev/zero", O_RDONLY, 0666); + if (fd >= 0) +# endif + { + int pagesize = getpagesize (); + char *two_pages = + (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, + flags, fd, 0); + if (two_pages != (char *)(-1) + && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) + fence = two_pages + pagesize; + } +#endif + if (fence) + { + if (memchr (fence, 0, 0)) + result |= 1; + strcpy (fence - 9, "12345678"); + if (memchr (fence - 9, 0, 79) != fence - 1) + result |= 2; + if (memchr (fence - 1, 0, 3) != fence - 1) + result |= 4; + } + return result; + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_open_directory_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_memchr_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_open_directory_works=no + gl_cv_func_memchr_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_open_directory_works" >&5 -$as_echo "$gl_cv_func_open_directory_works" >&6; } - if test "$gl_cv_func_open_directory_works" != yes; then - -cat >>confdefs.h <<\_ACEOF -#define REPLACE_OPEN_DIRECTORY 1 -_ACEOF - - REPLACE_FSTAT=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5 +$as_echo "$gl_cv_func_memchr_works" >&6; } + if test "$gl_cv_func_memchr_works" != yes; then + REPLACE_MEMCHR=1 fi fi +ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default" +if test "x$ac_cv_have_decl_memrchr" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - - - GNULIB_FCHDIR=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_FCHDIR 1 -_ACEOF - - - - # Code from module fclose: - - - - - - GNULIB_FCLOSE=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_FCLOSE 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMRCHR $ac_have_decl _ACEOF - # Code from module fcntl: - - - - - - - - - - - if test $ac_cv_func_fcntl = no; then - - - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 - else - REPLACE_FCNTL=1 - fi + GNULIB_MKTIME=0; + GNULIB_NANOSLEEP=0; + GNULIB_STRPTIME=0; + GNULIB_TIMEGM=0; + GNULIB_TIME_R=0; + HAVE_DECL_LOCALTIME_R=1; + HAVE_NANOSLEEP=1; + HAVE_STRPTIME=1; + HAVE_TIMEGM=1; + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; + REPLACE_MKTIME=GNULIB_PORTCHECK; + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; + REPLACE_TIMEGM=GNULIB_PORTCHECK; +ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" +if test "x$ac_cv_have_decl_alarm" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ALARM $ac_have_decl +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext" - else - { $as_echo "$as_me:$LINENO: checking whether fcntl handles F_DUPFD correctly" >&5 -$as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; } -if test "${gl_cv_func_fcntl_f_dupfd_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5 +$as_echo_n "checking for promoted mode_t type... " >&6; } +if ${gl_cv_promoted_mode_t+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Guess that it works on glibc systems - case $host_os in #(( - *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; - *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; - esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -int result = 0; - if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; - if (errno != EINVAL) result |= 2; - return result; - +typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_fcntl_f_dupfd_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_promoted_mode_t='int' else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_fcntl_f_dupfd_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + gl_cv_promoted_mode_t='mode_t' fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fcntl_f_dupfd_works" >&5 -$as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; } - case $gl_cv_func_fcntl_f_dupfd_works in - *yes) ;; - *) - - - - - - - - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 - else - REPLACE_FCNTL=1 - fi - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext" - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 +$as_echo "$gl_cv_promoted_mode_t" >&6; } -cat >>confdefs.h <<\_ACEOF -#define FCNTL_DUPFD_BUGGY 1 +cat >>confdefs.h <<_ACEOF +#define PROMOTED_MODE_T $gl_cv_promoted_mode_t _ACEOF - ;; - esac - { $as_echo "$as_me:$LINENO: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5 -$as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; } -if test "${gl_cv_func_fcntl_f_dupfd_cloexec+set}" = set; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifndef F_DUPFD_CLOEXEC -choke me -#endif - -int -main () -{ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + struct s { _Bool s: 1; _Bool t; } s; -#ifdef __linux__ -/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace - it to support the semantics on older kernels that failed with EINVAL. */ -choke me -#endif + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; int main () { + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_fcntl_f_dupfd_cloexec=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdbool_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check" + ac_cv_header_stdbool_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_fcntl_f_dupfd_cloexec=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5 -$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; } - if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF +fi + # Define two additional variables used in the Makefile substitution. - if test $ac_cv_func_fcntl = no; then - HAVE_FCNTL=0 + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' else - REPLACE_FCNTL=1 - fi - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext" - - - fi + STDBOOL_H='stdbool.h' fi - - - - GNULIB_FCNTL=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_FCNTL 1 -_ACEOF - - - - # Code from module fcntl-h: - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_fcntl_h='<'fcntl.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_fcntl_h+set}" = set; then - $as_echo_n "(cached) " >&6 + if test -n "$STDBOOL_H"; then + GL_GENERATE_STDBOOL_H_TRUE= + GL_GENERATE_STDBOOL_H_FALSE='#' else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/fcntl.h#{ - s#.*"\(.*/fcntl.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - - + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE= fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_fcntl_h" >&5 -$as_echo "$gl_cv_next_fcntl_h" >&6; } - fi - NEXT_FCNTL_H=$gl_cv_next_fcntl_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'fcntl.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_fcntl_h - fi - NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive - + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi + # parse-datetime.y works with bison only. + : ${YACC='bison -y'} - for gl_func in fcntl openat; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compound literals" >&5 +$as_echo_n "checking for compound literals... " >&6; } +if ${gl_cv_compound_literals+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +struct s { int i, j; }; int main () { -#undef $gl_func - (void) $gl_func; +struct s t = (struct s) { 3, 4 }; + if (t.i != 0) return 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compound_literals=yes +else + gl_cv_compound_literals=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compound_literals" >&5 +$as_echo "$gl_cv_compound_literals" >&6; } + if test $gl_cv_compound_literals = yes; then - done - - - # Code from module fdopendir: +$as_echo "#define HAVE_COMPOUND_LITERALS 1" >>confdefs.h + fi - { $as_echo "$as_me:$LINENO: checking whether fdopendir is declared" >&5 -$as_echo_n "checking whether fdopendir is declared... " >&6; } -if test "${ac_cv_have_decl_fdopendir+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 +$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } +if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include - +#include +#include int main () { -#ifndef fdopendir - (void) fdopendir; -#endif - +struct tm tm; + int *p = &tm.tm_sec; + return !p; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_fdopendir=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_struct_tm=time.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_fdopendir=no + ac_cv_struct_tm=sys/time.h fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fdopendir" >&5 -$as_echo "$ac_cv_have_decl_fdopendir" >&6; } -if test "x$ac_cv_have_decl_fdopendir" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FDOPENDIR 1 -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 +$as_echo "$ac_cv_struct_tm" >&6; } +if test $ac_cv_struct_tm = sys/time.h; then -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FDOPENDIR 0 -_ACEOF +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h -HAVE_DECL_FDOPENDIR=0 fi + ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include +" +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : +$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h +fi - if test $ac_cv_func_fdopendir = no; then - - - + GNULIB_PTHREAD_SIGMASK=0; + GNULIB_RAISE=0; + GNULIB_SIGNAL_H_SIGPIPE=0; + GNULIB_SIGPROCMASK=0; + GNULIB_SIGACTION=0; + HAVE_POSIX_SIGNALBLOCKING=1; + HAVE_PTHREAD_SIGMASK=1; + HAVE_RAISE=1; + HAVE_SIGSET_T=1; + HAVE_SIGINFO_T=1; + HAVE_SIGACTION=1; + HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + HAVE_SIGHANDLER_T=1; + REPLACE_PTHREAD_SIGMASK=0; + REPLACE_RAISE=0; - gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" @@ -27583,243 +15075,160 @@ fi - gl_LIBOBJS="$gl_LIBOBJS fdopendir.$ac_objext" +# Check whether --with-selinux was given. +if test "${with_selinux+set}" = set; then : + withval=$with_selinux; +else + with_selinux=maybe +fi - : - HAVE_FDOPENDIR=0 - else - { $as_echo "$as_me:$LINENO: checking whether fdopendir works" >&5 -$as_echo_n "checking whether fdopendir works... " >&6; } -if test "${gl_cv_func_fdopendir_works+set}" = set; then + LIB_SELINUX= + if test "$with_selinux" != no; then + gl_save_LIBS=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setfilecon" >&5 +$as_echo_n "checking for library containing setfilecon... " >&6; } +if ${ac_cv_search_setfilecon+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_fdopendir_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#if !HAVE_DECL_FDOPENDIR -extern DIR *fdopendir (int); +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif - +char setfilecon (); int main () { -int result = 0; - int fd = open ("conftest.c", O_RDONLY); - if (fd < 0) result |= 1; - if (fdopendir (fd)) result |= 2; - if (close (fd)) result |= 4; - return result; +return setfilecon (); ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_fdopendir_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_fdopendir_works=no +for ac_lib in '' selinux; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_setfilecon=$ac_res fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_setfilecon+:} false; then : + break fi +done +if ${ac_cv_search_setfilecon+:} false; then : - +else + ac_cv_search_setfilecon=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setfilecon" >&5 +$as_echo "$ac_cv_search_setfilecon" >&6; } +ac_res=$ac_cv_search_setfilecon +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_setfilecon" = "none required" || + LIB_SELINUX=$ac_cv_search_setfilecon fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fdopendir_works" >&5 -$as_echo "$gl_cv_func_fdopendir_works" >&6; } - if test "$gl_cv_func_fdopendir_works" != yes; then - REPLACE_FDOPENDIR=1 - - : - - - - - - - + LIBS=$gl_save_LIBS + fi - gl_LIBOBJS="$gl_LIBOBJS fdopendir.$ac_objext" - fi + # Warn if SELinux is found but libselinux is absent; + if test "$ac_cv_search_setfilecon" = no && + test "$host" = "$build" && test -d /selinux; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This system supports SELinux but libselinux is missing." >&5 +$as_echo "$as_me: WARNING: This system supports SELinux but libselinux is missing." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be compiled without SELinux support." >&5 +$as_echo "$as_me: WARNING: GNU tar will be compiled without SELinux support." >&2;} fi +ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_setenv" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - GNULIB_FDOPENDIR=1 - +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SETENV $ac_have_decl +_ACEOF -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_FDOPENDIR 1 -_ACEOF + if test $ac_cv_have_decl_setenv = no; then + HAVE_DECL_SETENV=0 + fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_FDOPENDIR 1 -_ACEOF - # Code from module fdutimensat: -cat >>confdefs.h <<_ACEOF -#define GNULIB_FDUTIMENSAT 1 + for ac_header in search.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" +if test "x$ac_cv_header_search_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SEARCH_H 1 _ACEOF +fi - # Code from module fileblocks: - - { $as_echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5 -$as_echo_n "checking for struct stat.st_blocks... " >&6; } -if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_blocks) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blocks=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +done - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_blocks) -return 0; - ; - return 0; -} + for ac_func in tsearch +do : + ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" +if test "x$ac_cv_func_tsearch" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TSEARCH 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blocks=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_member_struct_stat_st_blocks=no fi +done -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5 -$as_echo "$ac_cv_member_struct_stat_st_blocks" >&6; } -if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BLOCKS 1 -_ACEOF + ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " + #include + /* Mingw defines sigset_t not in , but in . */ + #include + +" +if test "x$ac_cv_type_sigset_t" = xyes; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_ST_BLOCKS 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_SIGSET_T 1 _ACEOF +gl_cv_type_sigset_t=yes else + gl_cv_type_sigset_t=no +fi + if test $gl_cv_type_sigset_t != yes; then + HAVE_SIGSET_T=0 + fi @@ -27827,51 +15236,187 @@ else - gl_LIBOBJS="$gl_LIBOBJS fileblocks.$ac_objext" - -fi - - - if test $ac_cv_member_struct_stat_st_blocks = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5 +$as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; } +if ${gl_cv_func_snprintf_retval_c99+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on Mac OS X >= 10.3. + darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; + darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on OpenBSD >= 3.9. + openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) + gl_cv_func_snprintf_retval_c99="guessing no";; + openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on Solaris >= 2.10. + solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; + solaris*) gl_cv_func_printf_sizes_c99="guessing no";; + # Guess yes on AIX >= 4. + aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; + aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_snprintf_retval_c99="guessing no";; + netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_snprintf_retval_c99="guessing no";; + esac - : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - fi +#include +#include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif +static char buf[100]; +int main () +{ + strcpy (buf, "ABCDEF"); + if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) + return 1; + if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) + return 2; + if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) + return 3; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_snprintf_retval_c99=yes +else + gl_cv_func_snprintf_retval_c99=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - # Code from module filenamecat-lgpl: +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5 +$as_echo "$gl_cv_func_snprintf_retval_c99" >&6; } +ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" +if test "x$ac_cv_have_decl_snprintf" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SNPRINTF $ac_have_decl +_ACEOF + GNULIB_FFS=0; + HAVE_FFS=1; + HAVE_STRCASECMP=1; + HAVE_DECL_STRNCASECMP=1; +ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" +if test "x$ac_cv_have_decl_strdup" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - gl_LIBOBJS="$gl_LIBOBJS filenamecat-lgpl.$ac_objext" +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRDUP $ac_have_decl +_ACEOF + REPLACE_STRERROR_0=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5 +$as_echo_n "checking whether strerror(0) succeeds... " >&6; } +if ${gl_cv_func_strerror_0_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_strerror_0_works="guessing no" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +int result = 0; + char *str; + errno = 0; + str = strerror (0); + if (!*str) result |= 1; + if (errno) result |= 2; + if (strstr (str, "nknown") || strstr (str, "ndefined")) + result |= 4; + return result; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_strerror_0_works=yes +else + gl_cv_func_strerror_0_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5 +$as_echo "$gl_cv_func_strerror_0_works" >&6; } + case "$gl_cv_func_strerror_0_works" in + *yes) ;; + *) + REPLACE_STRERROR_0=1 +$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h + ;; + esac - # Code from module float: - FLOAT_H= - case "$host_os" in - beos* | openbsd* | mirbsd*) - FLOAT_H=float.h @@ -27881,303 +15426,108 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_float_h='<'float.h'>' + gl_cv_next_string_h='<'string.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_float_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_string_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac - gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/float.h#{ - s#.*"\(.*/float.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'string.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_float_h" >&5 -$as_echo "$gl_cv_next_float_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 +$as_echo "$gl_cv_next_string_h" >&6; } fi - NEXT_FLOAT_H=$gl_cv_next_float_h + NEXT_STRING_H=$gl_cv_next_string_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'float.h'>' + gl_next_as_first_directive='<'string.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_float_h + gl_next_as_first_directive=$gl_cv_next_string_h fi - NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive - - - - - ;; - esac - + NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive - # Code from module fnmatch: - FNMATCH_H= - gl_fnmatch_required_lowercase=` - echo $gl_fnmatch_required | tr '[A-Z]' '[a-z]' - ` - gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" - { $as_echo "$as_me:$LINENO: checking for working $gl_fnmatch_required fnmatch" >&5 -$as_echo_n "checking for working $gl_fnmatch_required fnmatch... " >&6; } -if { as_var=$gl_fnmatch_cache_var; eval "test \"\${$as_var+set}\" = set"; }; then + for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - if test $gl_fnmatch_required = GNU; then - gl_fnmatch_gnu_start= - gl_fnmatch_gnu_end= - else - gl_fnmatch_gnu_start='#if 0' - gl_fnmatch_gnu_end='#endif' - fi - if test "$cross_compiling" = yes; then - eval "$gl_fnmatch_cache_var=\"guessing no\"" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - static int - y (char const *pattern, char const *string, int flags) - { - return fnmatch (pattern, string, flags) == 0; - } - static int - n (char const *pattern, char const *string, int flags) - { - return fnmatch (pattern, string, flags) == FNM_NOMATCH; - } +#include int main () { -char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; - char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; - static char const A_1[] = { 'A' - 1, 0 }; - static char const A01[] = { 'A' + 1, 0 }; - static char const a_1[] = { 'a' - 1, 0 }; - static char const a01[] = { 'a' + 1, 0 }; - static char const bs_1[] = { '\\\\' - 1, 0 }; - static char const bs01[] = { '\\\\' + 1, 0 }; - int result = 0; - if (!n ("a*", "", 0)) - return 1; - if (!y ("a*", "abc", 0)) - return 1; - if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) - return 2; - if (!y ("a\\\\bc", "abc", 0)) - return 3; - if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) - return 3; - if (!y ("*x", ".x", 0)) - return 4; - if (!n ("*x", ".x", FNM_PERIOD)) - return 4; - if (!y (Apat, "\\\\", 0)) - return 5; - if (!y (Apat, "A", 0)) - return 5; - if (!y (apat, "\\\\", 0)) - return 5; - if (!y (apat, "a", 0)) - return 5; - if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) - return 5; - if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) - return 5; - if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) - return 5; - if (!(y (apat, a01, 0) == ('a' < '\\\\'))) - return 5; - if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) - return 5; - if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) - return 5; - if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) - return 5; - if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) - return 5; - $gl_fnmatch_gnu_start - if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) - result |= 8; - if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) - result |= 16; - if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) - result |= 32; - if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) - result |= 64; - $gl_fnmatch_gnu_end - return result; - +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$gl_fnmatch_cache_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -eval "$gl_fnmatch_cache_var=no" + eval "$as_gl_Symbol=no" fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$gl_fnmatch_cache_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" - if test "$gl_fnmatch_result" = yes; then - rm -f "$gl_source_base/fnmatch.h" - else - FNMATCH_H=fnmatch.h - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" - - -cat >>confdefs.h <<_ACEOF -#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch -_ACEOF - - - { $as_echo "$as_me:$LINENO: checking whether isblank is declared" >&5 -$as_echo_n "checking whether isblank is declared... " >&6; } -if test "${ac_cv_have_decl_isblank+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef isblank - (void) isblank; -#endif - - ; - return 0; -} + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_isblank=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_isblank=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_isblank" >&5 -$as_echo "$ac_cv_have_decl_isblank" >&6; } -if test "x$ac_cv_have_decl_isblank" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ISBLANK 1 -_ACEOF + done -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ISBLANK 0 -_ACEOF -fi @@ -28190,38 +15540,159 @@ fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_strings_h='<'strings.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_strings_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_strings_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'strings.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_strings_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_strings_h='<'strings.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_strings_h" >&5 +$as_echo "$gl_cv_next_strings_h" >&6; } + fi + NEXT_STRINGS_H=$gl_cv_next_strings_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'strings.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_strings_h + fi + NEXT_AS_FIRST_DIRECTIVE_STRINGS_H=$gl_next_as_first_directive + if test $ac_cv_header_strings_h = yes; then + HAVE_STRINGS_H=1 + else + HAVE_STRINGS_H=0 + fi + for gl_func in ffs strcasecmp strncasecmp; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - fi + /* Minix 3.1.8 has a bug: must be included before + . */ + #include + #include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF - # Code from module fnmatch-gnu: + eval ac_cv_have_decl_$gl_func=yes +fi + done +ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default" +if test "x$ac_cv_have_decl_strndup" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNDUP $ac_have_decl +_ACEOF - # Code from module fpending: +ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" +if test "x$ac_cv_have_decl_strnlen" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNLEN $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoumax" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOUMAX $ac_have_decl +_ACEOF @@ -28229,195 +15700,100 @@ fi - fp_headers=' -# include -# if HAVE_STDIO_EXT_H -# include -# endif -' - { $as_echo "$as_me:$LINENO: checking whether __fpending is declared" >&5 -$as_echo_n "checking whether __fpending is declared... " >&6; } -if test "${ac_cv_have_decl___fpending+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$fp_headers +#include int main () { -#ifndef __fpending - (void) __fpending; -#endif - +static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl___fpending=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_time_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl___fpending=no + gl_cv_sys_struct_timespec_in_time_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl___fpending" >&5 -$as_echo "$ac_cv_have_decl___fpending" >&6; } -if test "x$ac_cv_have_decl___fpending" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL___FPENDING 1 -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } + TIME_H_DEFINES_STRUCT_TIMESPEC=0 + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 + if test $gl_cv_sys_struct_timespec_in_time_h = yes; then + TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL___FPENDING 0 -_ACEOF - - -fi - - - if test $ac_cv_func___fpending = no; then - { $as_echo "$as_me:$LINENO: checking how to determine the number of pending output bytes on a stream" >&5 -$as_echo_n "checking how to determine the number of pending output bytes on a stream... " >&6; } -if test "${ac_cv_sys_pending_output_n_bytes+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - for ac_expr in \ - \ - '# glibc2' \ - 'fp->_IO_write_ptr - fp->_IO_write_base' \ - \ - '# traditional Unix' \ - 'fp->_ptr - fp->_base' \ - \ - '# BSD' \ - 'fp->_p - fp->_bf._base' \ - \ - '# SCO, Unixware' \ - '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ - \ - '# QNX' \ - '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ - \ - '# old glibc?' \ - 'fp->__bufp - fp->__buffer' \ - \ - '# old glibc iostream?' \ - 'fp->_pptr - fp->_pbase' \ - \ - '# emx+gcc' \ - 'fp->_ptr - fp->_buffer' \ - \ - '# VMS' \ - '(*fp)->_ptr - (*fp)->_base' \ - \ - '# e.g., DGUX R4.11; the info is not available' \ - 1 \ - ; do - - # Skip each embedded comment. - case "$ac_expr" in '#'*) continue;; esac - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int main () { -FILE *fp = stdin; (void) ($ac_expr); +static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - fp_done=yes - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_sys_time_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + gl_cv_sys_struct_timespec_in_sys_time_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$fp_done" = yes && break - done - - ac_cv_sys_pending_output_n_bytes=$ac_expr - - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_pending_output_n_bytes" >&5 -$as_echo "$ac_cv_sys_pending_output_n_bytes" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -cat >>confdefs.h <<_ACEOF -#define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} _ACEOF - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_pthread_h=yes +else + gl_cv_sys_struct_timespec_in_pthread_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + fi + fi fi - # Code from module fseeko: @@ -28427,38 +15803,73 @@ _ACEOF - if test $ac_cv_have_decl_fseeko = no; then - HAVE_DECL_FSEEKO=0 - fi - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - if test $gl_cv_func_fseeko = yes; then - REPLACE_FSEEKO=1 - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_time_h='<'time.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_time_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'time.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 +$as_echo "$gl_cv_next_time_h" >&6; } + fi + NEXT_TIME_H=$gl_cv_next_time_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'time.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_time_h + fi + NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" - else - if test $gl_cv_var_stdin_large_offset = no; then - if test $gl_cv_func_fseeko = yes; then - REPLACE_FSEEKO=1 - fi @@ -28467,1059 +15878,959 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" +gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' - fi + if test "$HAVE_LIBUNISTRING" = yes; then + LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` + LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` + LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` fi +ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_unsetenv" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - GNULIB_FSEEKO=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_FSEEKO 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_UNSETENV $ac_have_decl _ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the utimes function works" >&5 +$as_echo_n "checking whether the utimes function works... " >&6; } +if ${gl_cv_func_working_utimes+:} false; then : + $as_echo_n "(cached) " >&6 +else - # Code from module full-write: - # Code from module futimens: - + if test "$cross_compiling" = yes; then : + gl_cv_func_working_utimes=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +static int +inorder (time_t a, time_t b, time_t c) +{ + return a <= b && b <= c; +} +int +main () +{ + int result = 0; + char const *file = "conftest.utimes"; + static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; + /* Test whether utimes() essentially works. */ + { + struct stat sbuf; + FILE *f = fopen (file, "w"); + if (f == NULL) + result |= 1; + else if (fclose (f) != 0) + result |= 1; + else if (utimes (file, timeval) != 0) + result |= 2; + else if (lstat (file, &sbuf) != 0) + result |= 1; + else if (!(sbuf.st_atime == timeval[0].tv_sec + && sbuf.st_mtime == timeval[1].tv_sec)) + result |= 4; + if (unlink (file) != 0) + result |= 1; + } + /* Test whether utimes() with a NULL argument sets the file's timestamp + to the current time. Use 'fstat' as well as 'time' to + determine the "current" time, to accommodate NFS file systems + if there is a time skew between the host and the NFS server. */ + { + int fd = open (file, O_WRONLY|O_CREAT, 0644); + if (fd < 0) + result |= 1; + else + { + time_t t0, t2; + struct stat st0, st1, st2; + if (time (&t0) == (time_t) -1) + result |= 1; + else if (fstat (fd, &st0) != 0) + result |= 1; + else if (utimes (file, timeval) != 0) + result |= 2; + else if (utimes (file, NULL) != 0) + result |= 8; + else if (fstat (fd, &st1) != 0) + result |= 1; + else if (write (fd, "\n", 1) != 1) + result |= 1; + else if (fstat (fd, &st2) != 0) + result |= 1; + else if (time (&t2) == (time_t) -1) + result |= 1; + else + { + int m_ok_POSIX = inorder (t0, st1.st_mtime, t2); + int m_ok_NFS = inorder (st0.st_mtime, st1.st_mtime, st2.st_mtime); + if (! (st1.st_atime == st1.st_mtime)) + result |= 16; + if (! (m_ok_POSIX || m_ok_NFS)) + result |= 32; + } + if (close (fd) != 0) + result |= 1; + } + if (unlink (file) != 0) + result |= 1; + } + /* Test whether utimes() with a NULL argument works on read-only files. */ + { + int fd = open (file, O_WRONLY|O_CREAT, 0444); + if (fd < 0) + result |= 1; + else if (close (fd) != 0) + result |= 1; + else if (utimes (file, NULL) != 0) + result |= 64; + if (unlink (file) != 0) + result |= 1; + } + return result; +} - if test $ac_cv_func_futimens = no; then - HAVE_FUTIMENS=0 +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_utimes=yes +else + gl_cv_func_working_utimes=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_utimes" >&5 +$as_echo "$gl_cv_func_working_utimes" >&6; } + if test $gl_cv_func_working_utimes = yes; then +$as_echo "#define HAVE_WORKING_UTIMES 1" >>confdefs.h + fi - gl_LIBOBJS="$gl_LIBOBJS futimens.$ac_objext" - else - { $as_echo "$as_me:$LINENO: checking whether futimens works" >&5 -$as_echo_n "checking whether futimens works... " >&6; } -if test "${gl_cv_func_futimens_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct utimbuf" >&5 +$as_echo_n "checking for struct utimbuf... " >&6; } +if ${gl_cv_sys_struct_utimbuf+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_futimens_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include - -int -main () -{ -struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } }; - int fd = creat ("conftest.file", 0600); - struct stat st; - if (fd < 0) return 1; - errno = 0; - if (futimens (AT_FDCWD, NULL) == 0) return 2; - if (errno != EBADF) return 3; - if (futimens (fd, ts)) return 4; - sleep (1); - ts[0].tv_nsec = UTIME_NOW; - ts[1].tv_nsec = UTIME_OMIT; - if (futimens (fd, ts)) return 5; - if (fstat (fd, &st)) return 6; - if (st.st_ctime < st.st_atime) return 7; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#ifdef __linux__ -/* The Linux kernel added futimens in 2.6.22, but has bugs with UTIME_OMIT - in several file systems as recently as 2.6.32. Always replace futimens - to support older kernels. */ -choke me -#endif +#if HAVE_SYS_TIME_H + #include + #endif + #include + #ifdef HAVE_UTIME_H + #include + #endif int main () { - +static struct utimbuf x; x.actime = x.modtime; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_futimens_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_utimbuf=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_futimens_works="needs runtime check" + gl_cv_sys_struct_utimbuf=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_futimens_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - rm -f conftest.file fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_futimens_works" >&5 -$as_echo "$gl_cv_func_futimens_works" >&6; } - if test "$gl_cv_func_futimens_works" != yes; then - REPLACE_FUTIMENS=1 - - - - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_utimbuf" >&5 +$as_echo "$gl_cv_sys_struct_utimbuf" >&6; } + if test $gl_cv_sys_struct_utimbuf = yes; then - gl_LIBOBJS="$gl_LIBOBJS futimens.$ac_objext" +$as_echo "#define HAVE_STRUCT_UTIMBUF 1" >>confdefs.h - fi fi - GNULIB_FUTIMENS=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_FUTIMENS 1 -_ACEOF - - - - # Code from module getcwd: - - - - - gl_abort_bug=no - case $gl_cv_func_getcwd_null,$host_os in - *,mingw*) - gl_cv_func_getcwd_path_max=yes;; - yes,*) - - - - - - - { $as_echo "$as_me:$LINENO: checking whether getcwd handles long file names properly" >&5 -$as_echo_n "checking whether getcwd handles long file names properly... " >&6; } -if test "${gl_cv_func_getcwd_path_max+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Arrange for deletion of the temporary directory this test creates. - ac_clean_files="$ac_clean_files confdir3" - if test "$cross_compiling" = yes; then - gl_cv_func_getcwd_path_max=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef AT_FDCWD -# define AT_FDCWD 0 -#endif -#ifdef ENAMETOOLONG -# define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) -#else -# define is_ENAMETOOLONG(x) 0 -#endif - -/* Don't get link errors because mkdir is redefined to rpl_mkdir. */ -#undef mkdir - -#ifndef S_IRWXU -# define S_IRWXU 0700 -#endif -/* The length of this name must be 8. */ -#define DIR_NAME "confdir3" -#define DIR_NAME_LEN 8 -#define DIR_NAME_SIZE (DIR_NAME_LEN + 1) -/* The length of "../". */ -#define DOTDOTSLASH_LEN 3 -/* Leftover bytes in the buffer, to work around library or OS bugs. */ -#define BUF_SLOP 20 -int -main () -{ -#ifndef PATH_MAX - /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- - at least not on a local file system. And if we were to start worrying - about remote file systems, we'd have to enable the wrapper function - all of the time, just to be safe. That's not worth the cost. */ - exit (0); -#elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ - - DIR_NAME_SIZE - BUF_SLOP) \ - <= PATH_MAX) - /* FIXME: Assuming there's a system for which this is true, - this should be done in a compile test. */ - exit (0); -#else - char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) - + DIR_NAME_SIZE + BUF_SLOP]; - char *cwd = getcwd (buf, PATH_MAX); - size_t initial_cwd_len; - size_t cwd_len; - int fail = 0; - size_t n_chdirs = 0; - if (cwd == NULL) - exit (10); - cwd_len = initial_cwd_len = strlen (cwd); - while (1) - { - size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); - char *c = NULL; - cwd_len += DIR_NAME_SIZE; - /* If mkdir or chdir fails, it could be that this system cannot create - any file with an absolute name longer than PATH_MAX, such as cygwin. - If so, leave fail as 0, because the current working directory can't - be too long for getcwd if it can't even be created. For other - errors, be pessimistic and consider that as a failure, too. */ - if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) - { - if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) - fail = 20; - break; - } - if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) - { - c = getcwd (buf, PATH_MAX); - if (!c && errno == ENOENT) - { - fail = 11; - break; - } - if (c || ! (errno == ERANGE || is_ENAMETOOLONG (errno))) - { - fail = 21; - break; - } - } + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi - if (dotdot_max <= cwd_len - initial_cwd_len) - { - if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) - break; - c = getcwd (buf, cwd_len + 1); - if (!c) - { - if (! (errno == ERANGE || errno == ENOENT - || is_ENAMETOOLONG (errno))) - { - fail = 22; - break; - } - if (AT_FDCWD || errno == ERANGE || errno == ENOENT) - { - fail = 12; - break; - } - } - } - if (c && strlen (c) != cwd_len) - { - fail = 23; - break; - } - ++n_chdirs; - } - /* Leaving behind such a deep directory is not polite. - So clean up here, right away, even though the driving - shell script would also clean up. */ - { - size_t i; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 +$as_echo_n "checking for inttypes.h... " >&6; } +if ${gl_cv_header_inttypes_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - /* Try rmdir first, in case the chdir failed. */ - rmdir (DIR_NAME); - for (i = 0; i <= n_chdirs; i++) - { - if (chdir ("..") < 0) - break; - if (rmdir (DIR_NAME) != 0) - break; - } - } +#include +#include - exit (fail); -#endif +int +main () +{ +uintmax_t i = (uintmax_t) -1; return !i; + ; + return 0; } - _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_getcwd_path_max=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_inttypes_h=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -case $? in - 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; - *) gl_cv_func_getcwd_path_max=no;; - esac + gl_cv_header_inttypes_h=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 +$as_echo "$gl_cv_header_inttypes_h" >&6; } + if test $gl_cv_header_inttypes_h = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 +_ACEOF + fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_path_max" >&5 -$as_echo "$gl_cv_func_getcwd_path_max" >&6; } - case $gl_cv_func_getcwd_path_max in - no,*) -cat >>confdefs.h <<\_ACEOF -#define HAVE_PARTLY_WORKING_GETCWD 1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 +$as_echo_n "checking for stdint.h... " >&6; } +if ${gl_cv_header_stdint_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +uintmax_t i = (uintmax_t) -1; return !i; + ; + return 0; +} _ACEOF -;; - esac - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_stdint_h=yes +else + gl_cv_header_stdint_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 +$as_echo "$gl_cv_header_stdint_h" >&6; } + if test $gl_cv_header_stdint_h = yes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H_WITH_UINTMAX 1 +_ACEOF + fi -for ac_func in getpagesize -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 +$as_echo_n "checking for intmax_t... " >&6; } +if ${gt_cv_c_intmax_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include #endif int main () { -return $ac_func (); +intmax_t x = -1; return !x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_intmax_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gt_cv_c_intmax_t=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 +$as_echo "$gt_cv_c_intmax_t" >&6; } + if test $gt_cv_c_intmax_t = yes; then + +$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h + + else + + test $ac_cv_type_long_long_int = yes \ + && ac_type='long long' \ + || ac_type='long' + +cat >>confdefs.h <<_ACEOF +#define intmax_t $ac_type _ACEOF -fi -done + fi - { $as_echo "$as_me:$LINENO: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5 -$as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; } -if test "${gl_cv_func_getcwd_abort_bug+set}" = set; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5 +$as_echo_n "checking where to find the exponent in a 'double'... " >&6; } +if ${gl_cv_cc_double_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else - # Remove any remnants of a previous test. - rm -rf confdir-14B--- - # Arrange for deletion of the temporary directory this test creates. - ac_clean_files="$ac_clean_files confdir-14B---" - if test "$cross_compiling" = yes; then - gl_cv_func_getcwd_abort_bug=yes -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -#include + if test "$cross_compiling" = yes; then : -/* Don't get link errors because mkdir is redefined to rpl_mkdir. */ -#undef mkdir + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -#ifndef S_IRWXU -# define S_IRWXU 0700 +#if defined arm || defined __arm || defined __arm__ + mixed_endianness #endif -/* FIXME: skip the run-test altogether on systems without getpagesize. */ -#if ! HAVE_GETPAGESIZE -# define getpagesize() 0 -#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "mixed_endianness" >/dev/null 2>&1; then : + gl_cv_cc_double_expbit0="unknown" +else -/* This size is chosen to be larger than PATH_MAX (4k), yet smaller than - the 16kB pagesize on ia64 linux. Those conditions make the code below - trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ -#define TARGET_LEN (5 * 1024) + : +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include int main () { - char const *dir_name = "confdir-14B---"; - char *cwd; - size_t initial_cwd_len; - int fail = 0; - size_t desired_depth; - size_t d; - - /* The bug is triggered when PATH_MAX < getpagesize (), so skip - this relative expensive and invasive test if that's not true. */ - if (getpagesize () <= PATH_MAX) - return 0; +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif - cwd = getcwd (NULL, 0); - if (cwd == NULL) - return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include - initial_cwd_len = strlen (cwd); - free (cwd); - desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) - / (1 + strlen (dir_name))); - for (d = 0; d < desired_depth; d++) - { - if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) - { - fail = 3; /* Unable to construct deep hierarchy. */ - break; - } - } +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif - /* If libc has the bug in question, this invocation of getcwd - results in a failed assertion. */ - cwd = getcwd (NULL, 0); - if (cwd == NULL) - fail = 4; /* getcwd failed. This is ok, and expected. */ - free (cwd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - /* Call rmdir first, in case the above chdir failed. */ - rmdir (dir_name); - while (0 < d--) - { - if (chdir ("..") < 0) - break; - rmdir (dir_name); - } +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + ; return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_getcwd_abort_bug=no +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_getcwd_abort_bug=yes + ac_cv_c_bigendian=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_abort_bug" >&5 -$as_echo "$gl_cv_func_getcwd_abort_bug" >&6; } - if test $gl_cv_func_getcwd_abort_bug = yes; then - gl_abort_bug=yes +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -;; - esac - - case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in - *yes,yes,no) ;; - *) - REPLACE_GETCWD=1 + fi +fi +: + case $ac_cv_c_bigendian in #( + yes) + gl_cv_cc_double_expbit0="word 0 bit 20";; #( + no) + gl_cv_cc_double_expbit0="word 1 bit 20" ;; #( + universal) + +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + gl_cv_cc_double_expbit0="unknown" ;; + esac +fi +rm -f conftest* +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) +typedef union { double value; unsigned int word[NWORDS]; } memory_double; +static unsigned int ored_words[NWORDS]; +static unsigned int anded_words[NWORDS]; +static void add_to_ored_words (double x) +{ + memory_double m; + size_t i; + /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ + memset (&m, 0, sizeof (memory_double)); + m.value = x; + for (i = 0; i < NWORDS; i++) + { + ored_words[i] |= m.word[i]; + anded_words[i] &= m.word[i]; + } +} +int main () +{ + size_t j; + FILE *fp = fopen ("conftest.out", "w"); + if (fp == NULL) + return 1; + for (j = 0; j < NWORDS; j++) + anded_words[j] = ~ (unsigned int) 0; + add_to_ored_words (0.25); + add_to_ored_words (0.5); + add_to_ored_words (1.0); + add_to_ored_words (2.0); + add_to_ored_words (4.0); + /* Remove bits that are common (e.g. if representation of the first mantissa + bit is explicit). */ + for (j = 0; j < NWORDS; j++) + ored_words[j] &= ~anded_words[j]; + /* Now find the nonzero word. */ + for (j = 0; j < NWORDS; j++) + if (ored_words[j] != 0) + break; + if (j < NWORDS) + { + size_t i; + for (i = j + 1; i < NWORDS; i++) + if (ored_words[i] != 0) + { + fprintf (fp, "unknown"); + return (fclose (fp) != 0); + } + for (i = 0; ; i++) + if ((ored_words[j] >> i) & 1) + { + fprintf (fp, "word %d bit %d", (int) j, (int) i); + return (fclose (fp) != 0); + } + } + fprintf (fp, "unknown"); + return (fclose (fp) != 0); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_cc_double_expbit0=`cat conftest.out` +else + gl_cv_cc_double_expbit0="unknown" +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + rm -f conftest.out - gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5 +$as_echo "$gl_cv_cc_double_expbit0" >&6; } + case "$gl_cv_cc_double_expbit0" in + word*bit*) + word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` + bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` +cat >>confdefs.h <<_ACEOF +#define DBL_EXPBIT0_WORD $word +_ACEOF +cat >>confdefs.h <<_ACEOF +#define DBL_EXPBIT0_BIT $bit +_ACEOF - : -;; + ;; esac - GNULIB_GETCWD=1 - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETCWD 1 + for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF +fi +done + ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include +" +if test "x$ac_cv_have_decl__snprintf" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - # Code from module getdelim: - - - +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNPRINTF $ac_have_decl +_ACEOF + case "$gl_cv_func_snprintf_retval_c99" in + *yes) +$as_echo "#define HAVE_SNPRINTF_RETVAL_C99 1" >>confdefs.h + ;; + esac +ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default" +if test "x$ac_cv_have_decl_vsnprintf" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_VSNPRINTF $ac_have_decl +_ACEOF - if test $ac_cv_func_getdelim = yes; then - { $as_echo "$as_me:$LINENO: checking for working getdelim function" >&5 -$as_echo_n "checking for working getdelim function... " >&6; } -if test "${gl_cv_func_working_getdelim+set}" = set; then - $as_echo_n "(cached) " >&6 + if false; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' else - echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=false + gl_libdeps= + gl_ltlibdeps= + gl_m4_base='m4' -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) && !defined __UCLIBC__ - Lucky GNU user - #endif -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - gl_cv_func_working_getdelim=yes -else - gl_cv_func_working_getdelim=no -fi -rm -f conftest* -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -# include -# include -# include - int main () - { - FILE *in = fopen ("./conftest.data", "r"); - if (!in) - return 1; - { - /* Test result for a NULL buffer and a zero size. - Based on a test program from Karl Heuer. */ - char *line = NULL; - size_t siz = 0; - int len = getdelim (&line, &siz, '\n', in); - if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) - return 2; - } - { - /* Test result for a NULL buffer and a non-zero size. - This crashes on FreeBSD 8.0. */ - char *line = NULL; - size_t siz = (size_t)(~0) / 4; - if (getdelim (&line, &siz, '\n', in) == -1) - return 3; - } - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_working_getdelim=yes + + + + gl_source_base='gnu' + + + if test $ac_cv_func_alloca_works = no; then + : + fi + + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 +$as_echo_n "checking for alloca as a compiler built-in... " >&6; } +if ${gl_cv_rpl_alloca+:} false; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_working_getdelim=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1; then : + gl_cv_rpl_alloca=yes +else + gl_cv_rpl_alloca=no fi +rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_working_getdelim" >&5 -$as_echo "$gl_cv_func_working_getdelim" >&6; } - else - gl_cv_func_working_getdelim=no - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 +$as_echo "$gl_cv_rpl_alloca" >&6; } + if test $gl_cv_rpl_alloca = yes; then - if test $ac_cv_have_decl_getdelim = no; then - HAVE_DECL_GETDELIM=0 - fi +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - if test $gl_cv_func_working_getdelim = no; then - if test $ac_cv_func_getdelim = yes; then - REPLACE_GETDELIM=1 + ALLOCA_H=alloca.h + else + ALLOCA_H= fi + else + ALLOCA_H=alloca.h + fi + if test -n "$ALLOCA_H"; then + GL_GENERATE_ALLOCA_H_TRUE= + GL_GENERATE_ALLOCA_H_FALSE='#' +else + GL_GENERATE_ALLOCA_H_TRUE='#' + GL_GENERATE_ALLOCA_H_FALSE= +fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_AREADLINKAT 1 +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" -for ac_func in flockfile funlockfile -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 + ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : + ac_have_decl=1 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func +if test $ac_have_decl = 1; then : -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +else -#ifdef __STDC__ -# include -#else -# include -#endif +$as_echo "#define GNULIB_PROGRAM_INVOCATION_NAME 1" >>confdefs.h -#undef $ac_func +fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi -int -main () -{ -return $ac_func (); - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if test $ac_have_decl = 1; then : + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi +$as_echo "#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done - { $as_echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 -$as_echo_n "checking whether getc_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # Check if program_invocation_name and program_invocation_short_name + # are defined elsewhere. It is improbable that only one of them will + # be defined and other not, I prefer to stay on the safe side and to + # test each one separately. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_name is defined" >&5 +$as_echo_n "checking whether program_invocation_name is defined... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include int main () { -#ifndef getc_unlocked - (void) getc_unlocked; -#endif - +program_invocation_name = "test"; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getc_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : - ac_cv_have_decl_getc_unlocked=no -fi +$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 -$as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } -if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED 1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is defined" >&5 +$as_echo_n "checking whether program_invocation_short_name is defined... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +program_invocation_short_name = "test"; + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : +$as_echo "#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED 0 -_ACEOF - - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - - - - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - GNULIB_GETDELIM=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETDELIM 1 -_ACEOF - # Code from module getdtablesize: @@ -29528,252 +16839,155 @@ _ACEOF - if test $ac_cv_func_getdtablesize != yes; then - HAVE_GETDTABLESIZE=0 + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_error:2:c-format" + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format" - gl_LIBOBJS="$gl_LIBOBJS getdtablesize.$ac_objext" - fi - GNULIB_GETDTABLESIZE=1 + gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETDTABLESIZE 1 -_ACEOF - # Code from module getline: + if test $ac_cv_func_btowc = no; then + HAVE_BTOWC=0 + else - gl_getline_needs_run_time_check=no - { $as_echo "$as_me:$LINENO: checking for getline" >&5 -$as_echo_n "checking for getline... " >&6; } -if test "${ac_cv_func_getline+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5 +$as_echo_n "checking whether btowc(0) is correct... " >&6; } +if ${gl_cv_func_btowc_nul+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define getline to an innocuous variant, in case declares getline. - For example, HP-UX 11i declares gettimeofday. */ -#define getline innocuous_getline - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char getline (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif + if test "$cross_compiling" = yes; then : -#undef getline + case "$host_os" in + # Guess no on Cygwin. + cygwin*) gl_cv_func_btowc_nul="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_nul="guessing yes" ;; + esac -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getline (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_getline || defined __stub___getline -choke me -#endif +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -int -main () +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () { -return getline (); - ; + if (btowc ('\0') != 0) + return 1; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_getline=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_btowc_nul=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_getline=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + gl_cv_func_btowc_nul=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_getline" >&5 -$as_echo "$ac_cv_func_getline" >&6; } -if test "x$ac_cv_func_getline" = x""yes; then - gl_getline_needs_run_time_check=yes -else - am_cv_func_working_getline=no +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - if test $gl_getline_needs_run_time_check = yes; then - { $as_echo "$as_me:$LINENO: checking for working getline function" >&5 -$as_echo_n "checking for working getline function... " >&6; } -if test "${am_cv_func_working_getline+set}" = set; then - $as_echo_n "(cached) " >&6 -else - echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) && !defined __UCLIBC__ - Lucky GNU user - #endif -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - am_cv_func_working_getline=yes -else - am_cv_func_working_getline=no fi -rm -f conftest* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5 +$as_echo "$gl_cv_func_btowc_nul" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5 +$as_echo_n "checking whether btowc(EOF) is correct... " >&6; } +if ${gl_cv_func_btowc_eof+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + # Guess no on IRIX. + irix*) gl_cv_func_btowc_eof="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_eof="guessing yes" ;; + esac + if test $LOCALE_FR != none; then + if test "$cross_compiling" = yes; then : + : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# include -# include -# include - int main () +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { - FILE *in = fopen ("./conftest.data", "r"); - if (!in) + if (btowc (EOF) != WEOF) return 1; - { - /* Test result for a NULL buffer and a zero size. - Based on a test program from Karl Heuer. */ - char *line = NULL; - size_t siz = 0; - int len = getline (&line, &siz, in); - if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) - return 2; - } - { - /* Test result for a NULL buffer and a non-zero size. - This crashes on FreeBSD 8.0. */ - char *line = NULL; - size_t siz = (size_t)(~0) / 4; - if (getline (&line, &siz, in) == -1) - return 3; - } - return 0; } - + return 0; +} _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - am_cv_func_working_getline=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_btowc_eof=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -am_cv_func_working_getline=no + gl_cv_func_btowc_eof=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_func_working_getline" >&5 -$as_echo "$am_cv_func_working_getline" >&6; } - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5 +$as_echo "$gl_cv_func_btowc_eof" >&6; } - if test $ac_cv_have_decl_getline = no; then - HAVE_DECL_GETLINE=0 + case "$gl_cv_func_btowc_nul" in + *yes) ;; + *) REPLACE_BTOWC=1 ;; + esac + case "$gl_cv_func_btowc_eof" in + *yes) ;; + *) REPLACE_BTOWC=1 ;; + esac fi - if test $am_cv_func_working_getline = no; then - REPLACE_GETLINE=1 + if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then @@ -29782,446 +16996,235 @@ $as_echo "$am_cv_func_working_getline" >&6; } - gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext" + : + fi + GNULIB_BTOWC=1 +$as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h - if test $ac_cv_func_getdelim = yes; then - { $as_echo "$as_me:$LINENO: checking for working getdelim function" >&5 -$as_echo_n "checking for working getdelim function... " >&6; } -if test "${gl_cv_func_working_getdelim+set}" = set; then - $as_echo_n "(cached) " >&6 -else - echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + if test $ac_cv_func_canonicalize_file_name = no; then + HAVE_CANONICALIZE_FILE_NAME=0 + if test $ac_cv_func_realpath = no; then + HAVE_REALPATH=0 + else + case "$gl_cv_func_realpath_works" in + *yes) ;; + *) REPLACE_REALPATH=1 ;; + esac + fi + else + case "$gl_cv_func_realpath_works" in + *yes) + ;; + *) + REPLACE_CANONICALIZE_FILE_NAME=1 + REPLACE_REALPATH=1 + ;; + esac + fi -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) && !defined __UCLIBC__ - Lucky GNU user - #endif -#endif + if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - gl_cv_func_working_getdelim=yes -else - gl_cv_func_working_getdelim=no -fi -rm -f conftest* -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -# include -# include -# include - int main () - { - FILE *in = fopen ("./conftest.data", "r"); - if (!in) - return 1; - { - /* Test result for a NULL buffer and a zero size. - Based on a test program from Karl Heuer. */ - char *line = NULL; - size_t siz = 0; - int len = getdelim (&line, &siz, '\n', in); - if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) - return 2; - } - { - /* Test result for a NULL buffer and a non-zero size. - This crashes on FreeBSD 8.0. */ - char *line = NULL; - size_t siz = (size_t)(~0) / 4; - if (getdelim (&line, &siz, '\n', in) == -1) - return 3; - } - return 0; - } -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_working_getdelim=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_working_getdelim=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_working_getdelim" >&5 -$as_echo "$gl_cv_func_working_getdelim" >&6; } - else - gl_cv_func_working_getdelim=no - fi + gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext" - if test $ac_cv_have_decl_getdelim = no; then - HAVE_DECL_GETDELIM=0 fi - if test $gl_cv_func_working_getdelim = no; then - if test $ac_cv_func_getdelim = yes; then - REPLACE_GETDELIM=1 - fi - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" +cat >>confdefs.h <<_ACEOF +#define GNULIB_CANONICALIZE_LGPL 1 +_ACEOF -for ac_func in flockfile funlockfile -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func + GNULIB_CANONICALIZE_FILE_NAME=1 -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done +$as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h - { $as_echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 -$as_echo_n "checking whether getc_unlocked is declared... " >&6; } -if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getc_unlocked - (void) getc_unlocked; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getc_unlocked=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_getc_unlocked=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 -$as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } -if test "x$ac_cv_have_decl_getc_unlocked" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED 0 -_ACEOF + GNULIB_REALPATH=1 -fi - fi +$as_echo "#define GNULIB_TEST_REALPATH 1" >>confdefs.h - fi - GNULIB_GETLINE=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETLINE 1 -_ACEOF + + GNULIB_CHDIR=1 + - # Code from module getopt-gnu: +$as_echo "#define GNULIB_TEST_CHDIR 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether this system has an arbitrary file name length limit" >&5 +$as_echo_n "checking whether this system has an arbitrary file name length limit... " >&6; } +if ${gl_cv_have_arbitrary_file_name_length_limit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Arrange to define PATH_MAX, like "pathmax.h" does. */ +#if HAVE_UNISTD_H +# include +#endif +#include +#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +# include +#endif +#if !defined PATH_MAX && defined MAXPATHLEN +# define PATH_MAX MAXPATHLEN +#endif +#ifdef __hpux +# undef PATH_MAX +# define PATH_MAX 1024 +#endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# undef PATH_MAX +# define PATH_MAX 260 +#endif -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETOPT_GNU 1 +#ifdef PATH_MAX +have_arbitrary_file_name_length_limit +#endif _ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "have_arbitrary_file_name_length_limit" >/dev/null 2>&1; then : + gl_cv_have_arbitrary_file_name_length_limit=yes +else + gl_cv_have_arbitrary_file_name_length_limit=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_arbitrary_file_name_length_limit" >&5 +$as_echo "$gl_cv_have_arbitrary_file_name_length_limit" >&6; } + if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then - # Code from module getopt-posix: - if test -n "$gl_replace_getopt"; then + gl_LIBOBJS="$gl_LIBOBJS chdir-long.$ac_objext" - GETOPT_H=getopt.h + : + fi -cat >>confdefs.h <<\_ACEOF -#define __GETOPT_PREFIX rpl_ -_ACEOF + if test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1; then - GNULIB_UNISTD_H_GETOPT=1 + gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" + fi + if test $REPLACE_CHOWN = 1 && test $ac_cv_func_fchown = no; then - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS fchown-stub.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" + GNULIB_CHOWN=1 +$as_echo "#define GNULIB_TEST_CHOWN 1" >>confdefs.h -fi - # Code from module getpagesize: + # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. + # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + LIB_CLOCK_GETTIME= -for ac_func in getpagesize -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + gl_saved_libs=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if ${ac_cv_search_clock_gettime+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC @@ -30229,62 +17232,53 @@ cat >>conftest.$ac_ext <<_ACEOF #ifdef __cplusplus extern "C" #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - +char clock_gettime (); int main () { -return $ac_func (); +return clock_gettime (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" +for ac_lib in '' rt posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_clock_gettime+:} false; then : + break +fi +done +if ${ac_cv_search_clock_gettime+:} false; then : -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +else + ac_cv_search_clock_gettime=no fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_clock_gettime" = "none required" || + LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime +fi + + for ac_func in clock_gettime clock_settime +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -30292,421 +17286,137 @@ _ACEOF fi done - if test $ac_cv_func_getpagesize = no; then - HAVE_GETPAGESIZE=0 + LIBS=$gl_saved_libs -for ac_header in OS.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +$as_echo "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_CLOSE=1 + fi + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_WINSOCK2_H 1 _ACEOF fi done - if test $ac_cv_header_OS_h = yes; then - HAVE_OS_H=1 + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then + REPLACE_CLOSE=1 fi -for ac_header in sys/param.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi + if test $REPLACE_CLOSE = 0; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 + fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + if test $HAVE_FCHDIR = 0; then + REPLACE_CLOSE=1 + fi + fi -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF + if test $REPLACE_CLOSE = 1; then -fi -done - if test $ac_cv_header_sys_param_h = yes; then - HAVE_SYS_PARAM_H=1 - fi - fi - case "$host_os" in - mingw*) - REPLACE_GETPAGESIZE=1 + gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS getpagesize.$ac_objext" - ;; - esac - { $as_echo "$as_me:$LINENO: checking whether getpagesize is declared" >&5 -$as_echo_n "checking whether getpagesize is declared... " >&6; } -if test "${ac_cv_have_decl_getpagesize+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef getpagesize - (void) getpagesize; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getpagesize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_getpagesize=no -fi + GNULIB_CLOSE=1 + + -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpagesize" >&5 -$as_echo "$ac_cv_have_decl_getpagesize" >&6; } -if test "x$ac_cv_have_decl_getpagesize" = x""yes; then - : -else - HAVE_DECL_GETPAGESIZE=0 -fi +$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h - GNULIB_GETPAGESIZE=1 + + : -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETPAGESIZE 1 +cat >>confdefs.h <<_ACEOF +#define GNULIB_CLOSE_STREAM 1 _ACEOF - # Code from module gettext: - # Code from module gettext-h: + for ac_func in closedir +do : + ac_fn_c_check_func "$LINENO" "closedir" "ac_cv_func_closedir" +if test "x$ac_cv_func_closedir" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_CLOSEDIR 1 +_ACEOF - # Code from module gettime: +fi +done + if test $ac_cv_func_closedir = no; then + HAVE_CLOSEDIR=0 + fi + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 + fi + if test $HAVE_FCHDIR = 0; then + if test $HAVE_CLOSEDIR = 1; then + REPLACE_CLOSEDIR=1 + fi + fi + if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then - gl_LIBOBJS="$gl_LIBOBJS gettime.$ac_objext" @@ -30714,1174 +17424,701 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS closedir.$ac_objext" + fi - # Code from module gettimeofday: + GNULIB_CLOSEDIR=1 +$as_echo "#define GNULIB_TEST_CLOSEDIR 1" >>confdefs.h + : - gl_gettimeofday_timezone=void - if test $ac_cv_func_gettimeofday != yes; then - HAVE_GETTIMEOFDAY=0 + if test "x$datarootdir" = x; then + datarootdir='${datadir}' + fi + if test "x$docdir" = x; then + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' + fi + if test "x$htmldir" = x; then + htmldir='${docdir}' + fi + if test "x$dvidir" = x; then + dvidir='${docdir}' + fi + if test "x$pdfdir" = x; then + pdfdir='${docdir}' + fi + if test "x$psdir" = x; then + psdir='${docdir}' + fi + if test "x$lispdir" = x; then + lispdir='${datarootdir}/emacs/site-lisp' + fi + if test "x$localedir" = x; then + localedir='${datarootdir}/locale' - gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" + fi + pkglibexecdir='${libexecdir}/${PACKAGE}' -for ac_header in sys/timeb.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_ino member in directory struct" >&5 +$as_echo_n "checking for d_ino member in directory struct... " >&6; } +if ${gl_cv_struct_dirent_d_ino+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems with Linux kernel. + linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_struct_dirent_d_ino="guessing no" ;; + esac - ac_header_compiler=no -fi +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +int +main () +{ +DIR *dp = opendir ("."); + struct dirent *e; + struct stat st; + if (! dp) + return 1; + e = readdir (dp); + if (! e) + return 2; + if (stat (e->d_name, &st) != 0) + return 3; + if (e->d_ino != st.st_ino) + return 4; + return 0; -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_struct_dirent_d_ino=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + gl_cv_struct_dirent_d_ino=no fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_struct_dirent_d_ino" >&5 +$as_echo "$gl_cv_struct_dirent_d_ino" >&6; } + case "$gl_cv_struct_dirent_d_ino" in + *yes) -fi +$as_echo "#define D_INO_IN_DIRENT 1" >>confdefs.h -done + ;; + esac -for ac_func in _ftime -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_dirent_h='<'dirent.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_dirent_h+:} false; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi + if test $ac_cv_header_dirent_h = yes; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'dirent.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_dirent_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_dirent_h='<'dirent.h'>' + fi + fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_dirent_h" >&5 +$as_echo "$gl_cv_next_dirent_h" >&6; } + fi + NEXT_DIRENT_H=$gl_cv_next_dirent_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'dirent.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_dirent_h + fi + NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive + + + if test $ac_cv_header_dirent_h = yes; then + HAVE_DIRENT_H=1 else + HAVE_DIRENT_H=0 + fi - { $as_echo "$as_me:$LINENO: checking whether gettimeofday clobbers localtime buffer" >&5 -$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } -if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then + for gl_func in alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_gettimeofday_clobber=yes -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include - #include +#include int main () { - - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; - +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_gettimeofday_clobber=no +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_gettimeofday_clobber=yes + eval "$as_gl_Symbol=no" fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF - + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_gettimeofday_clobber" >&5 -$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } + done - if test $gl_cv_func_gettimeofday_clobber = yes; then - REPLACE_GETTIMEOFDAY=1 +cat >>confdefs.h <<_ACEOF +#define GNULIB_DIRENT_SAFER 1 +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" -for ac_header in sys/timeb.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + + for ac_func in dirfd +do : + ac_fn_c_check_func "$LINENO" "dirfd" "ac_cv_func_dirfd" +if test "x$ac_cv_func_dirfd" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DIRFD 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no fi +done -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include + #include +" +if test "x$ac_cv_have_decl_dirfd" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_DIRFD $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + if test $ac_cv_have_decl_dirfd = no; then + HAVE_DECL_DIRFD=0 + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dirfd is a macro" >&5 +$as_echo_n "checking whether dirfd is a macro... " >&6; } +if ${gl_cv_func_dirfd_macro+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <$ac_header> + +#include +#include +#ifdef dirfd + dirent_header_defines_dirfd +#endif _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "dirent_header_defines_dirfd" >/dev/null 2>&1; then : + gl_cv_func_dirfd_macro=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_dirfd_macro=no +fi +rm -f conftest* - ac_header_preproc=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dirfd_macro" >&5 +$as_echo "$gl_cv_func_dirfd_macro" >&6; } -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + # Use the replacement only if we have no function or macro with that name. + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then + if test $ac_cv_have_decl_dirfd = yes; then + # If the system declares dirfd already, let's declare rpl_dirfd instead. + REPLACE_DIRFD=1 + fi + fi -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done -for ac_func in _ftime -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func + gl_LIBOBJS="$gl_LIBOBJS dirfd.$ac_objext" -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to get the file descriptor associated with an open DIR*" >&5 +$as_echo_n "checking how to get the file descriptor associated with an open DIR*... " >&6; } +if ${gl_cv_sys_dir_fd_member_name+:} false; then : + $as_echo_n "(cached) " >&6 +else + + dirfd_save_CFLAGS=$CFLAGS + for ac_expr in d_fd dd_fd; do + + CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include int main () { -return $ac_func (); +DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : + dir_fd_found=yes - eval "$as_ac_var=no" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$dirfd_save_CFLAGS + test "$dir_fd_found" = yes && break + done + test "$dir_fd_found" = yes || ac_expr=no_such_member + + gl_cv_sys_dir_fd_member_name=$ac_expr + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_dir_fd_member_name" >&5 +$as_echo "$gl_cv_sys_dir_fd_member_name" >&6; } + if test $gl_cv_sys_dir_fd_member_name != no_such_member; then + +cat >>confdefs.h <<_ACEOF +#define DIR_FD_MEMBER_NAME $gl_cv_sys_dir_fd_member_name _ACEOF -fi -done + fi + fi -cat >>confdefs.h <<\_ACEOF -#define gmtime rpl_gmtime -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define localtime rpl_localtime -_ACEOF + + + GNULIB_DIRFD=1 + -cat >>confdefs.h <<\_ACEOF -#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1 + +$as_echo "#define GNULIB_TEST_DIRFD 1" >>confdefs.h + + + + + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_DIRNAME 1 _ACEOF - fi - { $as_echo "$as_me:$LINENO: checking for gettimeofday with POSIX signature" >&5 -$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } -if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 +$as_echo_n "checking whether // is distinct from /... " >&6; } +if ${gl_cv_double_slash_root+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - struct timeval c; - int gettimeofday (struct timeval *restrict, void *restrict); + if test x"$cross_compiling" = xyes ; then + # When cross-compiling, there is no way to tell whether // is special + # short of a list of hosts. However, the only known hosts to date + # that have a distinct // are Apollo DomainOS (too old to port to), + # Cygwin, and z/OS. If anyone knows of another system for which // has + # special semantics and is distinct from /, please report it to + # . + case $host in + *-cygwin | i370-ibm-openedition) + gl_cv_double_slash_root=yes ;; + *) + # Be optimistic and assume that / and // are the same when we + # don't know. + gl_cv_double_slash_root='unknown, assuming no' ;; + esac + else + set x `ls -di / // 2>/dev/null` + if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then + gl_cv_double_slash_root=no + else + gl_cv_double_slash_root=yes + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 +$as_echo "$gl_cv_double_slash_root" >&6; } + if test "$gl_cv_double_slash_root" = yes; then -int -main () -{ -/* glibc uses struct timezone * rather than the POSIX void * - if _GNU_SOURCE is defined. However, since the only portable - use of gettimeofday uses NULL as the second parameter, and - since the glibc definition is actually more typesafe, it is - not worth wrapping this to get a compliant signature. */ - int (*f) (struct timeval *restrict, void *restrict) - = gettimeofday; - int x = f (&c, 0); - return !(x | c.tv_sec | c.tv_usec); +$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_gettimeofday_posix_signature=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + fi - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int gettimeofday (struct timeval *restrict, struct timezone *restrict); -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_gettimeofday_posix_signature=almost -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_cv_func_gettimeofday_posix_signature=no -fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_DUP=1 + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_gettimeofday_posix_signature" >&5 -$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } - if test $gl_cv_func_gettimeofday_posix_signature = almost; then - gl_gettimeofday_timezone='struct timezone' - elif test $gl_cv_func_gettimeofday_posix_signature != yes; then - REPLACE_GETTIMEOFDAY=1 + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 + fi + if test $HAVE_FCHDIR = 0; then + REPLACE_DUP=1 + fi + if test $REPLACE_DUP = 1; then - gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" -for ac_header in sys/timeb.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + gl_LIBOBJS="$gl_LIBOBJS dup.$ac_objext" -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + : + fi - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi + GNULIB_DUP=1 -done -for ac_func in _ftime -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif +$as_echo "#define GNULIB_TEST_DUP 1" >>confdefs.h -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + + + + + +$as_echo "#define HAVE_DUP2 1" >>confdefs.h + + + if test $HAVE_DUP2 = 1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 +$as_echo_n "checking whether dup2 works... " >&6; } +if ${gl_cv_func_dup2_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + mingw*) # on this platform, dup2 always returns 0 for success + gl_cv_func_dup2_works="guessing no" ;; + cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 + gl_cv_func_dup2_works="guessing no" ;; + linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a + # closed fd may yield -EBADF instead of -1 / errno=EBADF. + gl_cv_func_dup2_works="guessing no" ;; + freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. + gl_cv_func_dup2_works="guessing no" ;; + haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. + gl_cv_func_dup2_works="guessing no" ;; + *) gl_cv_func_dup2_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include +#include +#include int main () { -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +int result = 0; +#ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; +#endif + if (dup2 (1, 1) == 0) + result |= 2; +#ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; +#endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, 1000000) == -1 && errno != EBADF) + result |= 16; + /* Flush out a cygwin core dump. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + return result; - eval "$as_ac_var=no" -fi + ; + return 0; +} -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_dup2_works=yes +else + gl_cv_func_dup2_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 +$as_echo "$gl_cv_func_dup2_works" >&6; } + case "$gl_cv_func_dup2_works" in + *yes) ;; + *) + REPLACE_DUP2=1 + ;; + esac + fi - fi + + + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 fi -cat >>confdefs.h <<_ACEOF -#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone -_ACEOF + if test $HAVE_FCHDIR = 0; then + if test $HAVE_DUP2 = 1; then + REPLACE_DUP2=1 + fi + fi + if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then - GNULIB_GETTIMEOFDAY=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_GETTIMEOFDAY 1 -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" - # Code from module gitlog-to-changelog: - # Code from module hash: + + fi + GNULIB_DUP2=1 - gl_LIBOBJS="$gl_LIBOBJS hash.$ac_objext" +$as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h - # Code from module havelib: - # Code from module human: + GNULIB_ENVIRON=1 - gl_LIBOBJS="$gl_LIBOBJS human.$ac_objext" - : +$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h + - # Code from module include_next: - # Code from module inline: - { $as_echo "$as_me:$LINENO: checking whether the compiler generally respects inline" >&5 -$as_echo_n "checking whether the compiler generally respects inline... " >&6; } -if test "${gl_cv_c_inline_effective+set}" = set; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 +$as_echo_n "checking for error_at_line... " >&6; } +if ${ac_cv_lib_error_at_line+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_c_inline = no; then - gl_cv_c_inline_effective=no - else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +#include int main () { -#ifdef __NO_INLINE__ - #error "inline is not effective" - #endif +error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_c_inline_effective=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_error_at_line=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_c_inline_effective=no + ac_cv_lib_error_at_line=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_c_inline_effective" >&5 -$as_echo "$gl_cv_c_inline_effective" >&6; } - if test $gl_cv_c_inline_effective = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 +$as_echo "$ac_cv_lib_error_at_line" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_INLINE 1 -_ACEOF + if test $ac_cv_lib_error_at_line = no; then - fi - # Code from module intprops: - # Code from module inttostr: - : - : - : - : - : - # Code from module inttypes: + gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" + : + fi + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" @@ -31889,8 +18126,12 @@ _ACEOF + if test $ac_cv_have_decl_fchdir = no; then + HAVE_DECL_FCHDIR=0 + fi + if test $HAVE_FCHDIR = 0; then @@ -31898,775 +18139,459 @@ _ACEOF - { $as_echo "$as_me:$LINENO: checking whether inttypes.h conforms to C99" >&5 -$as_echo_n "checking whether inttypes.h conforms to C99... " >&6; } -if test "${gl_cv_header_working_inttypes_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_inttypes_h=no - if test "$gl_cv_header_working_stdint_h" = yes \ - && test $ac_cv_header_inttypes_h = yes \ - && test "$ac_cv_have_decl_imaxabs" = yes \ - && test "$ac_cv_have_decl_imaxdiv" = yes \ - && test "$ac_cv_have_decl_strtoimax" = yes \ - && test "$ac_cv_have_decl_strtoumax" = yes; then - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + gl_LIBOBJS="$gl_LIBOBJS fchdir.$ac_objext" -#include -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */ -#include + : -/* No need to duplicate the tests of stdint.m4; they are subsumed by - $gl_cv_header_working_stdint_h = yes. */ +$as_echo "#define REPLACE_FCHDIR 1" >>confdefs.h -/* Tests for macros supposed to be defined in inttypes.h. */ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open can visit directories" >&5 +$as_echo_n "checking whether open can visit directories... " >&6; } +if ${gl_cv_func_open_directory_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_open_directory_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_open_directory_works="guessing no" ;; + esac -const char *k = /* implicit string concatenation */ -#ifdef INT8_MAX - PRId8 PRIi8 -#endif -#ifdef UINT8_MAX - PRIo8 PRIu8 PRIx8 PRIX8 -#endif -#ifdef INT16_MAX - PRId16 PRIi16 -#endif -#ifdef UINT16_MAX - PRIo16 PRIu16 PRIx16 PRIX16 -#endif -#ifdef INT32_MAX - PRId32 PRIi32 -#endif -#ifdef UINT32_MAX - PRIo32 PRIu32 PRIx32 PRIX32 -#endif -#ifdef INT64_MAX - PRId64 PRIi64 -#endif -#ifdef UINT64_MAX - PRIo64 PRIu64 PRIx64 PRIX64 -#endif - PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 - PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 - PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 - PRIdLEAST64 PRIiLEAST64 - PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 - PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 - PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 - PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 - PRIdFAST64 PRIiFAST64 - PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 - PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX -#ifdef INTPTR_MAX - PRIdPTR PRIiPTR -#endif -#ifdef UINTPTR_MAX - PRIoPTR PRIuPTR PRIxPTR PRIXPTR -#endif - ; -const char *l = /* implicit string concatenation */ -#ifdef INT8_MAX - SCNd8 SCNi8 -#endif -#ifdef UINT8_MAX - SCNo8 SCNu8 SCNx8 -#endif -#ifdef INT16_MAX - SCNd16 SCNi16 -#endif -#ifdef UINT16_MAX - SCNo16 SCNu16 SCNx16 -#endif -#ifdef INT32_MAX - SCNd32 SCNi32 -#endif -#ifdef UINT32_MAX - SCNo32 SCNu32 SCNx32 -#endif -#ifdef INT64_MAX - SCNd64 SCNi64 -#endif -#ifdef UINT64_MAX - SCNo64 SCNu64 SCNx64 -#endif - SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 - SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 - SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 - SCNdLEAST64 SCNiLEAST64 - SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 - SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 - SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 - SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 - SCNdFAST64 SCNiFAST64 - SCNoFAST64 SCNuFAST64 SCNxFAST64 - SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX -#ifdef INTPTR_MAX - SCNdPTR SCNiPTR -#endif -#ifdef UINTPTR_MAX - SCNoPTR SCNuPTR SCNxPTR -#endif - ; +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { - +return open(".", O_RDONLY) < 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_working_inttypes_h=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_open_directory_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + gl_cv_func_open_directory_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_working_inttypes_h" >&5 -$as_echo "$gl_cv_header_working_inttypes_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_directory_works" >&5 +$as_echo "$gl_cv_func_open_directory_works" >&6; } + case "$gl_cv_func_open_directory_works" in + *yes) ;; + *) +$as_echo "#define REPLACE_OPEN_DIRECTORY 1" >>confdefs.h + ;; + esac + fi + GNULIB_FCHDIR=1 +$as_echo "#define GNULIB_TEST_FCHDIR 1" >>confdefs.h - if test $gl_cv_have_include_next = yes; then - gl_cv_next_inttypes_h='<'inttypes.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_inttypes_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_inttypes_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/inttypes.h#{ - s#.*"\(.*/inttypes.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_inttypes_h='<'inttypes.h'>' - fi + if test $ac_cv_func_fchmodat != yes; then + HAVE_FCHMODAT=0 + fi + if test $HAVE_FCHMODAT = 0; then -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_inttypes_h" >&5 -$as_echo "$gl_cv_next_inttypes_h" >&6; } - fi - NEXT_INTTYPES_H=$gl_cv_next_inttypes_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'inttypes.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_inttypes_h - fi - NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive + gl_LIBOBJS="$gl_LIBOBJS fchmodat.$ac_objext" + + fi -cat >>confdefs.h <<\_ACEOF -#define GL_TRIGGER_STDC_LIMIT_MACROS 1 +cat >>confdefs.h <<_ACEOF +#define GNULIB_FCHMODAT 1 _ACEOF - PRIPTR_PREFIX= - if test -n "$STDINT_H"; then - PRIPTR_PREFIX='"l"' - else - for glpfx in '' l ll I64; do - case $glpfx in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - I64) gltype1='__int64';; - esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - extern intptr_t foo; - extern $gltype1 foo; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - PRIPTR_PREFIX='"'$glpfx'"' -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + GNULIB_FCHMODAT=1 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test -n "$PRIPTR_PREFIX" && break - done - fi - if test "$ac_cv_have_decl_imaxabs" = yes; then - HAVE_DECL_IMAXABS=1 - else - HAVE_DECL_IMAXABS=0 - fi - if test "$ac_cv_have_decl_imaxdiv" = yes; then - HAVE_DECL_IMAXDIV=1 - else - HAVE_DECL_IMAXDIV=0 - fi +$as_echo "#define GNULIB_TEST_FCHMODAT 1" >>confdefs.h - if test "$ac_cv_have_decl_strtoimax" = yes; then - HAVE_DECL_STRTOIMAX=1 - else - HAVE_DECL_STRTOIMAX=0 - fi - if test "$ac_cv_have_decl_strtoumax" = yes; then - HAVE_DECL_STRTOUMAX=1 - else - HAVE_DECL_STRTOUMAX=0 - fi - { $as_echo "$as_me:$LINENO: checking whether INT32_MAX < INTMAX_MAX" >&5 -$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; } -if test "${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+set}" = set; then + + + + ac_fn_c_check_func "$LINENO" "fchownat" "ac_cv_func_fchownat" +if test "x$ac_cv_func_fchownat" = xyes; then : + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5 +$as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; } +if ${gl_cv_func_fchownat_nofollow_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - #include - #if HAVE_STDINT_H - #include - #endif + gl_dangle=conftest.dangle + # Remove any remnants of a previous test. + rm -f $gl_dangle + # Arrange for deletion of the temporary file this test creates. + ac_clean_files="$ac_clean_files $gl_dangle" + ln -s conftest.no-such $gl_dangle + if test "$cross_compiling" = yes; then : + gl_cv_func_fchownat_nofollow_works=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - #if defined INT32_MAX && defined INTMAX_MAX - #define CONDITION (INT32_MAX < INTMAX_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (int) < sizeof (long long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; +#include +#include +#include +#include +#include int main () { - - ; - return 0; + return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), + AT_SYMLINK_NOFOLLOW) != 0 + && errno == ENOENT); } + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fchownat_nofollow_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_fchownat_nofollow_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + - gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fchownat_nofollow_works" >&5 +$as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; } + if test $gl_cv_func_fchownat_nofollow_works = no; then : + REPLACE_FCHOWNAT=1 + +$as_echo "#define FCHOWNAT_NOFOLLOW_BUG 1" >>confdefs.h + -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 -$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } - if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then - INT32_MAX_LT_INTMAX_MAX=1; - else - INT32_MAX_LT_INTMAX_MAX=0; - fi - if test $APPLE_UNIVERSAL_BUILD = 0; then - { $as_echo "$as_me:$LINENO: checking whether INT64_MAX == LONG_MAX" >&5 -$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; } -if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fchownat works with an empty file name" >&5 +$as_echo_n "checking whether fchownat works with an empty file name... " >&6; } +if ${gl_cv_func_fchownat_empty_filename_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + gl_cv_func_fchownat_empty_filename_works="guessing no" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif +#include + #include - #if defined INT64_MAX - #define CONDITION (INT64_MAX == LONG_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (long long int) == sizeof (long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; int main () { +int fd; + int ret; + if (mkdir ("conftestdir", 0700) < 0) + return 2; + fd = open ("conftestdir", O_RDONLY); + if (fd < 0) + return 3; + ret = fchownat (fd, "", -1, -1, 0); + close (fd); + rmdir ("conftestdir"); + return ret == 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fchownat_empty_filename_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_fchownat_empty_filename_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + - gl_cv_test_INT64_MAX_EQ_LONG_MAX=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fchownat_empty_filename_works" >&5 +$as_echo "$gl_cv_func_fchownat_empty_filename_works" >&6; } + if test "$gl_cv_func_fchownat_empty_filename_works" != yes; then : + REPLACE_FCHOWNAT=1 + +$as_echo "#define FCHOWNAT_EMPTY_FILENAME_BUG 1" >>confdefs.h + -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 -$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } - if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then - INT64_MAX_EQ_LONG_MAX=1; - else - INT64_MAX_EQ_LONG_MAX=0; - fi + if test $REPLACE_CHOWN = 1; then + REPLACE_FCHOWNAT=1 + fi +else + HAVE_FCHOWNAT=0 +fi + + + if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext" - else - INT64_MAX_EQ_LONG_MAX=-1 fi - { $as_echo "$as_me:$LINENO: checking whether UINT32_MAX < UINTMAX_MAX" >&5 -$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } -if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + +cat >>confdefs.h <<_ACEOF +#define GNULIB_FCHOWNAT 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - #include - #if HAVE_STDINT_H - #include - #endif - #if defined UINT32_MAX && defined UINTMAX_MAX - #define CONDITION (UINT32_MAX < UINTMAX_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 -$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } - if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then - UINT32_MAX_LT_UINTMAX_MAX=1; - else - UINT32_MAX_LT_UINTMAX_MAX=0; - fi + GNULIB_FCHOWNAT=1 - if test $APPLE_UNIVERSAL_BUILD = 0; then - { $as_echo "$as_me:$LINENO: checking whether UINT64_MAX == ULONG_MAX" >&5 -$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; } -if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then + + +$as_echo "#define GNULIB_TEST_FCHOWNAT 1" >>confdefs.h + + + + + + + + + if test $ac_cv_func_fcntl = no; then + + + + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5 +$as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; } +if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + # Guess that it works on glibc systems + case $host_os in #(( + *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; + *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif - #if defined UINT64_MAX - #define CONDITION (UINT64_MAX == ULONG_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; +#include +#include + int main () { +int result = 0; + if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; + if (errno != EINVAL) result |= 2; + return result; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fcntl_f_dupfd_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no + gl_cv_func_fcntl_f_dupfd_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 -$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } - if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then - UINT64_MAX_EQ_ULONG_MAX=1; - else - UINT64_MAX_EQ_ULONG_MAX=0; - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5 +$as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; } + case $gl_cv_func_fcntl_f_dupfd_works in + *yes) ;; + *) + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 else - UINT64_MAX_EQ_ULONG_MAX=-1 + REPLACE_FCNTL=1 fi +$as_echo "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5 +$as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; } +if ${gl_cv_func_fcntl_f_dupfd_cloexec+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifndef F_DUPFD_CLOEXEC +choke me +#endif +int +main () +{ - for gl_func in imaxabs imaxdiv strtoimax strtoumax; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#ifdef __linux__ +/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace + it to support the semantics on older kernels that failed with EINVAL. */ +choke me +#endif int main () { -#undef $gl_func - (void) $gl_func; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_fcntl_f_dupfd_cloexec=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + gl_cv_func_fcntl_f_dupfd_cloexec=no fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - done - - - # Code from module iswblank: - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5 +$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; } + if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 + else + REPLACE_FCNTL=1 + fi + fi + fi + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 + fi + if test $HAVE_FCHDIR = 0; then - if test $ac_cv_func_iswblank = no; then - HAVE_ISWBLANK=0 - if test $ac_cv_have_decl_iswblank = yes; then - REPLACE_ISWBLANK=1 - fi - fi - if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then - : + if test $ac_cv_func_fcntl = no; then + HAVE_FCNTL=0 else - if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then - - - + REPLACE_FCNTL=1 + fi + fi + if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then - gl_LIBOBJS="$gl_LIBOBJS iswblank.$ac_objext" - fi - fi - GNULIB_ISWBLANK=1 + gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext" + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_ISWBLANK 1 -_ACEOF - # Code from module langinfo: + GNULIB_FCNTL=1 +$as_echo "#define GNULIB_TEST_FCNTL 1" >>confdefs.h @@ -32682,379 +18607,260 @@ _ACEOF if test $gl_cv_have_include_next = yes; then - gl_cv_next_langinfo_h='<'langinfo.h'>' + gl_cv_next_fcntl_h='<'fcntl.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_langinfo_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_fcntl_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_langinfo_h = yes; then - - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac - gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/langinfo.h#{ - s#.*"\(.*/langinfo.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' - else - gl_cv_next_langinfo_h='<'langinfo.h'>' - fi + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'fcntl.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_langinfo_h" >&5 -$as_echo "$gl_cv_next_langinfo_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 +$as_echo "$gl_cv_next_fcntl_h" >&6; } fi - NEXT_LANGINFO_H=$gl_cv_next_langinfo_h + NEXT_FCNTL_H=$gl_cv_next_fcntl_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'langinfo.h'>' + gl_next_as_first_directive='<'fcntl.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_langinfo_h + gl_next_as_first_directive=$gl_cv_next_fcntl_h fi - NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive - + NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive - HAVE_LANGINFO_CODESET=0 - HAVE_LANGINFO_T_FMT_AMPM=0 - HAVE_LANGINFO_ERA=0 - HAVE_LANGINFO_YESEXPR=0 - if test $ac_cv_header_langinfo_h = yes; then - HAVE_LANGINFO_H=1 - { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines CODESET" >&5 -$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; } -if test "${gl_cv_header_langinfo_codeset+set}" = set; then + for gl_func in fcntl openat; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int a = CODESET; +#include int main () { - +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_langinfo_codeset=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_header_langinfo_codeset=no + eval "$as_gl_Symbol=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_codeset" >&5 -$as_echo "$gl_cv_header_langinfo_codeset" >&6; } - if test $gl_cv_header_langinfo_codeset = yes; then - HAVE_LANGINFO_CODESET=1 - fi - { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines T_FMT_AMPM" >&5 -$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; } -if test "${gl_cv_header_langinfo_t_fmt_ampm+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int a = T_FMT_AMPM; -int -main () -{ + eval ac_cv_have_decl_$gl_func=yes +fi + done - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_langinfo_t_fmt_ampm=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_cv_header_langinfo_t_fmt_ampm=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5 -$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; } - if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then - HAVE_LANGINFO_T_FMT_AMPM=1 - fi - { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines ERA" >&5 -$as_echo_n "checking whether langinfo.h defines ERA... " >&6; } -if test "${gl_cv_header_langinfo_era+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int a = ERA; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_langinfo_era=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_cv_header_langinfo_era=no + ac_fn_c_check_decl "$LINENO" "fdopendir" "ac_cv_have_decl_fdopendir" " +#include + +" +if test "x$ac_cv_have_decl_fdopendir" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FDOPENDIR $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : +else + HAVE_DECL_FDOPENDIR=0 fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_era" >&5 -$as_echo "$gl_cv_header_langinfo_era" >&6; } - if test $gl_cv_header_langinfo_era = yes; then - HAVE_LANGINFO_ERA=1 - fi - { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines YESEXPR" >&5 -$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; } -if test "${gl_cv_header_langinfo_yesexpr+set}" = set; then + + + if test $ac_cv_func_fdopendir = no; then + HAVE_FDOPENDIR=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopendir works" >&5 +$as_echo_n "checking whether fdopendir works... " >&6; } +if ${gl_cv_func_fdopendir_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_fdopendir_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int a = YESEXPR; + +#include +#include +#include +#if !HAVE_DECL_FDOPENDIR +extern +# ifdef __cplusplus +"C" +# endif +DIR *fdopendir (int); +#endif int main () { - +int result = 0; + int fd = open ("conftest.c", O_RDONLY); + if (fd < 0) result |= 1; + if (fdopendir (fd)) result |= 2; + if (close (fd)) result |= 4; + return result; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_header_langinfo_yesexpr=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fdopendir_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_fdopendir_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - gl_cv_header_langinfo_yesexpr=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopendir_works" >&5 +$as_echo "$gl_cv_func_fdopendir_works" >&6; } + case "$gl_cv_func_fdopendir_works" in + *yes) ;; + *) + REPLACE_FDOPENDIR=1 + ;; + esac + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fdopendir.$ac_objext" -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_yesexpr" >&5 -$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; } - if test $gl_cv_header_langinfo_yesexpr = yes; then - HAVE_LANGINFO_YESEXPR=1 - fi - else - HAVE_LANGINFO_H=0 fi + GNULIB_FDOPENDIR=1 - for gl_func in nl_langinfo; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + + +$as_echo "#define GNULIB_TEST_FDOPENDIR 1" >>confdefs.h + + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_FDOPENDIR 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_FDUTIMENSAT 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 + + + ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default" +if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BLOCKS 1 _ACEOF - eval ac_cv_have_decl_$gl_func=yes + +$as_echo "#define HAVE_ST_BLOCKS 1" >>confdefs.h + +else + : fi - done - # Code from module lchown: + if test $ac_cv_member_struct_stat_st_blocks = no; then @@ -33063,458 +18869,413 @@ fi + gl_LIBOBJS="$gl_LIBOBJS fileblocks.$ac_objext" + : + fi -for ac_func in lchown -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + FLOAT_H= + REPLACE_FLOAT_LDBL=0 + case "$host_os" in + aix* | beos* | openbsd* | mirbsd* | irix*) + FLOAT_H=float.h + ;; + freebsd*) + case "$host_cpu" in + i[34567]86 ) + FLOAT_H=float.h + ;; + x86_64 ) + # On x86_64 systems, the C compiler may still be generating + # 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func +#if defined __LP64__ || defined __x86_64__ || defined __amd64__ + yes + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +else + FLOAT_H=float.h +fi +rm -f conftest* -#ifdef __STDC__ -# include -#else -# include -#endif + ;; + esac + ;; + linux*) + case "$host_cpu" in + powerpc*) + FLOAT_H=float.h + ;; + esac + ;; + esac + case "$host_os" in + aix* | freebsd* | linux*) + if test -n "$FLOAT_H"; then + REPLACE_FLOAT_LDBL=1 + fi + ;; + esac -#undef $ac_func + REPLACE_ITOLD=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5 +$as_echo_n "checking whether conversion from 'int' to 'long double' works... " >&6; } +if ${gl_cv_func_itold_works+:} false; then : + $as_echo_n "(cached) " >&6 +else -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + if test "$cross_compiling" = yes; then : + case "$host" in + sparc*-*-linux*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __arch64__ + yes + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_func_itold_works="guessing no" +else + gl_cv_func_itold_works="guessing yes" +fi +rm -f conftest* -int -main () + ;; + *) gl_cv_func_itold_works="guessing yes" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int i = -1; +volatile long double ld; +int main () { -return $ac_func (); - ; + ld += i * 1.0L; + if (ld > 0) + return 1; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_itold_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_func_itold_works=no fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5 +$as_echo "$gl_cv_func_itold_works" >&6; } + case "$gl_cv_func_itold_works" in + *no) + REPLACE_ITOLD=1 + FLOAT_H=float.h + ;; + esac -else + if test -n "$FLOAT_H"; then - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" -fi -done - if test $ac_cv_func_lchown = no; then - HAVE_LCHOWN=0 - elif test "$gl_cv_func_chown_slash_works" != yes \ - || test "$gl_cv_func_chown_ctime_works" != yes; then + if test $gl_cv_have_include_next = yes; then + gl_cv_next_float_h='<'float.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_float_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'float.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 +$as_echo "$gl_cv_next_float_h" >&6; } + fi + NEXT_FLOAT_H=$gl_cv_next_float_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'float.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_float_h + fi + NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS lchown.$ac_objext" - REPLACE_LCHOWN=1 fi + if test -n "$FLOAT_H"; then + GL_GENERATE_FLOAT_H_TRUE= + GL_GENERATE_FLOAT_H_FALSE='#' +else + GL_GENERATE_FLOAT_H_TRUE='#' + GL_GENERATE_FLOAT_H_FALSE= +fi - GNULIB_LCHOWN=1 + if test $REPLACE_FLOAT_LDBL = 1; then -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_LCHOWN 1 -_ACEOF - # Code from module link: + gl_LIBOBJS="$gl_LIBOBJS float.$ac_objext" + fi + if test $REPLACE_ITOLD = 1; then - if test $ac_cv_func_link = no; then - HAVE_LINK=0 + gl_LIBOBJS="$gl_LIBOBJS itold.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS link.$ac_objext" - else - { $as_echo "$as_me:$LINENO: checking whether link handles trailing slash correctly" >&5 -$as_echo_n "checking whether link handles trailing slash correctly... " >&6; } -if test "${gl_cv_func_link_works+set}" = set; then + FNMATCH_H= + gl_fnmatch_required_lowercase=` + echo $gl_fnmatch_required | LC_ALL=C tr '[A-Z]' '[a-z]' + ` + gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5 +$as_echo_n "checking for working $gl_fnmatch_required fnmatch... " >&6; } +if eval \${$gl_fnmatch_cache_var+:} false; then : $as_echo_n "(cached) " >&6 else - touch conftest.a - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - ln -s conftest.a conftest.lnk - fi - if test "$cross_compiling" = yes; then - gl_cv_func_link_works="guessing no" + if test $gl_fnmatch_required = GNU; then + gl_fnmatch_gnu_start= + gl_fnmatch_gnu_end= + else + gl_fnmatch_gnu_start='#if 0' + gl_fnmatch_gnu_end='#endif' + fi + if test "$cross_compiling" = yes; then : + eval "$gl_fnmatch_cache_var=\"guessing no\"" else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + static int + y (char const *pattern, char const *string, int flags) + { + return fnmatch (pattern, string, flags) == 0; + } + static int + n (char const *pattern, char const *string, int flags) + { + return fnmatch (pattern, string, flags) == FNM_NOMATCH; + } int main () { -int result = 0; - if (!link ("conftest.a", "conftest.b/")) - result |= 1; -#if HAVE_LSTAT - if (!link ("conftest.lnk/", "conftest.b")) - result |= 2; -#endif - return result; +char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; + char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; + static char const A_1[] = { 'A' - 1, 0 }; + static char const A01[] = { 'A' + 1, 0 }; + static char const a_1[] = { 'a' - 1, 0 }; + static char const a01[] = { 'a' + 1, 0 }; + static char const bs_1[] = { '\\\\' - 1, 0 }; + static char const bs01[] = { '\\\\' + 1, 0 }; + int result = 0; + if (!n ("a*", "", 0)) + return 1; + if (!y ("a*", "abc", 0)) + return 1; + if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ + return 1; + if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) + return 2; + if (!y ("a\\\\bc", "abc", 0)) + return 3; + if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) + return 3; + if (!y ("*x", ".x", 0)) + return 4; + if (!n ("*x", ".x", FNM_PERIOD)) + return 4; + if (!y (Apat, "\\\\", 0)) + return 5; + if (!y (Apat, "A", 0)) + return 5; + if (!y (apat, "\\\\", 0)) + return 5; + if (!y (apat, "a", 0)) + return 5; + if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) + return 5; + if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) + return 5; + if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) + return 5; + if (!(y (apat, a01, 0) == ('a' < '\\\\'))) + return 5; + if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) + return 5; + if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) + return 5; + if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) + return 5; + if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) + return 5; + $gl_fnmatch_gnu_start + if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) + result |= 8; + if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) + result |= 16; + if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) + result |= 32; + if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) + result |= 64; + $gl_fnmatch_gnu_end + return result; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_link_works=yes +if ac_fn_c_try_run "$LINENO"; then : + eval "$gl_fnmatch_cache_var=yes" else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_link_works=no + eval "$gl_fnmatch_cache_var=no" fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.a conftest.b conftest.lnk fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_link_works" >&5 -$as_echo "$gl_cv_func_link_works" >&6; } - if test "$gl_cv_func_link_works" != yes; then - REPLACE_LINK=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS link.$ac_objext" - - fi +eval ac_res=\$$gl_fnmatch_cache_var + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" + if test "$gl_fnmatch_result" = yes; then + rm -f "$gl_source_base/fnmatch.h" + else + FNMATCH_H=fnmatch.h fi + if test -n "$FNMATCH_H"; then + GL_GENERATE_FNMATCH_H_TRUE= + GL_GENERATE_FNMATCH_H_FALSE='#' +else + GL_GENERATE_FNMATCH_H_TRUE='#' + GL_GENERATE_FNMATCH_H_FALSE= +fi - - GNULIB_LINK=1 - + if test -n "$FNMATCH_H"; then -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_LINK 1 -_ACEOF - # Code from module link-follow: + gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" - gl_link_follows_symlinks=0 # assume GNU behavior - if test $ac_cv_func_readlink = yes; then - { $as_echo "$as_me:$LINENO: checking for __xpg4" >&5 -$as_echo_n "checking for __xpg4... " >&6; } -if test "${gl_cv_have___xpg4+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -extern int __xpg4; -int -main () -{ -return __xpg4; - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gl_cv_have___xpg4=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_have___xpg4=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_have___xpg4" >&5 -$as_echo "$gl_cv_have___xpg4" >&6; } - if test $gl_cv_have___xpg4 = yes; then - gl_link_follows_symlinks=-1 - else - { $as_echo "$as_me:$LINENO: checking whether link(2) dereferences a symlink" >&5 -$as_echo_n "checking whether link(2) dereferences a symlink... " >&6; } -if test "${gl_cv_func_link_follows_symlink+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Create a regular file. - echo > conftest.file - if test "$cross_compiling" = yes; then - gl_cv_func_link_follows_symlink=unknown + ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include +" +if test "x$ac_cv_have_decl_isblank" = xyes; then : + ac_have_decl=1 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -# include -# include -# include -# include - -# define SAME_INODE(Stat_buf_1, Stat_buf_2) \ - ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ - && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) - - int - main () - { - const char *file = "conftest.file"; - const char *sym = "conftest.sym"; - const char *hard = "conftest.hard"; - struct stat sb_file, sb_hard; - - /* Create a symlink to the regular file. */ - if (symlink (file, sym)) - return 2; - - /* Create a hard link to that symlink. */ - if (link (sym, hard)) - return 3; - - if (lstat (hard, &sb_hard)) - return 4; - if (lstat (file, &sb_file)) - return 5; - - /* If the dev/inode of hard and file are the same, then - the link call followed the symlink. */ - return SAME_INODE (sb_hard, sb_file) ? 1 : 0; - } + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ISBLANK $ac_have_decl _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_link_follows_symlink=no -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) - gl_cv_func_link_follows_symlink=yes -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - rm -f conftest.file conftest.sym conftest.hard -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_link_follows_symlink" >&5 -$as_echo "$gl_cv_func_link_follows_symlink" >&6; } - case $gl_cv_func_link_follows_symlink in - yes) gl_link_follows_symlinks=1 ;; - no) ;; # already defaulted to 0 - *) gl_link_follows_symlinks=-2 ;; - esac - fi fi -cat >>confdefs.h <<_ACEOF -#define LINK_FOLLOWS_SYMLINKS $gl_link_follows_symlinks -_ACEOF - - - # Code from module linkat: + if test -n "$FNMATCH_H"; then @@ -33523,25 +19284,54 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" +cat >>confdefs.h <<_ACEOF +#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch +_ACEOF + ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include +" +if test "x$ac_cv_have_decl_isblank" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ISBLANK $ac_have_decl +_ACEOF - if test $ac_cv_func_linkat = no; then - HAVE_LINKAT=0 + fi + fp_headers=' +# include +# if HAVE_STDIO_EXT_H +# include +# endif +' + ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers +" +if test "x$ac_cv_have_decl___fpending" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL___FPENDING $ac_have_decl +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext" + if test $ac_cv_func___fpending = no; then @@ -33550,212 +19340,120 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext" - else - { $as_echo "$as_me:$LINENO: checking whether linkat(,AT_SYMLINK_FOLLOW) works" >&5 -$as_echo_n "checking whether linkat(,AT_SYMLINK_FOLLOW) works... " >&6; } -if test "${gl_cv_func_linkat_follow+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -rf conftest.f1 conftest.f2 - touch conftest.f1 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to determine the number of pending output bytes on a stream" >&5 +$as_echo_n "checking how to determine the number of pending output bytes on a stream... " >&6; } +if ${ac_cv_sys_pending_output_n_bytes+:} false; then : + $as_echo_n "(cached) " >&6 +else + + for ac_expr in \ + \ + '# glibc2' \ + 'fp->_IO_write_ptr - fp->_IO_write_base' \ + \ + '# traditional Unix' \ + 'fp->_ptr - fp->_base' \ + \ + '# BSD' \ + 'fp->_p - fp->_bf._base' \ + \ + '# SCO, Unixware' \ + '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ + \ + '# QNX' \ + '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ + \ + '# old glibc?' \ + 'fp->__bufp - fp->__buffer' \ + \ + '# old glibc iostream?' \ + 'fp->_pptr - fp->_pbase' \ + \ + '# emx+gcc' \ + 'fp->_ptr - fp->_buffer' \ + \ + '# Minix' \ + 'fp->_ptr - fp->_buf' \ + \ + '# Plan9' \ + 'fp->wp - fp->buf' \ + \ + '# VMS' \ + '(*fp)->_ptr - (*fp)->_base' \ + \ + '# e.g., DGUX R4.11; the info is not available' \ + 1 \ + ; do + + # Skip each embedded comment. + case "$ac_expr" in '#'*) continue;; esac + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -#ifdef __linux__ -/* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW - until 2.6.18. Always replace linkat to support older kernels. */ -choke me -#endif - +#include int main () { -return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2", - AT_SYMLINK_FOLLOW); +FILE *fp = stdin; (void) ($ac_expr); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_linkat_follow=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : + fp_done=yes - gl_cv_func_linkat_follow="need runtime check" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - rm -rf conftest.f1 conftest.f2 -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_linkat_follow" >&5 -$as_echo "$gl_cv_func_linkat_follow" >&6; } - { $as_echo "$as_me:$LINENO: checking whether linkat handles trailing slash correctly" >&5 -$as_echo_n "checking whether linkat handles trailing slash correctly... " >&6; } -if test "${gl_cv_func_linkat_slash+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -rf conftest.a conftest.b conftest.c conftest.d - if test "$cross_compiling" = yes; then - # Guess yes on glibc systems, no otherwise. - case "$host_os" in - *-gnu*) gl_cv_func_linkat_slash="guessing yes";; - *) gl_cv_func_linkat_slash="guessing no";; - esac - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - #include - #include + test "$fp_done" = yes && break + done -int -main () -{ -int result; - int fd; - /* Create a regular file. */ - fd = open ("conftest.a", O_CREAT | O_EXCL | O_WRONLY, 0600); - if (fd < 0) - return 1; - if (write (fd, "hello", 5) < 5) - return 2; - if (close (fd) < 0) - return 3; - /* Test whether hard links are supported on the current - device. */ - if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.b", - AT_SYMLINK_FOLLOW) < 0) - return 0; - result = 0; - /* Test whether a trailing "/" is treated like "/.". */ - if (linkat (AT_FDCWD, "conftest.a/", AT_FDCWD, "conftest.c", - AT_SYMLINK_FOLLOW) == 0) - result |= 4; - if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/", - AT_SYMLINK_FOLLOW) == 0) - result |= 8; - return result; + ac_cv_sys_pending_output_n_bytes=$ac_expr - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_linkat_slash=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_linkat_slash=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_pending_output_n_bytes" >&5 +$as_echo "$ac_cv_sys_pending_output_n_bytes" >&6; } - - rm -rf conftest.a conftest.b conftest.c conftest.d -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_linkat_slash" >&5 -$as_echo "$gl_cv_func_linkat_slash" >&6; } - case "$gl_cv_func_linkat_slash" in - *yes) gl_linkat_slash_bug=0 ;; - *) gl_linkat_slash_bug=1 ;; - esac - if test "$gl_cv_func_linkat_follow" != yes \ - || test $gl_linkat_slash_bug = 1; then - REPLACE_LINKAT=1 +cat >>confdefs.h <<_ACEOF +#define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes +_ACEOF + fi + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + REPLACE_FSEEK=1 + fi + if test $REPLACE_FSEEK = 1; then - gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext" -cat >>confdefs.h <<_ACEOF -#define LINKAT_TRAILING_SLASH_BUG $gl_linkat_slash_bug -_ACEOF - fi - fi + gl_LIBOBJS="$gl_LIBOBJS fseek.$ac_objext" - GNULIB_LINKAT=1 + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_LINKAT 1 -_ACEOF + GNULIB_FSEEK=1 - # Code from module localcharset: +$as_echo "#define GNULIB_TEST_FSEEK 1" >>confdefs.h @@ -33763,423 +19461,332 @@ _ACEOF - LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" - # Code from module lseek: - { $as_echo "$as_me:$LINENO: checking whether lseek detects pipes" >&5 -$as_echo_n "checking whether lseek detects pipes... " >&6; } -if test "${gl_cv_func_lseek_pipe+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 +$as_echo_n "checking for fseeko... " >&6; } +if ${gl_cv_func_fseeko+:} false; then : $as_echo_n "(cached) " >&6 else - if test $cross_compiling = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include -#include /* for off_t */ -#include /* for SEEK_CUR */ -#include int main () { - - /* Exit with success only if stdin is seekable. */ - return lseek (0, (off_t)0, SEEK_CUR) < 0; - +fseeko (stdin, 0, 0); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && test 1 = "`echo hi \ - | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_fseeko=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_fseeko=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - gl_cv_func_lseek_pipe=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 +$as_echo "$gl_cv_func_fseeko" >&6; } -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ -/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ - Choke me. -#endif + if test $ac_cv_have_decl_fseeko = no; then + HAVE_DECL_FSEEKO=0 + fi + + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FSEEKO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FSEEKO=1 + fi + + fi + + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" + + + for ac_func in _fseeki64 +do : + ac_fn_c_check_func "$LINENO" "_fseeki64" "ac_cv_func__fseeki64" +if test "x$ac_cv_func__fseeki64" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__FSEEKI64 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_lseek_pipe=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_cv_func_lseek_pipe=no fi +done + + + fi + + + -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_lseek_pipe" >&5 -$as_echo "$gl_cv_func_lseek_pipe" >&6; } - if test $gl_cv_func_lseek_pipe = no; then + GNULIB_FSEEKO=1 +$as_echo "#define GNULIB_TEST_FSEEKO 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" - REPLACE_LSEEK=1 -cat >>confdefs.h <<\_ACEOF -#define LSEEK_PIPE_BROKEN 1 -_ACEOF + + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FSTAT=1 + fi + if test $WINDOWS_64_BIT_ST_SIZE = 1; then + REPLACE_FSTAT=1 fi - GNULIB_LSEEK=1 + + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 + fi + + if test $HAVE_FCHDIR = 0; then + case "$gl_cv_func_open_directory_works" in + *yes) ;; + *) + REPLACE_FSTAT=1 + ;; + esac + fi + if test $REPLACE_FSTAT = 1; then -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_LSEEK 1 -_ACEOF - # Code from module lstat: + gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext" + : + fi - if test $ac_cv_func_lstat = yes; then - if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then - REPLACE_LSTAT=1 - fi - # Prerequisites of lib/lstat.c. - else - HAVE_LSTAT=0 - fi + GNULIB_FSTAT=1 - GNULIB_LSTAT=1 +$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_LSTAT 1 -_ACEOF - # Code from module malloc-gnu: -for ac_header in stdlib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + + if test $ac_cv_func_fstatat = no; then + HAVE_FSTATAT=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fstatat (..., 0) works" >&5 +$as_echo_n "checking whether fstatat (..., 0) works... " >&6; } +if ${gl_cv_func_fstatat_zero_flag+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix*) gl_cv_func_fstatat_zero_flag="guessing no";; + *) gl_cv_func_fstatat_zero_flag="guessing yes";; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + + #include + #include + int + main (void) + { + struct stat a; + return fstatat (AT_FDCWD, ".", &a, 0) != 0; + } + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fstatat_zero_flag=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_fstatat_zero_flag=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + - ac_header_compiler=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fstatat_zero_flag" >&5 +$as_echo "$gl_cv_func_fstatat_zero_flag" >&6; } -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in + *yes+*yes) ;; + *) REPLACE_FSTATAT=1 + case $gl_cv_func_fstatat_zero_flag in + *yes) -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define HAVE_WORKING_FSTATAT_ZERO_FLAG 1" >>confdefs.h - ac_header_preproc=no -fi + ;; + esac + ;; + esac + fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } + if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done -{ $as_echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then + + + + gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext" + + fi + + + + + + GNULIB_FSTATAT=1 + + + + + +$as_echo "#define GNULIB_TEST_FSTATAT 1" >>confdefs.h + + + + + + + + if test $ac_cv_func_futimens = no; then + HAVE_FUTIMENS=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether futimens works" >&5 +$as_echo_n "checking whether futimens works... " >&6; } +if ${gl_cv_func_futimens_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_malloc_0_nonnull=no + if test "$cross_compiling" = yes; then : + gl_cv_func_futimens_works="guessing no" else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include + +int +main () +{ +struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } }; + int fd = creat ("conftest.file", 0600); + struct stat st; + if (fd < 0) return 1; + errno = 0; + if (futimens (AT_FDCWD, NULL) == 0) return 2; + if (errno != EBADF) return 3; + if (futimens (fd, ts)) return 4; + sleep (1); + ts[0].tv_nsec = UTIME_NOW; + ts[1].tv_nsec = UTIME_OMIT; + if (futimens (fd, ts)) return 5; + if (fstat (fd, &st)) return 6; + if (st.st_ctime < st.st_atime) return 7; + + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *malloc (); + +#ifdef __linux__ +/* The Linux kernel added futimens in 2.6.22, but has bugs with UTIME_OMIT + in several file systems as recently as 2.6.32. Always replace futimens + to support older kernels. */ +choke me #endif int main () { -return ! malloc (0); + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_malloc_0_nonnull=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_futimens_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no + gl_cv_func_futimens_works="needs runtime check" fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + gl_cv_func_futimens_works=no fi - - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC_GNU 1 -_ACEOF - -else - cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC_GNU 0 -_ACEOF + rm -f conftest.file +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimens_works" >&5 +$as_echo "$gl_cv_func_futimens_works" >&6; } + if test "$gl_cv_func_futimens_works" != yes; then + REPLACE_FUTIMENS=1 + fi + fi + if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then @@ -34188,828 +19795,626 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS futimens.$ac_objext" - REPLACE_MALLOC=1 + fi -fi + GNULIB_FUTIMENS=1 -cat >>confdefs.h <<_ACEOF -#define GNULIB_MALLOC_GNU 1 -_ACEOF - # Code from module malloc-posix: +$as_echo "#define GNULIB_TEST_FUTIMENS 1" >>confdefs.h - if test $gl_cv_func_malloc_posix = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC_POSIX 1 -_ACEOF - else + gl_abort_bug=no + case "$host_os" in + mingw*) + gl_cv_func_getcwd_path_max=yes + ;; + *) - gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd handles long file names properly" >&5 +$as_echo_n "checking whether getcwd handles long file names properly... " >&6; } +if ${gl_cv_func_getcwd_path_max+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Arrange for deletion of the temporary directory this test creates. + ac_clean_files="$ac_clean_files confdir3" + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; + *) gl_cv_func_getcwd_path_max=no;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - REPLACE_MALLOC=1 +#include +#include +#if HAVE_UNISTD_H +# include +#else +# include +#endif +#include +#include +#include +#include +#include - fi +/* Arrange to define PATH_MAX, like "pathmax.h" does. */ +#if HAVE_UNISTD_H +# include +#endif +#include +#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +# include +#endif +#if !defined PATH_MAX && defined MAXPATHLEN +# define PATH_MAX MAXPATHLEN +#endif +#ifdef __hpux +# undef PATH_MAX +# define PATH_MAX 1024 +#endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# undef PATH_MAX +# define PATH_MAX 260 +#endif +#ifndef AT_FDCWD +# define AT_FDCWD 0 +#endif +#ifdef ENAMETOOLONG +# define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) +#else +# define is_ENAMETOOLONG(x) 0 +#endif - GNULIB_MALLOC_POSIX=1 +/* Use the getcwd function, not any macro. */ +#undef getcwd +/* Don't get link errors because mkdir is redefined to rpl_mkdir. */ +#undef mkdir +#ifndef S_IRWXU +# define S_IRWXU 0700 +#endif -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MALLOC_POSIX 1 -_ACEOF +/* The length of this name must be 8. */ +#define DIR_NAME "confdir3" +#define DIR_NAME_LEN 8 +#define DIR_NAME_SIZE (DIR_NAME_LEN + 1) +/* The length of "../". */ +#define DOTDOTSLASH_LEN 3 +/* Leftover bytes in the buffer, to work around library or OS bugs. */ +#define BUF_SLOP 20 - # Code from module malloca: +int +main () +{ +#ifndef PATH_MAX + /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- + at least not on a local file system. And if we were to start worrying + about remote file systems, we'd have to enable the wrapper function + all of the time, just to be safe. That's not worth the cost. */ + exit (0); +#elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ + - DIR_NAME_SIZE - BUF_SLOP) \ + <= PATH_MAX) + /* FIXME: Assuming there's a system for which this is true, + this should be done in a compile test. */ + exit (0); +#else + char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) + + DIR_NAME_SIZE + BUF_SLOP]; + char *cwd = getcwd (buf, PATH_MAX); + size_t initial_cwd_len; + size_t cwd_len; + int fail = 0; + size_t n_chdirs = 0; + if (cwd == NULL) + exit (10); + cwd_len = initial_cwd_len = strlen (cwd); + while (1) + { + size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); + char *c = NULL; - # Code from module mbchar: + cwd_len += DIR_NAME_SIZE; + /* If mkdir or chdir fails, it could be that this system cannot create + any file with an absolute name longer than PATH_MAX, such as cygwin. + If so, leave fail as 0, because the current working directory can't + be too long for getcwd if it can't even be created. For other + errors, be pessimistic and consider that as a failure, too. */ + if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) + { + if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) + fail = 20; + break; + } + if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) + { + c = getcwd (buf, PATH_MAX); + if (!c && errno == ENOENT) + { + fail = 11; + break; + } + if (c) + { + fail = 31; + break; + } + if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) + { + fail = 21; + break; + } + } + if (dotdot_max <= cwd_len - initial_cwd_len) + { + if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) + break; + c = getcwd (buf, cwd_len + 1); + if (!c) + { + if (! (errno == ERANGE || errno == ENOENT + || is_ENAMETOOLONG (errno))) + { + fail = 22; + break; + } + if (AT_FDCWD || errno == ERANGE || errno == ENOENT) + { + fail = 12; + break; + } + } + } + if (c && strlen (c) != cwd_len) + { + fail = 23; + break; + } + ++n_chdirs; + } - # Code from module mbrtowc: + /* Leaving behind such a deep directory is not polite. + So clean up here, right away, even though the driving + shell script would also clean up. */ + { + size_t i; + /* Try rmdir first, in case the chdir failed. */ + rmdir (DIR_NAME); + for (i = 0; i <= n_chdirs; i++) + { + if (chdir ("..") < 0) + break; + if (rmdir (DIR_NAME) != 0) + break; + } + } + exit (fail); +#endif +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getcwd_path_max=yes +else + case $? in + 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; + 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; + *) gl_cv_func_getcwd_path_max=no;; + esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_path_max" >&5 +$as_echo "$gl_cv_func_getcwd_path_max" >&6; } + case "$gl_cv_func_getcwd_null" in + *yes) + for ac_func in getpagesize +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF +fi +done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5 +$as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; } +if ${gl_cv_func_getcwd_abort_bug+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Remove any remnants of a previous test. + rm -rf confdir-14B--- + # Arrange for deletion of the temporary directory this test creates. + ac_clean_files="$ac_clean_files confdir-14B---" + if test "$cross_compiling" = yes; then : + gl_cv_func_getcwd_abort_bug=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif +#include +#include +/* Arrange to define PATH_MAX, like "pathmax.h" does. */ +#if HAVE_UNISTD_H +# include +#endif +#include +#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +# include +#endif +#if !defined PATH_MAX && defined MAXPATHLEN +# define PATH_MAX MAXPATHLEN +#endif +#ifdef __hpux +# undef PATH_MAX +# define PATH_MAX 1024 +#endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# undef PATH_MAX +# define PATH_MAX 260 +#endif +/* Don't get link errors because mkdir is redefined to rpl_mkdir. */ +#undef mkdir +#ifndef S_IRWXU +# define S_IRWXU 0700 +#endif +/* FIXME: skip the run-test altogether on systems without getpagesize. */ +#if ! HAVE_GETPAGESIZE +# define getpagesize() 0 +#endif - if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then +/* This size is chosen to be larger than PATH_MAX (4k), yet smaller than + the 16kB pagesize on ia64 linux. Those conditions make the code below + trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ +#define TARGET_LEN (5 * 1024) +int +main () +{ + char *cwd; + size_t initial_cwd_len; + int fail = 0; + /* The bug is triggered when PATH_MAX < getpagesize (), so skip + this relatively expensive and invasive test if that's not true. */ +#ifdef PATH_MAX + int bug_possible = PATH_MAX < getpagesize (); +#else + int bug_possible = 0; +#endif + if (! bug_possible) + return 0; - { $as_echo "$as_me:$LINENO: checking whether mbrtowc handles incomplete characters" >&5 -$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } -if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then - $as_echo_n "(cached) " >&6 -else + cwd = getcwd (NULL, 0); + if (cwd == NULL) + return 2; - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + initial_cwd_len = strlen (cwd); + free (cwd); -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (1) { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; + static char const dir_name[] = "confdir-14B---"; + size_t desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) + / sizeof dir_name); + size_t d; + for (d = 0; d < desired_depth; d++) + { + if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) + { + if (! (errno == ERANGE || errno == ENAMETOOLONG + || errno == ENOENT)) + fail = 3; /* Unable to construct deep hierarchy. */ + break; + } + } - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 1; + /* If libc has the bug in question, this invocation of getcwd + results in a failed assertion. */ + cwd = getcwd (NULL, 0); + if (cwd == NULL) + fail = 4; /* getcwd didn't assert, but it failed for a long name + where the answer could have been learned. */ + free (cwd); + + /* Call rmdir first, in case the above chdir failed. */ + rmdir (dir_name); + while (0 < d--) + { + if (chdir ("..") < 0) + { + fail = 5; + break; + } + rmdir (dir_name); + } } - return 0; + + return fail; } + _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_incomplete_state=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getcwd_abort_bug=no else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ret=$? + if test $ret -ge 128 || test $ret = 4; then + gl_cv_func_getcwd_abort_bug=yes + else + gl_cv_func_getcwd_abort_bug=no + fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + -( exit $ac_status ) -gl_cv_func_mbrtowc_incomplete_state=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_abort_bug" >&5 +$as_echo "$gl_cv_func_getcwd_abort_bug" >&6; } + if test $gl_cv_func_getcwd_abort_bug = yes; then : + gl_abort_bug=yes fi + ;; + esac + ;; + esac + case "$gl_cv_func_getcwd_path_max" in + "no"|"no, it has the AIX bug") ;; + *) - fi +$as_echo "#define HAVE_MINIMALLY_WORKING_GETCWD 1" >>confdefs.h -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } + ;; + esac + case "$gl_cv_func_getcwd_path_max" in + "no, but it is partly working") +$as_echo "#define HAVE_PARTLY_WORKING_GETCWD 1" >>confdefs.h + ;; + esac + if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ + || test $gl_cv_func_getcwd_posix_signature != yes \ + || test "$gl_cv_func_getcwd_path_max" != yes \ + || test $gl_abort_bug = yes; then + REPLACE_GETCWD=1 + fi - { $as_echo "$as_me:$LINENO: checking whether mbrtowc works as well as mbtowc" >&5 -$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then - $as_echo_n "(cached) " >&6 -else + if test $REPLACE_GETCWD = 1; then - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) - return 1; - } - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_sanitycheck=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_mbrtowc_sanitycheck=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - if test $REPLACE_MBSTATE_T = 1; then + gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext" + - : + + + : fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_GETCWD 1 +_ACEOF - if test $ac_cv_func_mbrtowc = no; then - HAVE_MBRTOWC=0 - else - if test $REPLACE_MBSTATE_T = 1; then - REPLACE_MBRTOWC=1 - else + GNULIB_GETCWD=1 - { $as_echo "$as_me:$LINENO: checking whether mbrtowc handles a NULL pwc argument" >&5 -$as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; } -if test "${gl_cv_func_mbrtowc_null_arg1+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on Solaris. - solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;; - esac - if test $LOCALE_FR_UTF8 != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - int result = 0; - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - char input[] = "\303\237er"; - mbstate_t state; - wchar_t wc; - size_t ret; +$as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h - memset (&state, '\0', sizeof (mbstate_t)); - wc = (wchar_t) 0xBADFACE; - ret = mbrtowc (&wc, input, 5, &state); - if (ret != 2) - result |= 1; - if (!mbsinit (&state)) - result |= 2; - memset (&state, '\0', sizeof (mbstate_t)); - ret = mbrtowc (NULL, input, 5, &state); - if (ret != 2) /* Solaris 7 fails here: ret is -1. */ - result |= 4; - if (!mbsinit (&state)) - result |= 8; - } - return result; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_null_arg1=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_mbrtowc_null_arg1=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_null_arg1" >&5 -$as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; } + case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in + *yes,yes) ;; + *) + REPLACE_GETCWD=1 + ;; + esac + if test $REPLACE_GETCWD = 1; then - { $as_echo "$as_me:$LINENO: checking whether mbrtowc handles a NULL string argument" >&5 -$as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; } -if test "${gl_cv_func_mbrtowc_null_arg2+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on OSF/1. - osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;; - esac - if test $LOCALE_FR_UTF8 != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - mbstate_t state; - wchar_t wc; - int ret; - memset (&state, '\0', sizeof (mbstate_t)); - wc = (wchar_t) 0xBADFACE; - mbrtowc (&wc, NULL, 5, &state); - /* Check that wc was not modified. */ - if (wc != (wchar_t) 0xBADFACE) - return 1; - } - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_null_arg2=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_mbrtowc_null_arg2=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_null_arg2" >&5 -$as_echo "$gl_cv_func_mbrtowc_null_arg2" >&6; } + gl_LIBOBJS="$gl_LIBOBJS getcwd-lgpl.$ac_objext" + fi - { $as_echo "$as_me:$LINENO: checking whether mbrtowc has a correct return value" >&5 -$as_echo_n "checking whether mbrtowc has a correct return value... " >&6; } -if test "${gl_cv_func_mbrtowc_retval+set}" = set; then - $as_echo_n "(cached) " >&6 -else + GNULIB_GETCWD=1 - case "$host_os" in - # Guess no on HP-UX, Solaris, native Windows. - hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_retval="guessing yes" ;; - esac - if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ - || { case "$host_os" in mingw*) true;; *) false;; esac; }; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - int result = 0; - int found_some_locale = 0; - /* This fails on Solaris. */ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - char input[] = "B\303\274\303\237er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - { - input[1] = '\0'; - if (mbrtowc (&wc, input + 2, 5, &state) != 1) - result |= 1; - } - found_some_locale = 1; - } - /* This fails on HP-UX 11.11. */ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - { - input[1] = '\0'; - if (mbrtowc (&wc, input + 2, 5, &state) != 2) - result |= 2; - } - found_some_locale = 1; - } - /* This fails on native Windows. */ - if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL) - { - char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) - { - input[3] = '\0'; - if (mbrtowc (&wc, input + 4, 4, &state) != 1) - result |= 4; - } - found_some_locale = 1; - } - if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL) - { - char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ - mbstate_t state; - wchar_t wc; +$as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) - { - input[3] = '\0'; - if (mbrtowc (&wc, input + 4, 4, &state) != 1) - result |= 8; - } - found_some_locale = 1; - } - if (setlocale (LC_ALL, "Chinese_China.936") != NULL) - { - char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) - { - input[3] = '\0'; - if (mbrtowc (&wc, input + 4, 4, &state) != 1) - result |= 16; - } - found_some_locale = 1; - } - return (found_some_locale ? result : 77); -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_retval=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -if test $? != 77; then - gl_cv_func_mbrtowc_retval=no - fi -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_retval" >&5 -$as_echo "$gl_cv_func_mbrtowc_retval" >&6; } - { $as_echo "$as_me:$LINENO: checking whether mbrtowc returns 0 when parsing a NUL character" >&5 -$as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; } -if test "${gl_cv_func_mbrtowc_nul_retval+set}" = set; then + if test $ac_cv_func_getdelim = yes; then + HAVE_GETDELIM=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getdelim function" >&5 +$as_echo_n "checking for working getdelim function... " >&6; } +if ${gl_cv_func_working_getdelim+:} false; then : $as_echo_n "(cached) " >&6 else + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) && !defined __UCLIBC__ + Lucky GNU user + #endif +#endif - case "$host_os" in - # Guess no on Solaris 8 and 9. - solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + gl_cv_func_working_getdelim="guessing yes" +else + gl_cv_func_working_getdelim="guessing no" +fi +rm -f conftest* + + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8 and 9. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) +# include +# include +# include + int main () { - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, "", 1, &state) != 0) + FILE *in = fopen ("./conftest.data", "r"); + if (!in) return 1; + { + /* Test result for a NULL buffer and a zero size. + Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len = getdelim (&line, &siz, '\n', in); + if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) + return 2; + } + { + /* Test result for a NULL buffer and a non-zero size. + This crashes on FreeBSD 8.0. */ + char *line = NULL; + size_t siz = (size_t)(~0) / 4; + if (getdelim (&line, &siz, '\n', in) == -1) + return 3; + } + return 0; } - return 0; -} + _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_nul_retval=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_getdelim=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mbrtowc_nul_retval=no + gl_cv_func_working_getdelim=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_nul_retval" >&5 -$as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; } - - case "$gl_cv_func_mbrtowc_null_arg1" in - *yes) ;; - *) -cat >>confdefs.h <<\_ACEOF -#define MBRTOWC_NULL_ARG1_BUG 1 -_ACEOF - - REPLACE_MBRTOWC=1 - ;; - esac - case "$gl_cv_func_mbrtowc_null_arg2" in - *yes) ;; - *) -cat >>confdefs.h <<\_ACEOF -#define MBRTOWC_NULL_ARG2_BUG 1 -_ACEOF - - REPLACE_MBRTOWC=1 - ;; - esac - case "$gl_cv_func_mbrtowc_retval" in - *yes) ;; - *) -cat >>confdefs.h <<\_ACEOF -#define MBRTOWC_RETVAL_BUG 1 -_ACEOF - - REPLACE_MBRTOWC=1 - ;; - esac - case "$gl_cv_func_mbrtowc_nul_retval" in - *yes) ;; - *) -cat >>confdefs.h <<\_ACEOF -#define MBRTOWC_NUL_RETVAL_BUG 1 -_ACEOF - - REPLACE_MBRTOWC=1 - ;; - esac - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 +$as_echo "$gl_cv_func_working_getdelim" >&6; } + case "$gl_cv_func_working_getdelim" in + *no) + REPLACE_GETDELIM=1 + ;; + esac + else + HAVE_GETDELIM=0 fi - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - : + if test $ac_cv_have_decl_getdelim = no; then + HAVE_DECL_GETDELIM=0 + fi + if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then @@ -35018,43 +20423,57 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" - : + for ac_func in flockfile funlockfile +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - fi +fi +done + ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl +_ACEOF - GNULIB_MBRTOWC=1 + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MBRTOWC 1 -_ACEOF + GNULIB_GETDELIM=1 - # Code from module mbscasecmp: - GNULIB_MBSCASECMP=1 +$as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MBSCASECMP 1 -_ACEOF - # Code from module mbsinit: + if test $ac_cv_func_getdtablesize != yes; then + HAVE_GETDTABLESIZE=0 + fi + if test $HAVE_GETDTABLESIZE = 0; then @@ -35063,250 +20482,126 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS getdtablesize.$ac_objext" + : + fi + GNULIB_GETDTABLESIZE=1 - if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then +$as_echo "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h - { $as_echo "$as_me:$LINENO: checking whether mbrtowc handles incomplete characters" >&5 -$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } -if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 1; - } - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_incomplete_state=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi + gl_getline_needs_run_time_check=no + ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" +if test "x$ac_cv_func_getline" = xyes; then : + gl_getline_needs_run_time_check=yes +else + am_cv_func_working_getline=no fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - + if test $gl_getline_needs_run_time_check = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5 +$as_echo_n "checking for working getline function... " >&6; } +if ${am_cv_func_working_getline+:} false; then : + $as_echo_n "(cached) " >&6 +else + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) && !defined __UCLIBC__ + Lucky GNU user + #endif +#endif - { $as_echo "$as_me:$LINENO: checking whether mbrtowc works as well as mbtowc" >&5 -$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then - $as_echo_n "(cached) " >&6 +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + am_cv_func_working_getline="guessing yes" else + am_cv_func_working_getline="guessing no" +fi +rm -f conftest* + - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then - : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) +# include +# include +# include + int main () { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) + FILE *in = fopen ("./conftest.data", "r"); + if (!in) return 1; + { + /* Test result for a NULL buffer and a zero size. + Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len = getline (&line, &siz, in); + if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) + return 2; + } + { + /* Test result for a NULL buffer and a non-zero size. + This crashes on FreeBSD 8.0. */ + char *line = NULL; + size_t siz = (size_t)(~0) / 4; + if (getline (&line, &siz, in) == -1) + return 3; + } + return 0; } - return 0; -} + _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_sanitycheck=yes +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_working_getline=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mbrtowc_sanitycheck=no + am_cv_func_working_getline=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - if test $REPLACE_MBSTATE_T = 1; then - - : - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 +$as_echo "$am_cv_func_working_getline" >&6; } fi - - - - - - - - if test $ac_cv_func_mbsinit = no; then - HAVE_MBSINIT=0 - else - if test $REPLACE_MBSTATE_T = 1; then - REPLACE_MBSINIT=1 - else - case "$host_os" in - mingw*) REPLACE_MBSINIT=1 ;; - esac - fi + if test $ac_cv_have_decl_getline = no; then + HAVE_DECL_GETLINE=0 fi - if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then - : + case "$am_cv_func_working_getline" in + *no) + REPLACE_GETLINE=1 + ;; + esac + if test $REPLACE_GETLINE = 1; then @@ -35315,7 +20610,7 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - gl_LIBOBJS="$gl_LIBOBJS mbsinit.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" : @@ -35325,25 +20620,14 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - GNULIB_MBSINIT=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MBSINIT 1 -_ACEOF - - - - # Code from module mbsrtowcs: - - + GNULIB_GETLINE=1 +$as_echo "#define GNULIB_TEST_GETLINE 1" >>confdefs.h @@ -35352,387 +20636,56 @@ _ACEOF + if test $REPLACE_GETOPT = 1; then - if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then - - - - { $as_echo "$as_me:$LINENO: checking whether mbrtowc handles incomplete characters" >&5 -$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } -if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 1; - } - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_incomplete_state=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } + gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - { $as_echo "$as_me:$LINENO: checking whether mbrtowc works as well as mbtowc" >&5 -$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) - return 1; - } - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbrtowc_sanitycheck=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_mbrtowc_sanitycheck=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - fi + gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - if test $REPLACE_MBSTATE_T = 1; then - : + GNULIB_GL_UNISTD_H_GETOPT=1 fi +$as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h - if test $ac_cv_func_mbsrtowcs = no; then - HAVE_MBSRTOWCS=0 - else - if test $REPLACE_MBSTATE_T = 1; then - REPLACE_MBSRTOWCS=1 - else - - - - - - - { $as_echo "$as_me:$LINENO: checking whether mbsrtowcs works" >&5 -$as_echo_n "checking whether mbsrtowcs works... " >&6; } -if test "${gl_cv_func_mbsrtowcs_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - - case "$host_os" in - # Guess no on HP-UX, Solaris, mingw. - hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; - esac - if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int main () -{ - int result = 0; - /* Test whether the function supports a NULL destination argument. - This fails on native Windows. */ - if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) - { - const char input[] = "\337er"; - const char *src = input; - mbstate_t state; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbsrtowcs (NULL, &src, 1, &state) != 3 - || src != input) - result |= 1; - } - /* Test whether the function works when started with a conversion state - in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - const char input[] = "B\303\274\303\237er"; - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) - if (!mbsinit (&state)) - { - const char *src = input + 2; - if (mbsrtowcs (NULL, &src, 10, &state) != 4) - result |= 2; - } - } - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "<\306\374\313\334\270\354>"; - mbstate_t state; - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (NULL, input + 3, 1, &state) == (size_t)(-2)) - if (!mbsinit (&state)) - { - const char *src = input + 4; - if (mbsrtowcs (NULL, &src, 10, &state) != 3) - result |= 4; - } - } - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - const char input[] = "B\250\271\201\060\211\070er"; - mbstate_t state; + REPLACE_GETOPT=1 - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) - if (!mbsinit (&state)) - { - const char *src = input + 2; - if (mbsrtowcs (NULL, &src, 10, &state) != 4) - result |= 8; - } - } - return result; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mbsrtowcs_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test $REPLACE_GETOPT = 1; then -( exit $ac_status ) -gl_cv_func_mbsrtowcs_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + GETOPT_H=getopt.h +$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h - fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbsrtowcs_works" >&5 -$as_echo "$gl_cv_func_mbsrtowcs_works" >&6; } - case "$gl_cv_func_mbsrtowcs_works" in - *yes) ;; - *) REPLACE_MBSRTOWCS=1 ;; - esac - fi fi - if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then - : + if test $REPLACE_GETOPT = 1; then @@ -35741,8 +20694,8 @@ $as_echo "$gl_cv_func_mbsrtowcs_works" >&6; } + gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS mbsrtowcs.$ac_objext" @@ -35751,370 +20704,660 @@ $as_echo "$gl_cv_func_mbsrtowcs_works" >&6; } + gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS mbsrtowcs-state.$ac_objext" - : + GNULIB_GL_UNISTD_H_GETOPT=1 fi - GNULIB_MBSRTOWCS=1 - + for ac_func in getpagesize +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF +fi +done -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MBSRTOWCS 1 + if test $ac_cv_func_getpagesize = no; then + HAVE_GETPAGESIZE=0 + for ac_header in OS.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "OS.h" "ac_cv_header_OS_h" "$ac_includes_default" +if test "x$ac_cv_header_OS_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OS_H 1 _ACEOF +fi +done - # Code from module mbtowc: + if test $ac_cv_header_OS_h = yes; then + HAVE_OS_H=1 + fi + for ac_header in sys/param.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_param_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_PARAM_H 1 +_ACEOF +fi +done - if false; then - REPLACE_MBTOWC=1 + if test $ac_cv_header_sys_param_h = yes; then + HAVE_SYS_PARAM_H=1 + fi fi - if test $REPLACE_MBTOWC = 1; then + case "$host_os" in + mingw*) + REPLACE_GETPAGESIZE=1 + ;; + esac + ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default" +if test "x$ac_cv_have_decl_getpagesize" = xyes; then : +else + HAVE_DECL_GETPAGESIZE=0 +fi + if test $REPLACE_GETPAGESIZE = 1; then - gl_LIBOBJS="$gl_LIBOBJS mbtowc.$ac_objext" - : + + gl_LIBOBJS="$gl_LIBOBJS getpagesize.$ac_objext" fi - GNULIB_MBTOWC=1 + GNULIB_GETPAGESIZE=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MBTOWC 1 -_ACEOF - # Code from module mbuiter: +$as_echo "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h + - : - # Code from module memchr: - GNULIB_MEMCHR=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MEMCHR 1 -_ACEOF - # Code from module mempcpy: + gl_gettimeofday_timezone=void + if test $ac_cv_func_gettimeofday != yes; then + HAVE_GETTIMEOFDAY=0 + else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 +$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } +if ${gl_cv_func_gettimeofday_clobber+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + # When cross-compiling: + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + #include +int +main () +{ + time_t t = 0; + struct tm *lt; + struct tm saved_lt; + struct timeval tv; + lt = localtime (&t); + saved_lt = *lt; + gettimeofday (&tv, NULL); + return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_gettimeofday_clobber=no +else + gl_cv_func_gettimeofday_clobber=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 +$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } + case "$gl_cv_func_gettimeofday_clobber" in + *yes) + REPLACE_GETTIMEOFDAY=1 +$as_echo "#define gmtime rpl_gmtime" >>confdefs.h +$as_echo "#define localtime rpl_localtime" >>confdefs.h -for ac_func in mempcpy -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif +$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h -#undef $ac_func + ;; + esac -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 +$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } +if ${gl_cv_func_gettimeofday_posix_signature+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct timeval c; + int gettimeofday (struct timeval *restrict, void *restrict); int main () { -return $ac_func (); +/* glibc uses struct timezone * rather than the POSIX void * + if _GNU_SOURCE is defined. However, since the only portable + use of gettimeofday uses NULL as the second parameter, and + since the glibc definition is actually more typesafe, it is + not worth wrapping this to get a compliant signature. */ + int (*f) (struct timeval *restrict, void *restrict) + = gettimeofday; + int x = f (&c, 0); + return !(x | c.tv_sec | c.tv_usec); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int gettimeofday (struct timeval *restrict, struct timezone *restrict); - eval "$as_ac_var=no" -fi +int +main () +{ -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=almost +else + gl_cv_func_gettimeofday_posix_signature=no fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 +$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } + if test $gl_cv_func_gettimeofday_posix_signature = almost; then + gl_gettimeofday_timezone='struct timezone' + elif test $gl_cv_func_gettimeofday_posix_signature != yes; then + REPLACE_GETTIMEOFDAY=1 + fi + if test $REPLACE_STRUCT_TIMEVAL = 1; then + REPLACE_GETTIMEOFDAY=1 + fi + + fi + +cat >>confdefs.h <<_ACEOF +#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone _ACEOF -else - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" + + + for ac_header in sys/timeb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timeb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_TIMEB_H 1 +_ACEOF fi + done + for ac_func in _ftime +do : + ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" +if test "x$ac_cv_func__ftime" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__FTIME 1 +_ACEOF - if test $ac_cv_func_mempcpy = no; then - HAVE_MEMPCPY=0 +fi +done - : fi - GNULIB_MEMPCPY=1 + GNULIB_GETTIMEOFDAY=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MEMPCPY 1 -_ACEOF - # Code from module memrchr: +$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h + : - if test $ac_cv_have_decl_memrchr = no; then - HAVE_DECL_MEMRCHR=0 - fi + : + + : + : + : + : + PRIPTR_PREFIX= + if test -n "$STDINT_H"; then + PRIPTR_PREFIX='"l"' + else + for glpfx in '' l ll I64; do + case $glpfx in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + I64) gltype1='__int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + extern intptr_t foo; + extern $gltype1 foo; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + PRIPTR_PREFIX='"'$glpfx'"' +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test -n "$PRIPTR_PREFIX" && break + done + fi -for ac_func in memrchr -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 +$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; } +if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H -#ifdef __STDC__ -# include -#else -# include -#endif + #include + #if HAVE_STDINT_H + #include + #endif -#undef $ac_func + #if defined INT32_MAX && defined INTMAX_MAX + #define CONDITION (INT32_MAX < INTMAX_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (int) < sizeof (long long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes +else + gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 +$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } + if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then + INT32_MAX_LT_INTMAX_MAX=1; + else + INT32_MAX_LT_INTMAX_MAX=0; + fi + + + if test $APPLE_UNIVERSAL_BUILD = 0; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 +$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; } +if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + #if defined INT64_MAX + #define CONDITION (INT64_MAX == LONG_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (long long int) == sizeof (long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; int main () { -return $ac_func (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_test_INT64_MAX_EQ_LONG_MAX=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 +$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } + if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then + INT64_MAX_EQ_LONG_MAX=1; + else + INT64_MAX_EQ_LONG_MAX=0; + fi + + + else + INT64_MAX_EQ_LONG_MAX=-1 + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 +$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } +if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + + #if defined UINT32_MAX && defined UINTMAX_MAX + #define CONDITION (UINT32_MAX < UINTMAX_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ + + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes +else + gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 +$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } + if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then + UINT32_MAX_LT_UINTMAX_MAX=1; + else + UINT32_MAX_LT_UINTMAX_MAX=0; + fi + + + if test $APPLE_UNIVERSAL_BUILD = 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 +$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; } +if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then : + $as_echo_n "(cached) " >&6 else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + + #if defined UINT64_MAX + #define CONDITION (UINT64_MAX == ULONG_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes +else + gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no fi -done +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 +$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } + if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then + UINT64_MAX_EQ_ULONG_MAX=1; + else + UINT64_MAX_EQ_ULONG_MAX=0; + fi - if test $ac_cv_func_memrchr = no; then + else + UINT64_MAX_EQ_ULONG_MAX=-1 + fi + + + + + + + + + ac_fn_c_check_decl "$LINENO" "iswblank" "ac_cv_have_decl_iswblank" " +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +#include + +" +if test "x$ac_cv_have_decl_iswblank" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ISWBLANK $ac_have_decl +_ACEOF + + if test $ac_cv_func_iswblank = no; then + HAVE_ISWBLANK=0 + if test $ac_cv_have_decl_iswblank = yes; then + REPLACE_ISWBLANK=1 + fi + fi + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + : + else + if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then + : + fi + fi + + + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : + else + if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS iswblank.$ac_objext" + + fi fi - GNULIB_MEMRCHR=1 + + GNULIB_ISWBLANK=1 + + + + + +$as_echo "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h + + + + -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MEMRCHR 1 -_ACEOF - # Code from module mkdir: @@ -36122,370 +21365,355 @@ _ACEOF - { $as_echo "$as_me:$LINENO: checking whether mkdir handles trailing slash" >&5 -$as_echo_n "checking whether mkdir handles trailing slash... " >&6; } -if test "${gl_cv_func_mkdir_trailing_slash_works+set}" = set; then + if test $gl_cv_have_include_next = yes; then + gl_cv_next_langinfo_h='<'langinfo.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_langinfo_h+:} false; then : $as_echo_n "(cached) " >&6 else - rm -rf conftest.dir - if test "$cross_compiling" = yes; then - gl_cv_func_mkdir_trailing_slash_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -# include -# include + if test $ac_cv_header_langinfo_h = yes; then -int -main () -{ -return mkdir ("conftest.dir/", 0700); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mkdir_trailing_slash_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_mkdir_trailing_slash_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - rm -rf conftest.dir + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'langinfo.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_langinfo_h='<'langinfo.h'>' + fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mkdir_trailing_slash_works" >&5 -$as_echo "$gl_cv_func_mkdir_trailing_slash_works" >&6; } - if test "$gl_cv_func_mkdir_trailing_slash_works" != yes; then - REPLACE_MKDIR=1 - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5 +$as_echo "$gl_cv_next_langinfo_h" >&6; } + fi + NEXT_LANGINFO_H=$gl_cv_next_langinfo_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'langinfo.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_langinfo_h + fi + NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" - fi + HAVE_LANGINFO_CODESET=0 + HAVE_LANGINFO_T_FMT_AMPM=0 + HAVE_LANGINFO_ERA=0 + HAVE_LANGINFO_YESEXPR=0 - { $as_echo "$as_me:$LINENO: checking whether mkdir handles trailing dot" >&5 -$as_echo_n "checking whether mkdir handles trailing dot... " >&6; } -if test "${gl_cv_func_mkdir_trailing_dot_works+set}" = set; then + if test $ac_cv_header_langinfo_h = yes; then + HAVE_LANGINFO_H=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5 +$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; } +if ${gl_cv_header_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else - rm -rf conftest.dir - if test "$cross_compiling" = yes; then - gl_cv_func_mkdir_trailing_dot_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -# include -# include +#include +int a = CODESET; int main () { -return !mkdir ("conftest.dir/./", 0700); + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mkdir_trailing_dot_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_langinfo_codeset=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mkdir_trailing_dot_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + gl_cv_header_langinfo_codeset=no fi - - - rm -rf conftest.dir - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mkdir_trailing_dot_works" >&5 -$as_echo "$gl_cv_func_mkdir_trailing_dot_works" >&6; } - if test "$gl_cv_func_mkdir_trailing_dot_works" != yes; then - REPLACE_MKDIR=1 - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5 +$as_echo "$gl_cv_header_langinfo_codeset" >&6; } + if test $gl_cv_header_langinfo_codeset = yes; then + HAVE_LANGINFO_CODESET=1 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5 +$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; } +if ${gl_cv_header_langinfo_t_fmt_ampm+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int a = T_FMT_AMPM; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_langinfo_t_fmt_ampm=yes +else + gl_cv_header_langinfo_t_fmt_ampm=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5 +$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; } + if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then + HAVE_LANGINFO_T_FMT_AMPM=1 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5 +$as_echo_n "checking whether langinfo.h defines ERA... " >&6; } +if ${gl_cv_header_langinfo_era+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int a = ERA; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_langinfo_era=yes +else + gl_cv_header_langinfo_era=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5 +$as_echo "$gl_cv_header_langinfo_era" >&6; } + if test $gl_cv_header_langinfo_era = yes; then + HAVE_LANGINFO_ERA=1 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5 +$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; } +if ${gl_cv_header_langinfo_yesexpr+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int a = YESEXPR; +int +main () +{ -cat >>confdefs.h <<\_ACEOF -#define FUNC_MKDIR_DOT_BUG 1 + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_langinfo_yesexpr=yes +else + gl_cv_header_langinfo_yesexpr=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5 +$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; } + if test $gl_cv_header_langinfo_yesexpr = yes; then + HAVE_LANGINFO_YESEXPR=1 + fi + else + HAVE_LANGINFO_H=0 fi - # Code from module mkdtemp: - - - - - -for ac_func in mkdtemp -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + for gl_func in nl_langinfo; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +#include int main () { -return $ac_func (); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + eval "$as_gl_Symbol=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - + eval ac_cv_have_decl_$gl_func=yes fi -done - + done - if test $ac_cv_func_mkdtemp = no; then - HAVE_MKDTEMP=0 - : - fi - GNULIB_MKDTEMP=1 + for ac_func in lchown +do : + ac_fn_c_check_func "$LINENO" "lchown" "ac_cv_func_lchown" +if test "x$ac_cv_func_lchown" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LCHOWN 1 +_ACEOF +fi +done -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MKDTEMP 1 -_ACEOF + if test $ac_cv_func_lchown = no; then + HAVE_LCHOWN=0 + else + case "$gl_cv_func_chown_slash_works" in + *yes) ;; + *) + REPLACE_LCHOWN=1 + ;; + esac + case "$gl_cv_func_chown_ctime_works" in + *yes) ;; + *) + REPLACE_LCHOWN=1 + ;; + esac + fi + if test $HAVE_LCHOWN = 0 || test $REPLACE_LCHOWN = 1; then - # Code from module mkfifo: + gl_LIBOBJS="$gl_LIBOBJS lchown.$ac_objext" + fi - if test $ac_cv_func_mkfifo = no; then - HAVE_MKFIFO=0 + GNULIB_LCHOWN=1 - gl_LIBOBJS="$gl_LIBOBJS mkfifo.$ac_objext" - else +$as_echo "#define GNULIB_TEST_LCHOWN 1" >>confdefs.h - { $as_echo "$as_me:$LINENO: checking whether mkfifo rejects trailing slashes" >&5 -$as_echo_n "checking whether mkfifo rejects trailing slashes... " >&6; } -if test "${gl_cv_func_mkfifo_works+set}" = set; then + if test $ac_cv_func_link = no; then + HAVE_LINK=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether link obeys POSIX" >&5 +$as_echo_n "checking whether link obeys POSIX... " >&6; } +if ${gl_cv_func_link_works+:} false; then : $as_echo_n "(cached) " >&6 else - # Assume that if we have lstat, we can also check symlinks. + touch conftest.a + # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then - ln -s conftest.tmp conftest.lnk + ln -s conftest.a conftest.lnk fi - if test "$cross_compiling" = yes; then - gl_cv_func_mkfifo_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_link_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_link_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { int result = 0; - if (!mkfifo ("conftest.tmp/", 0600)) + if (!link ("conftest.a", "conftest.b/")) result |= 1; #if HAVE_LSTAT - if (!mkfifo ("conftest.lnk/", 0600)) + if (!link ("conftest.lnk/", "conftest.b")) result |= 2; + if (rename ("conftest.a", "conftest.b")) + result |= 4; + if (!link ("conftest.b", "conftest.lnk")) + result |= 8; #endif return result; @@ -36493,53 +21721,28 @@ int result = 0; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mkfifo_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_link_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mkfifo_works=no + gl_cv_func_link_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - rm -f conftest.tmp conftest.lnk + rm -f conftest.a conftest.b conftest.lnk fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mkfifo_works" >&5 -$as_echo "$gl_cv_func_mkfifo_works" >&6; } - if test "$gl_cv_func_mkfifo_works" != yes; then - -cat >>confdefs.h <<\_ACEOF -#define MKFIFO_TRAILING_SLASH_BUG 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_link_works" >&5 +$as_echo "$gl_cv_func_link_works" >&6; } + case "$gl_cv_func_link_works" in + *yes) ;; + *) + REPLACE_LINK=1 + ;; + esac + fi - REPLACE_MKFIFO=1 + if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then @@ -36548,90 +21751,308 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS mkfifo.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS link.$ac_objext" - fi fi - GNULIB_MKFIFO=1 + + GNULIB_LINK=1 + + + + + +$as_echo "#define GNULIB_TEST_LINK 1" >>confdefs.h + -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MKFIFO 1 + gl_link_follows_symlinks=0 # assume GNU behavior + if test $ac_cv_func_readlink = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __xpg4" >&5 +$as_echo_n "checking for __xpg4... " >&6; } +if ${gl_cv_have___xpg4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern int __xpg4; +int +main () +{ +return __xpg4; + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_have___xpg4=yes +else + gl_cv_have___xpg4=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have___xpg4" >&5 +$as_echo "$gl_cv_have___xpg4" >&6; } + if test $gl_cv_have___xpg4 = yes; then + gl_link_follows_symlinks=-1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether link(2) dereferences a symlink" >&5 +$as_echo_n "checking whether link(2) dereferences a symlink... " >&6; } +if ${gl_cv_func_link_follows_symlink+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Create a regular file. + echo > conftest.file + if test "$cross_compiling" = yes; then : + case "$host_os" in + # On glibc/Linux we know the result. + linux*-gnu*) gl_cv_func_link_follows_symlink="guessing no" ;; + # Otherwise, we don't know. + *) gl_cv_func_link_follows_symlink=unknown ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - # Code from module mkfifoat: +# include +# include +# include +# include + +# define SAME_INODE(Stat_buf_1, Stat_buf_2) \ + ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ + && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) + + int + main () + { + const char *file = "conftest.file"; + const char *sym = "conftest.sym"; + const char *hard = "conftest.hard"; + struct stat sb_file, sb_hard; + /* Create a symlink to the regular file. */ + if (symlink (file, sym)) + return 2; + /* Create a hard link to that symlink. */ + if (link (sym, hard)) + return 3; + if (lstat (hard, &sb_hard)) + return 4; + if (lstat (file, &sb_file)) + return 5; + /* If the dev/inode of hard and file are the same, then + the link call followed the symlink. */ + return SAME_INODE (sb_hard, sb_file) ? 1 : 0; + } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_link_follows_symlink=no +else + gl_cv_func_link_follows_symlink=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + rm -f conftest.file conftest.sym conftest.hard +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_link_follows_symlink" >&5 +$as_echo "$gl_cv_func_link_follows_symlink" >&6; } + case "$gl_cv_func_link_follows_symlink" in + *yes) gl_link_follows_symlinks=1 ;; + *no) ;; # already defaulted to 0 + *) gl_link_follows_symlinks=-2 ;; + esac + fi + fi +cat >>confdefs.h <<_ACEOF +#define LINK_FOLLOWS_SYMLINKS $gl_link_follows_symlinks +_ACEOF - if test $ac_cv_func_mkfifoat = no; then - # No known system has mkfifoat but not mknodat - HAVE_MKFIFOAT=0 - HAVE_MKNODAT=0 + if test $ac_cv_func_linkat = no; then + HAVE_LINKAT=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat(,AT_SYMLINK_FOLLOW) works" >&5 +$as_echo_n "checking whether linkat(,AT_SYMLINK_FOLLOW) works... " >&6; } +if ${gl_cv_func_linkat_follow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftest.f1 conftest.f2 + touch conftest.f1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#ifdef __linux__ +/* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW + until 2.6.18. Always replace linkat to support older kernels. */ +choke me +#endif + +int +main () +{ +return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2", + AT_SYMLINK_FOLLOW); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_linkat_follow=yes +else + gl_cv_func_linkat_follow="need runtime check" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + rm -rf conftest.f1 conftest.f2 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_follow" >&5 +$as_echo "$gl_cv_func_linkat_follow" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat handles trailing slash correctly" >&5 +$as_echo_n "checking whether linkat handles trailing slash correctly... " >&6; } +if ${gl_cv_func_linkat_slash+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftest.a conftest.b conftest.c conftest.d + if test "$cross_compiling" = yes; then : + # Guess yes on glibc systems, no otherwise. + case "$host_os" in + *-gnu*) gl_cv_func_linkat_slash="guessing yes";; + *) gl_cv_func_linkat_slash="guessing no";; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + #include + +int +main () +{ +int result; + int fd; + /* Create a regular file. */ + fd = open ("conftest.a", O_CREAT | O_EXCL | O_WRONLY, 0600); + if (fd < 0) + return 1; + if (write (fd, "hello", 5) < 5) + return 2; + if (close (fd) < 0) + return 3; + /* Test whether hard links are supported on the current + device. */ + if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.b", + AT_SYMLINK_FOLLOW) < 0) + return 0; + result = 0; + /* Test whether a trailing "/" is treated like "/.". */ + if (linkat (AT_FDCWD, "conftest.a/", AT_FDCWD, "conftest.c", + AT_SYMLINK_FOLLOW) == 0) + result |= 4; + if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/", + AT_SYMLINK_FOLLOW) == 0) + result |= 8; + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_linkat_slash=yes +else + gl_cv_func_linkat_slash=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + rm -rf conftest.a conftest.b conftest.c conftest.d +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_slash" >&5 +$as_echo "$gl_cv_func_linkat_slash" >&6; } + case "$gl_cv_func_linkat_slash" in + *yes) gl_linkat_slash_bug=0 ;; + *) gl_linkat_slash_bug=1 ;; + esac + if test "$gl_cv_func_linkat_follow" != yes \ + || test $gl_linkat_slash_bug = 1; then + REPLACE_LINKAT=1 + +cat >>confdefs.h <<_ACEOF +#define LINKAT_TRAILING_SLASH_BUG $gl_linkat_slash_bug +_ACEOF + + fi + fi + + if test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1; then - gl_LIBOBJS="$gl_LIBOBJS mkfifoat.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext" + fi + if test $HAVE_LINKAT = 0; then - gl_LIBOBJS="$gl_LIBOBJS mknodat.$ac_objext" - fi - GNULIB_MKFIFOAT=1 + gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext" + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MKFIFOAT 1 -_ACEOF + GNULIB_LINKAT=1 - GNULIB_MKNODAT=1 +$as_echo "#define GNULIB_TEST_LINKAT 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MKNODAT 1 -_ACEOF - # Code from module mknod: @@ -36639,452 +22060,284 @@ _ACEOF + LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" - if test $ac_cv_func_mknod = no; then - HAVE_MKNOD=0 + case "$host_os" in + solaris*) +$as_echo "#define _LCONV_C99 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS mknod.$ac_objext" + ;; + esac - else - { $as_echo "$as_me:$LINENO: checking whether mknod can create fifo without root privileges" >&5 -$as_echo_n "checking whether mknod can create fifo without root privileges... " >&6; } -if test "${gl_cv_func_mknod_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5 +$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; } +if ${gl_cv_header_locale_h_posix2001+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_mknod_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - +#include + int x = LC_MESSAGES; + int y = sizeof (((struct lconv *) 0)->decimal_point); int main () { -/* Indeterminate for super-user, assume no. Why are you running - configure as root, anyway? */ - if (!geteuid ()) return 99; - if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2; + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_mknod_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_locale_h_posix2001=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test $? = 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check) -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - gl_cv_func_mknod_works=no + gl_cv_header_locale_h_posix2001=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5 +$as_echo "$gl_cv_header_locale_h_posix2001" >&6; } - rm -f conftest.fifo -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mknod_works" >&5 -$as_echo "$gl_cv_func_mknod_works" >&6; } - if test "$gl_cv_func_mknod_works" != yes; then + if test $ac_cv_header_xlocale_h = yes; then + HAVE_XLOCALE_H=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5 +$as_echo_n "checking whether locale.h defines locale_t... " >&6; } +if ${gl_cv_header_locale_has_locale_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + locale_t x; +int +main () +{ -cat >>confdefs.h <<\_ACEOF -#define MKNOD_FIFO_BUG 1 + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_locale_has_locale_t=yes +else + gl_cv_header_locale_has_locale_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5 +$as_echo "$gl_cv_header_locale_has_locale_t" >&6; } + if test $gl_cv_header_locale_has_locale_t = yes; then + gl_cv_header_locale_h_needs_xlocale_h=no + else + gl_cv_header_locale_h_needs_xlocale_h=yes fi - if test $REPLACE_MKFIFO = 1 || test "$gl_cv_func_mknod_works" != yes; then - REPLACE_MKNOD=1 - - - - - + else + HAVE_XLOCALE_H=0 + gl_cv_header_locale_h_needs_xlocale_h=no + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5 +$as_echo_n "checking whether struct lconv is properly defined... " >&6; } +if ${gl_cv_sys_struct_lconv_ok+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct lconv l; + int x = sizeof (l.decimal_point); + int y = sizeof (l.int_p_cs_precedes); +int +main () +{ - gl_LIBOBJS="$gl_LIBOBJS mknod.$ac_objext" + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_lconv_ok=yes +else + gl_cv_sys_struct_lconv_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5 +$as_echo "$gl_cv_sys_struct_lconv_ok" >&6; } + if test $gl_cv_sys_struct_lconv_ok = no; then + REPLACE_STRUCT_LCONV=1 fi - GNULIB_MKNOD=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MKNOD 1 -_ACEOF - - - - # Code from module mktime: + if test $gl_cv_have_include_next = yes; then + gl_cv_next_locale_h='<'locale.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_locale_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'locale.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5 +$as_echo "$gl_cv_next_locale_h" >&6; } + fi + NEXT_LOCALE_H=$gl_cv_next_locale_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'locale.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_locale_h + fi + NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive -if test $APPLE_UNIVERSAL_BUILD = 1; then - # A universal build on Apple MacOS X platforms. - # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. - # But we need a configuration result that is valid in both modes. - ac_cv_func_working_mktime=no -fi -{ $as_echo "$as_me:$LINENO: checking for working mktime" >&5 -$as_echo_n "checking for working mktime... " >&6; } -if test "${ac_cv_func_working_mktime+set}" = set; then + for gl_func in setlocale duplocale; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_working_mktime=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Test program from Paul Eggert and Tony Leneis. */ -#include -#include -#include - -#ifdef HAVE_UNISTD_H -# include -#endif - -#ifndef HAVE_ALARM -# define alarm(X) /* empty */ +#include +/* Some systems provide declarations in a non-standard header. */ +#if HAVE_XLOCALE_H +# include #endif -/* Work around redefinition to rpl_putenv by other config tests. */ -#undef putenv - -static time_t time_t_max; -static time_t time_t_min; - -/* Values we'll use to set the TZ environment variable. */ -static char *tz_strings[] = { - (char *) 0, "TZ=GMT0", "TZ=JST-9", - "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" -}; -#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) - -/* Return 0 if mktime fails to convert a date in the spring-forward gap. - Based on a problem report from Andreas Jaeger. */ -static int -spring_forward_gap () -{ - /* glibc (up to about 1998-10-07) failed this test. */ - struct tm tm; - - /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" - instead of "TZ=America/Vancouver" in order to detect the bug even - on systems that don't support the Olson extension, or don't have the - full zoneinfo tables installed. */ - putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - - tm.tm_year = 98; - tm.tm_mon = 3; - tm.tm_mday = 5; - tm.tm_hour = 2; - tm.tm_min = 0; - tm.tm_sec = 0; - tm.tm_isdst = -1; - return mktime (&tm) != (time_t) -1; -} - -static int -mktime_test1 (time_t now) -{ - struct tm *lt; - return ! (lt = localtime (&now)) || mktime (lt) == now; -} - -static int -mktime_test (time_t now) -{ - return (mktime_test1 (now) - && mktime_test1 ((time_t) (time_t_max - now)) - && mktime_test1 ((time_t) (time_t_min + now))); -} - -static int -irix_6_4_bug () -{ - /* Based on code from Ariel Faigon. */ - struct tm tm; - tm.tm_year = 96; - tm.tm_mon = 3; - tm.tm_mday = 0; - tm.tm_hour = 0; - tm.tm_min = 0; - tm.tm_sec = 0; - tm.tm_isdst = -1; - mktime (&tm); - return tm.tm_mon == 2 && tm.tm_mday == 31; -} - -static int -bigtime_test (int j) -{ - struct tm tm; - time_t now; - tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; - now = mktime (&tm); - if (now != (time_t) -1) - { - struct tm *lt = localtime (&now); - if (! (lt - && lt->tm_year == tm.tm_year - && lt->tm_mon == tm.tm_mon - && lt->tm_mday == tm.tm_mday - && lt->tm_hour == tm.tm_hour - && lt->tm_min == tm.tm_min - && lt->tm_sec == tm.tm_sec - && lt->tm_yday == tm.tm_yday - && lt->tm_wday == tm.tm_wday - && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) - == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) - return 0; - } - return 1; -} - -static int -year_2050_test () -{ - /* The correct answer for 2050-02-01 00:00:00 in Pacific time, - ignoring leap seconds. */ - unsigned long int answer = 2527315200UL; - - struct tm tm; - time_t t; - tm.tm_year = 2050 - 1900; - tm.tm_mon = 2 - 1; - tm.tm_mday = 1; - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - tm.tm_isdst = -1; - - /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" - instead of "TZ=America/Vancouver" in order to detect the bug even - on systems that don't support the Olson extension, or don't have the - full zoneinfo tables installed. */ - putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - - t = mktime (&tm); - - /* Check that the result is either a failure, or close enough - to the correct answer that we can assume the discrepancy is - due to leap seconds. */ - return (t == (time_t) -1 - || (0 < t && answer - 120 <= t && t <= answer + 120)); -} - int main () { - int result = 0; - time_t t, delta; - int i, j; - int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; - int time_t_signed = ! ((time_t) 0 < (time_t) -1); - - /* This test makes some buggy mktime implementations loop. - Give up after 60 seconds; a mktime slower than that - isn't worth using anyway. */ - alarm (60); - - time_t_max = (! time_t_signed - ? (time_t) -1 - : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) - * 2 + 1)); - time_t_min = (! time_t_signed - ? (time_t) 0 - : time_t_signed_magnitude - ? ~ (time_t) 0 - : ~ time_t_max); - - delta = time_t_max / 997; /* a suitable prime number */ - for (i = 0; i < N_STRINGS; i++) - { - if (tz_strings[i]) - putenv (tz_strings[i]); - - for (t = 0; t <= time_t_max - delta; t += delta) - if (! mktime_test (t)) - result |= 1; - if (! (mktime_test ((time_t) 1) - && mktime_test ((time_t) (60 * 60)) - && mktime_test ((time_t) (60 * 60 * 24)))) - result |= 2; - - for (j = 1; ; j <<= 1) - if (! bigtime_test (j)) - result |= 4; - else if (INT_MAX / 2 < j) - break; - if (! bigtime_test (INT_MAX)) - result |= 8; - } - if (! irix_6_4_bug ()) - result |= 16; - if (! spring_forward_gap ()) - result |= 32; - if (! year_2050_test ()) - result |= 64; - return result; +#undef $gl_func + (void) $gl_func; + ; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_working_mktime=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_working_mktime=no + eval "$as_gl_Symbol=no" fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF - + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_working_mktime" >&5 -$as_echo "$ac_cv_func_working_mktime" >&6; } -if test $ac_cv_func_working_mktime = no; then - - + done - gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" + if test $REPLACE_STRUCT_LCONV = 1; then + REPLACE_LOCALECONV=1 + fi -fi + if test $REPLACE_LOCALECONV = 1; then - if test $ac_cv_func_working_mktime = no; then - REPLACE_MKTIME=1 - else - REPLACE_MKTIME=0 - fi - GNULIB_MKTIME=1 + gl_LIBOBJS="$gl_LIBOBJS localeconv.$ac_objext" + ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include +" +if test "x$ac_cv_member_struct_lconv_decimal_point" = xyes; then : -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_MKTIME 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_LCONV_DECIMAL_POINT 1 _ACEOF - - # Code from module modechange: +fi + fi + GNULIB_LOCALECONV=1 - gl_LIBOBJS="$gl_LIBOBJS modechange.$ac_objext" - # Code from module multiarch: - # Code from module nl_langinfo: +$as_echo "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h @@ -37094,98 +22347,90 @@ _ACEOF - if test $ac_cv_func_nl_langinfo = yes; then - # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken. - { $as_echo "$as_me:$LINENO: checking whether YESEXPR works" >&5 -$as_echo_n "checking whether YESEXPR works... " >&6; } -if test "${gl_cv_func_nl_langinfo_yesexpr_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 +$as_echo_n "checking whether lseek detects pipes... " >&6; } +if ${gl_cv_func_lseek_pipe+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - - case "$host_os" in - # Guess no on irix systems. - irix*) gl_cv_func_nl_langinfo_yesexpr_works="guessing no";; - # Guess yes elsewhere. - *) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";; - esac - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + case "$host_os" in + mingw*) + gl_cv_func_lseek_pipe=no + ;; + *) + if test $cross_compiling = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#include /* for off_t */ +#include /* for SEEK_CUR */ +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif int main () { -return !*nl_langinfo(YESEXPR); + + /* Exit with success only if stdin is seekable. */ + return lseek (0, (off_t)0, SEEK_CUR) < 0; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_nl_langinfo_yesexpr_works=yes +if ac_fn_c_try_link "$LINENO"; then : + if test -s conftest$ac_exeext \ + && ./conftest$ac_exeext < conftest.$ac_ext \ + && test 1 = "`echo hi \ + | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then + gl_cv_func_lseek_pipe=yes + else + gl_cv_func_lseek_pipe=no + fi + else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_lseek_pipe=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -( exit $ac_status ) -gl_cv_func_nl_langinfo_yesexpr_works=no +#if defined __BEOS__ +/* BeOS mistakenly return 0 when trying to seek on pipes. */ + Choke me. +#endif +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_lseek_pipe=yes +else + gl_cv_func_lseek_pipe=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + ;; + esac + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 +$as_echo "$gl_cv_func_lseek_pipe" >&6; } + if test $gl_cv_func_lseek_pipe = no; then + REPLACE_LSEEK=1 +$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h + fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_nl_langinfo_yesexpr_works" >&5 -$as_echo "$gl_cv_func_nl_langinfo_yesexpr_works" >&6; } - case $gl_cv_func_nl_langinfo_yesexpr_works in - *yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;; - *) FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;; - esac -cat >>confdefs.h <<_ACEOF -#define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS -_ACEOF + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_LSEEK=1 + fi - if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ - && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then - : - else - REPLACE_NL_LANGINFO=1 + if test $REPLACE_LSEEK = 1; then -cat >>confdefs.h <<\_ACEOF -#define REPLACE_NL_LANGINFO 1 -_ACEOF @@ -37193,1741 +22438,1512 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" - fi - else - HAVE_NL_LANGINFO=0 + GNULIB_LSEEK=1 + + + + + +$as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" + if test $ac_cv_func_lstat = yes; then + + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *no) + REPLACE_LSTAT=1 + ;; + esac + else + HAVE_LSTAT=0 fi + if test $REPLACE_LSTAT = 1; then - GNULIB_NL_LANGINFO=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_NL_LANGINFO 1 -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" - # Code from module obstack: + : + fi + GNULIB_LSTAT=1 +$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h -{ $as_echo "$as_me:$LINENO: checking for obstacks" >&5 -$as_echo_n "checking for obstacks... " >&6; } -if test "${ac_cv_func_obstack+set}" = set; then + + + + + for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF + +fi + +done + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* \ + | hpux* | solaris* | cygwin* | mingw*) + ac_cv_func_malloc_0_nonnull=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_malloc_0_nonnull=no ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default - #include "obstack.h" +#if defined STDC_HEADERS || defined HAVE_STDLIB_H + # include + #else + char *malloc (); + #endif + int main () { -struct obstack mem; - #define obstack_chunk_alloc malloc - #define obstack_chunk_free free - obstack_init (&mem); - obstack_free (&mem, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_obstack=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_obstack=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_obstack" >&5 -$as_echo "$ac_cv_func_obstack" >&6; } -if test $ac_cv_func_obstack = yes; then +return ! malloc (0); + ; + return 0; +} -cat >>confdefs.h <<\_ACEOF -#define HAVE_OBSTACK 1 _ACEOF - +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_malloc_0_nonnull=yes else + ac_cv_func_malloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } + if test $ac_cv_func_malloc_0_nonnull = yes; then : +$as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h +else + $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h - - - - gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" + REPLACE_MALLOC=1 fi - # Code from module open: + if test $REPLACE_MALLOC = 1; then - case "$host_os" in - mingw* | pw*) - REPLACE_OPEN=1 - + gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext" +cat >>confdefs.h <<_ACEOF +#define GNULIB_MALLOC_GNU 1 +_ACEOF - : - ;; - *) + if test $gl_cv_func_malloc_posix = yes; then +$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h + else + REPLACE_MALLOC=1 + fi + if test $REPLACE_MALLOC = 1; then - { $as_echo "$as_me:$LINENO: checking whether open recognizes a trailing slash" >&5 -$as_echo_n "checking whether open recognizes a trailing slash... " >&6; } -if test "${gl_cv_func_open_slash+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - touch conftest.tmp - ln -s conftest.tmp conftest.lnk - fi - if test "$cross_compiling" = yes; then - case "$host_os" in - freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) - gl_cv_func_open_slash="guessing no" ;; - *) - gl_cv_func_open_slash="guessing yes" ;; - esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if HAVE_UNISTD_H -# include -#endif -int main () -{ - int result = 0; -#if HAVE_LSTAT - if (open ("conftest.lnk/", O_RDONLY) != -1) - result |= 1; -#endif - if (open ("conftest.sl/", O_CREAT, 0600) >= 0) - result |= 2; - return result; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_open_slash=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_open_slash=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" - rm -f conftest.sl conftest.tmp conftest.lnk + fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_open_slash" >&5 -$as_echo "$gl_cv_func_open_slash" >&6; } - case "$gl_cv_func_open_slash" in - *no) -cat >>confdefs.h <<\_ACEOF -#define OPEN_TRAILING_SLASH_BUG 1 -_ACEOF - REPLACE_OPEN=1 + GNULIB_MALLOC_POSIX=1 +$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext" - : - ;; - esac - ;; - esac - GNULIB_OPEN=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_OPEN 1 -_ACEOF - # Code from module openat: + if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then - GNULIB_OPENAT=1 - GNULIB_FCHMODAT=1 - GNULIB_FSTATAT=1 - GNULIB_MKDIRAT=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 +$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } +if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + # Guess no on AIX and OSF/1. + aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; + esac + if test $LOCALE_JA != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - GNULIB_FCHOWNAT=1 - GNULIB_UNLINKAT=1 +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + { + const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + if (mbsinit (&state)) + return 1; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_incomplete_state=yes +else + gl_cv_func_mbrtowc_incomplete_state=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 +$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 +$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } +if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + # Guess no on Solaris 8. + solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; + esac + if test $LOCALE_ZH_CN != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" +#include +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + /* This fails on Solaris 8: + mbrtowc returns 2, and sets wc to 0x00F0. + mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ + if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + { + char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 6, &state) != 4 + && mbtowc (&wc, input + 3, 6) == 4) + return 1; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_sanitycheck=yes +else + gl_cv_func_mbrtowc_sanitycheck=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 +$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } + REPLACE_MBSTATE_T=0 + case "$gl_cv_func_mbrtowc_incomplete_state" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + case "$gl_cv_func_mbrtowc_sanitycheck" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + else + REPLACE_MBSTATE_T=1 + fi + if test $ac_cv_func_mbrtowc = no; then + HAVE_MBRTOWC=0 + ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +" +if test "x$ac_cv_have_decl_mbrtowc" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MBRTOWC $ac_have_decl +_ACEOF + if test $ac_cv_have_decl_mbrtowc = yes; then + REPLACE_MBRTOWC=1 + fi + else + if test $REPLACE_MBSTATE_T = 1; then + REPLACE_MBRTOWC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5 +$as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; } +if ${gl_cv_func_mbrtowc_null_arg1+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + # Guess no on Solaris. + solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;; + esac + if test $LOCALE_FR_UTF8 != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + int result = 0; + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + char input[] = "\303\237er"; + mbstate_t state; + wchar_t wc; + size_t ret; + memset (&state, '\0', sizeof (mbstate_t)); + wc = (wchar_t) 0xBADFACE; + ret = mbrtowc (&wc, input, 5, &state); + if (ret != 2) + result |= 1; + if (!mbsinit (&state)) + result |= 2; + memset (&state, '\0', sizeof (mbstate_t)); + ret = mbrtowc (NULL, input, 5, &state); + if (ret != 2) /* Solaris 7 fails here: ret is -1. */ + result |= 4; + if (!mbsinit (&state)) + result |= 8; + } + return result; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_null_arg1=yes +else + gl_cv_func_mbrtowc_null_arg1=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5 +$as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5 +$as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; } +if ${gl_cv_func_mbrtowc_null_arg2+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + # Guess no on OSF/1. + osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;; + esac + if test $LOCALE_FR_UTF8 != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + mbstate_t state; + wchar_t wc; + int ret; + memset (&state, '\0', sizeof (mbstate_t)); + wc = (wchar_t) 0xBADFACE; + mbrtowc (&wc, NULL, 5, &state); + /* Check that wc was not modified. */ + if (wc != (wchar_t) 0xBADFACE) + return 1; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_null_arg2=yes +else + gl_cv_func_mbrtowc_null_arg2=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5 +$as_echo "$gl_cv_func_mbrtowc_null_arg2" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5 +$as_echo_n "checking whether mbrtowc has a correct return value... " >&6; } +if ${gl_cv_func_mbrtowc_retval+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + # Guess no on HP-UX, Solaris, native Windows. + hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_retval="guessing yes" ;; + esac + if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ + || { case "$host_os" in mingw*) true;; *) false;; esac; }; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + int result = 0; + int found_some_locale = 0; + /* This fails on Solaris. */ + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + char input[] = "B\303\274\303\237er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + { + input[1] = '\0'; + if (mbrtowc (&wc, input + 2, 5, &state) != 1) + result |= 1; + } + found_some_locale = 1; + } + /* This fails on HP-UX 11.11. */ + if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + { + char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + { + input[1] = '\0'; + if (mbrtowc (&wc, input + 2, 5, &state) != 2) + result |= 2; + } + found_some_locale = 1; + } + /* This fails on native Windows. */ + if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL) + { + char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) + { + input[3] = '\0'; + if (mbrtowc (&wc, input + 4, 4, &state) != 1) + result |= 4; + } + found_some_locale = 1; + } + if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL) + { + char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) + { + input[3] = '\0'; + if (mbrtowc (&wc, input + 4, 4, &state) != 1) + result |= 8; + } + found_some_locale = 1; + } + if (setlocale (LC_ALL, "Chinese_China.936") != NULL) + { + char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) + { + input[3] = '\0'; + if (mbrtowc (&wc, input + 4, 4, &state) != 1) + result |= 16; + } + found_some_locale = 1; + } + return (found_some_locale ? result : 77); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_retval=yes +else + if test $? != 77; then + gl_cv_func_mbrtowc_retval=no + fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5 +$as_echo "$gl_cv_func_mbrtowc_retval" >&6; } -for ac_func in fchmodat fstatat mkdirat openat unlinkat -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5 +$as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; } +if ${gl_cv_func_mbrtowc_nul_retval+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" + case "$host_os" in + # Guess no on Solaris 8 and 9. + solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; + esac + if test $LOCALE_ZH_CN != none; then + if test "$cross_compiling" = yes; then : + : else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - eval "$as_ac_var=no" -fi +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + /* This fails on Solaris 8 and 9. */ + if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + { + mbstate_t state; + wchar_t wc; -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, "", 1, &state) != 0) + return 1; + } + return 0; +} _ACEOF - +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_nul_retval=yes else + gl_cv_func_mbrtowc_nul_retval=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + fi fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 +$as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; } + case "$gl_cv_func_mbrtowc_null_arg1" in + *yes) ;; + *) +$as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h + REPLACE_MBRTOWC=1 + ;; + esac + case "$gl_cv_func_mbrtowc_null_arg2" in + *yes) ;; + *) +$as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h + REPLACE_MBRTOWC=1 + ;; + esac + case "$gl_cv_func_mbrtowc_retval" in + *yes) ;; + *) +$as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h - case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in - yes+yes) - # GNU/Hurd has unlinkat, but it has the same bug as unlink. - if test $REPLACE_UNLINK = 1; then + REPLACE_MBRTOWC=1 + ;; + esac + case "$gl_cv_func_mbrtowc_nul_retval" in + *yes) ;; + *) +$as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h + REPLACE_MBRTOWC=1 + ;; + esac + fi + fi + if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext" - REPLACE_UNLINKAT=1 - fi ;; - yes+*) - # Solaris 9 has *at functions, but uniformly mishandles trailing - # slash in all of them. + gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext" + : + fi - gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext" - REPLACE_OPENAT=1 + GNULIB_MBRTOWC=1 +$as_echo "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext" - REPLACE_FSTATAT=1 + GNULIB_MBSCASECMP=1 - gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext" - REPLACE_UNLINKAT=1 - ;; - *) - HAVE_OPENAT=0 - HAVE_UNLINKAT=0 # No known system with unlinkat but not openat - HAVE_FSTATAT=0 # No known system with fstatat but not openat +$as_echo "#define GNULIB_TEST_MBSCASECMP 1" >>confdefs.h - : -;; - esac - if test $ac_cv_func_fchmodat != yes; then - HAVE_FCHMODAT=0 - fi - if test $ac_cv_func_mkdirat != yes; then - HAVE_MKDIRAT=0 - fi - { $as_echo "$as_me:$LINENO: checking for fchownat" >&5 -$as_echo_n "checking for fchownat... " >&6; } -if test "${ac_cv_func_fchownat+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define fchownat to an innocuous variant, in case declares fchownat. - For example, HP-UX 11i declares gettimeofday. */ -#define fchownat innocuous_fchownat -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char fchownat (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef fchownat -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char fchownat (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_fchownat || defined __stub___fchownat -choke me -#endif -int -main () -{ -return fchownat (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_fchownat=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_func_fchownat=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_fchownat" >&5 -$as_echo "$ac_cv_func_fchownat" >&6; } -if test "x$ac_cv_func_fchownat" = x""yes; then + + if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then - { $as_echo "$as_me:$LINENO: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5 -$as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; } -if test "${gl_cv_func_fchownat_nofollow_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 +$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } +if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else - gl_dangle=conftest.dangle - # Remove any remnants of a previous test. - rm -f $gl_dangle - # Arrange for deletion of the temporary file this test creates. - ac_clean_files="$ac_clean_files $gl_dangle" - ln -s conftest.no-such $gl_dangle - if test "$cross_compiling" = yes; then - gl_cv_func_fchownat_nofollow_works=no + case "$host_os" in + # Guess no on AIX and OSF/1. + aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; + esac + if test $LOCALE_JA != none; then + if test "$cross_compiling" = yes; then : + : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include -#include -int -main () +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () { - return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), - AT_SYMLINK_NOFOLLOW) != 0 - && errno == ENOENT); -} + if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + { + const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + if (mbsinit (&state)) + return 1; + } + return 0; +} _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_fchownat_nofollow_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_incomplete_state=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_fchownat_nofollow_works=no + gl_cv_func_mbrtowc_incomplete_state=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_nofollow_works" >&5 -$as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; } - if test $gl_cv_func_fchownat_nofollow_works = no; then - REPLACE_FCHOWNAT=1 - -cat >>confdefs.h <<\_ACEOF -#define FCHOWNAT_NOFOLLOW_BUG 1 -_ACEOF + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 +$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether fchownat works with an empty file name" >&5 -$as_echo_n "checking whether fchownat works with an empty file name... " >&6; } -if test "${gl_cv_func_fchownat_empty_filename_works+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 +$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } +if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_fchownat_empty_filename_works="guessing no" + + case "$host_os" in + # Guess no on Solaris 8. + solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; + esac + if test $LOCALE_ZH_CN != none; then + if test "$cross_compiling" = yes; then : + : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include -int -main () +#include +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () { -int fd; - int ret; - if (mkdir ("conftestdir", 0700) < 0) - return 2; - fd = open ("conftestdir", O_RDONLY); - if (fd < 0) - return 3; - ret = fchownat (fd, "", -1, -1, 0); - close (fd); - rmdir ("conftestdir"); - return ret == 0; + /* This fails on Solaris 8: + mbrtowc returns 2, and sets wc to 0x00F0. + mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ + if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + { + char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; - ; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 6, &state) != 4 + && mbtowc (&wc, input + 3, 6) == 4) + return 1; + } return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_fchownat_empty_filename_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_sanitycheck=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_fchownat_empty_filename_works=no + gl_cv_func_mbrtowc_sanitycheck=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - + fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_empty_filename_works" >&5 -$as_echo "$gl_cv_func_fchownat_empty_filename_works" >&6; } - if test "$gl_cv_func_fchownat_empty_filename_works" != yes; then - REPLACE_FCHOWNAT=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 +$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } -cat >>confdefs.h <<\_ACEOF -#define FCHOWNAT_EMPTY_FILENAME_BUG 1 -_ACEOF + REPLACE_MBSTATE_T=0 + case "$gl_cv_func_mbrtowc_incomplete_state" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + case "$gl_cv_func_mbrtowc_sanitycheck" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + else + REPLACE_MBSTATE_T=1 + fi -fi + if test $ac_cv_func_mbsinit = no; then + HAVE_MBSINIT=0 + ac_fn_c_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" " +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include - if test $REPLACE_CHOWN = 1; then - REPLACE_FCHOWNAT=1 - fi +" +if test "x$ac_cv_have_decl_mbsinit" = xyes; then : + ac_have_decl=1 else - HAVE_FCHOWNAT=0 + ac_have_decl=0 fi - if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then - - - +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MBSINIT $ac_have_decl +_ACEOF + if test $ac_cv_have_decl_mbsinit = yes; then + REPLACE_MBSINIT=1 + fi + else + if test $REPLACE_MBSTATE_T = 1; then + REPLACE_MBSINIT=1 + else + case "$host_os" in + mingw*) REPLACE_MBSINIT=1 ;; + esac + fi + fi + if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then - gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext" - fi - # Code from module openat-die: - # Code from module parse-datetime: + gl_LIBOBJS="$gl_LIBOBJS mbsinit.$ac_objext" + : + fi - { $as_echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5 -$as_echo_n "checking for struct tm.tm_zone... " >&6; } -if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include <$ac_cv_struct_tm> -int -main () -{ -static struct tm ac_aggr; -if (ac_aggr.tm_zone) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_tm_tm_zone=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include <$ac_cv_struct_tm> + GNULIB_MBSINIT=1 -int -main () -{ -static struct tm ac_aggr; -if (sizeof ac_aggr.tm_zone) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_tm_tm_zone=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_member_struct_tm_tm_zone=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5 -$as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; } -if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_TM_TM_ZONE 1 -_ACEOF +$as_echo "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h -fi -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_TM_ZONE 1 -_ACEOF -else - { $as_echo "$as_me:$LINENO: checking whether tzname is declared" >&5 -$as_echo_n "checking whether tzname is declared... " >&6; } -if test "${ac_cv_have_decl_tzname+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef tzname - (void) tzname; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_tzname=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_tzname=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5 -$as_echo "$ac_cv_have_decl_tzname" >&6; } -if test "x$ac_cv_have_decl_tzname" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TZNAME 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TZNAME 0 -_ACEOF + if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then -fi - { $as_echo "$as_me:$LINENO: checking for tzname" >&5 -$as_echo_n "checking for tzname... " >&6; } -if test "${ac_cv_var_tzname+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 +$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } +if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + case "$host_os" in + # Guess no on AIX and OSF/1. + aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; + esac + if test $LOCALE_JA != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#if !HAVE_DECL_TZNAME -extern char *tzname[]; -#endif -int -main () +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () { -return tzname[0][0]; - ; + if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + { + const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + if (mbsinit (&state)) + return 1; + } return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_var_tzname=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_incomplete_state=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_var_tzname=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + gl_cv_func_mbrtowc_incomplete_state=no fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5 -$as_echo "$ac_cv_var_tzname" >&6; } - if test $ac_cv_var_tzname = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TZNAME 1 -_ACEOF - - fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 +$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include /* for time_t */ -#include /* for CHAR_BIT, LONG_MIN, LONG_MAX */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1]; -typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1]; - -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - -cat >>confdefs.h <<\_ACEOF -#define TIME_T_FITS_IN_LONG_INT 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 +$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } +if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : + $as_echo_n "(cached) " >&6 +else - # Code from module pathmax: + case "$host_os" in + # Guess no on Solaris 8. + solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; + esac + if test $LOCALE_ZH_CN != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + /* This fails on Solaris 8: + mbrtowc returns 2, and sets wc to 0x00F0. + mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ + if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + { + char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 6, &state) != 4 + && mbtowc (&wc, input + 3, 6) == 4) + return 1; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbrtowc_sanitycheck=yes +else + gl_cv_func_mbrtowc_sanitycheck=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 +$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } + REPLACE_MBSTATE_T=0 + case "$gl_cv_func_mbrtowc_incomplete_state" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + case "$gl_cv_func_mbrtowc_sanitycheck" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + else + REPLACE_MBSTATE_T=1 + fi + if test $ac_cv_func_mbsrtowcs = no; then + HAVE_MBSRTOWCS=0 + ac_fn_c_check_decl "$LINENO" "mbsrtowcs" "ac_cv_have_decl_mbsrtowcs" " +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +" +if test "x$ac_cv_have_decl_mbsrtowcs" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MBSRTOWCS $ac_have_decl +_ACEOF + if test $ac_cv_have_decl_mbsrtowcs = yes; then + REPLACE_MBSRTOWCS=1 + fi + else + if test $REPLACE_MBSTATE_T = 1; then + REPLACE_MBSRTOWCS=1 + else - # Code from module priv-set: -for ac_func in getppriv -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbsrtowcs works" >&5 +$as_echo_n "checking whether mbsrtowcs works... " >&6; } +if ${gl_cv_func_mbsrtowcs_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + case "$host_os" in + # Guess no on HP-UX, Solaris, mingw. + hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; + esac + if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +#include +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int main () +{ + int result = 0; + /* Test whether the function supports a NULL destination argument. + This fails on native Windows. */ + if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) + { + const char input[] = "\337er"; + const char *src = input; + mbstate_t state; -#ifdef __STDC__ -# include -#else -# include -#endif + memset (&state, '\0', sizeof (mbstate_t)); + if (mbsrtowcs (NULL, &src, 1, &state) != 3 + || src != input) + result |= 1; + } + /* Test whether the function works when started with a conversion state + in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + const char input[] = "B\303\274\303\237er"; + mbstate_t state; -#undef $ac_func + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) + if (!mbsinit (&state)) + { + const char *src = input + 2; + if (mbsrtowcs (NULL, &src, 10, &state) != 4) + result |= 2; + } + } + if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + { + const char input[] = "<\306\374\313\334\270\354>"; + mbstate_t state; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (NULL, input + 3, 1, &state) == (size_t)(-2)) + if (!mbsinit (&state)) + { + const char *src = input + 4; + if (mbsrtowcs (NULL, &src, 10, &state) != 3) + result |= 4; + } + } + if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + { + const char input[] = "B\250\271\201\060\211\070er"; + mbstate_t state; -int -main () -{ -return $ac_func (); - ; - return 0; + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) + if (!mbsinit (&state)) + { + const char *src = input + 2; + if (mbsrtowcs (NULL, &src, 10, &state) != 4) + result |= 8; + } + } + return result; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mbsrtowcs_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_func_mbsrtowcs_works=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + + fi fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbsrtowcs_works" >&5 +$as_echo "$gl_cv_func_mbsrtowcs_works" >&6; } + case "$gl_cv_func_mbsrtowcs_works" in + *yes) ;; + *) REPLACE_MBSRTOWCS=1 ;; + esac + fi + fi + if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then - # Code from module progname: - { $as_echo "$as_me:$LINENO: checking whether program_invocation_name is declared" >&5 -$as_echo_n "checking whether program_invocation_name is declared... " >&6; } -if test "${ac_cv_have_decl_program_invocation_name+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef program_invocation_name - (void) program_invocation_name; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_program_invocation_name=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_LIBOBJS="$gl_LIBOBJS mbsrtowcs.$ac_objext" - ac_cv_have_decl_program_invocation_name=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_program_invocation_name" >&5 -$as_echo "$ac_cv_have_decl_program_invocation_name" >&6; } -if test "x$ac_cv_have_decl_program_invocation_name" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 -_ACEOF -fi - { $as_echo "$as_me:$LINENO: checking whether program_invocation_short_name is declared" >&5 -$as_echo_n "checking whether program_invocation_short_name is declared... " >&6; } -if test "${ac_cv_have_decl_program_invocation_short_name+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + gl_LIBOBJS="$gl_LIBOBJS mbsrtowcs-state.$ac_objext" -int -main () -{ -#ifndef program_invocation_short_name - (void) program_invocation_short_name; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_program_invocation_short_name=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + : - ac_cv_have_decl_program_invocation_short_name=no -fi + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_program_invocation_short_name" >&5 -$as_echo "$ac_cv_have_decl_program_invocation_short_name" >&6; } -if test "x$ac_cv_have_decl_program_invocation_short_name" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 -_ACEOF + GNULIB_MBSRTOWCS=1 -fi - # Code from module quote: +$as_echo "#define GNULIB_TEST_MBSRTOWCS 1" >>confdefs.h + if false; then + REPLACE_MBTOWC=1 + fi - gl_LIBOBJS="$gl_LIBOBJS quote.$ac_objext" + if test $REPLACE_MBTOWC = 1; then - # Code from module quotearg: + gl_LIBOBJS="$gl_LIBOBJS mbtowc.$ac_objext" + : + fi - gl_LIBOBJS="$gl_LIBOBJS quotearg.$ac_objext" - # Code from module quotearg-simple: - # Code from module rawmemchr: + GNULIB_MBTOWC=1 +$as_echo "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h + : -for ac_func in rawmemchr -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -else - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" -fi -done + for ac_header in bp-sym.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" +if test "x$ac_cv_header_bp_sym_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_BP_SYM_H 1 +_ACEOF - if test $ac_cv_func_rawmemchr = no; then - HAVE_RAWMEMCHR=0 - : - fi +fi +done + fi - GNULIB_RAWMEMCHR=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_RAWMEMCHR 1 -_ACEOF + GNULIB_MEMCHR=1 - # Code from module readlink: +$as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h - if test $ac_cv_func_readlink = no; then - HAVE_READLINK=0 + for ac_func in mempcpy +do : + ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" +if test "x$ac_cv_func_mempcpy" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MEMPCPY 1 +_ACEOF +fi +done + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 + fi + if test $HAVE_MEMPCPY = 0; then - gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" - : - else - { $as_echo "$as_me:$LINENO: checking whether readlink signature is correct" >&5 -$as_echo_n "checking whether readlink signature is correct... " >&6; } -if test "${gl_cv_decl_readlink_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - /* Cause compilation failure if original declaration has wrong type. */ - ssize_t readlink (const char *, char *, size_t); -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_decl_readlink_works=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gl_cv_decl_readlink_works=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_decl_readlink_works" >&5 -$as_echo "$gl_cv_decl_readlink_works" >&6; } - { $as_echo "$as_me:$LINENO: checking whether readlink handles trailing slash correctly" >&5 -$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } -if test "${gl_cv_func_readlink_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # We have readlink, so assume ln -s works. - ln -s conftest.no-such conftest.link - ln -s conftest.link conftest.lnk2 - if test "$cross_compiling" = yes; then - gl_cv_func_readlink_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -char buf[20]; - return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_readlink_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_LIBOBJS="$gl_LIBOBJS mempcpy.$ac_objext" -( exit $ac_status ) -gl_cv_func_readlink_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + : - rm -f conftest.link conftest.lnk2 -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_readlink_works" >&5 -$as_echo "$gl_cv_func_readlink_works" >&6; } - if test "$gl_cv_func_readlink_works" != yes; then + fi -cat >>confdefs.h <<\_ACEOF -#define READLINK_TRAILING_SLASH_BUG 1 -_ACEOF - REPLACE_READLINK=1 + GNULIB_MEMPCPY=1 - gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" +$as_echo "#define GNULIB_TEST_MEMPCPY 1" >>confdefs.h - elif test "$gl_cv_decl_readlink_works" != yes; then - REPLACE_READLINK=1 @@ -38935,402 +23951,323 @@ _ACEOF + if test $ac_cv_have_decl_memrchr = no; then + HAVE_DECL_MEMRCHR=0 + fi - gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" + for ac_func in memrchr +do : + ac_fn_c_check_func "$LINENO" "memrchr" "ac_cv_func_memrchr" +if test "x$ac_cv_func_memrchr" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MEMRCHR 1 +_ACEOF - fi - fi +fi +done + if test $ac_cv_func_memrchr = no; then - GNULIB_READLINK=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_READLINK 1 -_ACEOF - # Code from module readlinkat: + gl_LIBOBJS="$gl_LIBOBJS memrchr.$ac_objext" + : + fi + GNULIB_MEMRCHR=1 - if test $ac_cv_func_readlinkat = no; then - HAVE_READLINKAT=0 +$as_echo "#define GNULIB_TEST_MEMRCHR 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing slash" >&5 +$as_echo_n "checking whether mkdir handles trailing slash... " >&6; } +if ${gl_cv_func_mkdir_trailing_slash_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftest.dir + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS readlinkat.$ac_objext" +# include +# include - fi +int +main () +{ +return mkdir ("conftest.dir/", 0700); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mkdir_trailing_slash_works=yes +else + gl_cv_func_mkdir_trailing_slash_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + rm -rf conftest.dir +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_slash_works" >&5 +$as_echo "$gl_cv_func_mkdir_trailing_slash_works" >&6; } + case "$gl_cv_func_mkdir_trailing_slash_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 + ;; + esac - GNULIB_READLINKAT=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing dot" >&5 +$as_echo_n "checking whether mkdir handles trailing dot... " >&6; } +if ${gl_cv_func_mkdir_trailing_dot_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftest.dir + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +# include +# include -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_READLINKAT 1 +int +main () +{ +return !mkdir ("conftest.dir/./", 0700); + ; + return 0; +} _ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mkdir_trailing_dot_works=yes +else + gl_cv_func_mkdir_trailing_dot_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + rm -rf conftest.dir - # Code from module realloc-posix: +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_dot_works" >&5 +$as_echo "$gl_cv_func_mkdir_trailing_dot_works" >&6; } + case "$gl_cv_func_mkdir_trailing_dot_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 +$as_echo "#define FUNC_MKDIR_DOT_BUG 1" >>confdefs.h + ;; + esac - if test $gl_cv_func_malloc_posix = yes; then + if test $REPLACE_MKDIR = 1; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_REALLOC_POSIX 1 -_ACEOF - else + gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" - REPLACE_REALLOC=1 + if test $ac_cv_func_mkdirat != yes; then + HAVE_MKDIRAT=0 fi + if test $HAVE_MKDIRAT = 0; then - GNULIB_REALLOC_POSIX=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_REALLOC_POSIX 1 -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS mkdirat.$ac_objext" - # Code from module regex: -# Check whether --with-included-regex was given. -if test "${with_included_regex+set}" = set; then - withval=$with_included_regex; -fi + fi - case $with_included_regex in #( - yes|no) ac_use_included_regex=$with_included_regex - ;; - '') - # If the system regex support is good enough that it passes the - # following run test, then default to *not* using the included regex.c. - # If cross compiling, assume the test would fail and use the included - # regex.c. - { $as_echo "$as_me:$LINENO: checking for working re_compile_pattern" >&5 -$as_echo_n "checking for working re_compile_pattern... " >&6; } -if test "${gl_cv_func_re_compile_pattern_working+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_func_re_compile_pattern_working=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - #include - #include - #include -int -main () -{ -int result = 0; - static struct re_pattern_buffer regex; - unsigned char folded_chars[UCHAR_MAX + 1]; - int i; - const char *s; - struct re_registers regs; - /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html - This test needs valgrind to catch the bug on Debian - GNU/Linux 3.1 x86, but it might catch the bug better - on other platforms and it shouldn't hurt to try the - test here. */ - if (setlocale (LC_ALL, "en_US.UTF-8")) - { - static char const pat[] = "insert into"; - static char const data[] = - "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; - re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE - | RE_ICASE); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern (pat, sizeof pat - 1, ®ex); - if (s) - result |= 1; - else if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, ®s) - != -1) - result |= 1; - if (! setlocale (LC_ALL, "C")) - return 1; - } - /* This test is from glibc bug 3957, reported by Andrew Mackey. */ - re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("a[^x]b", 6, ®ex); - if (s) - result |= 2; - /* This should fail, but succeeds for glibc-2.5. */ - else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) - result |= 2; - /* This regular expression is from Spencer ere test number 75 - in grep-2.3. */ - re_set_syntax (RE_SYNTAX_POSIX_EGREP); - memset (®ex, 0, sizeof regex); - for (i = 0; i <= UCHAR_MAX; i++) - folded_chars[i] = i; - regex.translate = folded_chars; - s = re_compile_pattern ("a[[:]:]]b\n", 11, ®ex); - /* This should fail with _Invalid character class name_ error. */ - if (!s) - result |= 4; + GNULIB_MKDIRAT=1 - /* Ensure that [b-a] is diagnosed as invalid, when - using RE_NO_EMPTY_RANGES. */ - re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("a[b-a]", 6, ®ex); - if (s == 0) - result |= 8; - /* This should succeed, but does not for glibc-2.1.3. */ - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("{1", 2, ®ex); - if (s) - result |= 8; - /* The following example is derived from a problem report - against gawk from Jorge Stolfi . */ - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("[an\371]*n", 7, ®ex); - if (s) - result |= 8; - /* This should match, but does not for glibc-2.2.1. */ - else if (re_match (®ex, "an", 2, 0, ®s) != 2) - result |= 8; - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("x", 1, ®ex); - if (s) - result |= 8; - /* glibc-2.2.93 does not work with a negative RANGE argument. */ - else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) - result |= 8; - /* The version of regex.c in older versions of gnulib - ignored RE_ICASE. Detect that problem too. */ - re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("x", 1, ®ex); - if (s) - result |= 16; - else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) - result |= 16; +$as_echo "#define GNULIB_TEST_MKDIRAT 1" >>confdefs.h - /* Catch a bug reported by Vin Shelton in - http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html - */ - re_set_syntax (RE_SYNTAX_POSIX_BASIC - & ~RE_CONTEXT_INVALID_DUP - & ~RE_NO_EMPTY_RANGES); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); - if (s) - result |= 32; - /* REG_STARTEND was added to glibc on 2004-01-15. - Reject older versions. */ - if (! REG_STARTEND) - result |= 64; -#if 0 - /* It would be nice to reject hosts whose regoff_t values are too - narrow (including glibc on hosts with 64-bit ptrdiff_t and - 32-bit int), but we should wait until glibc implements this - feature. Otherwise, support for equivalence classes and - multibyte collation symbols would always be broken except - when compiling --without-included-regex. */ - if (sizeof (regoff_t) < sizeof (ptrdiff_t) - || sizeof (regoff_t) < sizeof (ssize_t)) - result |= 64; -#endif - return result; - ; - return 0; -} + for ac_func in mkdtemp +do : + ac_fn_c_check_func "$LINENO" "mkdtemp" "ac_cv_func_mkdtemp" +if test "x$ac_cv_func_mkdtemp" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MKDTEMP 1 _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_re_compile_pattern_working=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_re_compile_pattern_working=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +done + if test $ac_cv_func_mkdtemp = no; then + HAVE_MKDTEMP=0 + fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_re_compile_pattern_working" >&5 -$as_echo "$gl_cv_func_re_compile_pattern_working" >&6; } - case $gl_cv_func_re_compile_pattern_working in #( - yes) ac_use_included_regex=no;; #( - no) ac_use_included_regex=yes;; - esac - ;; - *) { { $as_echo "$as_me:$LINENO: error: Invalid value for --with-included-regex: $with_included_regex" >&5 -$as_echo "$as_me: error: Invalid value for --with-included-regex: $with_included_regex" >&2;} - { (exit 1); exit 1; }; } - ;; - esac + if test $HAVE_MKDTEMP = 0; then - if test $ac_use_included_regex = yes; then -cat >>confdefs.h <<\_ACEOF -#define _REGEX_LARGE_OFFSETS 1 -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_syntax_options rpl_re_syntax_options -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_set_syntax rpl_re_set_syntax -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_compile_pattern rpl_re_compile_pattern -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS mkdtemp.$ac_objext" + : -cat >>confdefs.h <<\_ACEOF -#define re_compile_fastmap rpl_re_compile_fastmap -_ACEOF + fi -cat >>confdefs.h <<\_ACEOF -#define re_search rpl_re_search -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_search_2 rpl_re_search_2 -_ACEOF + GNULIB_MKDTEMP=1 -cat >>confdefs.h <<\_ACEOF -#define re_match rpl_re_match -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_match_2 rpl_re_match_2 -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_set_registers rpl_re_set_registers -_ACEOF +$as_echo "#define GNULIB_TEST_MKDTEMP 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define re_comp rpl_re_comp -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define re_exec rpl_re_exec -_ACEOF -cat >>confdefs.h <<\_ACEOF -#define regcomp rpl_regcomp -_ACEOF + if test $ac_cv_func_mkfifo = no; then + HAVE_MKFIFO=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkfifo rejects trailing slashes" >&5 +$as_echo_n "checking whether mkfifo rejects trailing slashes... " >&6; } +if ${gl_cv_func_mkfifo_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.tmp conftest.lnk + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mkfifo_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkfifo_works="guessing no" ;; + esac -cat >>confdefs.h <<\_ACEOF -#define regexec rpl_regexec -_ACEOF +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int result = 0; + if (!mkfifo ("conftest.tmp/", 0600)) + result |= 1; +#if HAVE_LSTAT + if (!mkfifo ("conftest.lnk/", 0600)) + result |= 2; +#endif + return result; -cat >>confdefs.h <<\_ACEOF -#define regerror rpl_regerror + ; + return 0; +} _ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mkfifo_works=yes +else + gl_cv_func_mkfifo_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + rm -f conftest.tmp conftest.lnk +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkfifo_works" >&5 +$as_echo "$gl_cv_func_mkfifo_works" >&6; } + case "$gl_cv_func_mkfifo_works" in + *yes) ;; + *) -cat >>confdefs.h <<\_ACEOF -#define regfree rpl_regfree -_ACEOF +$as_echo "#define MKFIFO_TRAILING_SLASH_BUG 1" >>confdefs.h + REPLACE_MKFIFO=1 + ;; + esac + fi + if test $HAVE_MKFIFO = 0 || test $REPLACE_MKFIFO = 1; then @@ -39338,685 +24275,436 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS mkfifo.$ac_objext" + fi -for ac_header in libintl.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + GNULIB_MKFIFO=1 - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +$as_echo "#define GNULIB_TEST_MKFIFO 1" >>confdefs.h -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done + if test $ac_cv_func_mkfifoat = no; then + # No known system has mkfifoat but not mknodat + HAVE_MKFIFOAT=0 + HAVE_MKNODAT=0 + fi + if test $HAVE_MKFIFOAT = 0; then - { $as_echo "$as_me:$LINENO: checking whether isblank is declared" >&5 -$as_echo_n "checking whether isblank is declared... " >&6; } -if test "${ac_cv_have_decl_isblank+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef isblank - (void) isblank; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_isblank=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_LIBOBJS="$gl_LIBOBJS mkfifoat.$ac_objext" - ac_cv_have_decl_isblank=no -fi + fi + if test $HAVE_MKNODAT = 0; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_isblank" >&5 -$as_echo "$ac_cv_have_decl_isblank" >&6; } -if test "x$ac_cv_have_decl_isblank" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ISBLANK 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ISBLANK 0 -_ACEOF -fi + gl_LIBOBJS="$gl_LIBOBJS mknodat.$ac_objext" fi - # Code from module rename: + GNULIB_MKFIFOAT=1 +$as_echo "#define GNULIB_TEST_MKFIFOAT 1" >>confdefs.h - { $as_echo "$as_me:$LINENO: checking whether rename honors trailing slash on destination" >&5 -$as_echo_n "checking whether rename honors trailing slash on destination... " >&6; } -if test "${gl_cv_func_rename_slash_dst_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk - touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || - { { $as_echo "$as_me:$LINENO: error: cannot create temporary files" >&5 -$as_echo "$as_me: error: cannot create temporary files" >&2;} - { (exit 1); exit 1; }; } - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - ln -s conftest.f conftest.lnk - fi - if test "$cross_compiling" = yes; then - gl_cv_func_rename_slash_dst_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -# include -# include -int -main () -{ -int result = 0; - if (rename ("conftest.f1", "conftest.f2/") == 0) - result |= 1; - if (rename ("conftest.d1", "conftest.d2/") != 0) - result |= 2; -#if HAVE_LSTAT - if (rename ("conftest.f", "conftest.lnk/") == 0) - result |= 4; -#endif - return result; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_rename_slash_dst_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_rename_slash_dst_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_slash_dst_works" >&5 -$as_echo "$gl_cv_func_rename_slash_dst_works" >&6; } - if test "x$gl_cv_func_rename_slash_dst_works" != xyes; then + GNULIB_MKNODAT=1 +$as_echo "#define GNULIB_TEST_MKNODAT 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" - REPLACE_RENAME=1 -cat >>confdefs.h <<\_ACEOF -#define RENAME_TRAILING_SLASH_DEST_BUG 1 -_ACEOF - fi - { $as_echo "$as_me:$LINENO: checking whether rename honors trailing slash on source" >&5 -$as_echo_n "checking whether rename honors trailing slash on source... " >&6; } -if test "${gl_cv_func_rename_slash_src_works+set}" = set; then + + if test $ac_cv_func_mknod = no; then + HAVE_MKNOD=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mknod can create fifo without root privileges" >&5 +$as_echo_n "checking whether mknod can create fifo without root privileges... " >&6; } +if ${gl_cv_func_mknod_works+:} false; then : $as_echo_n "(cached) " >&6 else - rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk - touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || - { { $as_echo "$as_me:$LINENO: error: cannot create temporary files" >&5 -$as_echo "$as_me: error: cannot create temporary files" >&2;} - { (exit 1); exit 1; }; } - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - ln -s conftest.f conftest.lnk - fi - if test "$cross_compiling" = yes; then - gl_cv_func_rename_slash_src_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mknod_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mknod_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + #include -# include -# include + /* Copied from root-uid.h. FIXME: Just use root-uid.h. */ + #ifdef __TANDEM + # define ROOT_UID 65535 + #else + # define ROOT_UID 0 + #endif int main () { -int result = 0; - if (rename ("conftest.f1/", "conftest.d3") == 0) - result |= 1; - if (rename ("conftest.d1/", "conftest.d2") != 0) - result |= 2; -#if HAVE_LSTAT - if (rename ("conftest.lnk/", "conftest.f") == 0) - result |= 4; -#endif - return result; - +/* Indeterminate for super-user, assume no. Why are you running + configure as root, anyway? */ + if (geteuid () == ROOT_UID) return 99; + if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_rename_slash_src_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_mknod_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_rename_slash_src_works=no + if test $? = 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check) +See \`config.log' for more details" "$LINENO" 5; } + fi + gl_cv_func_mknod_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk - + rm -f conftest.fifo fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_slash_src_works" >&5 -$as_echo "$gl_cv_func_rename_slash_src_works" >&6; } - if test "x$gl_cv_func_rename_slash_src_works" != xyes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mknod_works" >&5 +$as_echo "$gl_cv_func_mknod_works" >&6; } + case "$gl_cv_func_mknod_works" in + *yes) ;; + *) + REPLACE_MKNOD=1 +$as_echo "#define MKNOD_FIFO_BUG 1" >>confdefs.h + ;; + esac + if test $REPLACE_MKFIFO = 1; then + REPLACE_MKNOD=1 + fi + fi + if test $HAVE_MKNOD = 0 || test $REPLACE_MKNOD = 1; then - gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" - REPLACE_RENAME=1 -cat >>confdefs.h <<\_ACEOF -#define RENAME_TRAILING_SLASH_SOURCE_BUG 1 -_ACEOF - fi + gl_LIBOBJS="$gl_LIBOBJS mknod.$ac_objext" - { $as_echo "$as_me:$LINENO: checking whether rename manages hard links correctly" >&5 -$as_echo_n "checking whether rename manages hard links correctly... " >&6; } -if test "${gl_cv_func_rename_link_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -rf conftest.f conftest.f1 - if touch conftest.f && ln conftest.f conftest.f1 && - set x `ls -i conftest.f conftest.f1` && test "" = ""; then - if test "$cross_compiling" = yes; then - gl_cv_func_rename_link_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + fi -# include -# include -# include -int -main () -{ -int result = 0; - if (rename ("conftest.f", "conftest.f1")) - result |= 1; - if (unlink ("conftest.f1")) - result |= 2; - if (rename ("conftest.f", "conftest.f")) - result |= 4; - if (rename ("conftest.f1", "conftest.f1") == 0) - result |= 8; - return result; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_rename_link_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_rename_link_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + GNULIB_MKNOD=1 - else - gl_cv_func_rename_link_works="guessing no" - fi - rm -rf conftest.f conftest.f1 -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_link_works" >&5 -$as_echo "$gl_cv_func_rename_link_works" >&6; } - if test "x$gl_cv_func_rename_link_works" != xyes; then +$as_echo "#define GNULIB_TEST_MKNOD 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" - REPLACE_RENAME=1 -cat >>confdefs.h <<\_ACEOF -#define RENAME_HARD_LINK_BUG 1 -_ACEOF - fi - { $as_echo "$as_me:$LINENO: checking whether rename manages existing destinations correctly" >&5 -$as_echo_n "checking whether rename manages existing destinations correctly... " >&6; } -if test "${gl_cv_func_rename_dest_works+set}" = set; then + if test $APPLE_UNIVERSAL_BUILD = 1; then + # A universal build on Apple Mac OS X platforms. + # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. + # But we need a configuration result that is valid in both modes. + gl_cv_func_working_mktime=no + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 +$as_echo_n "checking for working mktime... " >&6; } +if ${gl_cv_func_working_mktime+:} false; then : $as_echo_n "(cached) " >&6 else - rm -rf conftest.f conftest.d1 conftest.d2 - touch conftest.f && mkdir conftest.d1 conftest.d2 || - { { $as_echo "$as_me:$LINENO: error: cannot create temporary files" >&5 -$as_echo "$as_me: error: cannot create temporary files" >&2;} - { (exit 1); exit 1; }; } - if test "$cross_compiling" = yes; then - gl_cv_func_rename_dest_works="guessing no" + if test "$cross_compiling" = yes; then : + gl_cv_func_working_mktime=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Test program from Paul Eggert and Tony Leneis. */ +#include +#include +#include -# include -# include - -int -main () -{ -int result = 0; - if (rename ("conftest.d1", "conftest.d2") != 0) - result |= 1; - if (rename ("conftest.d2", "conftest.f") == 0) - result |= 2; - return result; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_rename_dest_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +#ifdef HAVE_UNISTD_H +# include +#endif -( exit $ac_status ) -gl_cv_func_rename_dest_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi +#if HAVE_DECL_ALARM +# include +#endif +/* Work around redefinition to rpl_putenv by other config tests. */ +#undef putenv - rm -rf conftest.f conftest.d1 conftest.d2 +static time_t time_t_max; +static time_t time_t_min; -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_dest_works" >&5 -$as_echo "$gl_cv_func_rename_dest_works" >&6; } - if test "x$gl_cv_func_rename_dest_works" != xyes; then +/* Values we'll use to set the TZ environment variable. */ +static char *tz_strings[] = { + (char *) 0, "TZ=GMT0", "TZ=JST-9", + "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" +}; +#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) +/* Return 0 if mktime fails to convert a date in the spring-forward gap. + Based on a problem report from Andreas Jaeger. */ +static int +spring_forward_gap () +{ + /* glibc (up to about 1998-10-07) failed this test. */ + struct tm tm; + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); + tm.tm_year = 98; + tm.tm_mon = 3; + tm.tm_mday = 5; + tm.tm_hour = 2; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + return mktime (&tm) != (time_t) -1; +} +static int +mktime_test1 (time_t now) +{ + struct tm *lt; + return ! (lt = localtime (&now)) || mktime (lt) == now; +} +static int +mktime_test (time_t now) +{ + return (mktime_test1 (now) + && mktime_test1 ((time_t) (time_t_max - now)) + && mktime_test1 ((time_t) (time_t_min + now))); +} +static int +irix_6_4_bug () +{ + /* Based on code from Ariel Faigon. */ + struct tm tm; + tm.tm_year = 96; + tm.tm_mon = 3; + tm.tm_mday = 0; + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + mktime (&tm); + return tm.tm_mon == 2 && tm.tm_mday == 31; +} +static int +bigtime_test (int j) +{ + struct tm tm; + time_t now; + tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; + now = mktime (&tm); + if (now != (time_t) -1) + { + struct tm *lt = localtime (&now); + if (! (lt + && lt->tm_year == tm.tm_year + && lt->tm_mon == tm.tm_mon + && lt->tm_mday == tm.tm_mday + && lt->tm_hour == tm.tm_hour + && lt->tm_min == tm.tm_min + && lt->tm_sec == tm.tm_sec + && lt->tm_yday == tm.tm_yday + && lt->tm_wday == tm.tm_wday + && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) + == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) + return 0; + } + return 1; +} - gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" +static int +year_2050_test () +{ + /* The correct answer for 2050-02-01 00:00:00 in Pacific time, + ignoring leap seconds. */ + unsigned long int answer = 2527315200UL; - REPLACE_RENAME=1 + struct tm tm; + time_t t; + tm.tm_year = 2050 - 1900; + tm.tm_mon = 2 - 1; + tm.tm_mday = 1; + tm.tm_hour = tm.tm_min = tm.tm_sec = 0; + tm.tm_isdst = -1; -cat >>confdefs.h <<\_ACEOF -#define RENAME_DEST_EXISTS_BUG 1 -_ACEOF + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - fi + t = mktime (&tm); + /* Check that the result is either a failure, or close enough + to the correct answer that we can assume the discrepancy is + due to leap seconds. */ + return (t == (time_t) -1 + || (0 < t && answer - 120 <= t && t <= answer + 120)); +} +int +main () +{ + int result = 0; + time_t t, delta; + int i, j; + int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; + int time_t_signed = ! ((time_t) 0 < (time_t) -1); +#if HAVE_DECL_ALARM + /* This test makes some buggy mktime implementations loop. + Give up after 60 seconds; a mktime slower than that + isn't worth using anyway. */ + signal (SIGALRM, SIG_DFL); + alarm (60); +#endif - GNULIB_RENAME=1 + time_t_max = (! time_t_signed + ? (time_t) -1 + : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) + * 2 + 1)); + time_t_min = (! time_t_signed + ? (time_t) 0 + : time_t_signed_magnitude + ? ~ (time_t) 0 + : ~ time_t_max); + delta = time_t_max / 997; /* a suitable prime number */ + for (i = 0; i < N_STRINGS; i++) + { + if (tz_strings[i]) + putenv (tz_strings[i]); + for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) + if (! mktime_test (t)) + result |= 1; + if ((result & 2) == 0 + && ! (mktime_test ((time_t) 1) + && mktime_test ((time_t) (60 * 60)) + && mktime_test ((time_t) (60 * 60 * 24)))) + result |= 2; -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_RENAME 1 + for (j = 1; (result & 4) == 0; j <<= 1) + { + if (! bigtime_test (j)) + result |= 4; + if (INT_MAX / 2 < j) + break; + } + if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) + result |= 8; + } + if (! irix_6_4_bug ()) + result |= 16; + if (! spring_forward_gap ()) + result |= 32; + if (! year_2050_test ()) + result |= 64; + return result; +} _ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_mktime=yes +else + gl_cv_func_working_mktime=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5 +$as_echo "$gl_cv_func_working_mktime" >&6; } - # Code from module renameat: - - + if test $gl_cv_func_working_mktime = no; then + REPLACE_MKTIME=1 + else + REPLACE_MKTIME=0 + fi + if test $REPLACE_MKTIME = 1; then @@ -40025,177 +24713,162 @@ _ACEOF - if test $ac_cv_func_renameat = no; then - HAVE_RENAMEAT=0 + gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" + : + fi + GNULIB_MKTIME=1 - gl_LIBOBJS="$gl_LIBOBJS renameat.$ac_objext" +$as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h + : - gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext" - elif test $REPLACE_RENAME = 1; then - REPLACE_RENAMEAT=1 + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 +$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h + else + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 + fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - gl_LIBOBJS="$gl_LIBOBJS renameat.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext" + fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext" - fi - GNULIB_RENAMEAT=1 + gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext" -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_RENAMEAT 1 -_ACEOF + fi - # Code from module rmdir: - { $as_echo "$as_me:$LINENO: checking whether rmdir works" >&5 -$as_echo_n "checking whether rmdir works... " >&6; } -if test "${gl_cv_func_rmdir_works+set}" = set; then + if test $ac_cv_func_nl_langinfo = yes; then + # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether YESEXPR works" >&5 +$as_echo_n "checking whether YESEXPR works... " >&6; } +if ${gl_cv_func_nl_langinfo_yesexpr_works+:} false; then : $as_echo_n "(cached) " >&6 else - mkdir conftest.dir - touch conftest.file - if test "$cross_compiling" = yes; then - gl_cv_func_rmdir_works="guessing no" + if test "$cross_compiling" = yes; then : + + case "$host_os" in + # Guess no on irix systems. + irix*) gl_cv_func_nl_langinfo_yesexpr_works="guessing no";; + # Guess yes elsewhere. + *) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include +#include int main () { -int result = 0; - if (!rmdir ("conftest.file/")) - result |= 1; - else if (errno != ENOTDIR) - result |= 2; - if (!rmdir ("conftest.dir/./")) - result |= 4; - return result; +return !*nl_langinfo(YESEXPR); ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_rmdir_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_nl_langinfo_yesexpr_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_rmdir_works=no + gl_cv_func_nl_langinfo_yesexpr_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -rf conftest.dir conftest.file fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rmdir_works" >&5 -$as_echo "$gl_cv_func_rmdir_works" >&6; } - if test x"$gl_cv_func_rmdir_works" != xyes; then - REPLACE_RMDIR=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nl_langinfo_yesexpr_works" >&5 +$as_echo "$gl_cv_func_nl_langinfo_yesexpr_works" >&6; } + case $gl_cv_func_nl_langinfo_yesexpr_works in + *yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;; + *) FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;; + esac +cat >>confdefs.h <<_ACEOF +#define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS +_ACEOF + if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ + && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then + : + else + REPLACE_NL_LANGINFO=1 +$as_echo "#define REPLACE_NL_LANGINFO 1" >>confdefs.h + fi + else + HAVE_NL_LANGINFO=0 + fi + if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then - gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext" - fi - GNULIB_RMDIR=1 + gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_RMDIR 1 -_ACEOF - # Code from module rpmatch: + GNULIB_NL_LANGINFO=1 +$as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h + @@ -40204,1130 +24877,655 @@ _ACEOF -for ac_func in rpmatch -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&5 +$as_echo_n "checking for obstacks... " >&6; } +if ${ac_cv_func_obstack+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + #include "obstack.h" int main () { -return $ac_func (); +struct obstack mem; + #define obstack_chunk_alloc malloc + #define obstack_chunk_free free + obstack_init (&mem); + obstack_free (&mem, 0); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_obstack=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + ac_cv_func_obstack=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_obstack" >&5 +$as_echo "$ac_cv_func_obstack" >&6; } +if test $ac_cv_func_obstack = yes; then + +$as_echo "#define HAVE_OBSTACK 1" >>confdefs.h else - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" fi -done - if test $ac_cv_func_rpmatch = no; then - HAVE_RPMATCH=0 - { $as_echo "$as_me:$LINENO: checking for nl_langinfo and YESEXPR" >&5 -$as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; } -if test "${gl_cv_langinfo_yesexpr+set}" = set; then + case "$host_os" in + mingw* | pw*) + REPLACE_OPEN=1 + ;; + *) + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5 +$as_echo_n "checking whether open recognizes a trailing slash... " >&6; } +if ${gl_cv_func_open_slash+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + touch conftest.tmp + ln -s conftest.tmp conftest.lnk + fi + if test "$cross_compiling" = yes; then : + + case "$host_os" in + freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) + gl_cv_func_open_slash="guessing no" ;; + *) + gl_cv_func_open_slash="guessing yes" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () + +#include +#if HAVE_UNISTD_H +# include +#endif +int main () { -char* cs = nl_langinfo(YESEXPR); return !cs; - ; - return 0; + int result = 0; +#if HAVE_LSTAT + if (open ("conftest.lnk/", O_RDONLY) != -1) + result |= 1; +#endif + if (open ("conftest.sl/", O_CREAT, 0600) >= 0) + result |= 2; + return result; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - gl_cv_langinfo_yesexpr=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_open_slash=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_langinfo_yesexpr=no + gl_cv_func_open_slash=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + rm -f conftest.sl conftest.tmp conftest.lnk fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_langinfo_yesexpr" >&5 -$as_echo "$gl_cv_langinfo_yesexpr" >&6; } - if test $gl_cv_langinfo_yesexpr = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5 +$as_echo "$gl_cv_func_open_slash" >&6; } + case "$gl_cv_func_open_slash" in + *no) -cat >>confdefs.h <<\_ACEOF -#define HAVE_LANGINFO_YESEXPR 1 -_ACEOF +$as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h + + REPLACE_OPEN=1 + ;; + esac + ;; + esac + if test $REPLACE_OPEN = 0; then + + + + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 fi + if test $HAVE_FCHDIR = 0; then + REPLACE_OPEN=1 + fi + fi + + + + if test $REPLACE_OPEN = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext" + + + + : + fi - GNULIB_RPMATCH=1 + GNULIB_OPEN=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_RPMATCH 1 -_ACEOF - # Code from module safe-read: +$as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h + + + case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in + yes+*yes) + ;; + yes+*) + # Solaris 9 has *at functions, but uniformly mishandles trailing + # slash in all of them. + REPLACE_OPENAT=1 + ;; + *) + HAVE_OPENAT=0 + ;; + esac + if test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1; then - gl_LIBOBJS="$gl_LIBOBJS safe-read.$ac_objext" - # Code from module safe-write: + gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext" + : + + fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_OPENAT 1 +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS safe-write.$ac_objext" + GNULIB_OPENAT=1 +$as_echo "#define GNULIB_TEST_OPENAT 1" >>confdefs.h - # Code from module same-inode: - # Code from module save-cwd: + for ac_func in opendir +do : + ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir" +if test "x$ac_cv_func_opendir" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENDIR 1 +_ACEOF +fi +done + if test $ac_cv_func_opendir = no; then + HAVE_OPENDIR=0 + fi - gl_LIBOBJS="$gl_LIBOBJS save-cwd.$ac_objext" + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 + fi + if test $HAVE_FCHDIR = 0; then + if test $HAVE_OPENDIR = 1; then + REPLACE_OPENDIR=1 + fi + fi + if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then - # Code from module savedir: + gl_LIBOBJS="$gl_LIBOBJS opendir.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS savedir.$ac_objext" - # Code from module setenv: + GNULIB_OPENDIR=1 - if test $HAVE_SETENV$REPLACE_SETENV != 10; then +$as_echo "#define GNULIB_TEST_OPENDIR 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext" - fi + ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include +#include <$ac_cv_struct_tm> - GNULIB_SETENV=1 +" +if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TM_TM_ZONE 1 +_ACEOF -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_SETENV 1 -_ACEOF +fi +if test "$ac_cv_member_struct_tm_tm_zone" = yes; then +$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h - # Code from module size_max: +else + ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include +" +if test "x$ac_cv_have_decl_tzname" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TZNAME $ac_have_decl +_ACEOF -for ac_header in stdint.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 +$as_echo_n "checking for tzname... " >&6; } +if ${ac_cv_var_tzname+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> +#include +#if !HAVE_DECL_TZNAME +extern char *tzname[]; +#endif + +int +main () +{ +return tzname[0][0]; + ; + return 0; +} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_var_tzname=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_var_tzname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 +$as_echo "$ac_cv_var_tzname" >&6; } + if test $ac_cv_var_tzname = yes; then + +$as_echo "#define HAVE_TZNAME 1" >>confdefs.h - ac_header_compiler=no + fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <$ac_header> + +#include /* for time_t */ +#include /* for CHAR_BIT, LONG_MIN, LONG_MAX */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1]; +typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1]; + _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_header_preproc=no -fi +$as_echo "#define TIME_T_FITS_IN_LONG_INT 1" >>confdefs.h -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + + + + + for ac_func in getppriv +do : + ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv" +if test "x$ac_cv_func_getppriv" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_GETPPRIV 1 _ACEOF fi - done - { $as_echo "$as_me:$LINENO: checking for SIZE_MAX" >&5 -$as_echo_n "checking for SIZE_MAX... " >&6; } -if test "${gl_cv_size_max+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gl_cv_size_max= - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif + ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Found it" >/dev/null 2>&1; then - gl_cv_size_max=yes + + ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -rm -f conftest* - if test -z "$gl_cv_size_max"; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) >= 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break + # Check whether --enable-acl was given. +if test "${enable_acl+set}" = set; then : + enableval=$enable_acl; else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + enable_acl=auto fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + LIB_ACL= + use_acl=0 + if test "x$enable_acl" != "xno"; then + for ac_header in sys/acl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_acl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_ACL_H 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +fi + +done + + if test $ac_cv_header_sys_acl_h = yes; then + ac_save_LIBS=$LIBS + + if test $use_acl = 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5 +$as_echo_n "checking for library containing acl_get_file... " >&6; } +if ${ac_cv_search_acl_get_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char acl_get_file (); int main () { -static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) >= $ac_mid)]; -test_array [0] = 0 - +return acl_get_file (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` +for ac_lib in '' acl pacl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_acl_get_file=$ac_res fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_acl_get_file+:} false; then : + break +fi +done +if ${ac_cv_search_acl_get_file+:} false; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= + ac_cv_search_acl_get_file=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5 +$as_echo "$ac_cv_search_acl_get_file" >&6; } +ac_res=$ac_cv_search_acl_get_file +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_acl_get_file" != "none required"; then + LIB_ACL=$ac_cv_search_acl_get_file + fi + for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ + acl_free acl_from_mode acl_from_text \ + acl_delete_def_file acl_extended_file \ + acl_delete_fd_np acl_delete_file_np \ + acl_copy_ext_native acl_create_entry_np \ + acl_to_short_text acl_free_text +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr '(' $ac_mid ')' + 1` fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done -case $ac_lo in -?*) size_t_bits_minus_1=$ac_lo;; -'') size_t_bits_minus_1= ;; -esac + + # If the acl_get_file bug is detected, don't enable the ACL support. + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5 +$as_echo_n "checking for working acl_get_file... " >&6; } +if ${gl_cv_func_working_acl_get_file+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + gl_cv_func_working_acl_get_file=cross-compiling +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -static long int longval () { return sizeof (size_t) * CHAR_BIT - 1; } -static unsigned long int ulongval () { return sizeof (size_t) * CHAR_BIT - 1; } -#include -#include +#include + #include + #include + int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof (size_t) * CHAR_BIT - 1) < 0) - { - long int i = longval (); - if (i != (sizeof (size_t) * CHAR_BIT - 1)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof (size_t) * CHAR_BIT - 1)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; +if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT) + return 1; + return 0; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - size_t_bits_minus_1=`cat conftest.val` +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_acl_get_file=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -size_t_bits_minus_1= + gl_cv_func_working_acl_get_file=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest.val - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; -test_array [0] = 0 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5 +$as_echo "$gl_cv_func_working_acl_get_file" >&6; } - ; - return 0; -} + if test $gl_cv_func_working_acl_get_file = yes; then : + use_acl=1 +fi + + if test $use_acl = 1; then + for ac_header in acl/libacl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default" +if test "x$ac_cv_header_acl_libacl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACL_LIBACL_H 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +done - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} + for ac_func in acl_entries +do : + ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries" +if test "x$ac_cv_func_acl_entries" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACL_ENTRIES 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr '(' $ac_mid ')' + 1` -fi + gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi done -case $ac_lo in -?*) fits_in_uint=$ac_lo;; -'') fits_in_uint= ;; -esac + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_FIRST_ENTRY" >&5 +$as_echo_n "checking for ACL_FIRST_ENTRY... " >&6; } +if ${gl_cv_acl_ACL_FIRST_ENTRY+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -static long int longval () { return sizeof (size_t) <= sizeof (unsigned int); } -static unsigned long int ulongval () { return sizeof (size_t) <= sizeof (unsigned int); } -#include -#include +#include +#include +int type = ACL_FIRST_ENTRY; int main () { - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof (size_t) <= sizeof (unsigned int)) < 0) - { - long int i = longval (); - if (i != (sizeof (size_t) <= sizeof (unsigned int))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof (size_t) <= sizeof (unsigned int))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - fits_in_uint=`cat conftest.val` +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_acl_ACL_FIRST_ENTRY=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -fits_in_uint= + gl_cv_acl_ACL_FIRST_ENTRY=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.val - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - extern size_t foo; - extern unsigned long foo; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5 +$as_echo "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; } + if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then + +$as_echo "#define HAVE_ACL_FIRST_ENTRY 1" >>confdefs.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_TYPE_EXTENDED" >&5 +$as_echo_n "checking for ACL_TYPE_EXTENDED... " >&6; } +if ${gl_cv_acl_ACL_TYPE_EXTENDED+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int type = ACL_TYPE_EXTENDED; int main () { @@ -41336,1684 +25534,1298 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - fits_in_uint=0 +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_acl_ACL_TYPE_EXTENDED=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + gl_cv_acl_ACL_TYPE_EXTENDED=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_size_max" >&5 -$as_echo "$gl_cv_size_max" >&6; } - if test "$gl_cv_size_max" != yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5 +$as_echo "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; } + if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then -cat >>confdefs.h <<_ACEOF -#define SIZE_MAX $gl_cv_size_max -_ACEOF +$as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h - fi + fi + else + LIB_ACL= + fi +fi + fi - # Code from module sleep: + if test $use_acl = 0; then + for ac_func in facl +do : + ac_fn_c_check_func "$LINENO" "facl" "ac_cv_func_facl" +if test "x$ac_cv_func_facl" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FACL 1 +_ACEOF +fi +done - { $as_echo "$as_me:$LINENO: checking whether sleep is declared" >&5 -$as_echo_n "checking whether sleep is declared... " >&6; } -if test "${ac_cv_have_decl_sleep+set}" = set; then + if test $ac_cv_func_facl = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_trivial" >&5 +$as_echo_n "checking for library containing acl_trivial... " >&6; } +if ${ac_cv_search_acl_trivial+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char acl_trivial (); int main () { -#ifndef sleep - (void) sleep; -#endif - +return acl_trivial (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_sleep=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +for ac_lib in '' sec; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_acl_trivial=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_acl_trivial+:} false; then : + break +fi +done +if ${ac_cv_search_acl_trivial+:} false; then : - ac_cv_have_decl_sleep=no +else + ac_cv_search_acl_trivial=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5 +$as_echo "$ac_cv_search_acl_trivial" >&6; } +ac_res=$ac_cv_search_acl_trivial +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_acl_trivial" != "none required"; then + LIB_ACL=$ac_cv_search_acl_trivial + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sleep" >&5 -$as_echo "$ac_cv_have_decl_sleep" >&6; } -if test "x$ac_cv_have_decl_sleep" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SLEEP 1 + for ac_func in acl_trivial +do : + ac_fn_c_check_func "$LINENO" "acl_trivial" "ac_cv_func_acl_trivial" +if test "x$ac_cv_func_acl_trivial" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACL_TRIVIAL 1 _ACEOF +fi +done + + use_acl=1 + fi + fi -else + if test $use_acl = 0; then + for ac_func in getacl +do : + ac_fn_c_check_func "$LINENO" "getacl" "ac_cv_func_getacl" +if test "x$ac_cv_func_getacl" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SLEEP 0 +#define HAVE_GETACL 1 _ACEOF +fi +done + + if test $ac_cv_func_getacl = yes; then + use_acl=1 + fi + for ac_header in aclv.h +do : + ac_fn_c_check_header_compile "$LINENO" "aclv.h" "ac_cv_header_aclv_h" "#include +" +if test "x$ac_cv_header_aclv_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACLV_H 1 +_ACEOF fi +done + + fi + + if test $use_acl = 0; then + for ac_func in aclx_get +do : + ac_fn_c_check_func "$LINENO" "aclx_get" "ac_cv_func_aclx_get" +if test "x$ac_cv_func_aclx_get" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACLX_GET 1 +_ACEOF +fi +done + if test $ac_cv_func_aclx_get = yes; then + use_acl=1 + fi + fi + if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then + for ac_func in statacl +do : + ac_fn_c_check_func "$LINENO" "statacl" "ac_cv_func_statacl" +if test "x$ac_cv_func_statacl" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STATACL 1 +_ACEOF +fi +done + if test $ac_cv_func_statacl = yes; then + use_acl=1 + fi + fi + if test $use_acl = 0; then + for ac_func in aclsort +do : + ac_fn_c_check_func "$LINENO" "aclsort" "ac_cv_func_aclsort" +if test "x$ac_cv_func_aclsort" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ACLSORT 1 +_ACEOF - if test $ac_cv_have_decl_sleep != yes; then - HAVE_SLEEP=0 +fi +done + if test $ac_cv_func_aclsort = yes; then + use_acl=1 + fi + fi + LIBS=$ac_save_LIBS + fi + if test "x$enable_acl$use_acl" = "xyes0"; then + as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5 + elif test "x$enable_acl$use_acl" = "xauto0"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libacl development library was not found or not usable." >&5 +$as_echo "$as_me: WARNING: libacl development library was not found or not usable." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be built without ACL support." >&5 +$as_echo "$as_me: WARNING: GNU tar will be built without ACL support." >&2;} + fi + fi +cat >>confdefs.h <<_ACEOF +#define USE_ACL $use_acl +_ACEOF + USE_ACL=$use_acl - gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext" + : - else - { $as_echo "$as_me:$LINENO: checking for working sleep" >&5 -$as_echo_n "checking for working sleep... " >&6; } -if test "${gl_cv_func_sleep_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_func_sleep_works="guessing no" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -static void -handle_alarm (int sig) -{ - if (sig != SIGALRM) - _exit (2); -} + : -int -main () -{ - /* Failure to compile this test due to missing alarm is okay, - since all such platforms (mingw) also lack sleep. */ - unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ - unsigned int remaining; - signal (SIGALRM, handle_alarm); - alarm (1); - remaining = sleep (pentecost); - if (remaining > pentecost) - return 3; - if (remaining <= pentecost - 10) - return 4; - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_sleep_works=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_sleep_works=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi + for ac_func in raise +do : + ac_fn_c_check_func "$LINENO" "raise" "ac_cv_func_raise" +if test "x$ac_cv_func_raise" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_RAISE 1 +_ACEOF fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_sleep_works" >&5 -$as_echo "$gl_cv_func_sleep_works" >&6; } - if test "$gl_cv_func_sleep_works" != yes; then - REPLACE_SLEEP=1 +done + if test $ac_cv_func_raise = no; then + HAVE_RAISE=0 + else + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_RAISE=1 + fi + fi + if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then - gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext" - fi - fi + gl_LIBOBJS="$gl_LIBOBJS raise.$ac_objext" + : + fi - GNULIB_SLEEP=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_SLEEP 1 -_ACEOF + GNULIB_RAISE=1 - # Code from module snprintf: - gl_cv_func_snprintf_usable=no -for ac_func in snprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func +$as_echo "#define GNULIB_TEST_RAISE 1" >>confdefs.h -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_func in rawmemchr +do : + ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" +if test "x$ac_cv_func_rawmemchr" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_RAWMEMCHR 1 _ACEOF fi done - if test $ac_cv_func_snprintf = yes; then + if test $ac_cv_func_rawmemchr = no; then + HAVE_RAWMEMCHR=0 + fi + if test $HAVE_RAWMEMCHR = 0; then - { $as_echo "$as_me:$LINENO: checking whether snprintf respects a size of 1" >&5 -$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if test "${gl_cv_func_snprintf_size1+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - gl_cv_func_snprintf_size1="guessing yes" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_snprintf_size1=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -gl_cv_func_snprintf_size1=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_size1" >&5 -$as_echo "$gl_cv_func_snprintf_size1" >&6; } - case "$gl_cv_func_snprintf_size1" in - *yes) + gl_LIBOBJS="$gl_LIBOBJS rawmemchr.$ac_objext" - case "$gl_cv_func_snprintf_retval_c99" in - *yes) - gl_cv_func_snprintf_usable=yes - ;; - esac - ;; - esac + : fi - if test $gl_cv_func_snprintf_usable = no; then + GNULIB_RAWMEMCHR=1 - gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" +$as_echo "#define GNULIB_TEST_RAWMEMCHR 1" >>confdefs.h + + - if test $ac_cv_func_snprintf = yes; then - REPLACE_SNPRINTF=1 - fi - : + + + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_READ=1 fi + if test $REPLACE_READ = 1; then - if test $ac_cv_have_decl_snprintf = no; then - HAVE_DECL_SNPRINTF=0 + + + + + + + gl_LIBOBJS="$gl_LIBOBJS read.$ac_objext" + + : fi - GNULIB_SNPRINTF=1 + GNULIB_READ=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_SNPRINTF 1 -_ACEOF +$as_echo "#define GNULIB_TEST_READ 1" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define GNULIB_SNPRINTF 1 -_ACEOF - # Code from module ssize_t: - { $as_echo "$as_me:$LINENO: checking for ssize_t" >&5 -$as_echo_n "checking for ssize_t... " >&6; } -if test "${gt_cv_ssize_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int x = sizeof (ssize_t *) + sizeof (ssize_t); - return !x; - ; - return 0; -} + + for ac_func in readdir +do : + ac_fn_c_check_func "$LINENO" "readdir" "ac_cv_func_readdir" +if test "x$ac_cv_func_readdir" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_READDIR 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gt_cv_ssize_t=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - gt_cv_ssize_t=no fi +done + + if test $ac_cv_func_readdir = no; then + HAVE_READDIR=0 + fi + + if test $HAVE_READDIR = 0; then + + + -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_ssize_t" >&5 -$as_echo "$gt_cv_ssize_t" >&6; } - if test $gt_cv_ssize_t = no; then -cat >>confdefs.h <<\_ACEOF -#define ssize_t int -_ACEOF + + + + gl_LIBOBJS="$gl_LIBOBJS readdir.$ac_objext" fi - # Code from module stat: + GNULIB_READDIR=1 - { $as_echo "$as_me:$LINENO: checking whether stat handles trailing slashes on directories" >&5 -$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; } -if test "${gl_cv_func_stat_dir_slash+set}" = set; then + +$as_echo "#define GNULIB_TEST_READDIR 1" >>confdefs.h + + + + + + + if test $ac_cv_func_readlink = no; then + HAVE_READLINK=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 +$as_echo_n "checking whether readlink signature is correct... " >&6; } +if ${gl_cv_decl_readlink_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - case $host_os in - mingw*) gl_cv_func_stat_dir_slash="guessing no";; - *) gl_cv_func_stat_dir_slash="guessing yes";; - esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include + /* Cause compilation failure if original declaration has wrong type. */ + ssize_t readlink (const char *, char *, size_t); int main () { -struct stat st; return stat (".", &st) != stat ("./", &st); + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_stat_dir_slash=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_decl_readlink_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_stat_dir_slash=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + gl_cv_decl_readlink_works=no fi - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_stat_dir_slash" >&5 -$as_echo "$gl_cv_func_stat_dir_slash" >&6; } - { $as_echo "$as_me:$LINENO: checking whether stat handles trailing slashes on files" >&5 -$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; } -if test "${gl_cv_func_stat_file_slash+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5 +$as_echo "$gl_cv_decl_readlink_works" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 +$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } +if ${gl_cv_func_readlink_works+:} false; then : $as_echo_n "(cached) " >&6 else - touch conftest.tmp - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - ln -s conftest.tmp conftest.lnk - fi - if test "$cross_compiling" = yes; then - gl_cv_func_stat_file_slash="guessing no" + # We have readlink, so assume ln -s works. + ln -s conftest.no-such conftest.link + ln -s conftest.link conftest.lnk2 + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_readlink_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { -int result = 0; - struct stat st; - if (!stat ("conftest.tmp/", &st)) - result |= 1; -#if HAVE_LSTAT - if (!stat ("conftest.lnk/", &st)) - result |= 2; -#endif - return result; - +char buf[20]; + return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_stat_file_slash=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_readlink_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_readlink_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + rm -f conftest.link conftest.lnk2 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 +$as_echo "$gl_cv_func_readlink_works" >&6; } + case "$gl_cv_func_readlink_works" in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) + +$as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h + + REPLACE_READLINK=1 + ;; + esac + fi + + if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" + + + : + + fi + + + + + + GNULIB_READLINK=1 + + + + + +$as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h + + + + + + + + if test $ac_cv_func_readlinkat = no; then + HAVE_READLINKAT=0 + fi + + if test $HAVE_READLINKAT = 0; then -( exit $ac_status ) -gl_cv_func_stat_file_slash=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - rm -f conftest.tmp conftest.lnk -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_stat_file_slash" >&5 -$as_echo "$gl_cv_func_stat_file_slash" >&6; } - case $gl_cv_func_stat_dir_slash in - *no) REPLACE_STAT=1 -cat >>confdefs.h <<\_ACEOF -#define REPLACE_FUNC_STAT_DIR 1 -_ACEOF -;; - esac - case $gl_cv_func_stat_file_slash in - *no) REPLACE_STAT=1 -cat >>confdefs.h <<\_ACEOF -#define REPLACE_FUNC_STAT_FILE 1 -_ACEOF -;; - esac - if test $REPLACE_STAT = 1; then + gl_LIBOBJS="$gl_LIBOBJS readlinkat.$ac_objext" + + fi - gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" + GNULIB_READLINKAT=1 + + + + + +$as_echo "#define GNULIB_TEST_READLINKAT 1" >>confdefs.h + + + + + if test $gl_cv_func_malloc_posix = yes; then + +$as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h + + else + REPLACE_REALLOC=1 fi + if test $REPLACE_REALLOC = 1; then - GNULIB_STAT=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STAT 1 -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" - # Code from module stat-macros: - # Code from module stat-time: + fi + GNULIB_REALLOC_POSIX=1 - { $as_echo "$as_me:$LINENO: checking for struct stat.st_atim.tv_nsec" >&5 -$as_echo_n "checking for struct stat.st_atim.tv_nsec... " >&6; } -if test "${ac_cv_member_struct_stat_st_atim_tv_nsec+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include +$as_echo "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_atim.tv_nsec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atim_tv_nsec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_atim.tv_nsec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atim_tv_nsec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_member_struct_stat_st_atim_tv_nsec=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Check whether --with-included-regex was given. +if test "${with_included_regex+set}" = set; then : + withval=$with_included_regex; fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_tv_nsec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_atim_tv_nsec" >&6; } -if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 -_ACEOF + case $with_included_regex in #( + yes|no) ac_use_included_regex=$with_included_regex + ;; + '') + # If the system regex support is good enough that it passes the + # following run test, then default to *not* using the included regex.c. + # If cross compiling, assume the test would fail and use the included + # regex.c. -{ $as_echo "$as_me:$LINENO: checking whether struct stat.st_atim is of type struct timespec" >&5 -$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } -if test "${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working re_compile_pattern" >&5 +$as_echo_n "checking for working re_compile_pattern... " >&6; } +if ${gl_cv_func_re_compile_pattern_working+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + gl_cv_func_re_compile_pattern_working=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include - #include - #include - #if HAVE_SYS_TIME_H - # include + #include + #include + #include + #if HAVE_DECL_ALARM + # include + # include #endif - #include - struct timespec ts; - struct stat st; int main () { +int result = 0; + static struct re_pattern_buffer regex; + unsigned char folded_chars[UCHAR_MAX + 1]; + int i; + const char *s; + struct re_registers regs; - st.st_atim = ts; +#if HAVE_DECL_ALARM + /* Some builds of glibc go into an infinite loop on this test. */ + signal (SIGALRM, SIG_DFL); + alarm (2); +#endif + if (setlocale (LC_ALL, "en_US.UTF-8")) + { + { + /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html + This test needs valgrind to catch the bug on Debian + GNU/Linux 3.1 x86, but it might catch the bug better + on other platforms and it shouldn't hurt to try the + test here. */ + static char const pat[] = "insert into"; + static char const data[] = + "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; + re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE + | RE_ICASE); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern (pat, sizeof pat - 1, ®ex); + if (s) + result |= 1; + else if (re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, ®s) + != -1) + result |= 1; + } - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { + /* This test is from glibc bug 15078. + The test case is from Andreas Schwab in + . + */ + static char const pat[] = "[^x]x"; + static char const data[] = + /* */ + "\xe1\x80\x80" + "\xe1\x80\xbb" + "\xe1\x80\xbd" + "\xe1\x80\x94" + "\xe1\x80\xba" + "\xe1\x80\xaf" + "\xe1\x80\x95" + "\xe1\x80\xba" + "x"; + re_set_syntax (0); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern (pat, sizeof pat - 1, ®ex); + if (s) + result |= 1; + else + { + i = re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, 0); + if (i != 0 && i != 21) + result |= 1; + } + } - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no -fi + if (! setlocale (LC_ALL, "C")) + return 1; + } -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 -$as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } - if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then + /* This test is from glibc bug 3957, reported by Andrew Mackey. */ + re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("a[^x]b", 6, ®ex); + if (s) + result |= 2; + /* This should fail, but succeeds for glibc-2.5. */ + else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) + result |= 2; -cat >>confdefs.h <<\_ACEOF -#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1 -_ACEOF + /* This regular expression is from Spencer ere test number 75 + in grep-2.3. */ + re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof regex); + for (i = 0; i <= UCHAR_MAX; i++) + folded_chars[i] = i; + regex.translate = folded_chars; + s = re_compile_pattern ("a[[:]:]]b\n", 11, ®ex); + /* This should fail with _Invalid character class name_ error. */ + if (!s) + result |= 4; - fi -else - { $as_echo "$as_me:$LINENO: checking for struct stat.st_atimespec.tv_nsec" >&5 -$as_echo_n "checking for struct stat.st_atimespec.tv_nsec... " >&6; } -if test "${ac_cv_member_struct_stat_st_atimespec_tv_nsec+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include + /* Ensure that [b-a] is diagnosed as invalid, when + using RE_NO_EMPTY_RANGES. */ + re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("a[b-a]", 6, ®ex); + if (s == 0) + result |= 8; -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_atimespec.tv_nsec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + /* This should succeed, but does not for glibc-2.1.3. */ + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("{1", 2, ®ex); + if (s) + result |= 8; - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include + /* The following example is derived from a problem report + against gawk from Jorge Stolfi . */ + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("[an\371]*n", 7, ®ex); + if (s) + result |= 8; + /* This should match, but does not for glibc-2.2.1. */ + else if (re_match (®ex, "an", 2, 0, ®s) != 2) + result |= 8; + + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("x", 1, ®ex); + if (s) + result |= 8; + /* glibc-2.2.93 does not work with a negative RANGE argument. */ + else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) + result |= 8; + + /* The version of regex.c in older versions of gnulib + ignored RE_ICASE. Detect that problem too. */ + re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("x", 1, ®ex); + if (s) + result |= 16; + else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) + result |= 16; + + /* Catch a bug reported by Vin Shelton in + http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html + */ + re_set_syntax (RE_SYNTAX_POSIX_BASIC + & ~RE_CONTEXT_INVALID_DUP + & ~RE_NO_EMPTY_RANGES); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); + if (s) + result |= 32; + + /* REG_STARTEND was added to glibc on 2004-01-15. + Reject older versions. */ + if (! REG_STARTEND) + result |= 64; + +#if 0 + /* It would be nice to reject hosts whose regoff_t values are too + narrow (including glibc on hosts with 64-bit ptrdiff_t and + 32-bit int), but we should wait until glibc implements this + feature. Otherwise, support for equivalence classes and + multibyte collation symbols would always be broken except + when compiling --without-included-regex. */ + if (sizeof (regoff_t) < sizeof (ptrdiff_t) + || sizeof (regoff_t) < sizeof (ssize_t)) + result |= 64; +#endif + + return result; -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_atimespec.tv_nsec) -return 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_re_compile_pattern_working=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_atimespec_tv_nsec=no + gl_cv_func_re_compile_pattern_working=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&6; } -if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_re_compile_pattern_working" >&5 +$as_echo "$gl_cv_func_re_compile_pattern_working" >&6; } + case $gl_cv_func_re_compile_pattern_working in #( + yes) ac_use_included_regex=no;; #( + no) ac_use_included_regex=yes;; + esac + ;; + *) as_fn_error $? "Invalid value for --with-included-regex: $with_included_regex" "$LINENO" 5 + ;; + esac -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 -_ACEOF + if test $ac_use_included_regex = yes; then +$as_echo "#define _REGEX_INCLUDE_LIMITS_H 1" >>confdefs.h -else - { $as_echo "$as_me:$LINENO: checking for struct stat.st_atimensec" >&5 -$as_echo_n "checking for struct stat.st_atimensec... " >&6; } -if test "${ac_cv_member_struct_stat_st_atimensec+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_atimensec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atimensec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define _REGEX_LARGE_OFFSETS 1" >>confdefs.h - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_atimensec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atimensec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define re_syntax_options rpl_re_syntax_options" >>confdefs.h - ac_cv_member_struct_stat_st_atimensec=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi +$as_echo "#define re_set_syntax rpl_re_set_syntax" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimensec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_atimensec" >&6; } -if test "x$ac_cv_member_struct_stat_st_atimensec" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 -_ACEOF +$as_echo "#define re_compile_pattern rpl_re_compile_pattern" >>confdefs.h -else - { $as_echo "$as_me:$LINENO: checking for struct stat.st_atim.st__tim.tv_nsec" >&5 -$as_echo_n "checking for struct stat.st_atim.st__tim.tv_nsec... " >&6; } -if test "${ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include +$as_echo "#define re_compile_fastmap rpl_re_compile_fastmap" >>confdefs.h -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_atim.st__tim.tv_nsec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include +$as_echo "#define re_search rpl_re_search" >>confdefs.h -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_atim.st__tim.tv_nsec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=no -fi +$as_echo "#define re_search_2 rpl_re_search_2" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&6; } -if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = x""yes; then +$as_echo "#define re_match rpl_re_match" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 -_ACEOF +$as_echo "#define re_match_2 rpl_re_match_2" >>confdefs.h -fi -fi +$as_echo "#define re_set_registers rpl_re_set_registers" >>confdefs.h -fi -fi +$as_echo "#define re_comp rpl_re_comp" >>confdefs.h +$as_echo "#define re_exec rpl_re_exec" >>confdefs.h +$as_echo "#define regcomp rpl_regcomp" >>confdefs.h +$as_echo "#define regexec rpl_regexec" >>confdefs.h +$as_echo "#define regerror rpl_regerror" >>confdefs.h +$as_echo "#define regfree rpl_regfree" >>confdefs.h - { $as_echo "$as_me:$LINENO: checking for struct stat.st_birthtimespec.tv_nsec" >&5 -$as_echo_n "checking for struct stat.st_birthtimespec.tv_nsec... " >&6; } -if test "${ac_cv_member_struct_stat_st_birthtimespec_tv_nsec+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include + fi -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_birthtimespec.tv_nsec) -return 0; - ; - return 0; -} + if test $ac_use_included_regex = yes; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext" + + + + + + + + for ac_header in libintl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" +if test "x$ac_cv_header_libintl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBINTL_H 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=yes + +fi + +done + + + ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include +" +if test "x$ac_cv_have_decl_isblank" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_have_decl=0 +fi - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ISBLANK $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + + fi + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on destination" >&5 +$as_echo_n "checking whether rename honors trailing slash on destination... " >&6; } +if ${gl_cv_func_rename_slash_dst_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk + touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || + as_fn_error $? "cannot create temporary files" "$LINENO" 5 + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.f conftest.lnk + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_slash_dst_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + +# include +# include int main () { -static struct stat ac_aggr; -if (sizeof ac_aggr.st_birthtimespec.tv_nsec) -return 0; +int result = 0; + if (rename ("conftest.f1", "conftest.f2/") == 0) + result |= 1; + if (rename ("conftest.d1", "conftest.d2/") != 0) + result |= 2; +#if HAVE_LSTAT + if (rename ("conftest.f", "conftest.lnk/") == 0) + result |= 4; +#endif + return result; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_rename_slash_dst_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=no + gl_cv_func_rename_slash_dst_works=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" >&6; } -if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_dst_works" >&5 +$as_echo "$gl_cv_func_rename_slash_dst_works" >&6; } + case "$gl_cv_func_rename_slash_dst_works" in + *yes) ;; + *) + REPLACE_RENAME=1 -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 -_ACEOF +$as_echo "#define RENAME_TRAILING_SLASH_DEST_BUG 1" >>confdefs.h + ;; + esac -else - { $as_echo "$as_me:$LINENO: checking for struct stat.st_birthtimensec" >&5 -$as_echo_n "checking for struct stat.st_birthtimensec... " >&6; } -if test "${ac_cv_member_struct_stat_st_birthtimensec+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on source" >&5 +$as_echo_n "checking whether rename honors trailing slash on source... " >&6; } +if ${gl_cv_func_rename_slash_src_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include + rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk + touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || + as_fn_error $? "cannot create temporary files" "$LINENO" 5 + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.f conftest.lnk + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_slash_src_works="guessing no" ;; + esac -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_birthtimensec) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_birthtimensec=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + +# include +# include int main () { -static struct stat ac_aggr; -if (sizeof ac_aggr.st_birthtimensec) -return 0; +int result = 0; + if (rename ("conftest.f1/", "conftest.d3") == 0) + result |= 1; + if (rename ("conftest.d1/", "conftest.d2") != 0) + result |= 2; +#if HAVE_LSTAT + if (rename ("conftest.lnk/", "conftest.f") == 0) + result |= 4; +#endif + return result; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_birthtimensec=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_rename_slash_src_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_birthtimensec=no + gl_cv_func_rename_slash_src_works=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_birthtimensec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_birthtimensec" >&6; } -if test "x$ac_cv_member_struct_stat_st_birthtimensec" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_src_works" >&5 +$as_echo "$gl_cv_func_rename_slash_src_works" >&6; } + case "$gl_cv_func_rename_slash_src_works" in + *yes) ;; + *) + REPLACE_RENAME=1 -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 -_ACEOF +$as_echo "#define RENAME_TRAILING_SLASH_SOURCE_BUG 1" >>confdefs.h + + ;; + esac -else - { $as_echo "$as_me:$LINENO: checking for struct stat.st_birthtim.tv_nsec" >&5 -$as_echo_n "checking for struct stat.st_birthtim.tv_nsec... " >&6; } -if test "${ac_cv_member_struct_stat_st_birthtim_tv_nsec+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages hard links correctly" >&5 +$as_echo_n "checking whether rename manages hard links correctly... " >&6; } +if ${gl_cv_func_rename_link_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test $ac_cv_func_link = yes; then + rm -rf conftest.f conftest.f1 + if touch conftest.f && ln conftest.f conftest.f1 && + set x `ls -i conftest.f conftest.f1` && test "" = ""; then + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_link_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + +# include +# include +# include int main () { -static struct stat ac_aggr; -if (ac_aggr.st_birthtim.tv_nsec) -return 0; +int result = 0; + if (rename ("conftest.f", "conftest.f1")) + result |= 1; + if (unlink ("conftest.f1")) + result |= 2; + if (rename ("conftest.f", "conftest.f")) + result |= 4; + if (rename ("conftest.f1", "conftest.f1") == 0) + result |= 8; + return result; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_birthtim_tv_nsec=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_rename_link_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_rename_link_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + else + gl_cv_func_rename_link_works="guessing no" + fi + rm -rf conftest.f conftest.f1 + else + gl_cv_func_rename_link_works=yes + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_link_works" >&5 +$as_echo "$gl_cv_func_rename_link_works" >&6; } + case "$gl_cv_func_rename_link_works" in + *yes) ;; + *) + REPLACE_RENAME=1 + +$as_echo "#define RENAME_HARD_LINK_BUG 1" >>confdefs.h + + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages existing destinations correctly" >&5 +$as_echo_n "checking whether rename manages existing destinations correctly... " >&6; } +if ${gl_cv_func_rename_dest_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftest.f conftest.d1 conftest.d2 + touch conftest.f && mkdir conftest.d1 conftest.d2 || + as_fn_error $? "cannot create temporary files" "$LINENO" 5 + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_dest_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + +# include +# include int main () { -static struct stat ac_aggr; -if (sizeof ac_aggr.st_birthtim.tv_nsec) -return 0; +int result = 0; + if (rename ("conftest.d1", "conftest.d2") != 0) + result |= 1; + if (rename ("conftest.d2", "conftest.f") == 0) + result |= 2; + return result; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_birthtim_tv_nsec=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_rename_dest_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_birthtim_tv_nsec=no + gl_cv_func_rename_dest_works=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + rm -rf conftest.f conftest.d1 conftest.d2 + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_birthtim_tv_nsec" >&5 -$as_echo "$ac_cv_member_struct_stat_st_birthtim_tv_nsec" >&6; } -if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = x""yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_dest_works" >&5 +$as_echo "$gl_cv_func_rename_dest_works" >&6; } + case "$gl_cv_func_rename_dest_works" in + *yes) ;; + *) + REPLACE_RENAME=1 -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 -_ACEOF +$as_echo "#define RENAME_DEST_EXISTS_BUG 1" >>confdefs.h + ;; + esac -fi + if test $REPLACE_RENAME = 1; then -fi -fi - # Code from module stdarg: - STDARG_H=''; - NEXT_STDARG_H=''; - { $as_echo "$as_me:$LINENO: checking for va_copy" >&5 -$as_echo_n "checking for va_copy... " >&6; } - if test "${gl_cv_func_va_copy+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef va_copy -void (*func) (va_list, va_list) = va_copy; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_va_copy=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" + + fi + + + + + + GNULIB_RENAME=1 + + + + + +$as_echo "#define GNULIB_TEST_RENAME 1" >>confdefs.h + + + + + + + + + + if test $ac_cv_func_renameat = no; then + HAVE_RENAMEAT=0 + elif test $REPLACE_RENAME = 1; then + REPLACE_RENAMEAT=1 + fi + + if test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1; then + - gl_cv_func_va_copy=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - { $as_echo "$as_me:$LINENO: result: $gl_cv_func_va_copy" >&5 -$as_echo "$gl_cv_func_va_copy" >&6; } - if test $gl_cv_func_va_copy = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined _AIX && !defined __GNUC__ - AIX vaccine - #endif + + + + gl_LIBOBJS="$gl_LIBOBJS renameat.$ac_objext" + + fi + if test $HAVE_RENAMEAT = 0; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext" + + fi + + + + + + GNULIB_RENAMEAT=1 + + + + + +$as_echo "#define GNULIB_TEST_RENAMEAT 1" >>confdefs.h + + + + + + + for ac_func in rewinddir +do : + ac_fn_c_check_func "$LINENO" "rewinddir" "ac_cv_func_rewinddir" +if test "x$ac_cv_func_rewinddir" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_REWINDDIR 1 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "vaccine" >/dev/null 2>&1; then - gl_aixcc=yes -else - gl_aixcc=no + fi -rm -f conftest* +done - if test $gl_aixcc = yes; then - STDARG_H=stdarg.h + if test $ac_cv_func_rewinddir = no; then + HAVE_REWINDDIR=0 + fi + if test $HAVE_REWINDDIR = 0; then @@ -43021,330 +26833,315 @@ rm -f conftest* - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdarg_h='<'stdarg.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdarg_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + gl_LIBOBJS="$gl_LIBOBJS rewinddir.$ac_objext" -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdarg.h#{ - s#.*"\(.*/stdarg.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + fi -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdarg_h" >&5 -$as_echo "$gl_cv_next_stdarg_h" >&6; } - fi - NEXT_STDARG_H=$gl_cv_next_stdarg_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdarg.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdarg_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive + GNULIB_REWINDDIR=1 - if test "$gl_cv_next_stdarg_h" = '""'; then - gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' - NEXT_STDARG_H="$gl_cv_next_stdarg_h" - fi - else - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - if test "${gl_cv_func___va_copy+set}" = set; then + + +$as_echo "#define GNULIB_TEST_REWINDDIR 1" >>confdefs.h + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rmdir works" >&5 +$as_echo_n "checking whether rmdir works... " >&6; } +if ${gl_cv_func_rmdir_works+:} false; then : $as_echo_n "(cached) " >&6 else + mkdir conftest.dir + touch conftest.file + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rmdir_works="guessing no" ;; + esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif + int main () { - -#ifndef __va_copy -error, bail out -#endif +int result = 0; + if (!rmdir ("conftest.file/")) + result |= 1; + else if (errno != ENOTDIR) + result |= 2; + if (!rmdir ("conftest.dir/./")) + result |= 4; + return result; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func___va_copy=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_rmdir_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func___va_copy=no + gl_cv_func_rmdir_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + rm -rf conftest.dir conftest.file fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rmdir_works" >&5 +$as_echo "$gl_cv_func_rmdir_works" >&6; } + case "$gl_cv_func_rmdir_works" in + *yes) ;; + *) + REPLACE_RMDIR=1 + ;; + esac - as_echo_n="$saved_as_echo_n" + if test $REPLACE_RMDIR = 1; then - if test $gl_cv_func___va_copy = yes; then -cat >>confdefs.h <<\_ACEOF -#define va_copy __va_copy -_ACEOF - else -cat >>confdefs.h <<\_ACEOF -#define va_copy gl_va_copy -_ACEOF - fi - fi + + gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext" + fi - # Code from module stdbool: - # Define two additional variables used in the Makefile substitution. - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi + GNULIB_RMDIR=1 - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - # Code from module stddef: +$as_echo "#define GNULIB_TEST_RMDIR 1" >>confdefs.h - if test $gt_cv_c_wchar_t = no; then - HAVE_WCHAR_T=0 - STDDEF_H=stddef.h + + + + + + for ac_func in rpmatch +do : + ac_fn_c_check_func "$LINENO" "rpmatch" "ac_cv_func_rpmatch" +if test "x$ac_cv_func_rpmatch" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_RPMATCH 1 +_ACEOF + +fi +done + + if test $ac_cv_func_rpmatch = no; then + HAVE_RPMATCH=0 fi - { $as_echo "$as_me:$LINENO: checking whether NULL can be used in arbitrary expressions" >&5 -$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } -if test "${gl_cv_decl_null_works+set}" = set; then + + if test $HAVE_RPMATCH = 0; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS rpmatch.$ac_objext" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and YESEXPR" >&5 +$as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; } +if ${gl_cv_langinfo_yesexpr+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int test[2 * (sizeof NULL == sizeof (void *)) -1]; - +#include int main () { - +char* cs = nl_langinfo(YESEXPR); return !cs; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_decl_null_works=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_langinfo_yesexpr=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_decl_null_works=no + gl_cv_langinfo_yesexpr=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_decl_null_works" >&5 -$as_echo "$gl_cv_decl_null_works" >&6; } - if test $gl_cv_decl_null_works = no; then - REPLACE_NULL=1 - STDDEF_H=stddef.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_langinfo_yesexpr" >&5 +$as_echo "$gl_cv_langinfo_yesexpr" >&6; } + if test $gl_cv_langinfo_yesexpr = yes; then + +$as_echo "#define HAVE_LANGINFO_YESEXPR 1" >>confdefs.h + fi - if test -n "$STDDEF_H"; then + fi + GNULIB_RPMATCH=1 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stddef_h='<'stddef.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stddef_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + +$as_echo "#define GNULIB_TEST_RPMATCH 1" >>confdefs.h + + + + + + + + + + + + + + + + : + + + + + + + if test $ac_cv_func_secure_getenv = no; then + HAVE_SECURE_GETENV=0 + fi + + if test $HAVE_SECURE_GETENV = 0; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS secure_getenv.$ac_objext" + + + for ac_func in __secure_getenv +do : + ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv" +if test "x$ac_cv_func___secure_getenv" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE___SECURE_GETENV 1 _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stddef.h#{ - s#.*"\(.*/stddef.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' +fi +done + + if test $ac_cv_func___secure_getenv = no; then + for ac_func in issetugid +do : + ac_fn_c_check_func "$LINENO" "issetugid" "ac_cv_func_issetugid" +if test "x$ac_cv_func_issetugid" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ISSETUGID 1 +_ACEOF fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stddef_h" >&5 -$as_echo "$gl_cv_next_stddef_h" >&6; } - fi - NEXT_STDDEF_H=$gl_cv_next_stddef_h +done - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stddef.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stddef_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive + fi + fi - fi - # Code from module stdint: + GNULIB_SECURE_GETENV=1 - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi +$as_echo "#define GNULIB_TEST_SECURE_GETENV 1" >>confdefs.h + for ac_header in selinux/flask.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "selinux/flask.h" "ac_cv_header_selinux_flask_h" "$ac_includes_default" +if test "x$ac_cv_header_selinux_flask_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SELINUX_FLASK_H 1 +_ACEOF +fi +done - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi + gl_LIBOBJS="$gl_LIBOBJS selinux-at.$ac_objext" + if test "$with_selinux" != no; then + for ac_header in selinux/selinux.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default" +if test "x$ac_cv_header_selinux_selinux_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SELINUX_SELINUX_H 1 +_ACEOF + +fi + +done + if test "$ac_cv_header_selinux_selinux_h" = yes; then + # We do have , so do compile getfilecon.c + # and arrange to use its wrappers. + @@ -43354,1852 +27151,1187 @@ $as_echo "$gl_cv_next_stddef_h" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdint_h='<'stdint.h'>' + gl_cv_next_selinux_selinux_h='<'selinux/selinux.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdint_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_selinux_selinux_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_stdint_h = yes; then + if test $ac_cv_header_selinux_selinux_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac - gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdint.h#{ - s#.*"\(.*/stdint.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'selinux/selinux.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_selinux_selinux_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' else - gl_cv_next_stdint_h='<'stdint.h'>' + gl_cv_next_selinux_selinux_h='<'selinux/selinux.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_selinux_selinux_h" >&5 +$as_echo "$gl_cv_next_selinux_selinux_h" >&6; } fi - NEXT_STDINT_H=$gl_cv_next_stdint_h + NEXT_SELINUX_SELINUX_H=$gl_cv_next_selinux_selinux_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdint.h'>' + gl_next_as_first_directive='<'selinux/selinux.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdint_h + gl_next_as_first_directive=$gl_cv_next_selinux_selinux_h fi - NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H=$gl_next_as_first_directive - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 + +$as_echo "#define getfilecon rpl_getfilecon" >>confdefs.h + + +$as_echo "#define lgetfilecon rpl_lgetfilecon" >>confdefs.h + + +$as_echo "#define fgetfilecon rpl_fgetfilecon" >>confdefs.h + + fi + + case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in + no:*) # already warned + ;; + *:no) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libselinux was found but selinux/selinux.h is missing." >&5 +$as_echo "$as_me: WARNING: libselinux was found but selinux/selinux.h is missing." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be compiled without SELinux support." >&5 +$as_echo "$as_me: WARNING: GNU tar will be compiled without SELinux support." >&2;} + esac else - HAVE_STDINT_H=0 + # Do as if does not exist, even if + # AC_CHECK_HEADERS_ONCE has already determined that it exists. + $as_echo "#define HAVE_SELINUX_SELINUX_H 0" >>confdefs.h + fi - if test $ac_cv_header_stdint_h = yes; then - { $as_echo "$as_me:$LINENO: checking whether stdint.h conforms to C99" >&5 -$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } -if test "${gl_cv_header_working_stdint_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ + if test "$with_selinux" != no; then + for ac_header in selinux/context.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "selinux/context.h" "ac_cv_header_selinux_context_h" "$ac_includes_default" +if test "x$ac_cv_header_selinux_context_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SELINUX_CONTEXT_H 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + SELINUX_CONTEXT_H= +else + SELINUX_CONTEXT_H=selinux/context.h +fi -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif +done + else + SELINUX_CONTEXT_H=selinux/context.h + fi - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + if test -n "$SELINUX_CONTEXT_H"; then + GL_GENERATE_SELINUX_CONTEXT_H_TRUE= + GL_GENERATE_SELINUX_CONTEXT_H_FALSE='#' +else + GL_GENERATE_SELINUX_CONTEXT_H_TRUE='#' + GL_GENERATE_SELINUX_CONTEXT_H_FALSE= +fi -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; + if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - if test "$cross_compiling" = yes; then - gl_cv_header_working_stdint_h=yes -else - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include + gl_LIBOBJS="$gl_LIBOBJS getfilecon.$ac_objext" + fi - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + if test $ac_cv_func_setenv = no; then + HAVE_SETENV=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5 +$as_echo_n "checking whether setenv validates arguments... " >&6; } +if ${gl_cv_func_setenv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_setenv_works="guessing no" ;; + esac -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + #include int main () { - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return mv - macro_values + 1; - } - return 0; + int result = 0; + { + if (setenv ("", "", 0) != -1) + result |= 1; + else if (errno != EINVAL) + result |= 2; + } + { + if (setenv ("a", "=", 1) != 0) + result |= 4; + else if (strcmp (getenv ("a"), "=") != 0) + result |= 8; + } + return result; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_header_working_stdint_h=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_setenv_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + gl_cv_func_setenv_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5 +$as_echo "$gl_cv_func_setenv_works" >&6; } + case "$gl_cv_func_setenv_works" in + *yes) ;; + *) + REPLACE_SETENV=1 + ;; + esac + fi + if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_working_stdint_h" >&5 -$as_echo "$gl_cv_header_working_stdint_h" >&6; } + + + + gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext" + fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else -for ac_header in sys/inttypes.h sys/bitypes.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + + + + GNULIB_SETENV=1 + + + + + +$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_signal_h='<'signal.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_signal_h+:} false; then : $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> +#include + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'signal.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + - ac_header_compiler=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 +$as_echo "$gl_cv_next_signal_h" >&6; } + fi + NEXT_SIGNAL_H=$gl_cv_next_signal_h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'signal.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_signal_h + fi + NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive + + + + + +# AIX declares sig_atomic_t to already include volatile, and C89 compilers +# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. + ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " +#include + +" +if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then : -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 +fi - ac_header_preproc=no + + + + + + + ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " +#include + +" +if test "x$ac_cv_type_sighandler_t" = xyes; then : + +else + HAVE_SIGHANDLER_T=0 fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + + for gl_func in pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + done + + + + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_STDINT_H 1 _ACEOF fi done - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 +$as_echo_n "checking for SIZE_MAX... " >&6; } +if ${gl_cv_size_max+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_size_max= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif - if test $APPLE_UNIVERSAL_BUILD = 0; then +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Found it" >/dev/null 2>&1; then : + gl_cv_size_max=yes +fi +rm -f conftest* + if test -z "$gl_cv_size_max"; then + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include +#include "; then : +else + size_t_bits_minus_1= +fi + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + fits_in_uint= +fi - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then + if test $fits_in_uint = 1; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + extern size_t foo; + extern unsigned long foo; -#include int main () { -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; -test_array [0] = 0 ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +if ac_fn_c_try_compile "$LINENO"; then : + fits_in_uint=0 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $fits_in_uint = 1; then + gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" + else + gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" + fi + else + gl_cv_size_max='((size_t)~(size_t)0)' + fi + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 +$as_echo "$gl_cv_size_max" >&6; } + if test "$gl_cv_size_max" != yes; then + +cat >>confdefs.h <<_ACEOF +#define SIZE_MAX $gl_cv_size_max _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + fi -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done + ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include +" +if test "x$ac_cv_have_decl_sleep" = xyes; then : + ac_have_decl=1 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_have_decl=0 +fi - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SLEEP $ac_have_decl _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; -test_array [0] = 0 + if test $ac_cv_have_decl_sleep != yes; then + HAVE_SLEEP=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working sleep" >&5 +$as_echo_n "checking for working sleep... " >&6; } +if ${gl_cv_func_sleep_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_sleep_works="guessing no" ;; + esac - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +#include +#include +#include +static void +handle_alarm (int sig) +{ + if (sig != SIGALRM) + _exit (2); +} -#include int main () { -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; -test_array [0] = 0 + + /* Failure to compile this test due to missing alarm is okay, + since all such platforms (mingw) also lack sleep. */ + unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ + unsigned int remaining; + signal (SIGALRM, handle_alarm); + alarm (1); + remaining = sleep (pentecost); + if (remaining > pentecost) + return 3; + if (remaining <= pentecost - 10) + return 4; + return 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_sleep_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_sleep_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5 +$as_echo "$gl_cv_func_sleep_works" >&6; } + case "$gl_cv_func_sleep_works" in + *yes) ;; + *) + REPLACE_SLEEP=1 + ;; + esac + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + + + + + + gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext" + + fi + + + + + + GNULIB_SLEEP=1 + + + + + +$as_echo "#define GNULIB_TEST_SLEEP 1" >>confdefs.h + + + + + + gl_cv_func_snprintf_usable=no + for ac_func in snprintf +do : + ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" +if test "x$ac_cv_func_snprintf" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SNPRINTF 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +fi +done -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 + if test $ac_cv_func_snprintf = yes; then - ; - return 0; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 +$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } +if ${gl_cv_func_snprintf_size1+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + gl_cv_func_snprintf_size1="guessing yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif +int main() +{ + static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; + my_snprintf (buf, 1, "%d", 12345); + return buf[1] != 'E'; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_snprintf_size1=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_snprintf_size1=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + - ac_lo=`expr '(' $ac_mid ')' + 1` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 +$as_echo "$gl_cv_func_snprintf_size1" >&6; } -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) result=$ac_lo;; -'') result=unknown ;; -esac + case "$gl_cv_func_snprintf_size1" in + *yes) + + case "$gl_cv_func_snprintf_retval_c99" in + *yes) + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 +$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } +if ${gl_cv_func_printf_positions+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + if test "$cross_compiling" = yes; then : -#include -static long int longval () { return sizeof ($gltype) * CHAR_BIT; } -static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } -#include -#include -int -main () -{ + case "$host_os" in + netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) + gl_cv_func_printf_positions="guessing no";; + beos*) gl_cv_func_printf_positions="guessing no";; + mingw* | pw*) gl_cv_func_printf_positions="guessing no";; + *) gl_cv_func_printf_positions="guessing yes";; + esac - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof ($gltype) * CHAR_BIT) < 0) - { - long int i = longval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - ; - return 0; +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - result=`cat conftest.val` +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_printf_positions=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -result=unknown + gl_cv_func_printf_positions=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest.val - eval gl_cv_bitsizeof_${gltype}=\$result + fi -ac_res=`eval 'as_val=${'gl_cv_bitsizeof_${gltype}'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 +$as_echo "$gl_cv_func_printf_positions" >&6; } - eval BITSIZEOF_${GLTYPE}=\$result - done + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_snprintf_usable=yes + ;; + esac + ;; + esac + ;; + esac + fi + if test $gl_cv_func_snprintf_usable = no; then - fi - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + if test $ac_cv_func_snprintf = yes; then + REPLACE_SNPRINTF=1 + fi + : -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 + fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if test $ac_cv_have_decl_snprintf = no; then + HAVE_DECL_SNPRINTF=0 + fi - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include -int -main () -{ -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + GNULIB_SNPRINTF=1 + + + + + +$as_echo "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h + + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_SNPRINTF 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +$as_echo_n "checking for ssize_t... " >&6; } +if ${gt_cv_ssize_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; -test_array [0] = 0 - +int x = sizeof (ssize_t *) + sizeof (ssize_t); + return !x; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_ssize_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + gt_cv_ssize_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 +$as_echo "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi +$as_echo "#define ssize_t int" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + fi - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5 +$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; } +if ${gl_cv_func_stat_dir_slash+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case $host_os in + mingw*) gl_cv_func_stat_dir_slash="guessing no";; + *) gl_cv_func_stat_dir_slash="guessing yes";; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int main () { -static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; -test_array [0] = 0 - +struct stat st; return stat (".", &st) != stat ("./", &st); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_stat_dir_slash=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_func_stat_dir_slash=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - ac_lo=`expr '(' $ac_mid ')' + 1` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5 +$as_echo "$gl_cv_func_stat_dir_slash" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5 +$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; } +if ${gl_cv_func_stat_file_slash+:} false; then : + $as_echo_n "(cached) " >&6 +else + touch conftest.tmp + # Assume that if we have lstat, we can also check symlinks. + if test $ac_cv_func_lstat = yes; then + ln -s conftest.tmp conftest.lnk + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_stat_file_slash="guessing no" ;; + esac -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) result=$ac_lo;; -'') result=unknown ;; -esac else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include -static long int longval () { return sizeof ($gltype) * CHAR_BIT; } -static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } -#include -#include int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof ($gltype) * CHAR_BIT) < 0) - { - long int i = longval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof ($gltype) * CHAR_BIT)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; +int result = 0; + struct stat st; + if (!stat ("conftest.tmp/", &st)) + result |= 1; +#if HAVE_LSTAT + if (!stat ("conftest.lnk/", &st)) + result |= 2; +#endif + return result; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - result=`cat conftest.val` +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_stat_file_slash=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -result=unknown + gl_cv_func_stat_file_slash=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest.val - eval gl_cv_bitsizeof_${gltype}=\$result + rm -f conftest.tmp conftest.lnk fi -ac_res=`eval 'as_val=${'gl_cv_bitsizeof_${gltype}'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - - eval BITSIZEOF_${GLTYPE}=\$result - done - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5 +$as_echo "$gl_cv_func_stat_file_slash" >&6; } + case $gl_cv_func_stat_dir_slash in + *no) REPLACE_STAT=1 +$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h +;; + esac + case $gl_cv_func_stat_file_slash in + *no) REPLACE_STAT=1 +$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h +;; + esac + if test $REPLACE_STAT = 1; then - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:$LINENO: checking whether $gltype is signed" >&5 -$as_echo_n "checking whether $gltype is signed... " >&6; } -if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - result=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - result=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result -fi -ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_signed'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNED_${GLTYPE} 1 -_ACEOF - eval HAVE_SIGNED_${GLTYPE}=1 - else - eval HAVE_SIGNED_${GLTYPE}=0 - fi - done + gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" + : + fi - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + GNULIB_STAT=1 - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval gl_cv_type_${gltype}_suffix=\$glsuf -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi +$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_suffix'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - done - fi + ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 +_ACEOF - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5 +$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } +if ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+:} false; then : $as_echo_n "(cached) " >&6 else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + #include + #include + #if HAVE_SYS_TIME_H + # include + #endif + #include + struct timespec ts; + struct stat st; - extern $gltype foo; - extern $gltype1 foo; int main () { + st.st_atim = ts; + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval gl_cv_type_${gltype}_suffix=\$glsuf +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - + ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done fi -ac_res=`eval 'as_val=${'gl_cv_type_${gltype}_suffix'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 +$as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } + if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then - done +$as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h + fi +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 +_ACEOF - STDINT_H=stdint.h - fi +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then : - # Code from module stdio: +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 +_ACEOF +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 +_ACEOF +fi +fi +fi +fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdio_h='<'stdio.h'>' - else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdio_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdio.h#{ - s#.*"\(.*/stdio.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdio_h" >&5 -$as_echo "$gl_cv_next_stdio_h" >&6; } - fi - NEXT_STDIO_H=$gl_cv_next_stdio_h +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes; then : - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdio.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdio_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 +_ACEOF +fi +fi - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 +fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_STATAT 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 +$as_echo_n "checking for working stdalign.h... " >&6; } +if ${gl_cv_header_working_stdalign_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + (__GNUC__ || __IBMC__ || __IBMCPP__ \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + struct alignas_test { char c; char alignas (8) alignas_8; }; + char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 + ? 1 : -1]; + #endif +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_working_stdalign_h=yes +else + gl_cv_header_working_stdalign_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 +$as_echo "$gl_cv_header_working_stdalign_h" >&6; } + if test $gl_cv_header_working_stdalign_h = yes; then + STDALIGN_H='' + else + STDALIGN_H='stdalign.h' + fi + if test -n "$STDALIGN_H"; then + GL_GENERATE_STDALIGN_H_TRUE= + GL_GENERATE_STDALIGN_H_FALSE='#' +else + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE= +fi - for gl_func in dprintf fpurge fseeko ftello getdelim getline popen renameat snprintf tmpfile vdprintf vsnprintf; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then + STDARG_H='' + NEXT_STDARG_H='' + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 +$as_echo_n "checking for va_copy... " >&6; } + if ${gl_cv_func_va_copy+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -#undef $gl_func - (void) $gl_func; + +#ifndef va_copy +void (*func) (va_list, va_list) = va_copy; +#endif + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_va_copy=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + gl_cv_func_va_copy=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - - done - - # Code from module stdlib: + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 +$as_echo "$gl_cv_func_va_copy" >&6; } + if test $gl_cv_func_va_copy = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _AIX && !defined __GNUC__ + AIX vaccine + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "vaccine" >/dev/null 2>&1; then : + gl_aixcc=yes +else + gl_aixcc=no +fi +rm -f conftest* + if test $gl_aixcc = yes; then + STDARG_H=stdarg.h @@ -45209,302 +28341,268 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdlib_h='<'stdlib.h'>' + gl_cv_next_stdarg_h='<'stdarg.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdlib_h+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdarg_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac - gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/stdlib.h#{ - s#.*"\(.*/stdlib.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stdarg.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_stdlib_h" >&5 -$as_echo "$gl_cv_next_stdlib_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 +$as_echo "$gl_cv_next_stdarg_h" >&6; } fi - NEXT_STDLIB_H=$gl_cv_next_stdlib_h + NEXT_STDARG_H=$gl_cv_next_stdarg_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdlib.h'>' + gl_next_as_first_directive='<'stdarg.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdlib_h + gl_next_as_first_directive=$gl_cv_next_stdarg_h fi - NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive - - - - - - - - - - - - - - - - - - - - - - - - - + NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive + if test "$gl_cv_next_stdarg_h" = '""'; then + gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' + NEXT_STDARG_H="$gl_cv_next_stdarg_h" + fi + else - for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt unsetenv; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then + saved_as_echo_n="$as_echo_n" + as_echo_n=':' + if ${gl_cv_func___va_copy+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#if HAVE_SYS_LOADAVG_H -# include -#endif -#if HAVE_RANDOM_H -# include -#endif + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -#undef $gl_func - (void) $gl_func; + +#ifndef __va_copy +error, bail out +#endif + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_gl_Symbol=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func___va_copy=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + gl_cv_func___va_copy=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi + as_echo_n="$saved_as_echo_n" - done + if test $gl_cv_func___va_copy = yes; then +$as_echo "#define va_copy __va_copy" >>confdefs.h - # Code from module stpcpy: + else +$as_echo "#define va_copy gl_va_copy" >>confdefs.h + fi + fi + fi + if test -n "$STDARG_H"; then + GL_GENERATE_STDARG_H_TRUE= + GL_GENERATE_STDARG_H_FALSE='#' +else + GL_GENERATE_STDARG_H_TRUE='#' + GL_GENERATE_STDARG_H_FALSE= +fi + # Define two additional variables used in the Makefile substitution. + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + if test -n "$STDBOOL_H"; then + GL_GENERATE_STDBOOL_H_TRUE= + GL_GENERATE_STDBOOL_H_FALSE='#' +else + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE= +fi + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi -for ac_func in stpcpy -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + STDDEF_H= + if test $gt_cv_c_wchar_t = no; then + HAVE_WCHAR_T=0 + STDDEF_H=stddef.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 +$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } +if ${gl_cv_decl_null_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int test[2 * (sizeof NULL == sizeof (void *)) -1]; int main () { -return $ac_func (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_decl_null_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_decl_null_works=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 +$as_echo "$gl_cv_decl_null_works" >&6; } + if test $gl_cv_decl_null_works = no; then + REPLACE_NULL=1 + STDDEF_H=stddef.h + fi + if test -n "$STDDEF_H"; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= fi -done + if test -n "$STDDEF_H"; then - if test $ac_cv_func_stpcpy = no; then - HAVE_STPCPY=0 - : - fi - GNULIB_STPCPY=1 + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stddef_h='<'stddef.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stddef_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STPCPY 1 _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stddef.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' - # Code from module strcase: +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 +$as_echo "$gl_cv_next_stddef_h" >&6; } + fi + NEXT_STDDEF_H=$gl_cv_next_stddef_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stddef.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stddef_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive + fi @@ -45512,314 +28610,150 @@ _ACEOF -for ac_func in strcasecmp -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdio_h='<'stdio.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdio_h+:} false; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac -else + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stdio.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi -done - - - if test $ac_cv_func_strcasecmp = no; then - HAVE_STRCASECMP=0 - - : - - fi - - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 +$as_echo "$gl_cv_next_stdio_h" >&6; } + fi + NEXT_STDIO_H=$gl_cv_next_stdio_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdio.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdio_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive + GNULIB_FSCANF=1 -for ac_func in strncasecmp -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define GNULIB_FSCANF 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func + GNULIB_SCANF=1 -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define GNULIB_SCANF 1 _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -else + GNULIB_FGETC=1 + GNULIB_GETC=1 + GNULIB_GETCHAR=1 + GNULIB_FGETS=1 + GNULIB_FREAD=1 - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" -fi -done + GNULIB_FPRINTF=1 + GNULIB_PRINTF=1 + GNULIB_VFPRINTF=1 + GNULIB_VPRINTF=1 + GNULIB_FPUTC=1 + GNULIB_PUTC=1 + GNULIB_PUTCHAR=1 + GNULIB_FPUTS=1 + GNULIB_PUTS=1 + GNULIB_FWRITE=1 - if test $ac_cv_func_strncasecmp = no; then - : - fi - { $as_echo "$as_me:$LINENO: checking whether strncasecmp is declared" >&5 -$as_echo_n "checking whether strncasecmp is declared... " >&6; } -if test "${ac_cv_have_decl_strncasecmp+set}" = set; then + for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + int main () { -#ifndef strncasecmp - (void) strncasecmp; -#endif - +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strncasecmp=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_strncasecmp=no + eval "$as_gl_Symbol=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strncasecmp" >&5 -$as_echo "$ac_cv_have_decl_strncasecmp" >&6; } -if test "x$ac_cv_have_decl_strncasecmp" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNCASECMP 1 -_ACEOF - - -else +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNCASECMP 0 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF - + eval ac_cv_have_decl_$gl_func=yes fi + done - if test $ac_cv_have_decl_strncasecmp = no; then - HAVE_DECL_STRNCASECMP=0 - fi - # Code from module strchrnul: @@ -45828,137 +28762,135 @@ fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdlib_h='<'stdlib.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdlib_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stdlib.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 +$as_echo "$gl_cv_next_stdlib_h" >&6; } + fi + NEXT_STDLIB_H=$gl_cv_next_stdlib_h -for ac_func in strchrnul -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdlib.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdlib_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" + + + for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random random_r realpath rpmatch secure_getenv setenv setstate setstate_r srandom srandom_r strtod strtoll strtoull unlockpt unsetenv; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if HAVE_SYS_LOADAVG_H +# include #endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me +#if HAVE_RANDOM_H +# include #endif int main () { -return $ac_func (); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + eval "$as_gl_Symbol=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - + eval ac_cv_have_decl_$gl_func=yes fi -done - + done - if test $ac_cv_func_strchrnul = no; then - HAVE_STRCHRNUL=0 - : - fi - GNULIB_STRCHRNUL=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRCHRNUL 1 + for ac_func in stpcpy +do : + ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy" +if test "x$ac_cv_func_stpcpy" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STPCPY 1 _ACEOF +fi +done + if test $ac_cv_func_stpcpy = no; then + HAVE_STPCPY=0 + fi - # Code from module strdup-posix: - - + if test $HAVE_STPCPY = 0; then @@ -45966,402 +28898,258 @@ _ACEOF - if test $ac_cv_func_strdup = yes; then - if test $gl_cv_func_malloc_posix != yes; then - REPLACE_STRDUP=1 + gl_LIBOBJS="$gl_LIBOBJS stpcpy.$ac_objext" + : + fi - gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" - : - fi - else + GNULIB_STPCPY=1 +$as_echo "#define GNULIB_TEST_STPCPY 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" - : - fi + for ac_func in strcasecmp +do : + ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" +if test "x$ac_cv_func_strcasecmp" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRCASECMP 1 +_ACEOF +fi +done - if test $ac_cv_have_decl_strdup = no; then - HAVE_DECL_STRDUP=0 + if test $ac_cv_func_strcasecmp = no; then + HAVE_STRCASECMP=0 fi - - GNULIB_STRDUP=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRDUP 1 + for ac_func in strncasecmp +do : + ac_fn_c_check_func "$LINENO" "strncasecmp" "ac_cv_func_strncasecmp" +if test "x$ac_cv_func_strncasecmp" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRNCASECMP 1 _ACEOF +fi +done - - # Code from module streq: - # Code from module strerror: - - - if test $REPLACE_STRERROR = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" - + if test $ac_cv_func_strncasecmp = yes; then + HAVE_STRNCASECMP=1 + else + HAVE_STRNCASECMP=0 + fi + ac_fn_c_check_decl "$LINENO" "strncasecmp" "ac_cv_have_decl_strncasecmp" "$ac_includes_default" +if test "x$ac_cv_have_decl_strncasecmp" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi cat >>confdefs.h <<_ACEOF -#define REPLACE_STRERROR $REPLACE_STRERROR +#define HAVE_DECL_STRNCASECMP $ac_have_decl _ACEOF + if test $ac_cv_have_decl_strncasecmp = no; then + HAVE_DECL_STRNCASECMP=0 fi + if test $HAVE_STRCASECMP = 0; then - GNULIB_STRERROR=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRERROR 1 -_ACEOF - - # Code from module string: + gl_LIBOBJS="$gl_LIBOBJS strcasecmp.$ac_objext" - # Code from module strings: + : + fi + if test $HAVE_STRNCASECMP = 0; then - # Code from module strndup: + gl_LIBOBJS="$gl_LIBOBJS strncasecmp.$ac_objext" + : + fi + for ac_func in strchrnul +do : + ac_fn_c_check_func "$LINENO" "strchrnul" "ac_cv_func_strchrnul" +if test "x$ac_cv_func_strchrnul" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRCHRNUL 1 +_ACEOF - if test $ac_cv_have_decl_strndup = no; then - HAVE_DECL_STRNDUP=0 - fi +fi +done - if test $ac_cv_func_strndup = yes; then - # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. - { $as_echo "$as_me:$LINENO: checking for working strndup" >&5 -$as_echo_n "checking for working strndup... " >&6; } -if test "${gl_cv_func_strndup_works+set}" = set; then + if test $ac_cv_func_strchrnul = no; then + HAVE_STRCHRNUL=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strchrnul works" >&5 +$as_echo_n "checking whether strchrnul works... " >&6; } +if ${gl_cv_func_strchrnul_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - case $host_os in - aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; - *) gl_cv_func_strndup_works="guessing yes";; - esac +#if defined __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 9) + Lucky user + #endif +#else + Lucky user +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky user" >/dev/null 2>&1; then : + gl_cv_func_strchrnul_works="guessing yes" else - cat >conftest.$ac_ext <<_ACEOF + gl_cv_func_strchrnul_works="guessing no" +fi +rm -f conftest* - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + +#include /* for strchrnul */ + int main () { +const char *buf = "a"; + return strchrnul (buf, 'b') != buf + 1; -#ifndef HAVE_DECL_STRNDUP - extern char *strndup (const char *, size_t); -#endif - char *s; - s = strndup ("some longer string", 15); - free (s); - s = strndup ("shorter string", 13); - return s[13] != '\0'; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gl_cv_func_strndup_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_strchrnul_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_strndup_works=no + gl_cv_func_strchrnul_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_strndup_works" >&5 -$as_echo "$gl_cv_func_strndup_works" >&6; } - case $gl_cv_func_strndup_works in - *no) - REPLACE_STRNDUP=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" - - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strchrnul_works" >&5 +$as_echo "$gl_cv_func_strchrnul_works" >&6; } + case "$gl_cv_func_strchrnul_works" in + *yes) ;; + *) REPLACE_STRCHRNUL=1 ;; esac - else - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" - fi + if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then - GNULIB_STRNDUP=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRNDUP 1 -_ACEOF - - - - # Code from module strnlen: - - + gl_LIBOBJS="$gl_LIBOBJS strchrnul.$ac_objext" + : + fi - if test $ac_cv_have_decl_strnlen = no; then - HAVE_DECL_STRNLEN=0 - else - { $as_echo "$as_me:$LINENO: checking for working strnlen" >&5 -$as_echo_n "checking for working strnlen... " >&6; } -if test "${ac_cv_func_strnlen_working+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_strnlen_working=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#define S "foobar" -#define S_LEN (sizeof S - 1) - /* At least one implementation is buggy: that of AIX 4.3 would - give strnlen (S, 1) == 3. */ - int i; - for (i = 0; i < S_LEN + 1; ++i) - { - int expected = i <= S_LEN ? i : S_LEN; - if (strnlen (S, i) != expected) - return 1; - } - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_strnlen_working=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + GNULIB_STRCHRNUL=1 -( exit $ac_status ) -ac_cv_func_strnlen_working=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strnlen_working" >&5 -$as_echo "$ac_cv_func_strnlen_working" >&6; } -test $ac_cv_func_strnlen_working = no && +$as_echo "#define GNULIB_TEST_STRCHRNUL 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" - if test $ac_cv_func_strnlen_working = no; then - REPLACE_STRNLEN=1 + if test $ac_cv_func_strdup = yes; then + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 fi fi - if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then - - + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 + fi + if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then - gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" - : - fi + gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" - GNULIB_STRNLEN=1 + : + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRNLEN 1 -_ACEOF + GNULIB_STRDUP=1 - # Code from module strnlen1: - # Code from module strtoimax: - { $as_echo "$as_me:$LINENO: checking whether defines strtoimax as a macro" >&5 -$as_echo_n "checking whether defines strtoimax as a macro... " >&6; } -if test "${gl_cv_func_strtoimax_macro+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#ifdef strtoimax - inttypes_h_defines_strtoimax -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "inttypes_h_defines_strtoimax" >/dev/null 2>&1; then - gl_cv_func_strtoimax_macro=yes -else - gl_cv_func_strtoimax_macro=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_strtoimax_macro" >&5 -$as_echo "$gl_cv_func_strtoimax_macro" >&6; } - if test "$gl_cv_func_strtoimax_macro" != yes; then +$as_echo "#define GNULIB_TEST_STRDUP 1" >>confdefs.h @@ -46370,315 +29158,135 @@ $as_echo "$gl_cv_func_strtoimax_macro" >&6; } -for ac_func in strtoimax -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 +$as_echo_n "checking for working strerror function... " >&6; } +if ${gl_cv_func_working_strerror+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_strerror="guessing no" ;; + esac -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -return $ac_func (); +if (!*strerror (-2)) return 1; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_strerror=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_func_working_strerror=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext + fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 +$as_echo "$gl_cv_func_working_strerror" >&6; } + case "$gl_cv_func_working_strerror" in + *yes) ;; + *) + REPLACE_STRERROR=1 + ;; + esac -else + else + REPLACE_STRERROR=1 + fi - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + if test $REPLACE_STRERROR = 1; then -fi -done - if test $ac_cv_func_strtoimax = no; then - { $as_echo "$as_me:$LINENO: checking whether strtoll is declared" >&5 -$as_echo_n "checking whether strtoll is declared... " >&6; } -if test "${ac_cv_have_decl_strtoll+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strtoll - (void) strtoll; -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strtoll=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_have_decl_strtoll=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoll" >&5 -$as_echo "$ac_cv_have_decl_strtoll" >&6; } -if test "x$ac_cv_have_decl_strtoll" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOLL 1 -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" + + fi -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOLL 0 +cat >>confdefs.h <<_ACEOF +#define GNULIB_STRERROR 1 _ACEOF -fi - fi - fi + GNULIB_STRERROR=1 - GNULIB_STRTOIMAX=1 - # Code from module strtol: +$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h + if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then -for ac_func in strtol -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func + gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext" -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_WINSOCK2_H 1 _ACEOF -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - fi + done + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi - # Code from module strtoll: + fi - if test "$ac_cv_type_long_long_int" = yes; then @@ -46688,133 +29296,94 @@ done -for ac_func in strtoll -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + if test $ac_cv_have_decl_strndup = no; then + HAVE_DECL_STRNDUP=0 + fi + + if test $ac_cv_func_strndup = yes; then + HAVE_STRNDUP=1 + # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5 +$as_echo_n "checking for working strndup... " >&6; } +if ${gl_cv_func_strndup_works+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + if test "$cross_compiling" = yes; then : -#undef $ac_func + case $host_os in + aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; + *) gl_cv_func_strndup_works="guessing yes";; + esac -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include + #include int main () { -return $ac_func (); + +#if !HAVE_DECL_STRNDUP + extern + #ifdef __cplusplus + "C" + #endif + char *strndup (const char *, size_t); +#endif + char *s; + s = strndup ("some longer string", 15); + free (s); + s = strndup ("shorter string", 13); + return s[13] != '\0'; ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_strndup_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + gl_cv_func_strndup_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5 +$as_echo "$gl_cv_func_strndup_works" >&6; } + case $gl_cv_func_strndup_works in + *no) REPLACE_STRNDUP=1 ;; + esac + else + HAVE_STRNDUP=0 + fi -else + if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" -fi -done - if test $ac_cv_func_strtoll = no; then - HAVE_STRTOLL=0 - : - fi + + + gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" + fi - GNULIB_STRTOLL=1 + GNULIB_STRNDUP=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRTOLL 1 -_ACEOF - # Code from module strtoul: +$as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h @@ -46824,515 +29393,262 @@ _ACEOF + if test $ac_cv_have_decl_strnlen = no; then + HAVE_DECL_STRNLEN=0 + else -for ac_func in strtoul -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 +$as_echo_n "checking for working strnlen... " >&6; } +if ${ac_cv_func_strnlen_working+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + # Guess no on AIX systems, yes otherwise. + case "$host_os" in + aix*) ac_cv_func_strnlen_working=no;; + *) ac_cv_func_strnlen_working=yes;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +$ac_includes_default +int +main () +{ -#ifdef __STDC__ -# include -#else -# include -#endif +#define S "foobar" +#define S_LEN (sizeof S - 1) -#undef $ac_func + /* At least one implementation is buggy: that of AIX 4.3 would + give strnlen (S, 1) == 3. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + int i; + for (i = 0; i < S_LEN + 1; ++i) + { + int expected = i <= S_LEN ? i : S_LEN; + if (strnlen (S, i) != expected) + return 1; + } + return 0; -int -main () -{ -return $ac_func (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strnlen_working=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" + ac_cv_func_strnlen_working=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5 +$as_echo "$ac_cv_func_strnlen_working" >&6; } +test $ac_cv_func_strnlen_working = no && : -else - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" + if test $ac_cv_func_strnlen_working = no; then + REPLACE_STRNLEN=1 + fi + fi -fi -done + if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then - # Code from module strtoull: - if test "$ac_cv_type_unsigned_long_long_int" = yes; then + gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" + : + fi + GNULIB_STRNLEN=1 -for ac_func in strtoull -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +$as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + + for ac_func in strtol +do : + ac_fn_c_check_func "$LINENO" "strtol" "ac_cv_func_strtol" +if test "x$ac_cv_func_strtol" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_STRTOL 1 _ACEOF -else - - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" - fi done - if test $ac_cv_func_strtoull = no; then - HAVE_STRTOULL=0 + if test $ac_cv_func_strtol = no; then + - : - fi - fi - GNULIB_STRTOULL=1 + gl_LIBOBJS="$gl_LIBOBJS strtol.$ac_objext" + fi -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_STRTOULL 1 + for ac_func in strtoul +do : + ac_fn_c_check_func "$LINENO" "strtoul" "ac_cv_func_strtoul" +if test "x$ac_cv_func_strtoul" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRTOUL 1 _ACEOF +fi +done - # Code from module strtoumax: + if test $ac_cv_func_strtoul = no; then - { $as_echo "$as_me:$LINENO: checking whether defines strtoumax as a macro" >&5 -$as_echo_n "checking whether defines strtoumax as a macro... " >&6; } -if test "${gl_cv_func_strtoumax_macro+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#ifdef strtoumax - inttypes_h_defines_strtoumax -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "inttypes_h_defines_strtoumax" >/dev/null 2>&1; then - gl_cv_func_strtoumax_macro=yes -else - gl_cv_func_strtoumax_macro=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_strtoumax_macro" >&5 -$as_echo "$gl_cv_func_strtoumax_macro" >&6; } - if test "$gl_cv_func_strtoumax_macro" != yes; then + gl_LIBOBJS="$gl_LIBOBJS strtoul.$ac_objext" + fi -for ac_func in strtoumax -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + if test "$ac_cv_type_unsigned_long_long_int" = yes; then + for ac_func in strtoull +do : + ac_fn_c_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull" +if test "x$ac_cv_func_strtoull" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRTOULL 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +fi +done -#ifdef __STDC__ -# include -#else -# include -#endif + if test $ac_cv_func_strtoull = no; then + HAVE_STRTOULL=0 + fi + fi -#undef $ac_func + if test $HAVE_STRTOULL = 0; then -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -else - gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" -fi -done + gl_LIBOBJS="$gl_LIBOBJS strtoull.$ac_objext" - if test $ac_cv_func_strtoumax = no; then - { $as_echo "$as_me:$LINENO: checking whether strtoull is declared" >&5 -$as_echo_n "checking whether strtoull is declared... " >&6; } -if test "${ac_cv_have_decl_strtoull+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -#ifndef strtoull - (void) strtoull; -#endif + : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_strtoull=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + fi - ac_cv_have_decl_strtoull=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5 -$as_echo "$ac_cv_have_decl_strtoull" >&6; } -if test "x$ac_cv_have_decl_strtoull" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOULL 1 -_ACEOF -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOULL 0 -_ACEOF + GNULIB_STRTOULL=1 -fi +$as_echo "#define GNULIB_TEST_STRTOULL 1" >>confdefs.h - fi + + + + + + + + if test "$ac_cv_have_decl_strtoumax" != yes; then + HAVE_DECL_STRTOUMAX=0 fi + if test $ac_cv_func_strtoumax = no; then + - GNULIB_STRTOUMAX=1 - # Code from module symlink: + gl_LIBOBJS="$gl_LIBOBJS strtoumax.$ac_objext" + ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoull" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOULL $ac_have_decl +_ACEOF - if test $ac_cv_func_symlink = no; then - HAVE_SYMLINK=0 + fi + GNULIB_STRTOUMAX=1 - gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext" + + + + if test $ac_cv_func_symlink = no; then + HAVE_SYMLINK=0 else - { $as_echo "$as_me:$LINENO: checking whether symlink handles trailing slash correctly" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5 $as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; } -if test "${gl_cv_func_symlink_works+set}" = set; then +if ${gl_cv_func_symlink_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_symlink_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlink_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -47352,48 +29668,28 @@ int result = 0; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_symlink_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_symlink_works=no + gl_cv_func_symlink_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.f conftest.link conftest.lnk2 fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_symlink_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 $as_echo "$gl_cv_func_symlink_works" >&6; } - if test "$gl_cv_func_symlink_works" != yes; then - REPLACE_SYMLINK=1 + case "$gl_cv_func_symlink_works" in + *yes) ;; + *) + REPLACE_SYMLINK=1 + ;; + esac + fi + + if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then @@ -47404,25 +29700,19 @@ $as_echo "$gl_cv_func_symlink_works" >&6; } gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext" - fi fi - GNULIB_SYMLINK=1 - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_SYMLINK 1 -_ACEOF + GNULIB_SYMLINK=1 - # Code from module symlinkat: +$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h @@ -47433,6 +29723,9 @@ _ACEOF if test $ac_cv_func_symlinkat = no; then HAVE_SYMLINKAT=0 + fi + + if test $HAVE_SYMLINKAT = 0; then @@ -47448,21 +29741,14 @@ _ACEOF - GNULIB_SYMLINKAT=1 - + GNULIB_SYMLINKAT=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_SYMLINKAT 1 -_ACEOF - - - - # Code from module sys_stat: +$as_echo "#define GNULIB_TEST_SYMLINKAT 1" >>confdefs.h @@ -47483,20 +29769,16 @@ _ACEOF if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_stat_h='<'sys/stat.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_stat_h+set}" = set; then +if ${gl_cv_next_sys_stat_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_stat_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -47505,20 +29787,34 @@ _ACEOF aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/stat.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sys/stat.h#{ - s#.*"\(.*/sys/stat.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_sys_stat_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 $as_echo "$gl_cv_next_sys_stat_h" >&6; } fi NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h @@ -47536,140 +29832,39 @@ $as_echo "$gl_cv_next_sys_stat_h" >&6; } - { $as_echo "$as_me:$LINENO: checking for nlink_t" >&5 -$as_echo_n "checking for nlink_t... " >&6; } -if test "${ac_cv_type_nlink_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_nlink_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - -int -main () -{ -if (sizeof (nlink_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include - -int -main () -{ -if (sizeof ((nlink_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_nlink_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_nlink_t" >&5 -$as_echo "$ac_cv_type_nlink_t" >&6; } -if test "x$ac_cv_type_nlink_t" = x""yes; then - : -else - -cat >>confdefs.h <<\_ACEOF -#define nlink_t int -_ACEOF - -fi + if test $WINDOWS_64_BIT_ST_SIZE = 1; then +$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h + fi + ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include + #include +" +if test "x$ac_cv_type_nlink_t" = xyes; then : +else +$as_echo "#define nlink_t int" >>confdefs.h +fi - for gl_func in fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do + for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -47682,142 +29877,28 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + eval "$as_gl_Symbol=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi - done - { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - - - # Code from module sys_time: - - - - { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - # Code from module sysexits: @@ -47836,28 +29917,19 @@ $as_echo "$MKDIR_P" >&6; } - - - - - if test $gl_cv_have_include_next = yes; then gl_cv_next_sysexits_h='<'sysexits.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sysexits_h+set}" = set; then +if ${gl_cv_next_sysexits_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sysexits_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -47866,20 +29938,34 @@ _ACEOF aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sysexits.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' gl_cv_next_sysexits_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/sysexits.h#{ - s#.*"\(.*/sysexits.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sysexits_h='<'sysexits.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_sysexits_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sysexits_h" >&5 $as_echo "$gl_cv_next_sysexits_h" >&6; } fi NEXT_SYSEXITS_H=$gl_cv_next_sysexits_h @@ -47896,11 +29982,7 @@ $as_echo "$gl_cv_next_sysexits_h" >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -47931,32 +30013,11 @@ switch (0) return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : SYSEXITS_H= else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - SYSEXITS_H=sysexits.h + SYSEXITS_H=sysexits.h fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else HAVE_SYSEXITS_H=0 @@ -47964,62 +30025,54 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - # Code from module tempname: - - - - - - - - - + if test -n "$SYSEXITS_H"; then + GL_GENERATE_SYSEXITS_H_TRUE= + GL_GENERATE_SYSEXITS_H_FALSE='#' +else + GL_GENERATE_SYSEXITS_H_TRUE='#' + GL_GENERATE_SYSEXITS_H_FALSE= +fi - gl_LIBOBJS="$gl_LIBOBJS tempname.$ac_objext" : - # Code from module time: - # Code from module time_r: - - + ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include +" +if test "x$ac_cv_have_decl_localtime_r" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_LOCALTIME_R $ac_have_decl +_ACEOF if test $ac_cv_have_decl_localtime_r = no; then HAVE_DECL_LOCALTIME_R=0 fi - - - - - if test $ac_cv_func_localtime_r = yes; then HAVE_LOCALTIME_R=1 - { $as_echo "$as_me:$LINENO: checking whether localtime_r is compatible with its POSIX signature" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 $as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } -if test "${gl_cv_time_r_posix+set}" = set; then +if ${gl_cv_time_r_posix+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -48038,36 +30091,15 @@ main () } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_time_r_posix=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_time_r_posix=no + gl_cv_time_r_posix=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_time_r_posix" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 $as_echo "$gl_cv_time_r_posix" >&6; } if test $gl_cv_time_r_posix = yes; then REPLACE_LOCALTIME_R=0 @@ -48077,6 +30109,7 @@ $as_echo "$gl_cv_time_r_posix" >&6; } else HAVE_LOCALTIME_R=0 fi + if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then @@ -48096,27 +30129,18 @@ $as_echo "$gl_cv_time_r_posix" >&6; } - GNULIB_TIME_R=1 + GNULIB_TIME_R=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_TIME_R 1 -_ACEOF - - - - # Code from module timespec: - - - - # Code from module unistd: +$as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h + : @@ -48132,20 +30156,16 @@ _ACEOF if test $gl_cv_have_include_next = yes; then gl_cv_next_unistd_h='<'unistd.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_unistd_h+set}" = set; then +if ${gl_cv_next_unistd_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_unistd_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -48154,20 +30174,34 @@ _ACEOF aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'unistd.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/unistd.h#{ - s#.*"\(.*/unistd.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_unistd_h='<'unistd.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_unistd_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 $as_echo "$gl_cv_next_unistd_h" >&6; } fi NEXT_UNISTD_H=$gl_cv_next_unistd_h @@ -48196,55 +30230,19 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for gl_func in chown dup2 dup3 environ euidaccess faccessat fchdir fchownat fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do + for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#if HAVE_UNISTD_H +# include +#endif /* Some systems declare various items in the wrong headers. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include @@ -48264,93 +30262,31 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + eval "$as_gl_Symbol=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi - done - # Code from module unistd-safer: - - - - - - - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS dup-safer.$ac_objext" - - - - - gl_LIBOBJS="$gl_LIBOBJS fd-safer.$ac_objext" - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS pipe-safer.$ac_objext" - - - # Code from module unitypes: - - if { test "$HAVE_LIBUNISTRING" != yes \ || { @@ -48376,7 +30312,6 @@ fi fi - # Code from module uniwidth/base: if { test "$HAVE_LIBUNISTRING" != yes \ @@ -48404,7 +30339,6 @@ fi fi - # Code from module uniwidth/width: if { test "$HAVE_LIBUNISTRING" != yes \ @@ -48434,13 +30368,14 @@ else fi - # Code from module unlink: - { $as_echo "$as_me:$LINENO: checking whether unlink honors trailing slashes" >&5 + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink honors trailing slashes" >&5 $as_echo_n "checking whether unlink honors trailing slashes... " >&6; } -if test "${gl_cv_func_unlink_honors_slashes+set}" = set; then +if ${gl_cv_func_unlink_honors_slashes+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file @@ -48448,16 +30383,22 @@ else if test $ac_cv_func_lstat = yes; then ln -s conftest.file conftest.lnk fi - if test "$cross_compiling" = yes; then - gl_cv_func_unlink_honors_slashes="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_unlink_honors_slashes="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif #include int @@ -48480,49 +30421,28 @@ int result = 0; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_honors_slashes=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_unlink_honors_slashes=no + gl_cv_func_unlink_honors_slashes=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.file conftest.lnk fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_honors_slashes" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_honors_slashes" >&5 $as_echo "$gl_cv_func_unlink_honors_slashes" >&6; } - { $as_echo "$as_me:$LINENO: checking whether unlink of a parent directory fails as it should" >&5 + case "$gl_cv_func_unlink_honors_slashes" in + *no) + REPLACE_UNLINK=1 + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink of a parent directory fails as it should" >&5 $as_echo_n "checking whether unlink of a parent directory fails as it should... " >&6; } -if test "${gl_cv_func_unlink_parent_fails+set}" = set; then +if ${gl_cv_func_unlink_parent_fails+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in @@ -48545,18 +30465,21 @@ else mkdir "$tmp/subdir" GL_SUBDIR_FOR_UNLINK="$tmp/subdir" export GL_SUBDIR_FOR_UNLINK - if test "$cross_compiling" = yes; then - gl_cv_func_unlink_parent_fails="guessing no" + if test "$cross_compiling" = yes; then : + # If we don't know, assume the worst. + gl_cv_func_unlink_parent_fails="guessing no" + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + #endif int main () { int result = 0; @@ -48568,42 +30491,15 @@ cat >>conftest.$ac_ext <<_ACEOF } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_parent_fails=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_unlink_parent_fails=no + gl_cv_func_unlink_parent_fails=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else @@ -48616,24 +30512,18 @@ fi esac fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_parent_fails" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_parent_fails" >&5 $as_echo "$gl_cv_func_unlink_parent_fails" >&6; } case "$gl_cv_func_unlink_parent_fails" in *no) + REPLACE_UNLINK=1 -cat >>confdefs.h <<\_ACEOF -#define UNLINK_PARENT_BUG 1 -_ACEOF +$as_echo "#define UNLINK_PARENT_BUG 1" >>confdefs.h ;; esac - if test "$gl_cv_func_unlink_honors_slashes" != yes \ - || { case "$gl_cv_func_unlink_parent_fails" in - *yes) false;; - *no) true;; - esac - }; then - REPLACE_UNLINK=1 + + if test $REPLACE_UNLINK = 1; then @@ -48649,65 +30539,14 @@ _ACEOF - GNULIB_UNLINK=1 + GNULIB_UNLINK=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_UNLINK 1 -_ACEOF - # Code from module unlinkdir: - - - - - - - - - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unlinkdir.$ac_objext" - - - # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, - # Cygwin, and mingw never let anyone (even root) unlink directories. - # If anyone knows of another system for which unlink can never - # remove a directory, please report it to . - # Unfortunately this is difficult to test for, since it requires root access - # and might create garbage in the file system, - # so the code below simply relies on the kernel name and version number. - case $host_os in - gnu[0-9]* | \ - linux-* | linux | \ - freebsd2.2* | freebsd[3-9]* | freebsd[1-9][0-9]* | \ - cygwin | \ - mingw*) - -cat >>confdefs.h <<\_ACEOF -#define UNLINK_CANNOT_UNLINK_DIR 1 -_ACEOF -;; - esac - - # Code from module unlocked-io: - - -cat >>confdefs.h <<\_ACEOF -#define USE_UNLOCKED_IO 1 -_ACEOF - - +$as_echo "#define GNULIB_TEST_UNLINK 1" >>confdefs.h @@ -48717,7 +30556,25 @@ _ACEOF + if test $ac_cv_func_unlinkat = no; then + HAVE_UNLINKAT=0 + else + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *no) + # Solaris 9 has *at functions, but uniformly mishandles trailing + # slash in all of them. + REPLACE_UNLINKAT=1 + ;; + *) + # GNU/Hurd has unlinkat, but it has the same bug as unlink. + if test $REPLACE_UNLINK = 1; then + REPLACE_UNLINKAT=1 + fi + ;; + esac + fi + if test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1; then @@ -48726,17 +30583,21 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext" + fi + GNULIB_UNLINKAT=1 +$as_echo "#define GNULIB_TEST_UNLINKAT 1" >>confdefs.h @@ -48744,10 +30605,27 @@ _ACEOF + # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, + # Cygwin, and mingw never let anyone (even root) unlink directories. + # If anyone knows of another system for which unlink can never + # remove a directory, please report it to . + # Unfortunately this is difficult to test for, since it requires root access + # and might create garbage in the file system, + # so the code below simply relies on the kernel name and version number. + case $host_os in + gnu[0-9]* | \ + linux-* | linux | \ + freebsd2.2* | freebsd[3-9]* | freebsd[1-9][0-9]* | \ + cygwin | \ + mingw*) +$as_echo "#define UNLINK_CANNOT_UNLINK_DIR 1" >>confdefs.h +;; + esac +$as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h @@ -48763,7 +30641,6 @@ _ACEOF - # Code from module unsetenv: @@ -48773,138 +30650,27 @@ _ACEOF if test $ac_cv_have_decl_unsetenv = no; then HAVE_DECL_UNSETENV=0 fi - -for ac_func in unsetenv -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_func in unsetenv +do : + ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" +if test "x$ac_cv_func_unsetenv" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_UNSETENV 1 _ACEOF fi done if test $ac_cv_func_unsetenv = no; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" - - - - - - - - - - + HAVE_UNSETENV=0 else - { $as_echo "$as_me:$LINENO: checking for unsetenv() return type" >&5 + HAVE_UNSETENV=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5 $as_echo_n "checking for unsetenv() return type... " >&6; } -if test "${gt_cv_func_unsetenv_ret+set}" = set; then +if ${gt_cv_func_unsetenv_ret+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #undef _BSD @@ -48914,11 +30680,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); -#else -int unsetenv(); -#endif int main () @@ -48928,68 +30690,37 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gt_cv_func_unsetenv_ret='int' else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_unsetenv_ret='void' + gt_cv_func_unsetenv_ret='void' fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_unsetenv_ret" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 $as_echo "$gt_cv_func_unsetenv_ret" >&6; } if test $gt_cv_func_unsetenv_ret = 'void'; then -cat >>confdefs.h <<\_ACEOF -#define VOID_UNSETENV 1 -_ACEOF +$as_echo "#define VOID_UNSETENV 1" >>confdefs.h REPLACE_UNSETENV=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" - fi - { $as_echo "$as_me:$LINENO: checking whether unsetenv obeys POSIX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5 $as_echo_n "checking whether unsetenv obeys POSIX... " >&6; } -if test "${gl_cv_func_unsetenv_works+set}" = set; then +if ${gl_cv_func_unsetenv_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - gl_cv_func_unsetenv_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_unsetenv_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -49020,95 +30751,54 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unsetenv_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_unsetenv_works=no + gl_cv_func_unsetenv_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unsetenv_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 $as_echo "$gl_cv_func_unsetenv_works" >&6; } - if test "$gl_cv_func_unsetenv_works" != yes; then - REPLACE_UNSETENV=1 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" - - fi + case "$gl_cv_func_unsetenv_works" in + *yes) ;; + *) + REPLACE_UNSETENV=1 + ;; + esac fi + if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then - GNULIB_UNSETENV=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_UNSETENV 1 -_ACEOF - - - - # Code from module utimens: + gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS utimens.$ac_objext" + fi + GNULIB_UNSETENV=1 +$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h @@ -49119,20 +30809,22 @@ _ACEOF if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then - { $as_echo "$as_me:$LINENO: checking whether futimesat handles NULL file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether futimesat handles NULL file" >&5 $as_echo_n "checking whether futimesat handles NULL file... " >&6; } -if test "${gl_cv_func_futimesat_works+set}" = set; then +if ${gl_cv_func_futimesat_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file - if test "$cross_compiling" = yes; then - gl_cv_func_futimesat_works="guessing no" + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_futimesat_works="guessing no" ;; + esac + else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -49150,91 +30842,45 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_futimesat_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_futimesat_works=no + gl_cv_func_futimesat_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.file fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_futimesat_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimesat_works" >&5 $as_echo "$gl_cv_func_futimesat_works" >&6; } - if test "$gl_cv_func_futimesat_works" != yes; then + case "$gl_cv_func_futimesat_works" in + *yes) ;; + *) -cat >>confdefs.h <<\_ACEOF -#define FUTIMESAT_NULL_BUG 1 -_ACEOF +$as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h - fi + ;; + esac fi - # Code from module utimensat: - - - - - if test $ac_cv_func_utimensat = no; then HAVE_UTIMENSAT=0 - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS utimensat.$ac_objext" - else - { $as_echo "$as_me:$LINENO: checking whether utimensat works" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utimensat works" >&5 $as_echo_n "checking whether utimensat works... " >&6; } -if test "${gl_cv_func_utimensat_works+set}" = set; then +if ${gl_cv_func_utimensat_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : gl_cv_func_utimensat_works="guessing no" else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -49276,33 +30922,8 @@ int result = 0; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __linux__ @@ -49320,51 +30941,28 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_utimensat_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_utimensat_works="needs runtime check" + gl_cv_func_utimensat_works="needs runtime check" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_utimensat_works=no + gl_cv_func_utimensat_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_utimensat_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_utimensat_works" >&5 $as_echo "$gl_cv_func_utimensat_works" >&6; } if test "$gl_cv_func_utimensat_works" != yes; then REPLACE_UTIMENSAT=1 + fi + fi + + if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then @@ -49375,25 +30973,19 @@ $as_echo "$gl_cv_func_utimensat_works" >&6; } gl_LIBOBJS="$gl_LIBOBJS utimensat.$ac_objext" - fi fi - GNULIB_UTIMENSAT=1 + GNULIB_UTIMENSAT=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_UTIMENSAT 1 -_ACEOF - - # Code from module vasnprintf: - +$as_echo "#define GNULIB_TEST_UTIMENSAT 1" >>confdefs.h @@ -49410,11 +31002,6 @@ _ACEOF - - - - - gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" @@ -49449,9 +31036,7 @@ _ACEOF if test $ac_cv_func_vasnprintf = yes; then -cat >>confdefs.h <<\_ACEOF -#define REPLACE_VASNPRINTF 1 -_ACEOF +$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h fi @@ -49465,107 +31050,12 @@ _ACEOF - { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 -$as_echo_n "checking for ptrdiff_t... " >&6; } -if test "${ac_cv_type_ptrdiff_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_ptrdiff_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (ptrdiff_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((ptrdiff_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_ptrdiff_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi + ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" +if test "x$ac_cv_type_ptrdiff_t" = xyes; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 -$as_echo "$ac_cv_type_ptrdiff_t" >&6; } -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then - : else -cat >>confdefs.h <<\_ACEOF -#define ptrdiff_t long -_ACEOF +$as_echo "#define ptrdiff_t long" >>confdefs.h fi @@ -49578,104 +31068,13 @@ fi fi - # Code from module vasprintf: - - -for ac_func in vasprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_func in vasprintf +do : + ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" +if test "x$ac_cv_func_vasprintf" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_VASPRINTF 1 _ACEOF fi @@ -49722,13 +31121,15 @@ done - GNULIB_VASPRINTF=1 + + + GNULIB_VASPRINTF=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_VASPRINTF 1 -_ACEOF + + +$as_echo "#define GNULIB_TEST_VASPRINTF 1" >>confdefs.h @@ -49740,11 +31141,9 @@ _ACEOF XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" - # Code from module verify: - # Code from module version-etc: # Check whether --with-packager was given. -if test "${with_packager+set}" = set; then +if test "${with_packager+set}" = set; then : withval=$with_packager; case $withval in yes|no) ;; *) @@ -49759,7 +31158,7 @@ fi # Check whether --with-packager-version was given. -if test "${with_packager_version+set}" = set; then +if test "${with_packager_version+set}" = set; then : withval=$with_packager_version; case $withval in yes|no) ;; *) @@ -49774,7 +31173,7 @@ fi # Check whether --with-packager-bug-reports was given. -if test "${with_packager_bug_reports+set}" = set; then +if test "${with_packager_bug_reports+set}" = set; then : withval=$with_packager_bug_reports; case $withval in yes|no) ;; *) @@ -49790,112 +31189,18 @@ fi if test "X$with_packager" = "X" && \ test "X$with_packager_version$with_packager_bug_reports" != "X" then - { { $as_echo "$as_me:$LINENO: error: The --with-packager-{bug-reports,version} options require --with-packager" >&5 -$as_echo "$as_me: error: The --with-packager-{bug-reports,version} options require --with-packager" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5 fi - # Code from module version-etc-fsf: - # Code from module vsnprintf: gl_cv_func_vsnprintf_usable=no - -for ac_func in vsnprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_func in vsnprintf +do : + ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" +if test "x$ac_cv_func_vsnprintf" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_VSNPRINTF 1 _ACEOF fi @@ -49904,69 +31209,53 @@ done if test $ac_cv_func_vsnprintf = yes; then - { $as_echo "$as_me:$LINENO: checking whether snprintf respects a size of 1" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 $as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if test "${gl_cv_func_snprintf_size1+set}" = set; then +if ${gl_cv_func_snprintf_size1+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : gl_cv_func_snprintf_size1="guessing yes" else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif int main() { static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); + my_snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_snprintf_size1=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_snprintf_size1=no + gl_cv_func_snprintf_size1=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_size1" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 $as_echo "$gl_cv_func_snprintf_size1" >&6; } case "$gl_cv_func_snprintf_size1" in @@ -49974,7 +31263,59 @@ $as_echo "$gl_cv_func_snprintf_size1" >&6; } case "$gl_cv_func_snprintf_retval_c99" in *yes) - gl_cv_func_vsnprintf_usable=yes + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 +$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } +if ${gl_cv_func_printf_positions+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + + case "$host_os" in + netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) + gl_cv_func_printf_positions="guessing no";; + beos*) gl_cv_func_printf_positions="guessing no";; + mingw* | pw*) gl_cv_func_printf_positions="guessing no";; + *) gl_cv_func_printf_positions="guessing yes";; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_printf_positions=yes +else + gl_cv_func_printf_positions=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 +$as_echo "$gl_cv_func_printf_positions" >&6; } + + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_vsnprintf_usable=yes + ;; + esac ;; esac ;; @@ -50000,9 +31341,6 @@ $as_echo "$gl_cv_func_snprintf_size1" >&6; } fi - - - if test $ac_cv_have_decl_vsnprintf = no; then HAVE_DECL_VSNPRINTF=0 fi @@ -50010,20 +31348,15 @@ $as_echo "$gl_cv_func_snprintf_size1" >&6; } - GNULIB_VSNPRINTF=1 - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_VSNPRINTF 1 -_ACEOF + GNULIB_VSNPRINTF=1 - # Code from module warn-on-use: - # Code from module wchar: +$as_echo "#define GNULIB_TEST_VSNPRINTF 1" >>confdefs.h @@ -50042,20 +31375,16 @@ _ACEOF if test $gl_cv_have_include_next = yes; then gl_cv_next_wchar_h='<'wchar.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_wchar_h+set}" = set; then +if ${gl_cv_next_wchar_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wchar_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -50064,20 +31393,34 @@ _ACEOF aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'wchar.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/wchar.h#{ - s#.*"\(.*/wchar.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_wchar_h='<'wchar.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_wchar_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 $as_echo "$gl_cv_next_wchar_h" >&6; } fi NEXT_WCHAR_H=$gl_cv_next_wchar_h @@ -50112,57 +31455,14 @@ $as_echo "$gl_cv_next_wchar_h" >&6; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do + for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before @@ -50185,62 +31485,26 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + eval "$as_gl_Symbol=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi - done - # Code from module wcrtomb: - - - - - - - - - - @@ -50255,9 +31519,9 @@ fi - { $as_echo "$as_me:$LINENO: checking whether mbrtowc handles incomplete characters" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } -if test "${gl_cv_func_mbrtowc_incomplete_state+set}" = set; then +if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else @@ -50268,14 +31532,10 @@ else *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -50304,54 +31564,27 @@ int main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mbrtowc_incomplete_state=no + gl_cv_func_mbrtowc_incomplete_state=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - { $as_echo "$as_me:$LINENO: checking whether mbrtowc works as well as mbtowc" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test "${gl_cv_func_mbrtowc_sanitycheck+set}" = set; then +if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else @@ -50362,14 +31595,10 @@ else *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -50402,46 +31631,19 @@ int main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_mbrtowc_sanitycheck=no + gl_cv_func_mbrtowc_sanitycheck=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 @@ -50456,21 +31658,35 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } else REPLACE_MBSTATE_T=1 fi - if test $REPLACE_MBSTATE_T = 1; then - - : - - fi - - + if test $ac_cv_func_wcrtomb = no; then + HAVE_WCRTOMB=0 + ac_fn_c_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" " +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +" +if test "x$ac_cv_have_decl_wcrtomb" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_WCRTOMB $ac_have_decl +_ACEOF - if test $ac_cv_func_wcrtomb = no; then - HAVE_WCRTOMB=0 + if test $ac_cv_have_decl_wcrtomb = yes; then + REPLACE_WCRTOMB=1 + fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 @@ -50480,9 +31696,9 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - { $as_echo "$as_me:$LINENO: checking whether wcrtomb return value is correct" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5 $as_echo_n "checking whether wcrtomb return value is correct... " >&6; } -if test "${gl_cv_func_wcrtomb_retval+set}" = set; then +if ${gl_cv_func_wcrtomb_retval+:} false; then : $as_echo_n "(cached) " >&6 else @@ -50493,14 +31709,10 @@ else *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -50539,46 +31751,19 @@ int main () return result; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wcrtomb_retval=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_wcrtomb_retval=no + gl_cv_func_wcrtomb_retval=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_wcrtomb_retval" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5 $as_echo "$gl_cv_func_wcrtomb_retval" >&6; } case "$gl_cv_func_wcrtomb_retval" in *yes) ;; @@ -50586,10 +31771,8 @@ $as_echo "$gl_cv_func_wcrtomb_retval" >&6; } esac fi fi - if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then - - : + if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then @@ -50608,19 +31791,14 @@ $as_echo "$gl_cv_func_wcrtomb_retval" >&6; } - GNULIB_WCRTOMB=1 + GNULIB_WCRTOMB=1 -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_WCRTOMB 1 -_ACEOF - - # Code from module wctype-h: - +$as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h @@ -50637,8 +31815,6 @@ _ACEOF - - if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else @@ -50655,28 +31831,19 @@ _ACEOF - - - - - if test $gl_cv_have_include_next = yes; then gl_cv_next_wctype_h='<'wctype.h'>' else - { $as_echo "$as_me:$LINENO: checking absolute name of " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 $as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_wctype_h+set}" = set; then +if ${gl_cv_next_wctype_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wctype_h = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -50685,20 +31852,34 @@ _ACEOF aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'wctype.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n '\#/wctype.h#{ - s#.*"\(.*/wctype.h\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"' + sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_wctype_h='<'wctype.h'>' fi fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_wctype_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 $as_echo "$gl_cv_next_wctype_h" >&6; } fi NEXT_WCTYPE_H=$gl_cv_next_wctype_h @@ -50717,18 +31898,14 @@ $as_echo "$gl_cv_next_wctype_h" >&6; } if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then - { $as_echo "$as_me:$LINENO: checking whether iswcntrl works" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 $as_echo_n "checking whether iswcntrl works... " >&6; } -if test "${gl_cv_func_iswcntrl_works+set}" = set; then +if ${gl_cv_func_iswcntrl_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if __GNU_LIBRARY__ == 1 @@ -50742,40 +31919,15 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - gl_cv_func_iswcntrl_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_iswcntrl_works="guessing yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_func_iswcntrl_works=no + gl_cv_func_iswcntrl_works="guessing no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be @@ -50790,45 +31942,18 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { return iswprint ('x') == 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_iswcntrl_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_iswcntrl_works=no + gl_cv_func_iswcntrl_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_iswcntrl_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5 $as_echo "$gl_cv_func_iswcntrl_works" >&6; } fi HAVE_WCTYPE_H=1 @@ -50837,27 +31962,75 @@ $as_echo "$gl_cv_func_iswcntrl_works" >&6; } fi - if test "$gl_cv_func_iswcntrl_works" = no; then - REPLACE_ISWCNTRL=1 + case "$gl_cv_func_iswcntrl_works" in + *yes) REPLACE_ISWCNTRL=0 ;; + *) REPLACE_ISWCNTRL=1 ;; + esac + + + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + : + fi + + if test $REPLACE_ISWCNTRL = 1; then + REPLACE_TOWLOWER=1 else - REPLACE_ISWCNTRL=0 + for ac_func in towlower +do : + ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower" +if test "x$ac_cv_func_towlower" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TOWLOWER 1 +_ACEOF + +fi +done + + if test $ac_cv_func_towlower = yes; then + REPLACE_TOWLOWER=0 + else + ac_fn_c_check_decl "$LINENO" "towlower" "ac_cv_have_decl_towlower" "/* Tru64 with Desktop Toolkit C has a bug: must be + included before . + BSD/OS 4.0.1 has a bug: , and + must be included before . */ + #include + #include + #include + #include + #if HAVE_WCTYPE_H + # include + #endif + +" +if test "x$ac_cv_have_decl_towlower" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TOWLOWER $ac_have_decl +_ACEOF + + if test $ac_cv_have_decl_towlower = yes; then + REPLACE_TOWLOWER=1 + else + REPLACE_TOWLOWER=0 + fi + fi fi - if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then : fi - { $as_echo "$as_me:$LINENO: checking for wctype_t" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5 $as_echo_n "checking for wctype_t... " >&6; } -if test "${gl_cv_type_wctype_t+set}" = set; then +if ${gl_cv_type_wctype_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . @@ -50880,51 +32053,26 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_wctype_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_type_wctype_t=no + gl_cv_type_wctype_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_type_wctype_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5 $as_echo "$gl_cv_type_wctype_t" >&6; } if test $gl_cv_type_wctype_t = no; then HAVE_WCTYPE_T=0 fi - { $as_echo "$as_me:$LINENO: checking for wctrans_t" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5 $as_echo_n "checking for wctrans_t... " >&6; } -if test "${gl_cv_type_wctrans_t+set}" = set; then +if ${gl_cv_type_wctrans_t+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . @@ -50945,58 +32093,29 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_wctrans_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gl_cv_type_wctrans_t=no + gl_cv_type_wctrans_t=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_type_wctrans_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5 $as_echo "$gl_cv_type_wctrans_t" >&6; } if test $gl_cv_type_wctrans_t = no; then HAVE_WCTRANS_T=0 fi - - - - - for gl_func in wctype iswctype wctrans towctrans ; do + for gl_func in wctype iswctype wctrans towctrans ; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before @@ -51020,57 +32139,26 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Symbol=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_gl_Symbol=no" + eval "$as_gl_Symbol=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - as_val=`eval 'as_val=${'$as_gl_Symbol'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF eval ac_cv_have_decl_$gl_func=yes fi - done - # Code from module wcwidth: - - - - - @@ -51080,106 +32168,44 @@ fi - - - - - - - - { $as_echo "$as_me:$LINENO: checking whether wcwidth is declared" >&5 -$as_echo_n "checking whether wcwidth is declared... " >&6; } -if test "${ac_cv_have_decl_wcwidth+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* AIX 3.2.5 declares wcwidth in . */ -#include -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include -#include -#include -#include - - -int -main () -{ -#ifndef wcwidth - (void) wcwidth; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_wcwidth=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_wcwidth=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_wcwidth" >&5 -$as_echo "$ac_cv_have_decl_wcwidth" >&6; } -if test "x$ac_cv_have_decl_wcwidth" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_WCWIDTH 1 -_ACEOF - - -else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_WCWIDTH 0 -_ACEOF - - + + + ac_fn_c_check_decl "$LINENO" "wcwidth" "ac_cv_have_decl_wcwidth" " +/* AIX 3.2.5 declares wcwidth in . */ +#include +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + +" +if test "x$ac_cv_have_decl_wcwidth" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_WCWIDTH $ac_have_decl +_ACEOF if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = yes; then - { $as_echo "$as_me:$LINENO: checking whether wcwidth works reasonably in UTF-8 locales" >&5 + HAVE_WCWIDTH=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcwidth works reasonably in UTF-8 locales" >&5 $as_echo_n "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; } -if test "${gl_cv_func_wcwidth_works+set}" = set; then +if ${gl_cv_func_wcwidth_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc and AIX 7 systems. @@ -51188,11 +32214,7 @@ else esac else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -51220,59 +32242,36 @@ int main () { if (wcwidth (0x0301) > 0) result |= 1; - if (wcwidth (0x200B) > 0) + if (wcwidth (0x05B0) > 0) result |= 2; + if (wcwidth (0x200B) > 0) + result |= 4; } return result; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wcwidth_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gl_cv_func_wcwidth_works=no + gl_cv_func_wcwidth_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_wcwidth_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_works" >&5 $as_echo "$gl_cv_func_wcwidth_works" >&6; } case "$gl_cv_func_wcwidth_works" in *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac + else + HAVE_WCWIDTH=0 fi - if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1; then + if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then @@ -51280,233 +32279,74 @@ $as_echo "$gl_cv_func_wcwidth_works" >&6; } - gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext" - - fi - if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1 \ - || test $HAVE_DECL_WCWIDTH = 0; then - : + gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext" fi - GNULIB_WCWIDTH=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_WCWIDTH 1 -_ACEOF - - - - # Code from module write: - - - - - + GNULIB_WCWIDTH=1 - GNULIB_WRITE=1 - - - -cat >>confdefs.h <<\_ACEOF -#define GNULIB_TEST_WRITE 1 -_ACEOF - - - - # Code from module xalloc: +$as_echo "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS xmalloc.$ac_objext" - - + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_WRITE=1 + fi - : - : + if test $REPLACE_WRITE = 1; then - # Code from module xalloc-die: - # Code from module xgetcwd: + gl_LIBOBJS="$gl_LIBOBJS write.$ac_objext" + : + fi - gl_LIBOBJS="$gl_LIBOBJS xgetcwd.$ac_objext" + GNULIB_WRITE=1 - # Code from module xsize: -for ac_header in stdint.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define GNULIB_TEST_WRITE 1" >>confdefs.h - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + : - ac_header_preproc=no -fi + : -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_STDINT_H 1 _ACEOF fi @@ -51514,50 +32354,15 @@ fi done - # Code from module xstrndup: : - # Code from module xstrtol: - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS xstrtol.$ac_objext" - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS xstrtoul.$ac_objext" - - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS xstrtol-error.$ac_objext" - - - # Code from module xstrtoumax: - # Code from module xvasprintf: - + : + : XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xasprintf:1:c-format" @@ -51610,16 +32415,12 @@ done -{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if test "${ac_cv_header_time+set}" = set; then +if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -51634,149 +32435,30 @@ return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_time=no + ac_cv_header_time=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5 -$as_echo_n "checking for struct stat.st_blksize... " >&6; } -if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_blksize=no -fi +$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blksize" >&5 -$as_echo "$ac_cv_member_struct_stat_st_blksize" >&6; } -if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then +ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" +if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 _ACEOF -cat >>confdefs.h <<\_ACEOF -#define HAVE_ST_BLKSIZE 1 -_ACEOF +$as_echo "#define HAVE_ST_BLKSIZE 1" >>confdefs.h fi @@ -51788,17 +32470,13 @@ fi # Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary. pu_save_LIBS=$LIBS LIB_SETSOCKOPT= - { $as_echo "$as_me:$LINENO: checking for library containing setsockopt" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 $as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${ac_cv_search_setsockopt+set}" = set; then +if ${ac_cv_search_setsockopt+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -51823,68 +32501,37 @@ for ac_lib in '' socket; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_setsockopt=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_setsockopt+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_setsockopt+:} false; then : break fi done -if test "${ac_cv_search_setsockopt+set}" = set; then - : +if ${ac_cv_search_setsockopt+:} false; then : + else ac_cv_search_setsockopt=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_setsockopt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 $as_echo "$ac_cv_search_setsockopt" >&6; } ac_res=$ac_cv_search_setsockopt -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else - { $as_echo "$as_me:$LINENO: checking for library containing setsockopt" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 $as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${ac_cv_search_setsockopt+set}" = set; then +if ${ac_cv_search_setsockopt+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -51909,71 +32556,40 @@ for ac_lib in '' socket; do ac_res=-l$ac_lib LIBS="-l$ac_lib -lnsl $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_setsockopt=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_setsockopt+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_setsockopt+:} false; then : break fi done -if test "${ac_cv_search_setsockopt+set}" = set; then - : +if ${ac_cv_search_setsockopt+:} false; then : + else ac_cv_search_setsockopt=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_setsockopt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 $as_echo "$ac_cv_search_setsockopt" >&6; } ac_res=$ac_cv_search_setsockopt -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi - { $as_echo "$as_me:$LINENO: checking for library containing setsockopt" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 $as_echo_n "checking for library containing setsockopt... " >&6; } -if test "${ac_cv_search_setsockopt+set}" = set; then +if ${ac_cv_search_setsockopt+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -51998,54 +32614,27 @@ for ac_lib in '' nsl; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_setsockopt=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_setsockopt+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_setsockopt+:} false; then : break fi done -if test "${ac_cv_search_setsockopt+set}" = set; then - : +if ${ac_cv_search_setsockopt+:} false; then : + else ac_cv_search_setsockopt=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_setsockopt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 $as_echo "$ac_cv_search_setsockopt" >&6; } ac_res=$ac_cv_search_setsockopt -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -52059,16 +32648,12 @@ fi enable_rmt() { if test $ac_cv_header_sys_mtio_h = yes; then - { $as_echo "$as_me:$LINENO: checking for remote tape header files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remote tape header files" >&5 $as_echo_n "checking for remote tape header files... " >&6; } -if test "${pu_cv_header_rmt+set}" = set; then +if ${pu_cv_header_rmt+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SGTTY_H @@ -52076,207 +32661,44 @@ cat >>conftest.$ac_ext <<_ACEOF #endif #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : pu_cv_header_rmt=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - pu_cv_header_rmt=no fi - -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $pu_cv_header_rmt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pu_cv_header_rmt" >&5 $as_echo "$pu_cv_header_rmt" >&6; } test $pu_cv_header_rmt = yes && PU_RMT_PROG='rmt$(EXEEXT)' fi } - -for ac_header in sys/mtio.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in sys/mtio.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/mtio.h" "ac_cv_header_sys_mtio_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mtio_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_SYS_MTIO_H 1 _ACEOF fi done - { $as_echo "$as_me:$LINENO: checking which ioctl field to test for reversed bytes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which ioctl field to test for reversed bytes" >&5 $as_echo_n "checking which ioctl field to test for reversed bytes... " >&6; } -if test "${pu_cv_header_mtio_check_field+set}" = set; then +if ${pu_cv_header_mtio_check_field+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "mt_model" >/dev/null 2>&1; then + $EGREP "mt_model" >/dev/null 2>&1; then : pu_cv_header_mtio_check_field=mt_model else pu_cv_header_mtio_check_field=mt_type @@ -52284,7 +32706,7 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $pu_cv_header_mtio_check_field" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pu_cv_header_mtio_check_field" >&5 $as_echo "$pu_cv_header_mtio_check_field" >&6; } cat >>confdefs.h <<_ACEOF @@ -52300,28 +32722,24 @@ _ACEOF DEFAULT_RMT_DIR='$(libexecdir)' fi - { $as_echo "$as_me:$LINENO: checking whether to build rmt" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build rmt" >&5 $as_echo_n "checking whether to build rmt... " >&6; } # Check whether --with-rmt was given. -if test "${with_rmt+set}" = set; then +if test "${with_rmt+set}" = set; then : withval=$with_rmt; case $withval in - yes|no) { { $as_echo "$as_me:$LINENO: error: Invalid argument to --with-rmt" >&5 -$as_echo "$as_me: error: Invalid argument to --with-rmt" >&2;} - { (exit 1); exit 1; }; };; + yes|no) as_fn_error $? "Invalid argument to --with-rmt" "$LINENO" 5;; /*) DEFAULT_RMT_COMMAND=$withval - { $as_echo "$as_me:$LINENO: result: no, use $withval instead" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, use $withval instead" >&5 $as_echo "no, use $withval instead" >&6; };; - *) { { $as_echo "$as_me:$LINENO: error: Argument to --with-rmt must be an absolute file name" >&5 -$as_echo "$as_me: error: Argument to --with-rmt must be an absolute file name" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error $? "Argument to --with-rmt must be an absolute file name" "$LINENO" 5;; esac else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } enable_rmt if test "$PU_RMT_PROG" = ""; then - { $as_echo "$as_me:$LINENO: WARNING: not building rmt, required header files are missing" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: not building rmt, required header files are missing" >&5 $as_echo "$as_me: WARNING: not building rmt, required header files are missing" >&2;} fi fi @@ -52344,106 +32762,15 @@ _ACEOF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -for ac_header in sys/buf.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if HAVE_SYS_PARAM_H + for ac_header in sys/buf.h +do : + ac_fn_c_check_header_compile "$LINENO" "sys/buf.h" "ac_cv_header_sys_buf_h" "#if HAVE_SYS_PARAM_H #include #endif - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +" +if test "x$ac_cv_header_sys_buf_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_SYS_BUF_H 1 _ACEOF fi @@ -52453,102 +32780,8 @@ done - { $as_echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5 -$as_echo_n "checking for struct stat.st_blksize... " >&6; } -if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_blksize=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blksize" >&5 -$as_echo "$ac_cv_member_struct_stat_st_blksize" >&6; } -if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then + ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" +if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 @@ -52563,26 +32796,13 @@ fi - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for library containing gethostbyname" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 $as_echo_n "checking for library containing gethostbyname... " >&6; } -if test "${ac_cv_search_gethostbyname+set}" = set; then +if ${ac_cv_search_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -52607,54 +32827,27 @@ for ac_lib in '' nsl; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_gethostbyname=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_gethostbyname+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : break fi done -if test "${ac_cv_search_gethostbyname+set}" = set; then - : +if ${ac_cv_search_gethostbyname+:} false; then : + else ac_cv_search_gethostbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gethostbyname" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 $as_echo "$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -52662,352 +32855,862 @@ fi +# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) +# ------------------------------------------------ +# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. +# Otherwise, run RUN-IF-NOT-FOUND. +# Check whether --enable-gcc-warnings was given. +if test "${enable_gcc_warnings+set}" = set; then : + enableval=$enable_gcc_warnings; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; + esac + gl_gcc_warnings=$enableval +else + gl_gcc_warnings=no + if test -d "$srcdir"/.git; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (4) < __GNUC__ || ((4) == __GNUC__ && (6) <= __GNUC_MINOR__) +/* ok */ +#else +# error "your version of gcc is older than 4.6" +#endif +int +main () +{ + ; + return 0; +}, +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + gl_gcc_warnings=yes +fi +rm -f conftest.err conftest.i conftest.$ac_ext + fi +fi + + +if test "$gl_gcc_warnings" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 +$as_echo_n "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; } +if ${gl_cv_warn_c__Werror__Wunknown_warning_option+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Werror__Wunknown_warning_option=yes +else + gl_cv_warn_c__Werror__Wunknown_warning_option=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5 +$as_echo "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; } +if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes; then : + gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror' +else + gl_unknown_warnings_are_errors= +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5 +$as_echo_n "checking whether C compiler handles -Werror... " >&6; } +if ${gl_cv_warn_c__Werror+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Werror=yes +else + gl_cv_warn_c__Werror=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5 +$as_echo "$gl_cv_warn_c__Werror" >&6; } +if test "x$gl_cv_warn_c__Werror" = xyes; then : + as_fn_append WERROR_CFLAGS " -Werror" +fi + nw= + # This, $nw, is the list of warnings we disable. + nw="$nw -Wformat-nonliteral" # warnings in Fedora 17 stdio.h + nw="$nw -Wvla" # warnings in gettext.h + nw="$nw -Wswitch-default" # Too many warnings for now + nw="$nw -Wunsafe-loop-optimizations" # It's OK to omit unsafe optimizations. + nw="$nw -Winline" # It's OK to not inline. + nw="$nw -Wstrict-overflow" # It's OK to optimize strictly. + nw="$nw -Wsuggest-attribute=pure" # Too many warnings for now. + if test -n "$GCC"; then -{ $as_echo "$as_me:$LINENO: checking whether getgrgid is declared" >&5 -$as_echo_n "checking whether getgrgid is declared... " >&6; } -if test "${ac_cv_have_decl_getgrgid+set}" = set; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 +$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; } + if ${gl_cv_cc_nomfi_supported+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#ifndef getgrgid - (void) getgrgid; -#endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getgrgid=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_nomfi_supported=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getgrgid=no + gl_cv_cc_nomfi_supported=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getgrgid" >&5 -$as_echo "$ac_cv_have_decl_getgrgid" >&6; } -if test "x$ac_cv_have_decl_getgrgid" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETGRGID 1 -_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 +$as_echo "$gl_cv_cc_nomfi_supported" >&6; } + if test "$gl_cv_cc_nomfi_supported" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 +$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; } + if ${gl_cv_cc_nomfi_needed+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETGRGID 0 -_ACEOF + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +void f (void) + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + } + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_nomfi_needed=no +else + gl_cv_cc_nomfi_needed=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 +$as_echo "$gl_cv_cc_nomfi_needed" >&6; } + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5 +$as_echo_n "checking whether -Wuninitialized is supported... " >&6; } + if ${gl_cv_cc_uninitialized_supported+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_uninitialized_supported=yes +else + gl_cv_cc_uninitialized_supported=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 +$as_echo "$gl_cv_cc_uninitialized_supported" >&6; } + + fi + + # List all gcc warning categories. + gl_manywarn_set= + for gl_manywarn_item in \ + -W \ + -Wabi \ + -Waddress \ + -Waggressive-loop-optimizations \ + -Wall \ + -Warray-bounds \ + -Wattributes \ + -Wbad-function-cast \ + -Wbuiltin-macro-redefined \ + -Wcast-align \ + -Wchar-subscripts \ + -Wclobbered \ + -Wcomment \ + -Wcomments \ + -Wcoverage-mismatch \ + -Wcpp \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdisabled-optimization \ + -Wdiv-by-zero \ + -Wdouble-promotion \ + -Wempty-body \ + -Wendif-labels \ + -Wenum-compare \ + -Wextra \ + -Wformat-contains-nul \ + -Wformat-extra-args \ + -Wformat-nonliteral \ + -Wformat-security \ + -Wformat-y2k \ + -Wformat-zero-length \ + -Wfree-nonheap-object \ + -Wignored-qualifiers \ + -Wimplicit \ + -Wimplicit-function-declaration \ + -Wimplicit-int \ + -Winit-self \ + -Winline \ + -Wint-to-pointer-cast \ + -Winvalid-memory-model \ + -Winvalid-pch \ + -Wjump-misses-init \ + -Wlogical-op \ + -Wmain \ + -Wmaybe-uninitialized \ + -Wmissing-braces \ + -Wmissing-declarations \ + -Wmissing-field-initializers \ + -Wmissing-include-dirs \ + -Wmissing-parameter-type \ + -Wmissing-prototypes \ + -Wmudflap \ + -Wmultichar \ + -Wnarrowing \ + -Wnested-externs \ + -Wnonnull \ + -Wnormalized=nfc \ + -Wold-style-declaration \ + -Wold-style-definition \ + -Woverflow \ + -Woverlength-strings \ + -Woverride-init \ + -Wpacked \ + -Wpacked-bitfield-compat \ + -Wparentheses \ + -Wpointer-arith \ + -Wpointer-sign \ + -Wpointer-to-int-cast \ + -Wpragmas \ + -Wreturn-local-addr \ + -Wreturn-type \ + -Wsequence-point \ + -Wshadow \ + -Wsizeof-pointer-memaccess \ + -Wstack-protector \ + -Wstrict-aliasing \ + -Wstrict-overflow \ + -Wstrict-prototypes \ + -Wsuggest-attribute=const \ + -Wsuggest-attribute=format \ + -Wsuggest-attribute=noreturn \ + -Wsuggest-attribute=pure \ + -Wswitch \ + -Wswitch-default \ + -Wsync-nand \ + -Wsystem-headers \ + -Wtrampolines \ + -Wtrigraphs \ + -Wtype-limits \ + -Wuninitialized \ + -Wunknown-pragmas \ + -Wunsafe-loop-optimizations \ + -Wunused \ + -Wunused-but-set-parameter \ + -Wunused-but-set-variable \ + -Wunused-function \ + -Wunused-label \ + -Wunused-local-typedefs \ + -Wunused-macros \ + -Wunused-parameter \ + -Wunused-result \ + -Wunused-value \ + -Wunused-variable \ + -Wvarargs \ + -Wvariadic-macros \ + -Wvector-operation-performance \ + -Wvla \ + -Wvolatile-register-var \ + -Wwrite-strings \ + \ + ; do + gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + done + + # Disable specific options as needed. + if test "$gl_cv_cc_nomfi_needed" = yes; then + gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + fi + + if test "$gl_cv_cc_uninitialized_supported" = no; then + gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + fi + + ws=$gl_manywarn_set + -{ $as_echo "$as_me:$LINENO: checking whether getpwuid is declared" >&5 -$as_echo_n "checking whether getpwuid is declared... " >&6; } -if test "${ac_cv_have_decl_getpwuid+set}" = set; then + gl_warn_set= + set x $ws; shift + for gl_warn_item + do + case " $nw " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + ws=$gl_warn_set + + for w in $ws; do + +as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5 +$as_echo_n "checking whether C compiler handles $w... " >&6; } +if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $w" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#ifndef getpwuid - (void) getpwuid; -#endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_getpwuid=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Warn=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_getpwuid=no + eval "$as_gl_Warn=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" + +fi +eval ac_res=\$$as_gl_Warn + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : + as_fn_append WARN_CFLAGS " $w" fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpwuid" >&5 -$as_echo "$ac_cv_have_decl_getpwuid" >&6; } -if test "x$ac_cv_have_decl_getpwuid" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETPWUID 1 -_ACEOF + done +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-sign-compare" >&5 +$as_echo_n "checking whether C compiler handles -Wno-sign-compare... " >&6; } +if ${gl_cv_warn_c__Wno_sign_compare+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETPWUID 0 -_ACEOF + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-sign-compare" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Wno_sign_compare=yes +else + gl_cv_warn_c__Wno_sign_compare=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_sign_compare" >&5 +$as_echo "$gl_cv_warn_c__Wno_sign_compare" >&6; } +if test "x$gl_cv_warn_c__Wno_sign_compare" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-sign-compare" fi + # Too many warnings for now -{ $as_echo "$as_me:$LINENO: checking whether time is declared" >&5 -$as_echo_n "checking whether time is declared... " >&6; } -if test "${ac_cv_have_decl_time+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-type-limits" >&5 +$as_echo_n "checking whether C compiler handles -Wno-type-limits... " >&6; } +if ${gl_cv_warn_c__Wno_type_limits+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-type-limits" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#ifndef time - (void) time; -#endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_time=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Wno_type_limits=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_warn_c__Wno_type_limits=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" - ac_cv_have_decl_time=no +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_type_limits" >&5 +$as_echo "$gl_cv_warn_c__Wno_type_limits" >&6; } +if test "x$gl_cv_warn_c__Wno_type_limits" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-type-limits" fi + # It's OK to optimize based on types. + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5 +$as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; } +if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-parameter" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Wno_unused_parameter=yes +else + gl_cv_warn_c__Wno_unused_parameter=no +fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5 +$as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; } +if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-unused-parameter" fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_time" >&5 -$as_echo "$ac_cv_have_decl_time" >&6; } -if test "x$ac_cv_have_decl_time" = x""yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TIME 1 + # Too many warnings for now + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-nonliteral" >&5 +$as_echo_n "checking whether C compiler handles -Wno-format-nonliteral... " >&6; } +if ${gl_cv_warn_c__Wno_format_nonliteral+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-format-nonliteral" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Wno_format_nonliteral=yes +else + gl_cv_warn_c__Wno_format_nonliteral=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_nonliteral" >&5 +$as_echo "$gl_cv_warn_c__Wno_format_nonliteral" >&6; } +if test "x$gl_cv_warn_c__Wno_format_nonliteral" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-format-nonliteral" +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5 +$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; } +if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then : + $as_echo_n "(cached) " >&6 else - cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TIME 0 -_ACEOF + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__fdiagnostics_show_option=yes +else + gl_cv_warn_c__fdiagnostics_show_option=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5 +$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; } +if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then : + as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" +fi -for ac_func in waitpid -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -funit-at-a-time" >&5 +$as_echo_n "checking whether C compiler handles -funit-at-a-time... " >&6; } +if ${gl_cv_warn_c__funit_at_a_time+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -funit-at-a-time" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +int +main () +{ -#ifdef __STDC__ -# include -#else -# include -#endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__funit_at_a_time=yes +else + gl_cv_warn_c__funit_at_a_time=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" -#undef $ac_func +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__funit_at_a_time" >&5 +$as_echo "$gl_cv_warn_c__funit_at_a_time" >&6; } +if test "x$gl_cv_warn_c__funit_at_a_time" = xyes; then : + as_fn_append WARN_CFLAGS " -funit-at-a-time" +fi + + + + + + +$as_echo "#define lint 1" >>confdefs.h + + + +$as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif + + # Use a slightly smaller set of warning options for lib/. + # Remove the following and save the result in GNULIB_WARN_CFLAGS. + nw= + nw="$nw -Wmissing-prototypes" + nw="$nw -Wunused-macros" + # + # These are for argp. + nw="$nw -Wmissing-field-initializers" + nw="$nw -Wshadow" + # + + gl_warn_set= + set x $WARN_CFLAGS; shift + for gl_warn_item + do + case " $nw " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + GNULIB_WARN_CFLAGS=$gl_warn_set + + + # This is also for argp. + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5 +$as_echo_n "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; } +if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-missing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ int main () { -return $ac_func (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_warn_c__Wno_missing_field_initializers=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + gl_cv_warn_c__Wno_missing_field_initializers=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" - eval "$as_ac_var=no" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_missing_field_initializers" >&5 +$as_echo "$gl_cv_warn_c__Wno_missing_field_initializers" >&6; } +if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then : + as_fn_append GNULIB_WARN_CFLAGS " -Wno-missing-field-initializers" +fi + + + + + + # For gnulib-tests, the set is slightly smaller still. + nw= + # It's not worth being this picky about test programs. + nw="$nw -Wsuggest-attribute=const" + + gl_warn_set= + set x $GNULIB_WARN_CFLAGS; shift + for gl_warn_item + do + case " $nw " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + GNULIB_TEST_WARN_CFLAGS=$gl_warn_set + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + + + +# Check whether --with-xattrs was given. +if test "${with_xattrs+set}" = set; then : + withval=$with_xattrs; +else + with_xattrs=maybe + +fi + + + for ac_header in attr/xattr.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default" +if test "x$ac_cv_header_attr_xattr_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ATTR_XATTR_H 1 +_ACEOF + +fi + +done + + if test "$ac_cv_header_attr_xattr_h" = yes; then + TAR_COND_XATTR_H_TRUE= + TAR_COND_XATTR_H_FALSE='#' +else + TAR_COND_XATTR_H_TRUE='#' + TAR_COND_XATTR_H_FALSE= +fi + + if test "$ac_cv_header_attr_xattr_h" = yes; then + for ac_func in getxattr fgetxattr lgetxattr \ + setxattr fsetxattr lsetxattr \ + listxattr flistxattr llistxattr +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + # only when functions are present + +$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h + + if test "$with_xattrs" != no; then + +$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h + + fi + +fi +done + + fi + + + + + + + + +ac_fn_c_check_decl "$LINENO" "getgrgid" "ac_cv_have_decl_getgrgid" "#include +" +if test "x$ac_cv_have_decl_getgrgid" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETGRGID $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "getpwuid" "ac_cv_have_decl_getpwuid" "#include +" +if test "x$ac_cv_have_decl_getpwuid" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETPWUID $ac_have_decl +_ACEOF + +ac_fn_c_check_decl "$LINENO" "time" "ac_cv_have_decl_time" "#include +" +if test "x$ac_cv_have_decl_time" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TIME $ac_have_decl +_ACEOF + + +ac_fn_c_check_func "$LINENO" "waitpid" "ac_cv_func_waitpid" +if test "x$ac_cv_func_waitpid" = xyes; then : + $as_echo "#define HAVE_WAITPID 1" >>confdefs.h + else case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + *" waitpid.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS waitpid.$ac_objext" ;; esac fi -done -{ $as_echo "$as_me:$LINENO: checking for remote shell" >&5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for remote shell" >&5 $as_echo_n "checking for remote shell... " >&6; } -if test "${tar_cv_path_RSH+set}" = set; then +if ${tar_cv_path_RSH+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RSH"; then @@ -53031,154 +33734,15 @@ else done fi fi -{ $as_echo "$as_me:$LINENO: result: $tar_cv_path_RSH" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tar_cv_path_RSH" >&5 $as_echo "$tar_cv_path_RSH" >&6; } if test $tar_cv_path_RSH = no; then - -for ac_header in netdb.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in netdb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" +if test "x$ac_cv_header_netdb_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_NETDB_H 1 _ACEOF fi @@ -53198,7 +33762,7 @@ fi # Check whether --with-compress was given. -if test "${with_compress+set}" = set; then +if test "${with_compress+set}" = set; then : withval=$with_compress; tar_cv_compressor_compress=${withval} else tar_cv_compressor_compress=compress @@ -53214,7 +33778,7 @@ _ACEOF # Check whether --with-gzip was given. -if test "${with_gzip+set}" = set; then +if test "${with_gzip+set}" = set; then : withval=$with_gzip; tar_cv_compressor_gzip=${withval} else tar_cv_compressor_gzip=gzip @@ -53230,7 +33794,7 @@ _ACEOF # Check whether --with-bzip2 was given. -if test "${with_bzip2+set}" = set; then +if test "${with_bzip2+set}" = set; then : withval=$with_bzip2; tar_cv_compressor_bzip2=${withval} else tar_cv_compressor_bzip2=bzip2 @@ -53246,7 +33810,7 @@ _ACEOF # Check whether --with-lzip was given. -if test "${with_lzip+set}" = set; then +if test "${with_lzip+set}" = set; then : withval=$with_lzip; tar_cv_compressor_lzip=${withval} else tar_cv_compressor_lzip=lzip @@ -53262,7 +33826,7 @@ _ACEOF # Check whether --with-lzma was given. -if test "${with_lzma+set}" = set; then +if test "${with_lzma+set}" = set; then : withval=$with_lzma; tar_cv_compressor_lzma=${withval} else tar_cv_compressor_lzma=lzma @@ -53278,7 +33842,7 @@ _ACEOF # Check whether --with-lzop was given. -if test "${with_lzop+set}" = set; then +if test "${with_lzop+set}" = set; then : withval=$with_lzop; tar_cv_compressor_lzop=${withval} else tar_cv_compressor_lzop=lzop @@ -53294,7 +33858,7 @@ _ACEOF # Check whether --with-xz was given. -if test "${with_xz+set}" = set; then +if test "${with_xz+set}" = set; then : withval=$with_xz; tar_cv_compressor_xz=${withval} else tar_cv_compressor_xz=xz @@ -53306,7 +33870,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF -{ $as_echo "$as_me:$LINENO: checking for default archive format" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default archive format" >&5 $as_echo_n "checking for default archive format... " >&6; } @@ -53316,19 +33880,17 @@ if test -z "$DEFAULT_ARCHIVE_FORMAT"; then fi case $DEFAULT_ARCHIVE_FORMAT in V7|OLDGNU|USTAR|POSIX|GNU) ;; - *) { { $as_echo "$as_me:$LINENO: error: Invalid format name" >&5 -$as_echo "$as_me: error: Invalid format name" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error $? "Invalid format name" "$LINENO" 5;; esac cat >>confdefs.h <<_ACEOF #define DEFAULT_ARCHIVE_FORMAT ${DEFAULT_ARCHIVE_FORMAT}_FORMAT _ACEOF -{ $as_echo "$as_me:$LINENO: result: $DEFAULT_ARCHIVE_FORMAT" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_ARCHIVE_FORMAT" >&5 $as_echo "$DEFAULT_ARCHIVE_FORMAT" >&6; } -{ $as_echo "$as_me:$LINENO: checking for default archive" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default archive" >&5 $as_echo_n "checking for default archive... " >&6; } @@ -53336,8 +33898,8 @@ if test -z "$DEFAULT_ARCHIVE"; then DEFAULT_ARCHIVE=- else if test -z "`ls $DEFAULT_ARCHIVE 2>/dev/null`"; then - { $as_echo "$as_me:$LINENO: WARNING: DEFAULT_ARCHIVE \`$DEFAULT_ARCHIVE' not found on this system" >&5 -$as_echo "$as_me: WARNING: DEFAULT_ARCHIVE \`$DEFAULT_ARCHIVE' not found on this system" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: DEFAULT_ARCHIVE '$DEFAULT_ARCHIVE' not found on this system" >&5 +$as_echo "$as_me: WARNING: DEFAULT_ARCHIVE '$DEFAULT_ARCHIVE' not found on this system" >&2;} fi # FIXME: Look for DEFTAPE in . # FIXME: Let DEVICE_PREFIX be configured from the environment. @@ -53345,9 +33907,7 @@ $as_echo "$as_me: WARNING: DEFAULT_ARCHIVE \`$DEFAULT_ARCHIVE' not found on this case $DEFAULT_ARCHIVE in *[0-7][lmh]) -cat >>confdefs.h <<\_ACEOF -#define DENSITY_LETTER 1 -_ACEOF +$as_echo "#define DENSITY_LETTER 1" >>confdefs.h device_prefix=`echo $DEFAULT_ARCHIVE | sed 's/0-7lmh$//'` ;; @@ -53373,11 +33933,11 @@ cat >>confdefs.h <<_ACEOF #define DEFAULT_ARCHIVE "$DEFAULT_ARCHIVE" _ACEOF -{ $as_echo "$as_me:$LINENO: result: $DEFAULT_ARCHIVE" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_ARCHIVE" >&5 $as_echo "$DEFAULT_ARCHIVE" >&6; } -{ $as_echo "$as_me:$LINENO: checking for default blocking" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default blocking" >&5 $as_echo_n "checking for default blocking... " >&6; } DEFAULT_BLOCKING=${DEFAULT_BLOCKING-20} @@ -53385,10 +33945,10 @@ cat >>confdefs.h <<_ACEOF #define DEFAULT_BLOCKING $DEFAULT_BLOCKING _ACEOF -{ $as_echo "$as_me:$LINENO: result: $DEFAULT_BLOCKING" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_BLOCKING" >&5 $as_echo "$DEFAULT_BLOCKING" >&6; } -{ $as_echo "$as_me:$LINENO: checking for default quoting style" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default quoting style" >&5 $as_echo_n "checking for default quoting style... " >&6; } @@ -53397,11 +33957,9 @@ DEFAULT_QUOTING_STYLE="escape" case $DEFAULT_QUOTING_STYLE in literal|shell|shell-always|c|escape|locale|clocale) ;; -*) { { $as_echo "$as_me:$LINENO: error: Invalid quoting style" >&5 -$as_echo "$as_me: error: Invalid quoting style" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error $? "Invalid quoting style" "$LINENO" 5;; esac -{ $as_echo "$as_me:$LINENO: result: $DEFAULT_QUOTING_STYLE" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_QUOTING_STYLE" >&5 $as_echo "$DEFAULT_QUOTING_STYLE" >&6; } DEFAULT_QUOTING_STYLE=`echo ${DEFAULT_QUOTING_STYLE}|sed 's/-/_/g'`_quoting_style @@ -53428,8 +33986,9 @@ _ACEOF prefix="$acl_save_prefix" + # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then +if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no @@ -53447,11 +34006,12 @@ if test "${PATH_SEPARATOR+set}" != set; then || PATH_SEPARATOR=';' } fi + ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -53461,11 +34021,11 @@ $as_echo_n "checking for ld used by GCC... " >&6; } esac case $ac_prog in # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) + [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" @@ -53480,33 +34040,36 @@ $as_echo_n "checking for ld used by GCC... " >&6; } ;; esac elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${acl_cv_path_LD+set}" = set; then +if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do + IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + case `"$acl_cv_path_LD" -v 2>&1 &5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then +if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. + # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld - { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } -if test "${acl_cv_rpath+set}" = set; then +if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else @@ -53556,7 +34119,7 @@ else acl_cv_rpath=done fi -{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" @@ -53568,7 +34131,7 @@ $as_echo "$acl_cv_rpath" >&6; } acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then +if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes @@ -53581,16 +34144,12 @@ fi acl_libdirstem2= case "$host_os" in solaris*) - { $as_echo "$as_me:$LINENO: checking for 64-bit host" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 $as_echo_n "checking for 64-bit host... " >&6; } -if test "${gl_cv_solaris_64bit+set}" = set; then +if ${gl_cv_solaris_64bit+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 @@ -53599,7 +34158,7 @@ sixtyfour bits _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no @@ -53608,7 +34167,7 @@ rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $gl_cv_solaris_64bit" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 $as_echo "$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 @@ -53668,7 +34227,7 @@ $as_echo "$gl_cv_solaris_64bit" >&6; } # Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then +if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no @@ -54138,19 +34697,15 @@ fi done - { $as_echo "$as_me:$LINENO: checking for iconv" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then +if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -54166,46 +34721,15 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -54221,49 +34745,22 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking for working iconv" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } -if test "${am_cv_func_iconv_works+set}" = set; then +if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else @@ -54271,7 +34768,7 @@ else if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; @@ -54279,11 +34776,7 @@ else esac else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -54385,46 +34878,19 @@ int main () return result; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -am_cv_func_iconv_works=no + am_cv_func_iconv_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - LIBS="$am_save_LIBS" fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; @@ -54435,15 +34901,13 @@ $as_echo "$am_cv_func_iconv_works" >&6; } fi if test "$am_func_iconv" = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ICONV 1 -_ACEOF +$as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" @@ -54454,17 +34918,13 @@ $as_echo "$LIBICONV" >&6; } if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking for iconv declaration" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } - if test "${am_cv_proto_iconv+set}" = set; then + if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -54473,7 +34933,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); @@ -54487,38 +34947,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : am_cv_proto_iconv_arg1="" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - am_cv_proto_iconv_arg1="const" + am_cv_proto_iconv_arg1="const" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:$LINENO: result: + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_proto_iconv" >&5 $as_echo " $am_cv_proto_iconv" >&6; } @@ -54530,285 +34969,45 @@ _ACEOF fi - - for ac_header in iconv.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to bug-tar@gnu.org ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" +if test "x$ac_cv_header_iconv_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_ICONV_H 1 _ACEOF fi done -{ $as_echo "$as_me:$LINENO: checking for iconv_t" >&5 -$as_echo_n "checking for iconv_t... " >&6; } -if test "${ac_cv_type_iconv_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_iconv_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +ac_fn_c_check_type "$LINENO" "iconv_t" "ac_cv_type_iconv_t" " #ifdef HAVE_ICONV_H # include #endif - -int -main () -{ -if (sizeof (iconv_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_ICONV_H -# include -#endif - - -int -main () -{ -if (sizeof ((iconv_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_iconv_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_iconv_t" >&5 -$as_echo "$ac_cv_type_iconv_t" >&6; } -if test "x$ac_cv_type_iconv_t" = x""yes; then +" +if test "x$ac_cv_type_iconv_t" = xyes; then : : else -cat >>confdefs.h <<\_ACEOF -#define iconv_t int -_ACEOF +$as_echo "#define iconv_t int" >>confdefs.h fi # Gettext. - { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then +if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi - { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } @@ -54848,9 +35047,9 @@ rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGFMT+set}" = set; then +if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in @@ -54880,18 +35079,18 @@ esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GMSGFMT+set}" = set; then +if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in @@ -54904,14 +35103,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" @@ -54920,10 +35119,10 @@ esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then - { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -54970,9 +35169,9 @@ rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XGETTEXT+set}" = set; then +if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in @@ -55002,10 +35201,10 @@ esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -55047,9 +35246,9 @@ rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGMERGE+set}" = set; then +if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in @@ -55078,10 +35277,10 @@ esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -55119,18 +35318,14 @@ fi - { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then +if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -55141,61 +35336,30 @@ CFPreferencesCopyAppValue(NULL, NULL) return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFPreferencesCopyAppValue=no + gt_cv_func_CFPreferencesCopyAppValue=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 -_ACEOF +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi - { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -55206,47 +35370,20 @@ CFLocaleCopyCurrent(); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFLocaleCopyCurrent=no + gt_cv_func_CFLocaleCopyCurrent=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi -{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFLOCALECOPYCURRENT 1 -_ACEOF +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= @@ -55291,16 +35428,12 @@ typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; gt_expression_test_code= fi - { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } -if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -55319,42 +35452,16 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$gt_func_gnugettext_libc=no" + eval "$gt_func_gnugettext_libc=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$gt_func_gnugettext_libc'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then @@ -55388,19 +35495,15 @@ $as_echo "$ac_res" >&6; } done - { $as_echo "$as_me:$LINENO: checking for iconv" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then +if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -55416,46 +35519,15 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -55471,49 +35543,22 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking for working iconv" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } -if test "${am_cv_func_iconv_works+set}" = set; then +if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else @@ -55521,7 +35566,7 @@ else if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; @@ -55529,11 +35574,7 @@ else esac else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -55635,46 +35676,19 @@ int main () return result; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -am_cv_func_iconv_works=no + am_cv_func_iconv_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - LIBS="$am_save_LIBS" fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; @@ -55685,15 +35699,13 @@ $as_echo "$am_cv_func_iconv_works" >&6; } fi if test "$am_func_iconv" = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ICONV 1 -_ACEOF +$as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" @@ -55726,7 +35738,7 @@ $as_echo "$LIBICONV" >&6; } # Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then +if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no @@ -56165,20 +36177,16 @@ fi - { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } -if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then +if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -56201,45 +36209,16 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$gt_func_gnugettext_libintl=no" + eval "$gt_func_gnugettext_libintl=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -56262,48 +36241,20 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi -ac_res=`eval 'as_val=${'$gt_func_gnugettext_libintl'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi @@ -56331,21 +36282,19 @@ $as_echo "$ac_res" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then -cat >>confdefs.h <<\_ACEOF -#define ENABLE_NLS 1 -_ACEOF +$as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi - { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then @@ -56356,7 +36305,7 @@ $as_echo_n "checking where the gettext function comes from... " >&6; } else gt_source="included intl directory" fi - { $as_echo "$as_me:$LINENO: result: $gt_source" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi @@ -56364,9 +36313,9 @@ $as_echo "$gt_source" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do @@ -56394,14 +36343,10 @@ $as_echo "$LIBINTL" >&6; } fi -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETTEXT 1 -_ACEOF +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_DCGETTEXT 1 -_ACEOF +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi @@ -56422,7 +36367,6 @@ _ACEOF # Initialize the test suite. ac_config_commands="$ac_config_commands tests/atconfig" - ac_config_files="$ac_config_files tests/Makefile tests/atlocal" # FIXME: tests/preset? @@ -56432,7 +36376,7 @@ AUTOM4TE=${AUTOM4TE-"${am_missing_run}autom4te"} # Check whether --enable-backup-scripts was given. -if test "${enable_backup_scripts+set}" = set; then +if test "${enable_backup_scripts+set}" = set; then : enableval=$enable_backup_scripts; case $enableval in yes) BACKUP_LIBEXEC_SCRIPTS='$(BACKUP_LIBEXEC_SCRIPTS_LIST)' BACKUP_SBIN_SCRIPTS='$(BACKUP_SBIN_SCRIPTS_LIST)' @@ -56477,13 +36421,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -56491,8 +36435,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -56514,12 +36458,23 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -56533,20 +36488,29 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -56556,34 +36520,75 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_SELINUX_CONTEXT_H_TRUE}" && test -z "${GL_GENERATE_SELINUX_CONTEXT_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_SELINUX_CONTEXT_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDARG_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_SYSEXITS_H_TRUE}" && test -z "${GL_GENERATE_SYSEXITS_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_SYSEXITS_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi + gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then @@ -56615,14 +36620,19 @@ fi gltests_LTLIBOBJS=$gltests_ltlibobjs +if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; then + as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -56632,17 +36642,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -56650,23 +36661,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -56674,7 +36677,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -56685,7 +36694,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -56708,13 +36717,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -56724,15 +36726,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -56744,12 +36747,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -56761,7 +36768,89 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -56775,8 +36864,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -56796,76 +36889,25 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -56880,49 +36922,85 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -56932,13 +37010,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -# Save the log message, to keep $[0] and so on meaningful, and to +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU tar $as_me 1.26, which was -generated by GNU Autoconf 2.63. Invocation command line was +This file was extended by GNU tar $as_me 1.27, which was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -56970,13 +37054,15 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTION]... [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit + --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -56995,16 +37081,19 @@ $config_headers Configuration commands: $config_commands -Report bugs to ." +Report bugs to . +GNU tar home page: . +General help using GNU software: ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU tar config.status 1.26 -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +GNU tar config.status 1.27 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -57022,11 +37111,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -57040,27 +37134,29 @@ do ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -57068,11 +37164,10 @@ Try \`$0 --help' for more information." >&2 ac_cs_silent=: ;; # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -57089,7 +37184,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -57122,6 +37217,7 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" LINGUAS="${LINGUAS-%UNSET%}" + _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 @@ -57145,9 +37241,7 @@ do "rmt/Makefile") CONFIG_FILES="$CONFIG_FILES rmt/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -57170,26 +37264,24 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -57197,7 +37289,13 @@ $debug || if test -n "$CONFIG_FILES"; then -ac_cr=' ' +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' @@ -57205,7 +37303,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -57214,24 +37312,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -57239,7 +37331,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -57253,7 +37345,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -57267,7 +37359,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -57287,7 +37379,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -57319,23 +37411,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -57347,7 +37445,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -57359,13 +37457,11 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -57450,9 +37546,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -57465,9 +37559,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -57486,7 +37578,7 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -57495,12 +37587,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" + as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -57511,7 +37601,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -57523,10 +37613,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -57554,47 +37642,7 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in @@ -57651,7 +37699,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= - ac_sed_dataroot=' /datarootdir/ { p @@ -57661,12 +37708,11 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' +/@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -57676,7 +37722,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -57704,27 +37750,24 @@ s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -57733,27 +37776,21 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -57791,7 +37828,7 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -57812,7 +37849,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -57846,21 +37883,19 @@ $as_echo X"$mf" | continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || @@ -57886,47 +37921,7 @@ $as_echo X"$file" | q } s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done @@ -57943,7 +37938,7 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -57959,7 +37954,8 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration @@ -57970,12 +37966,12 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES @@ -58049,7 +38045,7 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} "tests/atconfig":C) cat >tests/atconfig <&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -58103,10 +38096,10 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/configure.ac b/configure.ac index db69cb82..3bff70ed 100644 --- a/configure.ac +++ b/configure.ac @@ -1,25 +1,23 @@ # Configure template for GNU tar. -*- autoconf -*- -# Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -# Software Foundation, Inc. +# Copyright 1991, 1994-2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . -AC_INIT([GNU tar], [1.26], [bug-tar@gnu.org]) +AC_INIT([GNU tar], [1.27], [bug-tar@gnu.org]) AC_CONFIG_SRCDIR([src/tar.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) @@ -70,6 +68,28 @@ if test $diff_cv_st_fstype_string = yes; then [Define if struct stat has a char st_fstype[] member.]) fi +# even if we use gnulib's acl.h with integrated m4 file later on (used because +# of very useful file_has_acl() function) we need following checks that restrict +# tar to use POSIX.1e ACLs only. +AC_ARG_WITH([posix-acls], + AS_HELP_STRING([--without-posix-acls], + [do not use POSIX.1e access control lists]), + [with_posix_acls=no]) +if test "x$with_posix_acls" != "xno"; then + AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acls=no]) + for tar_acl_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ + acl_to_text acl_from_text; do \ + test "x$with_posix_acls" = xno && break + AC_SEARCH_LIBS([$tar_acl_func], [acl pacl], [], [with_posix_acls=no]) + done + if test "x$with_posix_acls" != xno; then + AC_DEFINE(HAVE_POSIX_ACLS,,[Define when we have working POSIX acls]) + fi +else + # disable acls in gnulib's checks + export enable_acl=no +fi + AC_TYPE_SIGNAL AC_TYPE_MODE_T AC_TYPE_PID_T @@ -90,13 +110,114 @@ gl_INIT # paxutils modules tar_PAXUTILS +# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) +# ------------------------------------------------ +# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. +# Otherwise, run RUN-IF-NOT-FOUND. +AC_DEFUN([gl_GCC_VERSION_IFELSE], + [AC_PREPROC_IFELSE( + [AC_LANG_PROGRAM( + [[ +#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__) +/* ok */ +#else +# error "your version of gcc is older than $1.$2" +#endif + ]]), + ], [$3], [$4]) + ] +) + +AC_ARG_ENABLE([gcc-warnings], + [AS_HELP_STRING([--enable-gcc-warnings], + [turn on many GCC warnings (for developers; best with GNU make)])], + [case $enableval in + yes|no) ;; + *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; + esac + gl_gcc_warnings=$enableval], + [gl_gcc_warnings=no + if test -d "$srcdir"/.git; then + gl_GCC_VERSION_IFELSE([4], [6], [gl_gcc_warnings=yes]) + fi] +) + +if test "$gl_gcc_warnings" = yes; then + gl_WARN_ADD([-Werror], [WERROR_CFLAGS]) + AC_SUBST([WERROR_CFLAGS]) + + nw= + # This, $nw, is the list of warnings we disable. + nw="$nw -Wformat-nonliteral" # warnings in Fedora 17 stdio.h + nw="$nw -Wvla" # warnings in gettext.h + nw="$nw -Wswitch-default" # Too many warnings for now + nw="$nw -Wunsafe-loop-optimizations" # It's OK to omit unsafe optimizations. + nw="$nw -Winline" # It's OK to not inline. + nw="$nw -Wstrict-overflow" # It's OK to optimize strictly. + nw="$nw -Wsuggest-attribute=pure" # Too many warnings for now. + + gl_MANYWARN_ALL_GCC([ws]) + gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw]) + for w in $ws; do + gl_WARN_ADD([$w]) + done + gl_WARN_ADD([-Wno-sign-compare]) # Too many warnings for now + gl_WARN_ADD([-Wno-type-limits]) # It's OK to optimize based on types. + gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now + gl_WARN_ADD([-Wno-format-nonliteral]) + + gl_WARN_ADD([-fdiagnostics-show-option]) + gl_WARN_ADD([-funit-at-a-time]) + + AC_SUBST([WARN_CFLAGS]) + + AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.]) + AH_VERBATIM([FORTIFY_SOURCE], + [/* Enable compile-time and run-time bounds-checking, and some warnings, + without upsetting glibc 2.15+. */ + #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ + # define _FORTIFY_SOURCE 2 + #endif + ]) + AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks]) + + # Use a slightly smaller set of warning options for lib/. + # Remove the following and save the result in GNULIB_WARN_CFLAGS. + nw= + nw="$nw -Wmissing-prototypes" + nw="$nw -Wunused-macros" + # + # These are for argp. + nw="$nw -Wmissing-field-initializers" + nw="$nw -Wshadow" + # + gl_MANYWARN_COMPLEMENT([GNULIB_WARN_CFLAGS], [$WARN_CFLAGS], [$nw]) + + # This is also for argp. + gl_WARN_ADD([-Wno-missing-field-initializers], [GNULIB_WARN_CFLAGS]) + + AC_SUBST([GNULIB_WARN_CFLAGS]) + + # For gnulib-tests, the set is slightly smaller still. + nw= + # It's not worth being this picky about test programs. + nw="$nw -Wsuggest-attribute=const" + gl_MANYWARN_COMPLEMENT([GNULIB_TEST_WARN_CFLAGS], + [$GNULIB_WARN_CFLAGS], [$nw]) + AC_SUBST([GNULIB_TEST_WARN_CFLAGS]) +fi + +TAR_HEADERS_ATTR_XATTR_H + AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink]) + AC_CHECK_DECLS([getgrgid],,, [#include ]) AC_CHECK_DECLS([getpwuid],,, [#include ]) AC_CHECK_DECLS([time],,, [#include ]) AC_REPLACE_FUNCS(waitpid) +AC_ARG_VAR([RSH], [Configure absolute path to default remote shell binary]) AC_CACHE_CHECK(for remote shell, tar_cv_path_RSH, [if test -n "$RSH"; then tar_cv_path_RSH=$RSH @@ -157,7 +278,7 @@ if test -z "$DEFAULT_ARCHIVE"; then DEFAULT_ARCHIVE=- else if test -z "`ls $DEFAULT_ARCHIVE 2>/dev/null`"; then - AC_MSG_WARN(DEFAULT_ARCHIVE \`$DEFAULT_ARCHIVE' not found on this system) + AC_MSG_WARN(DEFAULT_ARCHIVE '$DEFAULT_ARCHIVE' not found on this system) fi # FIXME: Look for DEFTAPE in . # FIXME: Let DEVICE_PREFIX be configured from the environment. diff --git a/doc/Makefile.am b/doc/Makefile.am index 205a1ad8..b45d70e0 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,21 +1,22 @@ # Makefile for GNU tar documentation. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006, -# 2007 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013 Free Software +# Foundation, Inc. -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3, or (at your option) -## any later version. +# This file is part of GNU tar. -## 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. +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -## 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. +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . info_TEXINFOS = tar.texi tar_TEXINFOS = \ @@ -34,7 +35,7 @@ tar_TEXINFOS = \ EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el # The rendering level is anyone of PUBLISH, DISTRIB or PROOF. -# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. +# Just call 'make RENDITION=PROOF [target]' if you want PROOF rendition. RENDITION = DISTRIB MAKEINFOFLAGS=-D$(RENDITION) diff --git a/doc/Makefile.in b/doc/Makefile.in index 933cd13f..9f813660 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -17,9 +16,41 @@ # Makefile for GNU tar documentation. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006, -# 2007 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013 Free Software +# Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -39,31 +70,37 @@ build_triplet = @build@ host_triplet = @host@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/stamp-vti $(srcdir)/version.texi $(tar_TEXINFOS) + $(srcdir)/stamp-vti $(srcdir)/version.texi $(tar_TEXINFOS) \ + $(top_srcdir)/build-aux/mdate-sh \ + $(top_srcdir)/build-aux/texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -71,50 +108,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -122,22 +169,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -152,14 +200,48 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = +AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) +am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) +am__v_DVIPS_0 = @echo " DVIPS " $@; +am__v_DVIPS_1 = +AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@) +am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@) +am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; +am__v_MAKEINFO_1 = +AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@) +am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@) +am__v_INFOHTML_0 = @echo " INFOHTML" $@; +am__v_INFOHTML_1 = +AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@) +am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@) +am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; +am__v_TEXI2DVI_1 = +AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@) +am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@) +am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; +am__v_TEXI2PDF_1 = +AM_V_texinfo = $(am__v_texinfo_@AM_V@) +am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@) +am__v_texinfo_0 = -q +am__v_texinfo_1 = +AM_V_texidevnull = $(am__v_texidevnull_@AM_V@) +am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) +am__v_texidevnull_0 = > /dev/null +am__v_texidevnull_1 = INFO_DEPS = $(srcdir)/tar.info TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux @@ -172,6 +254,11 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) DVIPS = dvips +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__installdirs = "$(DESTDIR)$(infodir)" am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ @@ -194,6 +281,12 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ @@ -202,6 +295,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -253,12 +348,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -267,17 +366,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -285,6 +394,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -299,15 +410,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -348,25 +463,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -374,14 +499,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -408,12 +542,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -425,10 +560,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -473,9 +611,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -494,6 +634,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -509,17 +650,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -535,6 +682,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -567,28 +715,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -596,6 +762,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -603,6 +770,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -615,6 +783,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -654,12 +823,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -682,7 +853,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -704,6 +877,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -714,6 +890,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -725,6 +902,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -735,6 +915,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -745,6 +926,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -766,9 +948,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -781,6 +965,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -790,11 +975,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -824,8 +1012,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -834,13 +1028,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -850,10 +1047,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -874,10 +1075,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -891,9 +1095,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -974,7 +1183,7 @@ tar_TEXINFOS = \ EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el # The rendering level is anyone of PUBLISH, DISTRIB or PROOF. -# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. +# Just call 'make RENDITION=PROOF [target]' if you want PROOF rendition. RENDITION = DISTRIB MAKEINFOFLAGS = -D$(RENDITION) GENDOCS = gendocs.sh @@ -1015,7 +1224,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): .texi.info: - restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && $(am__cd) $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ @@ -1037,18 +1246,18 @@ $(am__aclocal_m4_deps): rm -rf $$backupdir; exit $$rc .texi.dvi: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) $< + $(TEXI2DVI) $(AM_V_texinfo) --clean $< $(AM_V_texidevnull) .texi.pdf: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) $< + $(TEXI2PDF) $(AM_V_texinfo) --clean $< $(AM_V_texidevnull) .texi.html: - rm -rf $(@:.html=.htp) - if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) + $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) $<; \ then \ rm -rf $@; \ @@ -1083,8 +1292,8 @@ mostlyclean-vti: maintainer-clean-vti: -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi .dvi.ps: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< + $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) $(AM_V_texinfo) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @@ -1106,9 +1315,7 @@ uninstall-html-am: uninstall-info-am: @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && \ - (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ @@ -1184,6 +1391,8 @@ TAGS: ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -1235,10 +1444,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1276,8 +1490,11 @@ install-dvi: install-dvi-am install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) - test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -1292,18 +1509,22 @@ install-html: install-html-am install-html-am: $(HTMLS) @$(NORMAL_INSTALL) - test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ $(am__strip_dir) \ - if test -d "$$d$$p"; then \ + d2=$$d$$p; \ + if test -d "$$d2"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ + echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ else \ - list2="$$list2 $$d$$p"; \ + list2="$$list2 $$d2"; \ fi; \ done; \ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ @@ -1315,9 +1536,12 @@ install-info: install-info-am install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) - test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ + fi; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ @@ -1335,8 +1559,7 @@ install-info-am: $(INFO_DEPS) echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done @$(POST_INSTALL) - @if (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + @if $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ @@ -1350,8 +1573,11 @@ install-pdf: install-pdf-am install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) - test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -1363,8 +1589,11 @@ install-ps: install-ps-am install-ps-am: $(PSS) @$(NORMAL_INSTALL) - test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" @list='$(PSS)'; test -n "$(psdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ diff --git a/doc/gendocs_template b/doc/gendocs_template index 1bdd5b01..0af20fd9 100755 --- a/doc/gendocs_template +++ b/doc/gendocs_template @@ -106,7 +106,7 @@ Please send broken links and other corrections (or suggestions) to

-Copyright (C) 2004 Free Software Foundation, Inc., +Copyright 2004, 2013 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is diff --git a/doc/genfile.texi b/doc/genfile.texi index b37e26ec..e0f4e351 100644 --- a/doc/genfile.texi +++ b/doc/genfile.texi @@ -108,7 +108,7 @@ name to use. Currently two patterns are implemented: If no file name was given, the program exits with the code @code{0}. Otherwise, it exits with @code{0} only if it was able to create a file of the specified length. - + @cindex Sparse files, creating using @command{genfile} @cindex @command{genfile}, creating sparse files Special option @option{--sparse} (@option{-s}) instructs @@ -145,7 +145,7 @@ a @dfn{block} of data, filled with this letter and will write it to the fragment. The size of block is given by @option{--block-size} option. It defaults to 512. Thus, if the string consists of @var{n} characters, the resulting file fragment will contain -@code{@var{n}*@var{block-size}} of data. +@code{@var{n}*@var{block-size}} of data. Last fragment descriptor can have only file offset part. In this case @command{genfile} will create a hole at the end of the file up to @@ -154,7 +154,7 @@ the given offset. For example, consider the following invocation: @smallexample -genfile --sparse --file sparsefile 0 ABCD 1M EFGHI 2000K +genfile --sparse --file sparsefile 0 ABCD 1M EFGHI 2000K @end smallexample @noindent @@ -164,7 +164,7 @@ It will create 3101184-bytes long file of the following structure: @item Offset @tab Length @tab Contents @item 0 @tab 4*512=2048 @tab Four 512-byte blocks, filled with letters @samp{A}, @samp{B}, @samp{C} and @samp{D}. -@item 2048 @tab 1046528 @tab Zero bytes +@item 2048 @tab 1046528 @tab Zero bytes @item 1050624 @tab 5*512=2560 @tab Five blocks, filled with letters @samp{E}, @samp{F}, @samp{G}, @samp{H}, @samp{I}. @item 1053184 @tab 2048000 @tab Zero bytes @@ -172,7 +172,7 @@ letters @samp{A}, @samp{B}, @samp{C} and @samp{D}. The exit code of @command{genfile --status} command is @code{0} only if created file is actually sparse. - + @node Status Mode @appendixsec Status Mode @@ -181,56 +181,58 @@ each file specified in the command line. This mode is toggled by @option{--stat} (@option{-S}) command line option. An optional argument to this option specifies output @dfn{format}: a comma-separated list of @code{struct stat} fields to be displayed. This list can contain -following identifiers @FIXME{should we also support @samp{%} notations -as in stat(1)??}: +following identifiers: @table @asis @item name The file name. - + @item dev @itemx st_dev Device number in decimal. - + @item ino @itemx st_ino Inode number. - + @item mode[.@var{number}] @itemx st_mode[.@var{number}] + +@FIXME{Should we also support @samp{%} notations as in stat(1)?} + File mode in octal. Optional @var{number} specifies octal mask to be applied to the mode before outputting. For example, @code{--stat mode.777} will preserve lower nine bits of it. Notice, that you can use any punctuation character in place of @samp{.}. - + @item nlink @itemx st_nlink Number of hard links. - + @item uid @itemx st_uid User ID of owner. - + @item gid @itemx st_gid Group ID of owner. - + @item size @itemx st_size File size in decimal. - + @item blksize @itemx st_blksize The size in bytes of each file block. - + @item blocks @itemx st_blocks Number of blocks allocated. - + @item atime @itemx st_atime Time of last access. - + @item mtime @itemx st_mtime Time of last modification @@ -240,7 +242,7 @@ use any punctuation character in place of @samp{.}. Time of last status change @item sparse - A boolean value indicating whether the file is @samp{sparse}. + A boolean value indicating whether the file is @samp{sparse}. @end table Modification times are displayed in @acronym{UTC} as @@ -249,7 +251,7 @@ use any punctuation character in place of @samp{.}. @code{tar tv} output format is used. The default output format is: @samp{name,dev,ino,mode, -nlink,uid,gid,size,blksize,blocks,atime,mtime,ctime}. +nlink,uid,gid,size,blksize,blocks,atime,mtime,ctime}. For example, the following command will display file names and corresponding times of last access for each file in the current working @@ -285,7 +287,7 @@ checkpoint. Available actions are @itemx --truncate @var{file} Truncate @var{file} to the size specified by previous @option{--length} option (or 0, if it is not given). - + @item --append @var{file} Append data to @var{file}. The size of data and its pattern are given by previous @option{--length} and @option{pattern} options. diff --git a/doc/header.texi b/doc/header.texi index 6efb8f2b..f7625c73 100644 --- a/doc/header.texi +++ b/doc/header.texi @@ -1,21 +1,22 @@ @comment GNU tar Archive Format description. @comment -@comment Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, -@comment 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +@comment Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2013 +@comment Free Software Foundation, Inc. @comment -@comment This program is free software; you can redistribute it and/or modify it -@comment under the terms of the GNU General Public License as published by the -@comment Free Software Foundation; either version 3, or (at your option) any later -@comment version. +@comment This file is part of GNU tar. @comment -@comment This program is distributed in the hope that it will be useful, but -@comment WITHOUT ANY WARRANTY; without even the implied warranty of -@comment MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -@comment Public License for more details. +@comment GNU tar is free software; you can redistribute it and/or modify +@comment it under the terms of the GNU General Public License as published by +@comment the Free Software Foundation; either version 3 of the License, or +@comment (at your option) any later version. @comment -@comment You should have received a copy of the GNU General Public License along -@comment with this program; if not, write to the Free Software Foundation, Inc., -@comment 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +@comment GNU tar is distributed in the hope that it will be useful, +@comment but WITHOUT ANY WARRANTY; without even the implied warranty of +@comment MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +@comment GNU General Public License for more details. +@comment +@comment You should have received a copy of the GNU General Public License +@comment along with this program. If not, see . /*@r{ tar Header Block, from POSIX 1003.1-1990. }*/ @@ -80,9 +81,9 @@ struct posix_header /*@r{ tar Header Block, GNU extensions. }*/ /*@r{ In GNU tar, SYMTYPE is for to symbolic links, and CONTTYPE is for - contiguous files, so maybe disobeying the `reserved' comment in POSIX + contiguous files, so maybe disobeying the "reserved" comment in POSIX header description. I suspect these were meant to be used this way, and - should not have really been `reserved' in the published standards. }*/ + should not have really been "reserved" in the published standards. }*/ /*@r{ *BEWARE* *BEWARE* *BEWARE* that the following information is still boiling, and may change. Even if the OLDGNU format description should be diff --git a/doc/mastermenu.el b/doc/mastermenu.el index db8c631c..c7af88f7 100644 --- a/doc/mastermenu.el +++ b/doc/mastermenu.el @@ -1,26 +1,25 @@ ;;; mastermenu.el --- Redefinition of texinfo-master-menu-list -;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. +;; Copyright 2006-2007, 2013 Free Software Foundation, Inc. ;; Author: Sergey Poznyakoff ;; Maintainer: bug-tar@gnu.org ;; Keywords: maint, tex, docs -;; This file is part of GNU tar documentation suite +;; This file is part of GNU tar. -;; This program is free software; you can redistribute it and/or modify +;; GNU tar is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation; either version 3 of the License, or +;; (at your option) any later version. -;; This program is distributed in the hope that it will be useful, +;; GNU tar 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. +;; along with this program. If not, see . ;;; Commentary: diff --git a/doc/parse-datetime.texi b/doc/parse-datetime.texi index 2f1ab34e..6b3e973e 100644 --- a/doc/parse-datetime.texi +++ b/doc/parse-datetime.texi @@ -1,6 +1,6 @@ @c GNU date syntax documentation -@c Copyright (C) 1994-2006, 2009-2011 Free Software Foundation, Inc. +@c Copyright (C) 1994-2006, 2009-2013 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this document @c under the terms of the GNU Free Documentation License, Version 1.3 or @@ -38,10 +38,10 @@ demanded a knowledge of five different languages. It is no wonder then that we often look into our own immediate past or future, last Tuesday or a week from Sunday, with feelings of helpless confusion. @dots{} ---- Robert Grudin, @cite{Time and the Art of Living}. +---Robert Grudin, @cite{Time and the Art of Living}. @end quotation -This section describes the textual date representations that @sc{gnu} +This section describes the textual date representations that GNU programs accept. These are the strings you, as a user, can supply as arguments to the various programs. The C interface (via the @code{parse_datetime} function) is not described here. @@ -50,7 +50,8 @@ arguments to the various programs. The C interface (via the * General date syntax:: Common rules. * Calendar date items:: 19 Dec 1994. * Time of day items:: 9:20pm. -* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}. +* Time zone items:: EST, PDT, UTC, @dots{} +* Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500. * Day of week items:: Monday and others. * Relative items in date strings:: next tuesday, 2 years ago. * Pure numbers in date strings:: 19931219, 1440. @@ -76,6 +77,7 @@ many flavors of items: @item calendar date items @item time of day items @item time zone items +@item combined date and time of day items @item day of the week items @item relative items @item pure numbers. @@ -115,10 +117,10 @@ abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first}, The output of the @command{date} command is not always acceptable as a date string, not only because of the language problem, but also because there is no -standard meaning for time zone items like @samp{IST}. When using +standard meaning for time zone items like @samp{IST}@. When using @command{date} to generate a date string intended to be parsed later, specify a date format that is independent of language and that does not -use time zone items other than @samp{UTC} and @samp{Z}. Here are some +use time zone items other than @samp{UTC} and @samp{Z}@. Here are some ways to do this: @example @@ -126,8 +128,8 @@ $ LC_ALL=C TZ=UTC0 date Mon Mar 1 00:21:42 UTC 2004 $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' 2004-03-01 00:21:42Z -$ date --iso-8601=ns | tr T ' ' # --iso-8601 is a GNU extension. -2004-02-29 16:21:42,692722128-0800 +$ date --rfc-3339=ns # --rfc-3339 is a GNU extension. +2004-02-29 16:21:42.692722128-08:00 $ date --rfc-2822 # a GNU extension Sun, 29 Feb 2004 16:21:42 -0800 $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. @@ -143,6 +145,7 @@ between round parentheses, as long as included parentheses are properly nested. Hyphens not followed by a digit are currently ignored. Leading zeros on numbers are ignored. +@cindex leap seconds Invalid dates like @samp{2005-02-29} or times like @samp{24:00} are rejected. In the typical case of a host that does not support leap seconds, a time like @samp{23:59:60} is rejected even if it @@ -159,7 +162,7 @@ specified differently, depending on whether the month is specified numerically or literally. All these strings specify the same calendar date: @example -1972-09-24 # @sc{iso} 8601. +1972-09-24 # ISO 8601. 72-9-24 # Assume 19xx for 69 through 99, # 20xx for 00 through 68. 72-09-24 # Leading zeros are ignored. @@ -182,9 +185,9 @@ sep 24 Here are the rules. -@cindex @sc{iso} 8601 date format -@cindex date format, @sc{iso} 8601 -For numeric months, the @sc{iso} 8601 format +@cindex ISO 8601 date format +@cindex date format, ISO 8601 +For numeric months, the ISO 8601 format @samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is any positive number, @var{month} is a number between 01 and 12, and @var{day} is a number between 01 and 31. A leading zero must be present @@ -232,9 +235,10 @@ day. Here are some examples, all of which represent the same time: 20:02:00.000000 20:02 8:02pm -20:02-0500 # In @sc{est} (U.S. Eastern Standard Time). +20:02-0500 # In EST (U.S. Eastern Standard Time). @end example +@cindex leap seconds More generally, the time of day may be given as @samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is a number between 0 and 23, @var{minute} is a number between 0 and @@ -270,10 +274,10 @@ the one- or two-digit correction is interpreted as a number of hours. You can also separate @var{hh} from @var{mm} with a colon. When a time zone correction is given this way, it forces interpretation of the time relative to -Coordinated Universal Time (@sc{utc}), overriding any previous +Coordinated Universal Time (UTC), overriding any previous specification for the time zone or the local time zone. For example, @samp{+0530} and @samp{+05:30} both stand for the time zone 5.5 hours -ahead of @sc{utc} (e.g., India). +ahead of UTC (e.g., India). This is the best way to specify a time zone correction by fractional parts of an hour. The maximum zone correction is 24 hours. @@ -311,6 +315,32 @@ time stamps are interpreted using the rules of the default time zone (@pxref{Specifying time zone rules}). +@node Combined date and time of day items +@section Combined date and time of day items + +@cindex combined date and time of day item +@cindex ISO 8601 date and time of day format +@cindex date and time of day format, ISO 8601 + +The ISO 8601 date and time of day extended format consists of an ISO +8601 date, a @samp{T} character separator, and an ISO 8601 time of +day. This format is also recognized if the @samp{T} is replaced by a +space. + +In this format, the time of day should use 24-hour notation. +Fractional seconds are allowed, with either comma or period preceding +the fraction. ISO 8601 fractional minutes and hours are not +supported. Typically, hosts support nanosecond timestamp resolution; +excess precision is silently discarded. + +Here are some examples: + +@example +2012-09-24T20:02:00.052-0500 +2012-12-31T23:59:59,999999999+1100 +1970-01-01 00:00Z +@end example + @node Day of week items @section Day of week items @@ -455,28 +485,29 @@ supported by the internal representation is truncated toward minus infinity. Such a number cannot be combined with any other date item, as it specifies a complete time stamp. -@cindex beginning of time, for @acronym{POSIX} -@cindex epoch, for @acronym{POSIX} +@cindex beginning of time, for POSIX +@cindex epoch, for POSIX Internally, computer times are represented as a count of seconds since -an epoch---a well-defined point of time. On @acronym{GNU} and -@acronym{POSIX} systems, the epoch is 1970-01-01 00:00:00 @sc{utc}, so +an epoch---a well-defined point of time. On GNU and +POSIX systems, the epoch is 1970-01-01 00:00:00 UTC, so @samp{@@0} represents this time, @samp{@@1} represents 1970-01-01 -00:00:01 @sc{utc}, and so forth. @acronym{GNU} and most other -@acronym{POSIX}-compliant systems support such times as an extension -to @acronym{POSIX}, using negative counts, so that @samp{@@-1} -represents 1969-12-31 23:59:59 @sc{utc}. +00:00:01 UTC, and so forth. GNU and most other +POSIX-compliant systems support such times as an extension +to POSIX, using negative counts, so that @samp{@@-1} +represents 1969-12-31 23:59:59 UTC. Traditional Unix systems count seconds with 32-bit two's-complement integers and can represent times from 1901-12-13 20:45:52 through -2038-01-19 03:14:07 @sc{utc}. More modern systems use 64-bit counts +2038-01-19 03:14:07 UTC@. More modern systems use 64-bit counts of seconds with nanosecond subcounts, and can represent all the times in the known lifetime of the universe to a resolution of 1 nanosecond. +@cindex leap seconds On most hosts, these counts ignore the presence of leap seconds. For example, on most hosts @samp{@@915148799} represents 1998-12-31 -23:59:59 @sc{utc}, @samp{@@915148800} represents 1999-01-01 00:00:00 -@sc{utc}, and there is no way to represent the intervening leap second -1998-12-31 23:59:60 @sc{utc}. +23:59:59 UTC, @samp{@@915148800} represents 1999-01-01 00:00:00 +UTC, and there is no way to represent the intervening leap second +1998-12-31 23:59:60 UTC. @node Specifying time zone rules @section Specifying time zone rules @@ -491,7 +522,7 @@ two quote characters (@samp{"}) must be present in the date, and any quotes or backslashes within @var{rule} must be escaped by a backslash. -For example, with the @acronym{GNU} @command{date} command you can +For example, with the GNU @command{date} command you can answer the question ``What time is it in New York when a Paris clock shows 6:30am on October 31, 2004?'' by using a date beginning with @samp{TZ="Europe/Paris"} as shown in the following shell transcript: @@ -515,16 +546,16 @@ A @env{TZ} value is a rule that typically names a location in the @uref{http://www.twinsun.com/tz/tz-link.htm, @samp{tz} database}. A recent catalog of location names appears in the @uref{http://twiki.org/cgi-bin/xtra/tzdate, TWiki Date and Time -Gateway}. A few non-@acronym{GNU} hosts require a colon before a +Gateway}. A few non-GNU hosts require a colon before a location name in a @env{TZ} setting, e.g., @samp{TZ=":America/New_York"}. The @samp{tz} database includes a wide variety of locations ranging from @samp{Arctic/Longyearbyen} to @samp{Antarctica/South_Pole}, but if you are at sea and have your own private time zone, or if you are -using a non-@acronym{GNU} host that does not support the @samp{tz} -database, you may need to use a @acronym{POSIX} rule instead. Simple -@acronym{POSIX} rules like @samp{UTC0} specify a time zone without +using a non-GNU host that does not support the @samp{tz} +database, you may need to use a POSIX rule instead. Simple +POSIX rules like @samp{UTC0} specify a time zone without daylight saving time; other rules can specify simple daylight saving regimes. @xref{TZ Variable,, Specifying the Time Zone with @code{TZ}, libc, The GNU C Library}. @@ -548,7 +579,7 @@ implemented by Steven M. Bellovin at Chapel Hill. The code was later tweaked by a couple of people on Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com}) and Jim Berets (@email{jberets@@bbn.com}) in August, 1990. Various -revisions for the @sc{gnu} system were made by David MacKenzie, Jim Meyering, +revisions for the GNU system were made by David MacKenzie, Jim Meyering, Paul Eggert and others, including renaming it to @code{get_date} to avoid a conflict with the alternative Posix function @code{getdate}, and a later rename to @code{parse_datetime}. The Posix function @@ -560,4 +591,4 @@ file, and lacks the thread-safety of @code{parse_datetime}. @cindex Berry, K. This chapter was originally produced by Fran@,{c}ois Pinard (@email{pinard@@iro.umontreal.ca}) from the @file{parse_datetime.y} source code, -and then edited by K.@: Berry (@email{kb@@cs.umb.edu}). +and then edited by K. Berry (@email{kb@@cs.umb.edu}). diff --git a/doc/rendition.texi b/doc/rendition.texi index 558772aa..493b325c 100644 --- a/doc/rendition.texi +++ b/doc/rendition.texi @@ -1,6 +1,6 @@ @c This is part of GNU tar manual. -@c Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, -@c 2003, 2004, 2006 Free Software Foundation, Inc. +@c Copyright 1992, 1994-1997, 1999-2004, 2006, 2013 Free Software +@c Foundation, Inc. @c See file tar.texi for copying conditions. @c This file contains support for 'renditions' by Fran@,{c}ois Pinard diff --git a/doc/snapshot.texi b/doc/snapshot.texi index 5607a08e..ed394a47 100644 --- a/doc/snapshot.texi +++ b/doc/snapshot.texi @@ -11,11 +11,11 @@ used to determine which files were modified since the last backup. @GNUTAR{} version @value{VERSION} supports three snapshot file formats. The first format, called @dfn{format 0}, is the one used by -@GNUTAR{} versions up to 1.15.1. The second format, called @dfn{format -1} is an extended version of this format, that contains more metadata -and allows for further extensions. It was used by version -1.15.1. Starting from version 1.16 and up to @value{VERSION}, the -@dfn{format 2} is used. +@GNUTAR{} versions up to and including 1.15.1. The second format, called +@dfn{format 1} is an extended version of this format, that contains more +metadata and allows for further extensions. It was used by alpha release +version 1.15.90. For alpha version 1.15.91 and stable releases +version 1.16 up through @value{VERSION}, the @dfn{format 2} is used. @GNUTAR{} is able to read all three formats, but will create snapshots only in format 2. @@ -33,7 +33,7 @@ metadata descriptions, one per line. Each description has the following format: @smallexample -@var{nfs}@var{dev} @var{inode} @var{name} +[@var{nfs}]@var{dev} @var{inode} @var{name} @end smallexample @noindent @@ -42,7 +42,10 @@ where: @table @var @item nfs A single plus character (@samp{+}), if this directory is located on -an @acronym{NFS}-mounted partition, or a single space otherwise; +an @acronym{NFS}-mounted partition, otherwise empty. + +(That is, for non-NFS directories, the first character on the +description line contains the start of the @var{dev} field.) @item dev Device number of the directory; @@ -91,7 +94,6 @@ as with @samp{format 0}. @cindex format 2, snapshot file @cindex snapshot file, format 2 -@FIXME{} @item @samp{Format 2} snapshot file begins with a format identifier, as described for version 1, e.g.: @@ -105,7 +107,7 @@ records, separated by null (@acronym{ASCII} 0) characters. Thus, in contrast to the previous formats, format 2 snapshot is a binary file. - First two records are decimal numbers, representing the + First two records are decimal integers, representing the time of the last backup. First number is the number of seconds, the second one is the number of nanoseconds, since the beginning of the epoch. These are followed by arbitrary number of directory records. @@ -113,17 +115,18 @@ epoch. These are followed by arbitrary number of directory records. Each @dfn{directory record} contains a set of metadata describing a particular directory. Parts of a directory record are delimited with @acronym{ASCII} 0 characters. The following table describes each -part. The @dfn{Number} type in this table stands for a decimal number -in @acronym{ASCII} notation. +part. The @dfn{Number} type in this table stands for a decimal integer +in @acronym{ASCII} notation. (Negative values are preceeded with a "-" +character, while positive values have no leading punctuation.) -@multitable @columnfractions 0.2 0.2 0.6 +@multitable @columnfractions 0.25 0.15 0.6 @headitem Field @tab Type @tab Description @item nfs @tab Character @tab @samp{1} if the directory is located on an @acronym{NFS}-mounted partition, or @samp{0} otherwise; -@item mtime-sec @tab Number @tab Modification time, seconds; -@item mtime-nano @tab Number @tab Modification time, nanoseconds; -@item dev-no @tab Number @tab Device number; -@item i-no @tab Number @tab I-node number; +@item timestamp_sec @tab Number @tab Modification time, seconds; +@item timestamp_nsec @tab Number @tab Modification time, nanoseconds; +@item dev @tab Number @tab Device number; +@item ino @tab Number @tab I-node number; @item name @tab String @tab Directory name; in contrast to the previous versions it is not quoted; @item contents @tab Dumpdir @tab Contents of the directory; @@ -134,6 +137,28 @@ previous versions it is not quoted; Dumpdirs stored in snapshot files contain only records of types @samp{Y}, @samp{N} and @samp{D}. +@cindex snapshot file field ranges +@opindex show-snapshot-field-ranges +The specific range of values allowed in each of the @dfn{Number} fields +depends on the underlying C datatypes as determined when @command{tar} +is compiled. To see the specific ranges allowed for a particular +@command{tar} binary, you can use the +@option{--show-snapshot-field-ranges} option: + +@smallexample +$ @kbd{tar --show-shapshot-field-ranges} +This tar's snapshot file field ranges are + (field name => [ min, max ]): + + nfs => [ 0, 1 ], + timestamp_sec => [ -9223372036854775808, 9223372036854775807 ], + timestamp_nsec => [ 0, 999999999 ], + dev => [ 0, 18446744073709551615 ], + ino => [ 0, 18446744073709551615 ], +@end smallexample + +(This example is from a GNU/Linux x86_64 system.) + @end enumerate @c End of snapshot.texi diff --git a/doc/stamp-vti b/doc/stamp-vti index 019935b1..905e035a 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 12 March 2011 -@set UPDATED-MONTH March 2011 -@set EDITION 1.26 -@set VERSION 1.26 +@set UPDATED 24 September 2013 +@set UPDATED-MONTH September 2013 +@set EDITION 1.27 +@set VERSION 1.27 diff --git a/doc/tar-snapshot-edit.texi b/doc/tar-snapshot-edit.texi index ed9640c5..697a409d 100644 --- a/doc/tar-snapshot-edit.texi +++ b/doc/tar-snapshot-edit.texi @@ -6,24 +6,28 @@ @cindex Device numbers, changing @cindex snapshot files, editing @cindex snapshot files, fixing device numbers - Sometimes device numbers can change after upgrading your kernel -version or reconfiguring the hardware. Reportedly this is the case with -some newer @i{Linux} kernels, when using @acronym{LVM}. In majority of + Various situations can cause device numbers to change: upgrading your +kernel version, reconfiguring your hardware, loading kernel modules in a +different order, using virtual volumes that are assembled dynamically +(such as with @acronym{LVM} or @acronym{RAID}), hot-plugging drives +(e.g. external USB or Firewire drives), etc. In the majority of cases this change is unnoticed by the users. However, it influences @command{tar} incremental backups: the device number is stored in tar snapshot files (@pxref{Snapshot Files}) and is used to determine whether the file has changed since the last backup. If the device numbers -change for some reason, the next backup you run will be a full backup. +change for some reason, by default the next backup you run will be a +full backup. + @pindex tar-snapshot-edit To minimize the impact in these cases, GNU @command{tar} comes with the @command{tar-snapshot-edit} utility for inspecting and updating -device numbers in snapshot files. The utility, written by -Dustin J.@: Mitchell, is available from +device numbers in snapshot files. (The utility, written by +Dustin J.@: Mitchell, is also available from the @uref{http://www.gnu.org/@/software/@/tar/@/utils/@/tar-snapshot-edit.html, -@GNUTAR{} home page}. +@GNUTAR{} home page}.) - To obtain the device numbers used in the snapshot file, run + To obtain a summary of the device numbers found in the snapshot file, run @smallexample $ @kbd{tar-snapshot-edit @var{snapfile}} @@ -31,10 +35,19 @@ $ @kbd{tar-snapshot-edit @var{snapfile}} @noindent where @var{snapfile} is the name of the snapshot file (you can supply as many -files as you wish in a single command line). +files as you wish in a single command line). You can then compare the +numbers across snapshot files, or against those currently in use on the +live filesystem (using @command{ls -l} or @command{stat}). + + Assuming the device numbers have indeed changed, it's often possible +to simply tell @GNUTAR{} to ignore the device number when processing the +incremental snapshot files for these backups, using the +@option{--no-check-device} option (@pxref{device numbers}). -To update all occurrences of the given device number in the file, use -@option{-r} option. It takes a single argument of the form + Alternatively, you can use the @command{tar-edit-snapshot} script's +@option{-r} option to update all occurrences of the given device +number in the snapshot file(s). It takes a single argument +of the form @samp{@var{olddev}-@var{newdev}}, where @var{olddev} is the device number used in the snapshot file, and @var{newdev} is the corresponding new device number. Both numbers may be specified in hex (e.g., @samp{0xfe01}), @@ -49,9 +62,30 @@ backup file is obtained by appending @samp{~} to the original file name. An example session: @smallexample -$ @kbd{tar-snapshot-edit /var/backup/snap.a} -file version 2 -/tmp/snap: Device 0x0306 occurs 634 times. -$ @kbd{tar-snapshot-edit -b -r 0x0306-0x4500 /var/backup/snap.a} -file version 2 +$ @kbd{tar-snapshot-edit root_snap.0 boot_snap.0} +File: root_snap.0 + Detected snapshot file version: 2 + + Device 0x0000 occurs 1 times. + Device 0x0003 occurs 1 times. + Device 0x0005 occurs 1 times. + Device 0x0013 occurs 1 times. + Device 0x6801 occurs 1 times. + Device 0x6803 occurs 6626 times. + Device 0xfb00 occurs 1 times. + +File: boot_snap.0 + Detected snapshot file version: 2 + + Device 0x6801 occurs 3 times. +$ @kbd{tar-snapshot-edit -b -r 0x6801-0x6901,0x6803-0x6903 root_snap.0 boot_snap.0} +File: root_snap.0 + Detected snapshot file version: 2 + + Updated 6627 records. + +File: boot_snap.0 + Detected snapshot file version: 2 + + Updated 3 records. @end smallexample diff --git a/doc/tar.info b/doc/tar.info index b07ee4ec..06ccdaab 100644 --- a/doc/tar.info +++ b/doc/tar.info @@ -1,22 +1,22 @@ This is tar.info, produced by makeinfo version 4.13 from tar.texi. -This manual is for GNU `tar' (version 1.26, 12 March 2011), which +This manual is for GNU `tar' (version 1.27, 24 September 2013), which creates and extracts files from archives. - Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover Texts - being "A GNU Manual", and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - "GNU Free Documentation License". + Foundation; with the Invariant Sections being "GNU General Public + License", with the Front-Cover Texts being "A GNU Manual", and + with the Back-Cover Texts as in (a) below. A copy of the license + is included in the section entitled "GNU Free Documentation + License". (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual. Buying copies from the FSF supports - it in developing GNU and promoting software freedom." + and modify this GNU manual." INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY @@ -30,402 +30,411 @@ END-INFO-DIR-ENTRY  Indirect: -tar.info-1: 1253 -tar.info-2: 301909 +tar.info-1: 1146 +tar.info-2: 298426 +tar.info-3: 562228  Tag Table: (Indirect) -Node: Top1253 -Node: Introduction10667 -Node: Book Contents11454 -Node: Definitions13626 -Node: What tar Does15429 -Node: Naming tar Archives18195 -Node: Authors18915 -Node: Reports20728 -Node: Tutorial21085 -Node: assumptions21898 -Node: stylistic conventions24373 -Node: basic tar options24816 -Node: frequent operations28454 -Node: Two Frequent Options29106 -Node: file tutorial29737 -Node: verbose tutorial31094 -Ref: verbose member listing33308 -Node: help tutorial36068 -Node: create36422 -Node: prepare for examples37923 -Node: Creating the archive39692 -Node: create verbose42524 -Node: short create43344 -Node: create dir46097 -Node: list48805 -Ref: listing member and file names50084 -Node: list dir52398 -Node: extract53410 -Node: extracting archives54524 -Node: extracting files55029 -Ref: extracting files-Footnote-157676 -Node: extract dir58056 -Node: extracting untrusted archives60449 -Node: failing commands61328 -Node: going further62422 -Node: tar invocation62635 -Node: Synopsis64097 -Node: using tar options69052 -Ref: TAR_OPTIONS70629 -Node: Styles71646 -Ref: Styles-Footnote-173145 -Node: Long Options73401 -Node: Short Options75573 -Ref: Short Options-Footnote-177381 -Node: Old Options77598 -Ref: Old Options-Footnote-180485 -Node: Mixing80655 -Ref: Mixing-Footnote-183021 -Node: All Options83141 -Node: Operation Summary83746 -Ref: --append83866 -Ref: --catenate83946 -Ref: --compare84017 -Ref: --concatenate84220 -Ref: --create84330 -Ref: --delete84398 -Ref: --diff84512 -Ref: --extract84568 -Ref: --get84670 -Ref: --list84728 -Ref: --update84796 -Node: Option Summary85006 -Ref: --absolute-names85161 -Ref: --after-date85339 -Ref: --anchored85391 -Ref: --atime-preserve85524 -Ref: --auto-compress88044 -Ref: --backup88271 -Ref: --block-number88462 -Ref: --blocking-factor88636 -Ref: --bzip288788 -Ref: --check-device88895 -Ref: --checkpoint89090 -Ref: --checkpoint-action89532 -Ref: --check-links90683 -Ref: --compress90960 -Ref: --uncompress90960 -Ref: --confirmation91164 -Ref: --delay-directory-restore91232 -Ref: --dereference91433 -Ref: --directory91627 -Ref: --exclude91880 -Ref: --exclude-backups91999 -Ref: --exclude-from92089 -Ref: --exclude-caches92235 -Ref: --exclude-caches-under92443 -Ref: --exclude-caches-all92621 -Ref: --exclude-tag92750 -Ref: --exclude-tag-under92921 -Ref: --exclude-tag-all93111 -Ref: --exclude-vcs93240 -Ref: --file93406 -Ref: --files-from93606 -Ref: --force-local93809 -Ref: --format94000 -Ref: --full-time94670 -Ref: --group95350 -Ref: --gzip95698 -Ref: --gunzip95698 -Ref: --ungzip95698 -Ref: --hard-dereference95921 -Ref: --help96108 -Ref: --ignore-case96242 -Ref: --ignore-command-error96369 -Ref: --ignore-failed-read96480 -Ref: --ignore-zeros96610 -Ref: --incremental96755 -Ref: --index-file97020 -Ref: --info-script97105 -Ref: --new-volume-script97105 -Ref: --interactive97426 -Ref: --keep-newer-files97638 -Ref: --keep-old-files97780 -Ref: --label97911 -Ref: --level98199 -Ref: --listed-incremental98640 -Ref: --lzip99004 -Ref: --lzma99104 -Ref: --mode99304 -Ref: --mtime99595 -Ref: --multi-volume100036 -Ref: --newer100240 -Ref: --newer-mtime100518 -Ref: --no-anchored100742 -Ref: --no-auto-compress100879 -Ref: --no-check-device101030 -Ref: --no-delay-directory-restore101213 -Ref: --no-ignore-case101466 -Ref: --no-ignore-command-error101559 -Ref: --no-null101714 -Ref: --no-overwrite-dir101919 -Ref: --no-quote-chars102062 -Ref: --no-recursion102243 -Ref: --no-same-owner102348 -Ref: --no-same-permissions102531 -Ref: --no-seek102733 -Ref: --no-unquote102951 -Ref: --no-wildcards103089 -Ref: --no-wildcards-match-slash103173 -Ref: --null103275 -Ref: --numeric-owner103503 -Ref: --occurrence104154 -Ref: --old-archive104721 -Ref: --one-file-system104770 -Ref: --overwrite104948 -Ref: --overwrite-dir105090 -Ref: --owner105235 -Ref: --pax-option105614 -Ref: --portability105921 -Ref: --posix105986 -Ref: --preserve106028 -Ref: --preserve-order106166 -Ref: --preserve-permissions106230 -Ref: --same-permissions106230 -Ref: --quote-chars106644 -Ref: --quoting-style106797 -Ref: --read-full-records107118 -Ref: --record-size107283 -Ref: --recursion107627 -Ref: --recursive-unlink107730 -Ref: --remove-files107897 -Ref: --restrict108043 -Ref: --rmt-command108231 -Ref: --rsh-command108372 -Ref: --same-order108494 -Ref: --same-owner108786 -Ref: --seek109163 -Ref: --show-defaults109532 -Ref: --show-omitted-dirs110022 -Ref: --show-transformed-names110176 -Ref: --show-stored-names110176 -Ref: --sparse110565 -Ref: --sparse-version110704 -Ref: --starting-file110928 -Ref: --strip-components111117 -Ref: --suffix111429 -Ref: --tape-length111548 -Ref: --test-label111963 -Ref: --to-command112115 -Ref: --to-stdout112274 -Ref: --totals112427 -Ref: --touch112658 -Ref: --transform112860 -Ref: --xform112860 -Ref: --unlink-first113471 -Ref: --unquote113639 -Ref: --use-compress-program113746 -Ref: --utc113924 -Ref: --verbose114017 -Ref: --verify114269 -Ref: --version114387 -Ref: --volno-file114559 -Ref: --warning114746 -Ref: --wildcards114923 -Ref: --wildcards-match-slash115043 -Ref: --xz115135 -Ref: Option Summary-Footnote-1115266 -Node: Short Option Summary115484 -Node: help117685 -Ref: help-Footnote-1121569 -Node: defaults121780 -Node: verbose122799 -Ref: totals125100 -Ref: Progress information126690 -Ref: show-omitted-dirs127669 -Ref: block-number128088 -Ref: verbose-Footnote-1129115 -Node: checkpoints129222 -Node: warnings134616 -Node: interactive137968 -Node: operations140050 -Node: Basic tar140309 -Ref: Basic tar-Footnote-1143413 -Node: Advanced tar143557 -Node: Operations144402 -Node: append146301 -Ref: append-Footnote-1149396 -Node: appending files149559 -Node: multiple151297 -Node: update154019 -Node: how to update154995 -Node: concatenate156779 -Ref: concatenate-Footnote-1160027 -Node: delete160170 -Node: compare161943 -Node: create options163375 -Node: override163833 -Node: Ignore Failed Read167261 -Node: extract options167481 -Node: Reading168314 -Node: read full records169814 -Node: Ignore Zeros170150 -Node: Writing171141 -Node: Dealing with Old Files171698 -Node: Overwrite Old Files174125 -Node: Keep Old Files175582 -Node: Keep Newer Files176092 -Node: Unlink First176382 -Node: Recursive Unlink176786 -Node: Data Modification Times177339 -Node: Setting Access Permissions178149 -Node: Directory Modification Times and Permissions178781 -Node: Writing to Standard Output182393 -Node: Writing to an External Program183928 -Node: remove files187067 -Node: Scarce187260 -Node: Starting File187508 -Node: Same Order188309 -Node: backup189145 -Node: Applications192231 -Node: looking ahead193692 -Node: Backups194518 -Node: Full Dumps196099 -Node: Incremental Dumps197905 -Ref: --level=0200819 -Ref: device numbers201352 -Ref: incremental-op205330 -Ref: Incremental Dumps-Footnote-1205704 -Ref: Incremental Dumps-Footnote-2205854 -Node: Backup Levels206342 -Node: Backup Parameters208729 -Node: General-Purpose Variables209910 -Ref: RSH213071 -Node: Magnetic Tape Control214950 -Node: User Hooks216288 -Node: backup-specs example217617 -Node: Scripted Backups218760 -Ref: Scripted Backups-Footnote-1221623 -Node: Scripted Restoration222007 -Node: Choosing224618 -Node: file225740 -Ref: remote-dev228376 -Ref: local and remote archives228761 -Node: Selecting Archive Members229792 -Ref: input name quoting230473 -Node: files232459 -Ref: files-Footnote-1235732 -Node: nul235890 -Node: exclude238289 -Node: problems with exclude243463 -Node: wildcards245508 -Node: controlling pattern-matching248092 -Ref: controlling pattern-matching-Footnote-1252082 -Node: quoting styles252298 -Ref: escape sequences252644 -Node: transform258779 -Ref: show-transformed-names260770 -Node: after266961 -Node: recurse270563 -Node: one273287 -Node: directory274720 -Node: absolute277782 -Ref: absolute-Footnote-1280953 -Node: Date input formats281304 -Node: General date syntax283626 -Node: Calendar date items286577 -Node: Time of day items288574 -Node: Time zone items290770 -Node: Day of week items292004 -Node: Relative items in date strings292993 -Node: Pure numbers in date strings295795 -Node: Seconds since the Epoch296776 -Node: Specifying time zone rules298397 -Node: Authors of parse_datetime300767 -Ref: Authors of get_date300946 -Node: Formats301909 -Node: Compression306597 -Node: gzip306889 -Ref: alternative decompression programs309098 -Ref: auto-compress312929 -Ref: gzip-Footnote-1315169 -Ref: gzip-Footnote-2315218 -Node: lbzip2315358 -Node: sparse316455 -Node: Attributes319509 -Node: Portability325330 -Node: Portable Names326816 -Node: dereference327521 -Node: hard links328648 -Ref: hard links-Footnote-1331533 -Node: old331589 -Node: ustar332773 -Node: gnu333364 -Node: posix334241 -Node: PAX keywords334722 -Node: Checksumming340332 -Node: Large or Negative Values342258 -Node: Other Tars343858 -Node: Split Recovery344994 -Node: Sparse Recovery348726 -Ref: extracting sparse v.0.x352359 -Ref: Sparse Recovery-Footnote-1355648 -Ref: Sparse Recovery-Footnote-2355671 -Node: cpio355792 -Node: Media360549 -Node: Device362496 -Ref: size-suffixes367285 -Node: Remote Tape Server368395 -Node: Common Problems and Solutions372118 -Node: Blocking372510 -Node: Format Variations378954 -Node: Blocking Factor379866 -Node: Many391518 -Node: Tape Positioning395312 -Node: mt397185 -Node: Using Multiple Tapes398740 -Node: Multi-Volume Archives400806 -Ref: tape-length402291 -Ref: change volume prompt402851 -Ref: volno-file403722 -Ref: info-script404274 -Ref: Multi-Volume Archives-Footnote-1409461 -Ref: Multi-Volume Archives-Footnote-2409571 -Node: Tape Files409639 -Node: Tarcat411121 -Node: label412166 -Ref: --test-label option413753 -Ref: label-Footnote-1417198 -Ref: label-Footnote-2417307 -Ref: label-Footnote-3417440 -Node: verify417675 -Node: Write Protection420975 -Node: Reliability and security421805 -Node: Reliability422193 -Node: Permissions problems422971 -Node: Data corruption and repair423410 -Node: Race conditions424336 -Node: Security426076 -Node: Privacy426679 -Node: Integrity427928 -Node: Live untrusted data429969 -Node: Security rules of thumb432309 -Node: Changes433838 -Node: Configuring Help Summary437453 -Node: Fixing Snapshot Files443954 -Node: Tar Internals446140 -Node: Standard446472 -Node: Extensions468673 -Node: Sparse Formats471233 -Node: Old GNU Format472523 -Node: PAX 0474924 -Node: PAX 1478055 -Node: Snapshot Files479793 -Node: Dumpdir484254 -Node: Genfile487500 -Node: Generate Mode488593 -Node: Status Mode492890 -Node: Exec Mode494689 -Node: Free Software Needs Free Documentation497434 -Node: GNU Free Documentation License502416 -Node: Index of Command Line Options527629 -Node: Index553128 +Node: Top1146 +Node: Introduction10453 +Node: Book Contents11240 +Node: Definitions13412 +Node: What tar Does15215 +Node: Naming tar Archives17981 +Node: Authors18701 +Node: Reports20514 +Node: Tutorial20871 +Node: assumptions21684 +Node: stylistic conventions24159 +Node: basic tar options24602 +Node: frequent operations28240 +Node: Two Frequent Options28892 +Node: file tutorial29523 +Node: verbose tutorial30880 +Ref: verbose member listing33094 +Node: help tutorial35854 +Node: create36208 +Node: prepare for examples37709 +Node: Creating the archive39478 +Node: create verbose42310 +Node: short create43130 +Node: create dir45883 +Node: list48591 +Ref: listing member and file names49870 +Node: list dir52184 +Node: extract53196 +Node: extracting archives54310 +Node: extracting files54815 +Ref: extracting files-Footnote-157462 +Node: extract dir57842 +Node: extracting untrusted archives60235 +Node: failing commands61114 +Node: going further62208 +Node: tar invocation62421 +Node: Synopsis64201 +Ref: exit status67522 +Node: using tar options69156 +Ref: TAR_OPTIONS70733 +Node: Styles71750 +Ref: Styles-Footnote-173249 +Node: Long Options73505 +Node: Short Options75677 +Ref: Short Options-Footnote-177485 +Node: Old Options77702 +Node: Mixing80465 +Ref: Mixing-Footnote-182831 +Node: All Options82951 +Node: Operation Summary83556 +Ref: --append83676 +Ref: --catenate83756 +Ref: --compare83827 +Ref: --concatenate84030 +Ref: --create84140 +Ref: --delete84208 +Ref: --diff84322 +Ref: --extract84378 +Ref: --get84480 +Ref: --list84538 +Ref: --update84606 +Node: Option Summary84816 +Ref: --absolute-names84971 +Ref: --after-date85261 +Ref: --anchored85313 +Ref: --atime-preserve85446 +Ref: --auto-compress87966 +Ref: --backup88193 +Ref: --block-number88384 +Ref: --blocking-factor88558 +Ref: --bzip288710 +Ref: --check-device88817 +Ref: --checkpoint89012 +Ref: --checkpoint-action89454 +Ref: --check-links90605 +Ref: --compress90882 +Ref: --uncompress90882 +Ref: --confirmation91086 +Ref: --delay-directory-restore91154 +Ref: --dereference91355 +Ref: --directory91549 +Ref: --exclude91802 +Ref: --exclude-backups91921 +Ref: --exclude-from92011 +Ref: --exclude-caches92157 +Ref: --exclude-caches-under92365 +Ref: --exclude-caches-all92543 +Ref: --exclude-tag92672 +Ref: --exclude-tag-under92843 +Ref: --exclude-tag-all93033 +Ref: --exclude-vcs93162 +Ref: --file93328 +Ref: --files-from93528 +Ref: --force-local93731 +Ref: --format93922 +Ref: --full-time94592 +Ref: --group95272 +Ref: --gzip95568 +Ref: --gunzip95568 +Ref: --ungzip95568 +Ref: --hard-dereference95791 +Ref: --help95978 +Ref: --ignore-case96112 +Ref: --ignore-command-error96239 +Ref: --ignore-failed-read96350 +Ref: --ignore-zeros96491 +Ref: --incremental96636 +Ref: --index-file96901 +Ref: --info-script96986 +Ref: --new-volume-script96986 +Ref: --interactive97283 +Ref: ----keep-directory-symlink97495 +Ref: --keep-newer-files98043 +Ref: --keep-old-files98185 +Ref: --label98397 +Ref: --level98685 +Ref: --listed-incremental99126 +Ref: --lzip99490 +Ref: --lzma99590 +Ref: --mode99790 +Ref: --mtime100081 +Ref: --multi-volume100522 +Ref: --newer100726 +Ref: --newer-mtime101004 +Ref: --no-anchored101228 +Ref: --no-auto-compress101365 +Ref: --no-check-device101516 +Ref: --no-delay-directory-restore101699 +Ref: --no-ignore-case101952 +Ref: --no-ignore-command-error102045 +Ref: --no-null102200 +Ref: --no-overwrite-dir102405 +Ref: --no-quote-chars102548 +Ref: --no-recursion102729 +Ref: --no-same-owner102834 +Ref: --no-same-permissions103017 +Ref: --no-seek103219 +Ref: --no-unquote103437 +Ref: --no-wildcards103575 +Ref: --no-wildcards-match-slash103659 +Ref: --null103761 +Ref: --numeric-owner103989 +Ref: --occurrence104640 +Ref: --old-archive105207 +Ref: --one-file-system105256 +Ref: --overwrite105434 +Ref: --overwrite-dir105576 +Ref: --owner105721 +Ref: --pax-option106046 +Ref: --portability106353 +Ref: --posix106418 +Ref: --preserve106460 +Ref: --preserve-order106598 +Ref: --preserve-permissions106662 +Ref: --same-permissions106662 +Ref: --quote-chars107076 +Ref: --quoting-style107229 +Ref: --read-full-records107550 +Ref: --record-size107715 +Ref: --recursion108059 +Ref: --recursive-unlink108162 +Ref: --remove-files108329 +Ref: --restrict108475 +Ref: --rmt-command108663 +Ref: --rsh-command108804 +Ref: --same-order108926 +Ref: --same-owner109218 +Ref: --seek109595 +Ref: --show-defaults109964 +Ref: --show-omitted-dirs110472 +Ref: --show-snapshot-field-ranges110626 +Ref: --show-transformed-names110822 +Ref: --show-stored-names110822 +Ref: --skip-old-files111211 +Ref: --sparse111661 +Ref: --sparse-version111800 +Ref: --starting-file112024 +Ref: --strip-components112213 +Ref: --suffix112525 +Ref: --tape-length112644 +Ref: --test-label113059 +Ref: --to-command113211 +Ref: --to-stdout113370 +Ref: --totals113523 +Ref: --touch113754 +Ref: --transform113956 +Ref: --xform113956 +Ref: --unlink-first114567 +Ref: --unquote114735 +Ref: --use-compress-program114842 +Ref: --utc115020 +Ref: --verbose115113 +Ref: --verify115365 +Ref: --version115483 +Ref: --volno-file115655 +Ref: --warning115842 +Ref: --wildcards116019 +Ref: --wildcards-match-slash116139 +Ref: --xz116231 +Ref: Option Summary-Footnote-1116362 +Node: Short Option Summary116580 +Node: help118781 +Ref: help-Footnote-1122610 +Node: defaults122821 +Node: verbose123840 +Ref: totals126141 +Ref: Progress information127731 +Ref: show-omitted-dirs128710 +Ref: block-number129129 +Ref: verbose-Footnote-1130156 +Node: checkpoints130263 +Ref: checkpoint exec134138 +Node: warnings136164 +Node: interactive139563 +Node: external141662 +Node: operations143243 +Node: Basic tar143502 +Ref: Basic tar-Footnote-1146609 +Node: Advanced tar146753 +Node: Operations147598 +Node: append149497 +Ref: append-Footnote-1152592 +Node: appending files152779 +Node: multiple154517 +Node: update157239 +Node: how to update158215 +Node: concatenate159999 +Ref: concatenate-Footnote-1163247 +Node: delete163390 +Node: compare165163 +Node: create options166595 +Node: override167053 +Node: Ignore Failed Read171190 +Node: extract options171410 +Node: Reading172243 +Node: read full records173743 +Node: Ignore Zeros174079 +Node: Writing175070 +Node: Dealing with Old Files175627 +Node: Overwrite Old Files178430 +Node: Keep Old Files179887 +Node: Keep Newer Files180694 +Node: Unlink First180984 +Node: Recursive Unlink181388 +Node: Data Modification Times181941 +Node: Setting Access Permissions182751 +Node: Directory Modification Times and Permissions183383 +Node: Writing to Standard Output186995 +Node: Writing to an External Program188530 +Node: remove files192111 +Node: Scarce192304 +Node: Starting File192552 +Node: Same Order193353 +Node: backup194189 +Node: Applications197275 +Node: looking ahead198736 +Node: Backups199562 +Node: Full Dumps201143 +Node: Incremental Dumps202949 +Ref: --level=0205863 +Ref: device numbers206396 +Ref: incremental-op210374 +Ref: Incremental Dumps-Footnote-1210748 +Ref: Incremental Dumps-Footnote-2210898 +Node: Backup Levels211386 +Node: Backup Parameters213773 +Node: General-Purpose Variables214954 +Ref: RSH218115 +Node: Magnetic Tape Control219994 +Node: User Hooks221332 +Node: backup-specs example222661 +Node: Scripted Backups223804 +Ref: Scripted Backups-Footnote-1226667 +Node: Scripted Restoration227051 +Node: Choosing229662 +Node: file230784 +Ref: remote-dev233420 +Ref: local and remote archives233805 +Node: Selecting Archive Members234836 +Ref: input name quoting235517 +Node: files237503 +Ref: files-Footnote-1239999 +Node: nul240157 +Node: exclude242571 +Node: problems with exclude247745 +Node: wildcards249790 +Node: controlling pattern-matching252374 +Ref: controlling pattern-matching-Footnote-1256364 +Node: quoting styles256580 +Ref: escape sequences256926 +Node: transform263057 +Ref: show-transformed-names265048 +Node: after271239 +Node: recurse274841 +Node: one277565 +Node: directory278998 +Node: absolute282060 +Ref: absolute-Footnote-1285388 +Node: Date input formats285739 +Node: General date syntax288137 +Node: Calendar date items291120 +Node: Time of day items293117 +Node: Time zone items295313 +Node: Combined date and time of day items296565 +Node: Day of week items297417 +Node: Relative items in date strings298426 +Node: Pure numbers in date strings301228 +Node: Seconds since the Epoch302209 +Node: Specifying time zone rules303830 +Node: Authors of parse_datetime306202 +Ref: Authors of get_date306381 +Node: Formats307344 +Node: Compression312032 +Node: gzip312324 +Ref: alternative decompression programs314533 +Ref: auto-compress318303 +Ref: use-compress-program319034 +Ref: gzip-Footnote-1320957 +Ref: gzip-Footnote-2321006 +Node: lbzip2321146 +Node: sparse322243 +Node: Attributes325297 +Node: Portability331118 +Node: Portable Names332604 +Node: dereference333309 +Node: hard links334436 +Ref: hard links-Footnote-1337321 +Node: old337377 +Node: ustar338561 +Node: gnu339152 +Node: posix340029 +Node: PAX keywords340510 +Node: Checksumming346120 +Node: Large or Negative Values348046 +Node: Other Tars349646 +Node: Split Recovery350782 +Node: Sparse Recovery354514 +Ref: extracting sparse v.0.x358147 +Ref: Sparse Recovery-Footnote-1361436 +Ref: Sparse Recovery-Footnote-2361459 +Node: cpio361580 +Node: Media366337 +Node: Device368284 +Ref: size-suffixes373073 +Node: Remote Tape Server374193 +Node: Common Problems and Solutions377855 +Node: Blocking378247 +Ref: Blocking-Footnote-1384730 +Node: Format Variations384834 +Node: Blocking Factor385746 +Node: Many397398 +Node: Tape Positioning401192 +Node: mt403065 +Node: Using Multiple Tapes404620 +Node: Multi-Volume Archives406686 +Ref: tape-length408171 +Ref: change volume prompt408731 +Ref: volno-file409602 +Ref: info-script410154 +Ref: Multi-Volume Archives-Footnote-1415738 +Ref: Multi-Volume Archives-Footnote-2415848 +Node: Tape Files415916 +Node: Tarcat417398 +Node: label418443 +Ref: --test-label option420030 +Ref: label-Footnote-1423480 +Ref: label-Footnote-2423589 +Ref: label-Footnote-3423722 +Node: verify423957 +Node: Write Protection427257 +Node: Reliability and security428087 +Node: Reliability428475 +Node: Permissions problems429253 +Node: Data corruption and repair429692 +Node: Race conditions430618 +Node: Security432358 +Node: Privacy432961 +Node: Integrity434210 +Node: Live untrusted data436421 +Node: Security rules of thumb438761 +Node: Changes440290 +Node: Configuring Help Summary443905 +Node: Fixing Snapshot Files450406 +Node: Tar Internals453775 +Node: Standard454107 +Node: Extensions476308 +Node: Sparse Formats478868 +Node: Old GNU Format480158 +Node: PAX 0482559 +Node: PAX 1485690 +Node: Snapshot Files487428 +Node: Dumpdir492998 +Node: Genfile496244 +Node: Generate Mode497337 +Node: Status Mode501634 +Node: Exec Mode503432 +Node: Free Software Needs Free Documentation506177 +Node: GNU Free Documentation License511159 +Node: Index of Command Line Options536372 +Node: Index562228  End Tag Table diff --git a/doc/tar.info-1 b/doc/tar.info-1 index 3935da52..c8541d8b 100644 --- a/doc/tar.info-1 +++ b/doc/tar.info-1 @@ -1,22 +1,22 @@ This is tar.info, produced by makeinfo version 4.13 from tar.texi. -This manual is for GNU `tar' (version 1.26, 12 March 2011), which +This manual is for GNU `tar' (version 1.27, 24 September 2013), which creates and extracts files from archives. - Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover Texts - being "A GNU Manual", and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - "GNU Free Documentation License". + Foundation; with the Invariant Sections being "GNU General Public + License", with the Front-Cover Texts being "A GNU Manual", and + with the Back-Cover Texts as in (a) below. A copy of the license + is included in the section entitled "GNU Free Documentation + License". (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual. Buying copies from the FSF supports - it in developing GNU and promoting software freedom." + and modify this GNU manual." INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY @@ -34,23 +34,23 @@ File: tar.info, Node: Top, Next: Introduction, Up: (dir) GNU tar: an archiver tool ************************* -This manual is for GNU `tar' (version 1.26, 12 March 2011), which +This manual is for GNU `tar' (version 1.27, 24 September 2013), which creates and extracts files from archives. - Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover Texts - being "A GNU Manual", and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - "GNU Free Documentation License". + Foundation; with the Invariant Sections being "GNU General Public + License", with the Front-Cover Texts being "A GNU Manual", and + with the Back-Cover Texts as in (a) below. A copy of the license + is included in the section entitled "GNU Free Documentation + License". (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual. Buying copies from the FSF supports - it in developing GNU and promoting software freedom." + and modify this GNU manual." The first part of this master menu lists the major nodes in this Info document. The rest of the menu lists all the lower level nodes. @@ -567,7 +567,7 @@ in version 1.11. Thomas Bushnell, n/BSG and Amy Gorin worked on a tutorial and manual for GNU `tar'. Franc,ois Pinard put version 1.11.8 of the manual together by taking information from all these sources and merging them. Melissa Weisshaus finally edited and redesigned the book -to create version 1.12. The book for versions from 1.14 up to 1.26 +to create version 1.12. The book for versions from 1.14 up to 1.27 were edited by the current maintainer, Sergey Poznyakoff. For version 1.12, Daniel Hagerty contributed a great deal of @@ -1296,7 +1296,7 @@ names" when creating an archive and "member names" when listing it. Consider this example: $ tar --create --verbose --file archive /etc/mail - tar: Removing leading `/' from member names + tar: Removing leading '/' from member names /etc/mail/ /etc/mail/sendmail.cf /etc/mail/aliases @@ -1629,13 +1629,14 @@ receives about what is going on. These are the `--help' and * Synopsis:: * using tar options:: * Styles:: -* All Options:: -* help:: -* defaults:: -* verbose:: -* checkpoints:: -* warnings:: -* interactive:: +* All Options:: All `tar' Options. +* help:: Where to Get Help. +* defaults:: What are the Default Values. +* verbose:: Checking `tar' progress. +* checkpoints:: Checkpoints. +* warnings:: Controlling Warning Messages. +* interactive:: Asking for Confirmation During Operations. +* external:: Running External Commands.  File: tar.info, Node: Synopsis, Next: using tar options, Up: tar invocation @@ -1929,16 +1930,24 @@ File: tar.info, Node: Old Options, Next: Mixing, Prev: Short Options, Up: St 3.3.3 Old Option Style ---------------------- -Like short options, "old options" are single letters. However, old +As far as we know, all `tar' programs, GNU and non-GNU, support "old +options": that is, if the first argument does not start with `-', it is +assumed to specify option letters. GNU `tar' supports old options not +only for historical reasons, but also because many people are used to +them. If the first argument does not start with a dash, you are +announcing the old option style instead of the short option style; old +options are decoded differently. + + Like short options, old options are single letters. However, old options must be written together as a single clumped set, without -spaces separating them or dashes preceding them(1). This set of -letters must be the first to appear on the command line, after the -`tar' program name and some white space; old options cannot appear -anywhere else. The letter of an old option is exactly the same letter -as the corresponding short option. For example, the old option `t' is -the same as the short option `-t', and consequently, the same as the -long option `--list'. So for example, the command `tar cv' specifies -the option `-v' in addition to the operation `-c'. +spaces separating them or dashes preceding them. This set of letters +must be the first to appear on the command line, after the `tar' +program name and some white space; old options cannot appear anywhere +else. The letter of an old option is exactly the same letter as the +corresponding short option. For example, the old option `t' is the +same as the short option `-t', and consequently, the same as the long +option `--list'. So for example, the command `tar cv' specifies the +option `-v' in addition to the operation `-c'. When options that need arguments are given together with the command, all the associated arguments follow, in the same order as the options. @@ -1950,13 +1959,13 @@ style as follows: Here, `20' is the argument of `-b' and `/dev/rmt0' is the argument of `-f'. - On the other hand, this old style syntax makes it difficult to match -option letters with their corresponding arguments, and is often -confusing. In the command `tar cvbf 20 /dev/rmt0', for example, `20' -is the argument for `-b', `/dev/rmt0' is the argument for `-f', and -`-v' does not have a corresponding argument. Even using short options -like in `tar -c -v -b 20 -f /dev/rmt0' is clearer, putting all -arguments next to the option they pertain to. + The old style syntax can make it difficult to match option letters +with their corresponding arguments, and is often confusing. In the +command `tar cvbf 20 /dev/rmt0', for example, `20' is the argument for +`-b', `/dev/rmt0' is the argument for `-f', and `-v' does not have a +corresponding argument. Even using short options like in +`tar -c -v -b 20 -f /dev/rmt0' is clearer, putting all arguments next +to the option they pertain to. If you want to reorder the letters in the old option argument, be sure to reorder any corresponding argument appropriately. @@ -1972,8 +1981,6 @@ value for option `f' and recognizes the option `z'. The second example, however, uses `z' as the value for option `f' -- probably not what was intended. - Old options are kept for compatibility with old versions of `tar'. - This second example could be corrected in many ways, among which the following are equivalent: @@ -1981,20 +1988,6 @@ following are equivalent: tar -cf archive.tar.gz -z file tar cf archive.tar.gz -z file - As far as we know, all `tar' programs, GNU and non-GNU, support old -options. GNU `tar' supports them not only for historical reasons, but -also because many people are used to them. For compatibility with Unix -`tar', the first argument is always treated as containing command and -option letters even if it doesn't start with `-'. Thus, `tar c' is -equivalent to `tar -c': both of them specify the `--create' (`-c') -command to create an archive. - - ---------- Footnotes ---------- - - (1) Beware that if you precede options with a dash, you are -announcing the short option style instead of the old option style; -short options are decoded differently. -  File: tar.info, Node: Mixing, Prev: Old Options, Up: Styles @@ -2146,8 +2139,9 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--absolute-names' `-P' Normally when creating an archive, `tar' strips an initial `/' - from member names. This option disables that behavior. *Note - absolute::. + from member names, and when extracting from an archive `tar' + treats names specially if they have initial `/' or internal `..'. + This option disables that behavior. *Note absolute::. `--after-date' (See `--newer', *note after::) @@ -2428,9 +2422,9 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--group=GROUP' Files added to the `tar' archive will have a group ID of GROUP, - rather than the group from the source file. GROUP is first decoded - as a group symbolic name, but if this interpretation fails, it has - to be a decimal numeric group ID. *Note override::. + rather than the group from the source file. GROUP can specify a + symbolic name, or a numeric ID, or both as NAME:ID. *Note + override::. Also see the comments for the `--owner=USER' option. @@ -2463,7 +2457,7 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--ignore-failed-read' Do not exit unsuccessfully merely because an unreadable file was - encountered. *Note Reading::. + encountered. *Note Ignore Failed Read::. `--ignore-zeros' `-i' @@ -2480,13 +2474,13 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--index-file=FILE' Send verbose output to FILE instead of to standard output. -`--info-script=SCRIPT-FILE' -`--new-volume-script=SCRIPT-FILE' -`-F SCRIPT-FILE' - When `tar' is performing multi-tape backups, SCRIPT-FILE is run at - the end of each tape. If SCRIPT-FILE exits with nonzero status, - `tar' fails immediately. *Note info-script::, for a detailed - discussion of SCRIPT-FILE. +`--info-script=COMMAND' +`--new-volume-script=COMMAND' +`-F COMMAND' + When `tar' is performing multi-tape backups, COMMAND is run at the + end of each tape. If it exits with nonzero status, `tar' fails + immediately. *Note info-script::, for a detailed discussion of + this feature. `--interactive' `--confirmation' @@ -2495,6 +2489,19 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera performing potentially destructive options, such as overwriting files. *Note interactive::. +`--keep-directory-symlink' + This option changes the behavior of tar when it encounters a + symlink with the same name as the directory that it is about to + extract. By default, in this case tar would first remove the + symlink and then proceed extracting the directory. + + The `--keep-directory-symlink' option disables this behavior and + instructs tar to follow symlinks to directories when extracting + from the archive. + + It is mainly intended to provide compatibility with the Slackware + installation scripts. + `--keep-newer-files' Do not replace existing files that are newer than their archive copies when extracting files from an archive. @@ -2502,7 +2509,10 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--keep-old-files' `-k' Do not overwrite existing files when extracting files from an - archive. *Note Keep Old Files::. + archive. Return error if such files exist. See also *note + --skip-old-files::. + + *Note Keep Old Files::. `--label=NAME' `-V NAME' @@ -2513,7 +2523,7 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--level=N' Force incremental backup of level N. As of GNU `tar' version - 1.26, the option `--level=0' truncates the snapshot file, thereby + 1.27, the option `--level=0' truncates the snapshot file, thereby forcing the level 0 dump. Other values of N are effectively ignored. *Note --level=0::, for details and examples. @@ -2703,9 +2713,8 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera `--owner=USER' Specifies that `tar' should use USER as the owner of members when creating archives, instead of the user associated with the source - file. USER is first decoded as a user symbolic name, but if this - interpretation fails, it has to be a decimal numeric user ID. - *Note override::. + file. USER can specify a symbolic name, or a numeric ID, or both + as NAME:ID. *Note override::. This option does not affect extraction from archives. @@ -2824,12 +2833,17 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera --rmt-command=/usr/libexec/rmt --rsh-command=/usr/bin/rsh Notice, that this option outputs only one line. The example output - above has been split to fit page boundaries. + above has been split to fit page boundaries. *Note defaults::. `--show-omitted-dirs' Instructs `tar' to mention the directories it is skipping when operating on a `tar' archive. *Note show-omitted-dirs::. +`--show-snapshot-field-ranges' + Displays the range of values allowed by this version of `tar' for + each field in the snapshot file, then exits successfully. *Note + Snapshot Files::. + `--show-transformed-names' `--show-stored-names' Display file or member names after applying any transformations @@ -2838,6 +2852,18 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera the member names stored in the archive, as opposed to the actual file names. *Note listing member and file names::. +`--skip-old-files' + Do not overwrite existing files when extracting files from an + archive. *Note Keep Old Files::. + + This option differs from `--keep-old-files' in that it does not + treat such files as an error, instead it just silently avoids + overwriting them. + + The `--warning=existing-file' option can be used together with + this option to produce warning messages about existing old files + (*note warnings::). + `--sparse' `-S' Invokes a GNU extension when adding files to an archive that @@ -3057,9 +3083,8 @@ information about its name, version, origin and legal status, all on standard output, and then exit successfully. For example, `tar --version' might print: - tar (GNU tar) 1.26 - Copyright (C) 2010 Free Software Foundation, Inc. - Copyright (C) 2010 Free Software Foundation, Inc. + tar (GNU tar) 1.27 + Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -3195,7 +3220,7 @@ list output: Verbose output appears on the standard output except when an archive is being written to the standard output, as with `tar --create --file=- ---verbose' (`tar cfv -', or even `tar cv'--if the installer let +--verbose' (`tar cvf -', or even `tar cv'--if the installer let standard output be the default archive). In that case `tar' writes verbose output to the standard error stream. @@ -3389,14 +3414,18 @@ checkpoint: $ tar -c --checkpoint=1000 --checkpoint-action=sleep=30 - Finally, the `exec' action executes a given external program. For + Finally, the `exec' action executes a given external command. For example: $ tar -c --checkpoint=1000 --checkpoint-action=exec=/sbin/cpoint - This program is executed using `/bin/sh -c', with no additional -arguments. Its exit code is ignored. It gets a copy of `tar''s -environment plus the following variables: + The supplied command can be any valid command invocation, with or +without additional command line arguments. If it does contain +arguments, don't forget to quote it to prevent it from being split by +the shell. *Note Running External Commands: external, for more detail. + + The command gets a copy of `tar''s environment plus the following +variables: `TAR_VERSION' GNU `tar' version number. @@ -3418,6 +3447,15 @@ environment plus the following variables: Format of the archive being processed. *Note Formats::, for a complete list of archive format names. + These environment variables can also be passed as arguments to the +command, provided that they are properly escaped, for example: + + tar -c -f arc.tar \ + --checkpoint-action='exec=/sbin/cpoint $TAR_FILENAME' + +Notice single quotes to prevent variable names from being expanded by +the shell when invoking `tar'. + Any number of actions can be defined, by supplying several `--checkpoint-action' options in the command line. For example, the command below displays two messages, pauses execution for 30 seconds @@ -3516,13 +3554,13 @@ symlink-cast `Attempting extraction of symbolic links as hard links' unknown-cast - `%s: Unknown file type `%c', extracted as normal file' + `%s: Unknown file type '%c', extracted as normal file' ignore-newer `Current %s is newer or same age' unknown-keyword - `Ignoring unknown extended header keyword `%s'' + `Ignoring unknown extended header keyword '%s'' decompress-program Controls verbose description of failures occurring when trying to @@ -3536,7 +3574,10 @@ decompress-program tar (child): trying gzip This means that `tar' first tried to decompress `archive.Z' using - `compress', and, when that failed, switched to `gzip'. + `compress', and, when that failed, switched to `gzip'. + +record-size + `Record size = %lu blocks' Keywords controlling incremental extraction: -------------------------------------------- @@ -3555,7 +3596,7 @@ bad-dumpdir `Malformed dumpdir: 'X' never used'  -File: tar.info, Node: interactive, Prev: warnings, Up: tar invocation +File: tar.info, Node: interactive, Next: external, Prev: warnings, Up: tar invocation 3.10 Asking for Confirmation During Operations ============================================== @@ -3593,6 +3634,42 @@ receive the archive, and having the consumer process to read from that named pipe. This has the advantage of letting standard output free to receive verbose output, all separate from errors. + +File: tar.info, Node: external, Prev: interactive, Up: tar invocation + +3.11 Running External Commands +============================== + +Certain GNU `tar' operations imply running external commands that you +supply on the command line. One of such operations is checkpointing, +described above (*note checkpoint exec::). Another example of this +feature is the `-I' option, which allows you to supply the program to +use for compressing or decompressing the archive (*note +use-compress-program::). + + Whenever such operation is requested, `tar' first splits the +supplied command into words much like the shell does. It then treats +the first word as the name of the program or the shell script to execute +and the rest of words as its command line arguments. The program, +unless given as an absolute file name, is searched in the shell's +`PATH'. + + Any additional information is normally supplied to external commands +in environment variables, specific to each particular operation. For +example, the `--checkpoint-action=exec' option, defines the +`TAR_ARCHIVE' variable to the name of the archive being worked upon. +You can, should the need be, use these variables in the command line of +the external command. For example: + + $ tar -x -f archive.tar \ + --checkpoint=exec='printf "%04d in %32s\r" $TAR_CHECKPOINT $TAR_ARCHIVE' + +This command prints for each checkpoint its number and the name of the +archive, using the same output line on the screen. + + Notice the use of single quotes to prevent variable names from being +expanded by the shell when invoking `tar'. +  File: tar.info, Node: operations, Next: Backups, Prev: tar invocation, Up: Top @@ -3655,7 +3732,7 @@ complementary notes for these operations. file with no names in it, as shown in the following commands: tar --create --file=empty-archive.tar --files-from=/dev/null - tar cfT empty-archive.tar /dev/null + tar -cf empty-archive.tar -T /dev/null `--extract' `--get' @@ -3824,9 +3901,9 @@ Media::, for more information.) ---------- Footnotes ---------- - (1) Unless you give it `--keep-old-files' option, or the disk copy -is newer than the one in the archive and you invoke `tar' with -`--keep-newer-files' option. + (1) Unless you give it `--keep-old-files' (or `--skip-old-files') +option, or the disk copy is newer than the one in the archive and you +invoke `tar' with `--keep-newer-files' option.  File: tar.info, Node: appending files, Next: multiple, Up: append @@ -4221,15 +4298,28 @@ stored in the archive. For example: $ tar -c -f archive.tar -v --mtime=yesterday . - tar: Option --mtime: Treating date `yesterday' as 2006-06-20 + tar: Option --mtime: Treating date 'yesterday' as 2006-06-20 13:06:29.152478 ... `--owner=USER' Specifies that `tar' should use USER as the owner of members when creating archives, instead of the user associated with the source - file. The argument USER can be either an existing user symbolic - name, or a decimal numeric user ID. + file. + + If USER contains a colon, it is taken to be of the form NAME:ID + where a nonempty NAME specifies the user name and a nonempty ID + specifies the decimal numeric user ID. If USER does not contain a + colon, it is taken to be a user number if it is one or more + decimal digits; otherwise it is taken to be a user name. + + If a name is given but no number, the number is inferred from the + current host's user database if possible, and the file's user + number is used otherwise. If a number is given but no name, the + name is inferred from the number if possible, and an empty name is + used otherwise. If both name and number are given, the user + database is not consulted, and the name and number need not be + valid on the current host. There is no value indicating a missing number, and `0' usually means `root'. Some people like to force `0' as the value to offer @@ -4245,9 +4335,9 @@ stored in the archive. `--group=GROUP' Files added to the `tar' archive will have a group ID of GROUP, - rather than the group from the source file. The argument GROUP - can be either an existing group symbolic name, or a decimal - numeric group ID. + rather than the group from the source file. As with `--owner', + the argument GROUP can be an existing group symbolic name, or a + decimal numeric group ID, or NAME:ID.  File: tar.info, Node: Ignore Failed Read, Prev: override, Up: create options @@ -4394,7 +4484,17 @@ directory, use the `--no-overwrite-dir' option. replaced, use the `--keep-old-files' (`-k') option. It causes `tar' to refuse to replace or update a file that already exists, i.e., a file with the same name as an archive member prevents extraction of that -archive member. Instead, it reports an error. +archive member. Instead, it reports an error. For example: + + $ ls + blues + $ tar -x -k -f archive.tar + tar: blues: Cannot open: File exists + tar: Exiting with failure status due to previous errors + + If you wish to preserve old files untouched, but don't want `tar' to +treat them as errors, use the `--skip-old-files' option. This option +causes `tar' to silently skip extracting over existing files. To be more aggressive about altering existing files, use the `--overwrite' option. It causes `tar' to overwrite existing files and @@ -4458,14 +4558,23 @@ File: tar.info, Node: Keep Old Files, Next: Keep Newer Files, Prev: Overwrite Keep Old Files .............. +GNU `tar' provides two options to control its actions in a situation +when it is about to extract a file which already exists on disk. + `--keep-old-files' `-k' - Do not replace existing files from archive. The - `--keep-old-files' (`-k') option prevents `tar' from replacing - existing files with files with the same name from the archive. The - `--keep-old-files' option is meaningless with `--list' (`-t'). - Prevents `tar' from replacing files in the file system during - extraction. + Do not replace existing files from archive. When such a file is + encountered, `tar' issues an error message. Upon end of + extraction, `tar' exits with code 2 (*note exit status::). + +`--skip-old-files' + Do not replace existing files from archive, but do not treat that + as error. Such files are silently skipped and do not affect `tar' + exit status. + + Additional verbosity can be obtained using + `--warning=existing-file' together with that option (*note + warnings::).  File: tar.info, Node: Keep Newer Files, Next: Unlink First, Prev: Keep Old Files, Up: Writing @@ -4666,13 +4775,15 @@ the standard input of an external program: `--to-command=COMMAND' Extract files and pipe their contents to the standard input of - COMMAND. When this option is used, instead of creating the files + COMMAND. When this option is used, instead of creating the files specified, `tar' invokes COMMAND and pipes the contents of the - files to its standard output. The COMMAND may contain command line - arguments. The program is executed via `sh -c'. Notice, that - COMMAND is executed once for each regular file extracted. - Non-regular files (directories, etc.) are ignored when this option - is used. + files to its standard output. The COMMAND may contain command + line arguments (see *note Running External Commands: external, for + more detail). + + Notice, that COMMAND is executed once for each regular file + extracted. Non-regular files (directories, etc.) are ignored when + this option is used. The command can obtain the information about the file it processes from the following environment variables: @@ -4744,6 +4855,16 @@ mode and the archive being processed: Format of the archive being processed. *Note Formats::, for a complete list of archive format names. + These variables are defined prior to executing the command, so you +can pass them as arguments, if you prefer. For example, if the command +PROC takes the member name and size as its arguments, then you could do: + + $ tar -x -f archive.tar \ + --to-command='proc $TAR_FILENAME $TAR_SIZE' + +Notice single quotes to prevent variable names from being expanded by +the shell when invoking `tar'. + If COMMAND exits with a non-0 status, `tar' will print an error message similar to the following: @@ -5907,7 +6028,7 @@ immediately, reporting the following: $ tar cf a.tar tar: Cowardly refusing to create an empty archive - Try `tar --help' or `tar --usage' for more information. + Try 'tar --help' or 'tar --usage' for more information. If you specify either `--list' (`-t') or `--extract' (`--get', `-x'), `tar' operates on all the archive members in the archive. @@ -5983,30 +6104,6 @@ resulting archive `foo.tar' will contain: hosts libc.a - - Notice that the option parsing algorithm used with `-T' is stricter -than the one used by shell. Namely, when specifying option arguments, -you should observe the following rules: - - * When using short (single-letter) option form, its argument must - immediately follow the option letter, without any intervening - whitespace. For example: `-Cdir'. - - * When using long option form, the option argument must be separated - from the option by a single equal sign. No whitespace is allowed - on any side of the equal sign. For example: `--directory=dir'. - - * For both short and long option forms, the option argument can be - given on the next line after the option name, e.g.: - - --directory - dir - - and - - -C - dir - If you happen to have a file whose name starts with `-', precede it with `--add-file' option to prevent it from being recognized as an option. For example: `--add-file=--my-file'. @@ -6067,10 +6164,10 @@ following command can be used to combine it with the above command: This example uses short options for typographic reasons, to avoid very long lines. - GNU `tar' is able to automatically detect `NUL'-terminated file -lists, so it is safe to use them even without the `--null' option. In -this case `tar' will print a warning and continue reading such a file -as if `--null' were actually given: + GNU `tar' is tries to automatically detect `NUL'-terminated file +lists, so in many cases it is safe to use them even without the +`--null' option. In this case `tar' will print a warning and continue +reading such a file as if `--null' were actually given: $ find . -size +800 -print0 | tar -c -f big.tar -T - tar: -: file name read contains nul character @@ -6122,7 +6219,7 @@ difficult to catch using text editors. systems: `CVS', `RCS', `SCCS', `SVN', `Arch', `Bazaar', `Mercurial', and `Darcs'. - As of version 1.26, the following files are excluded: + As of version 1.27, the following files are excluded: * `CVS/', and everything under it @@ -6640,20 +6737,20 @@ existed in the current working directory: Control characters, single quote and backslash are printed using backslash notation. All names are quoted using left and right quotation marks, appropriate to the current locale. If it does not - define quotation marks, use ``' as left and `'' as right quotation + define quotation marks, use `'' as left and as right quotation marks. Any occurrences of the right quotation mark in a name are escaped with `\', for example: For example: $ tar tf arch.tar --quoting-style=locale - `./' - `./a space' - `./a\'single\'quote' - `./a"double"quote' - `./a\\backslash' - `./a\ttab' - `./a\nnewline' + './' + './a space' + './a\'single\'quote' + './a"double"quote' + './a\\backslash' + './a\ttab' + './a\nnewline' `clocale' Same as `locale', but `"' is used for both left and right @@ -7004,7 +7101,7 @@ saying what date it will use. This is to help user ensure he is using the right date. For example: $ tar -c -f archive.tar --after-date='10 days ago' . - tar: Option --after-date: Treating date `10 days ago' as 2006-06-11 + tar: Option --after-date: Treating date '10 days ago' as 2006-06-11 13:19:37.232434 *Please Note:* `--after-date' and `--newer-mtime' should not be @@ -7225,6 +7322,10 @@ members into the archive. For example, if you ask `tar' to add the file `/bin/ls' to an archive, it will do so, but the member name will be `bin/ls'(1). + Symbolic links containing `..' or leading `/' can also cause +problems when extracting, so `tar' normally extracts them last; it may +create empty files as placeholders during extraction. + If you use the `--absolute-names' (`-P') option, `tar' will do none of these transformations. @@ -7243,7 +7344,7 @@ convenient than switching to root. `--absolute-names' Preserves full file names (including superior directory names) when - archiving files. Preserves leading slash when extracting files. + archiving and extracting files. `tar' prints out a message about removing the `/' from file names. @@ -7304,7 +7405,7 @@ First, a quote: future, last Tuesday or a week from Sunday, with feelings of helpless confusion. ... - -- Robert Grudin, `Time and the Art of Living'. + --Robert Grudin, `Time and the Art of Living'. This section describes the textual date representations that GNU programs accept. These are the strings you, as a user, can supply as @@ -7316,7 +7417,8 @@ arguments to the various programs. The C interface (via the * General date syntax:: Common rules. * Calendar date items:: 19 Dec 1994. * Time of day items:: 9:20pm. -* Time zone items:: EST, PDT, GMT. +* Time zone items:: EST, PDT, UTC, ... +* Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500. * Day of week items:: Monday and others. * Relative items in date strings:: next tuesday, 2 years ago. * Pure numbers in date strings:: 19931219, 1440. @@ -7342,6 +7444,8 @@ items: * time zone items + * combined date and time of day items + * day of the week items * relative items @@ -7379,8 +7483,8 @@ zone items other than `UTC' and `Z'. Here are some ways to do this: Mon Mar 1 00:21:42 UTC 2004 $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' 2004-03-01 00:21:42Z - $ date --iso-8601=ns | tr T ' ' # --iso-8601 is a GNU extension. - 2004-02-29 16:21:42,692722128-0800 + $ date --rfc-3339=ns # --rfc-3339 is a GNU extension. + 2004-02-29 16:21:42.692722128-08:00 $ date --rfc-2822 # a GNU extension Sun, 29 Feb 2004 16:21:42 -0800 $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. @@ -7501,7 +7605,7 @@ maximum zone correction is 24 hours. both.  -File: tar.info, Node: Time zone items, Next: Day of week items, Prev: Time of day items, Up: Date input formats +File: tar.info, Node: Time zone items, Next: Combined date and time of day items, Prev: Time of day items, Up: Date input formats 7.4 Time zone items =================== @@ -7527,9 +7631,31 @@ time stamps are interpreted using the rules of the default time zone (*note Specifying time zone rules::).  -File: tar.info, Node: Day of week items, Next: Relative items in date strings, Prev: Time zone items, Up: Date input formats +File: tar.info, Node: Combined date and time of day items, Next: Day of week items, Prev: Time zone items, Up: Date input formats + +7.5 Combined date and time of day items +======================================= + +The ISO 8601 date and time of day extended format consists of an ISO +8601 date, a `T' character separator, and an ISO 8601 time of day. +This format is also recognized if the `T' is replaced by a space. + + In this format, the time of day should use 24-hour notation. +Fractional seconds are allowed, with either comma or period preceding +the fraction. ISO 8601 fractional minutes and hours are not supported. +Typically, hosts support nanosecond timestamp resolution; excess +precision is silently discarded. + + Here are some examples: + + 2012-09-24T20:02:00.052-0500 + 2012-12-31T23:59:59,999999999+1100 + 1970-01-01 00:00Z + + +File: tar.info, Node: Day of week items, Next: Relative items in date strings, Prev: Combined date and time of day items, Up: Date input formats -7.5 Day of week items +7.6 Day of week items ===================== The explicit mention of a day of the week will forward the date (only @@ -7549,193 +7675,3 @@ represent. A comma following a day of the week item is ignored. - -File: tar.info, Node: Relative items in date strings, Next: Pure numbers in date strings, Prev: Day of week items, Up: Date input formats - -7.6 Relative items in date strings -================================== - -"Relative items" adjust a date (or the current date if none) forward or -backward. The effects of relative items accumulate. Here are some -examples: - - 1 year - 1 year ago - 3 years - 2 days - - The unit of time displacement may be selected by the string `year' -or `month' for moving by whole years or months. These are fuzzy units, -as years and months are not all of equal duration. More precise units -are `fortnight' which is worth 14 days, `week' worth 7 days, `day' -worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60 -seconds, and `second' or `sec' worth one second. An `s' suffix on -these units is accepted and ignored. - - The unit of time may be preceded by a multiplier, given as an -optionally signed number. Unsigned numbers are taken as positively -signed. No number at all implies 1 for a multiplier. Following a -relative item by the string `ago' is equivalent to preceding the unit -by a multiplier with value -1. - - The string `tomorrow' is worth one day in the future (equivalent to -`day'), the string `yesterday' is worth one day in the past (equivalent -to `day ago'). - - The strings `now' or `today' are relative items corresponding to -zero-valued time displacement, these strings come from the fact a -zero-valued time displacement represents the current time when not -otherwise changed by previous items. They may be used to stress other -items, like in `12:00 today'. The string `this' also has the meaning -of a zero-valued time displacement, but is preferred in date strings -like `this thursday'. - - When a relative item causes the resulting date to cross a boundary -where the clocks were adjusted, typically for daylight saving time, the -resulting date and time are adjusted accordingly. - - The fuzz in units can cause problems with relative items. For -example, `2003-07-31 -1 month' might evaluate to 2003-07-01, because -2003-06-31 is an invalid date. To determine the previous month more -reliably, you can ask for the month before the 15th of the current -month. For example: - - $ date -R - Thu, 31 Jul 2003 13:02:39 -0700 - $ date --date='-1 month' +'Last month was %B?' - Last month was July? - $ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!' - Last month was June! - - Also, take care when manipulating dates around clock changes such as -daylight saving leaps. In a few cases these have added or subtracted -as much as 24 hours from the clock, so it is often wise to adopt -universal time by setting the `TZ' environment variable to `UTC0' -before embarking on calendrical calculations. - - -File: tar.info, Node: Pure numbers in date strings, Next: Seconds since the Epoch, Prev: Relative items in date strings, Up: Date input formats - -7.7 Pure numbers in date strings -================================ - -The precise interpretation of a pure decimal number depends on the -context in the date string. - - If the decimal number is of the form YYYYMMDD and no other calendar -date item (*note Calendar date items::) appears before it in the date -string, then YYYY is read as the year, MM as the month number and DD as -the day of the month, for the specified calendar date. - - If the decimal number is of the form HHMM and no other time of day -item appears before it in the date string, then HH is read as the hour -of the day and MM as the minute of the hour, for the specified time of -day. MM can also be omitted. - - If both a calendar date and a time of day appear to the left of a -number in the date string, but no relative item, then the number -overrides the year. - - -File: tar.info, Node: Seconds since the Epoch, Next: Specifying time zone rules, Prev: Pure numbers in date strings, Up: Date input formats - -7.8 Seconds since the Epoch -=========================== - -If you precede a number with `@', it represents an internal time stamp -as a count of seconds. The number can contain an internal decimal -point (either `.' or `,'); any excess precision not supported by the -internal representation is truncated toward minus infinity. Such a -number cannot be combined with any other date item, as it specifies a -complete time stamp. - - Internally, computer times are represented as a count of seconds -since an epoch--a well-defined point of time. On GNU and POSIX -systems, the epoch is 1970-01-01 00:00:00 UTC, so `@0' represents this -time, `@1' represents 1970-01-01 00:00:01 UTC, and so forth. GNU and -most other POSIX-compliant systems support such times as an extension -to POSIX, using negative counts, so that `@-1' represents 1969-12-31 -23:59:59 UTC. - - Traditional Unix systems count seconds with 32-bit two's-complement -integers and can represent times from 1901-12-13 20:45:52 through -2038-01-19 03:14:07 UTC. More modern systems use 64-bit counts of -seconds with nanosecond subcounts, and can represent all the times in -the known lifetime of the universe to a resolution of 1 nanosecond. - - On most hosts, these counts ignore the presence of leap seconds. -For example, on most hosts `@915148799' represents 1998-12-31 23:59:59 -UTC, `@915148800' represents 1999-01-01 00:00:00 UTC, and there is no -way to represent the intervening leap second 1998-12-31 23:59:60 UTC. - - -File: tar.info, Node: Specifying time zone rules, Next: Authors of parse_datetime, Prev: Seconds since the Epoch, Up: Date input formats - -7.9 Specifying time zone rules -============================== - -Normally, dates are interpreted using the rules of the current time -zone, which in turn are specified by the `TZ' environment variable, or -by a system default if `TZ' is not set. To specify a different set of -default time zone rules that apply just to one date, start the date -with a string of the form `TZ="RULE"'. The two quote characters (`"') -must be present in the date, and any quotes or backslashes within RULE -must be escaped by a backslash. - - For example, with the GNU `date' command you can answer the question -"What time is it in New York when a Paris clock shows 6:30am on October -31, 2004?" by using a date beginning with `TZ="Europe/Paris"' as shown -in the following shell transcript: - - $ export TZ="America/New_York" - $ date --date='TZ="Europe/Paris" 2004-10-31 06:30' - Sun Oct 31 01:30:00 EDT 2004 - - In this example, the `--date' operand begins with its own `TZ' -setting, so the rest of that operand is processed according to -`Europe/Paris' rules, treating the string `2004-10-31 06:30' as if it -were in Paris. However, since the output of the `date' command is -processed according to the overall time zone rules, it uses New York -time. (Paris was normally six hours ahead of New York in 2004, but -this example refers to a brief Halloween period when the gap was five -hours.) - - A `TZ' value is a rule that typically names a location in the `tz' -database (http://www.twinsun.com/tz/tz-link.htm). A recent catalog of -location names appears in the TWiki Date and Time Gateway -(http://twiki.org/cgi-bin/xtra/tzdate). A few non-GNU hosts require a -colon before a location name in a `TZ' setting, e.g., -`TZ=":America/New_York"'. - - The `tz' database includes a wide variety of locations ranging from -`Arctic/Longyearbyen' to `Antarctica/South_Pole', but if you are at sea -and have your own private time zone, or if you are using a non-GNU host -that does not support the `tz' database, you may need to use a POSIX -rule instead. Simple POSIX rules like `UTC0' specify a time zone -without daylight saving time; other rules can specify simple daylight -saving regimes. *Note Specifying the Time Zone with `TZ': (libc)TZ -Variable. - - -File: tar.info, Node: Authors of parse_datetime, Prev: Specifying time zone rules, Up: Date input formats - -7.10 Authors of `parse_datetime' -================================ - -`parse_datetime' started life as `getdate', as originally implemented -by Steven M. Bellovin () while at the University -of North Carolina at Chapel Hill. The code was later tweaked by a -couple of people on Usenet, then completely overhauled by Rich $alz -() and Jim Berets () in August, 1990. -Various revisions for the GNU system were made by David MacKenzie, Jim -Meyering, Paul Eggert and others, including renaming it to `get_date' to -avoid a conflict with the alternative Posix function `getdate', and a -later rename to `parse_datetime'. The Posix function `getdate' can -parse more locale-specific dates using `strptime', but relies on an -environment variable and external file, and lacks the thread-safety of -`parse_datetime'. - - This chapter was originally produced by Franc,ois Pinard -() from the `parse_datetime.y' source code, -and then edited by K. Berry (). - diff --git a/doc/tar.info-2 b/doc/tar.info-2 index 3c726720..e31d8b3c 100644 --- a/doc/tar.info-2 +++ b/doc/tar.info-2 @@ -1,22 +1,22 @@ This is tar.info, produced by makeinfo version 4.13 from tar.texi. -This manual is for GNU `tar' (version 1.26, 12 March 2011), which +This manual is for GNU `tar' (version 1.27, 24 September 2013), which creates and extracts files from archives. - Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with the Front-Cover Texts - being "A GNU Manual", and with the Back-Cover Texts as in (a) - below. A copy of the license is included in the section entitled - "GNU Free Documentation License". + Foundation; with the Invariant Sections being "GNU General Public + License", with the Front-Cover Texts being "A GNU Manual", and + with the Back-Cover Texts as in (a) below. A copy of the license + is included in the section entitled "GNU Free Documentation + License". (a) The FSF's Back-Cover Text is: "You have the freedom to copy - and modify this GNU manual. Buying copies from the FSF supports - it in developing GNU and promoting software freedom." + and modify this GNU manual." INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY @@ -28,6 +28,196 @@ START-INFO-DIR-ENTRY * tar: (tar)tar invocation. Invoking GNU `tar'. END-INFO-DIR-ENTRY + +File: tar.info, Node: Relative items in date strings, Next: Pure numbers in date strings, Prev: Day of week items, Up: Date input formats + +7.7 Relative items in date strings +================================== + +"Relative items" adjust a date (or the current date if none) forward or +backward. The effects of relative items accumulate. Here are some +examples: + + 1 year + 1 year ago + 3 years + 2 days + + The unit of time displacement may be selected by the string `year' +or `month' for moving by whole years or months. These are fuzzy units, +as years and months are not all of equal duration. More precise units +are `fortnight' which is worth 14 days, `week' worth 7 days, `day' +worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60 +seconds, and `second' or `sec' worth one second. An `s' suffix on +these units is accepted and ignored. + + The unit of time may be preceded by a multiplier, given as an +optionally signed number. Unsigned numbers are taken as positively +signed. No number at all implies 1 for a multiplier. Following a +relative item by the string `ago' is equivalent to preceding the unit +by a multiplier with value -1. + + The string `tomorrow' is worth one day in the future (equivalent to +`day'), the string `yesterday' is worth one day in the past (equivalent +to `day ago'). + + The strings `now' or `today' are relative items corresponding to +zero-valued time displacement, these strings come from the fact a +zero-valued time displacement represents the current time when not +otherwise changed by previous items. They may be used to stress other +items, like in `12:00 today'. The string `this' also has the meaning +of a zero-valued time displacement, but is preferred in date strings +like `this thursday'. + + When a relative item causes the resulting date to cross a boundary +where the clocks were adjusted, typically for daylight saving time, the +resulting date and time are adjusted accordingly. + + The fuzz in units can cause problems with relative items. For +example, `2003-07-31 -1 month' might evaluate to 2003-07-01, because +2003-06-31 is an invalid date. To determine the previous month more +reliably, you can ask for the month before the 15th of the current +month. For example: + + $ date -R + Thu, 31 Jul 2003 13:02:39 -0700 + $ date --date='-1 month' +'Last month was %B?' + Last month was July? + $ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!' + Last month was June! + + Also, take care when manipulating dates around clock changes such as +daylight saving leaps. In a few cases these have added or subtracted +as much as 24 hours from the clock, so it is often wise to adopt +universal time by setting the `TZ' environment variable to `UTC0' +before embarking on calendrical calculations. + + +File: tar.info, Node: Pure numbers in date strings, Next: Seconds since the Epoch, Prev: Relative items in date strings, Up: Date input formats + +7.8 Pure numbers in date strings +================================ + +The precise interpretation of a pure decimal number depends on the +context in the date string. + + If the decimal number is of the form YYYYMMDD and no other calendar +date item (*note Calendar date items::) appears before it in the date +string, then YYYY is read as the year, MM as the month number and DD as +the day of the month, for the specified calendar date. + + If the decimal number is of the form HHMM and no other time of day +item appears before it in the date string, then HH is read as the hour +of the day and MM as the minute of the hour, for the specified time of +day. MM can also be omitted. + + If both a calendar date and a time of day appear to the left of a +number in the date string, but no relative item, then the number +overrides the year. + + +File: tar.info, Node: Seconds since the Epoch, Next: Specifying time zone rules, Prev: Pure numbers in date strings, Up: Date input formats + +7.9 Seconds since the Epoch +=========================== + +If you precede a number with `@', it represents an internal time stamp +as a count of seconds. The number can contain an internal decimal +point (either `.' or `,'); any excess precision not supported by the +internal representation is truncated toward minus infinity. Such a +number cannot be combined with any other date item, as it specifies a +complete time stamp. + + Internally, computer times are represented as a count of seconds +since an epoch--a well-defined point of time. On GNU and POSIX +systems, the epoch is 1970-01-01 00:00:00 UTC, so `@0' represents this +time, `@1' represents 1970-01-01 00:00:01 UTC, and so forth. GNU and +most other POSIX-compliant systems support such times as an extension +to POSIX, using negative counts, so that `@-1' represents 1969-12-31 +23:59:59 UTC. + + Traditional Unix systems count seconds with 32-bit two's-complement +integers and can represent times from 1901-12-13 20:45:52 through +2038-01-19 03:14:07 UTC. More modern systems use 64-bit counts of +seconds with nanosecond subcounts, and can represent all the times in +the known lifetime of the universe to a resolution of 1 nanosecond. + + On most hosts, these counts ignore the presence of leap seconds. +For example, on most hosts `@915148799' represents 1998-12-31 23:59:59 +UTC, `@915148800' represents 1999-01-01 00:00:00 UTC, and there is no +way to represent the intervening leap second 1998-12-31 23:59:60 UTC. + + +File: tar.info, Node: Specifying time zone rules, Next: Authors of parse_datetime, Prev: Seconds since the Epoch, Up: Date input formats + +7.10 Specifying time zone rules +=============================== + +Normally, dates are interpreted using the rules of the current time +zone, which in turn are specified by the `TZ' environment variable, or +by a system default if `TZ' is not set. To specify a different set of +default time zone rules that apply just to one date, start the date +with a string of the form `TZ="RULE"'. The two quote characters (`"') +must be present in the date, and any quotes or backslashes within RULE +must be escaped by a backslash. + + For example, with the GNU `date' command you can answer the question +"What time is it in New York when a Paris clock shows 6:30am on October +31, 2004?" by using a date beginning with `TZ="Europe/Paris"' as shown +in the following shell transcript: + + $ export TZ="America/New_York" + $ date --date='TZ="Europe/Paris" 2004-10-31 06:30' + Sun Oct 31 01:30:00 EDT 2004 + + In this example, the `--date' operand begins with its own `TZ' +setting, so the rest of that operand is processed according to +`Europe/Paris' rules, treating the string `2004-10-31 06:30' as if it +were in Paris. However, since the output of the `date' command is +processed according to the overall time zone rules, it uses New York +time. (Paris was normally six hours ahead of New York in 2004, but +this example refers to a brief Halloween period when the gap was five +hours.) + + A `TZ' value is a rule that typically names a location in the `tz' +database (http://www.twinsun.com/tz/tz-link.htm). A recent catalog of +location names appears in the TWiki Date and Time Gateway +(http://twiki.org/cgi-bin/xtra/tzdate). A few non-GNU hosts require a +colon before a location name in a `TZ' setting, e.g., +`TZ=":America/New_York"'. + + The `tz' database includes a wide variety of locations ranging from +`Arctic/Longyearbyen' to `Antarctica/South_Pole', but if you are at sea +and have your own private time zone, or if you are using a non-GNU host +that does not support the `tz' database, you may need to use a POSIX +rule instead. Simple POSIX rules like `UTC0' specify a time zone +without daylight saving time; other rules can specify simple daylight +saving regimes. *Note Specifying the Time Zone with `TZ': (libc)TZ +Variable. + + +File: tar.info, Node: Authors of parse_datetime, Prev: Specifying time zone rules, Up: Date input formats + +7.11 Authors of `parse_datetime' +================================ + +`parse_datetime' started life as `getdate', as originally implemented +by Steven M. Bellovin () while at the University +of North Carolina at Chapel Hill. The code was later tweaked by a +couple of people on Usenet, then completely overhauled by Rich $alz +() and Jim Berets () in August, 1990. +Various revisions for the GNU system were made by David MacKenzie, Jim +Meyering, Paul Eggert and others, including renaming it to `get_date' to +avoid a conflict with the alternative Posix function `getdate', and a +later rename to `parse_datetime'. The Posix function `getdate' can +parse more locale-specific dates using `strptime', but relies on an +environment variable and external file, and lacks the thread-safety of +`parse_datetime'. + + This chapter was originally produced by Franc,ois Pinard +() from the `parse_datetime.y' source code, +and then edited by K. Berry (). +  File: tar.info, Node: Formats, Next: Media, Prev: Date input formats, Up: Top @@ -77,7 +267,7 @@ v7 Makefiles. This practice will change in the future, in the meantime, however this means that projects containing file names more than 99 characters long will not be able to use GNU `tar' - 1.26 and Automake prior to 1.9. + 1.27 and Automake prior to 1.9. ustar Archive format defined by POSIX.1-1988 specification. It stores @@ -178,18 +368,18 @@ an XZ archive, `--lzma' to create an LZMA compressed archive, `--lzop' to create an LSOP archive, and `-Z' (`--compress') to use `compress' program. For example: - $ tar cfz archive.tar.gz . + $ tar czf archive.tar.gz . You can also let GNU `tar' select the compression program based on the suffix of the archive file name. This is done using `--auto-compress' (`-a') command line option. For example, the following invocation will use `bzip2' for compression: - $ tar cfa archive.tar.bz2 . + $ tar caf archive.tar.bz2 . whereas the following one will use `lzma': - $ tar cfa archive.tar.lzma . + $ tar caf archive.tar.lzma . For a complete list of file name suffixes recognized by GNU `tar', see *note auto-compress::. @@ -213,7 +403,7 @@ a list of recognized suffixes). Some compression programs are able to handle different compression formats. GNU `tar' uses this, if the principal decompressor for the given format is not available. For example, if `compress' is not -installed, `tar' will try to use `gzip'. As of version 1.26 the +installed, `tar' will try to use `gzip'. As of version 1.27 the following alternatives are tried(2): Format Main decompressor Alternatives @@ -234,7 +424,7 @@ will indicate which option you should use. For example: If you see such diagnostics, just add the suggested option to the invocation of GNU `tar': - $ cat archive.tar.gz | tar tfz - + $ cat archive.tar.gz | tar tzf - Notice also, that there are several restrictions on operations on compressed archives. First of all, compressed archives cannot be @@ -287,29 +477,28 @@ names along with each of these options. etc.) and remote files as well as on normal files; data to or from such devices or remote files is reblocked by another copy of the `tar' program to enforce the specified (or default) record size. The default -compression parameters are used. Most compression programs allow to +compression parameters are used. Most compression programs let you override these by setting a program-specific environment variable. For -example, when using `gzip' you can use `GZIP' as in the example below: +example, with `gzip' you can set `GZIP': - $ GZIP=--best tar cfz archive.tar.gz subdir + $ GZIP='-9 -n' tar czf archive.tar.gz subdir + Another way would be to use the `-I' option instead (see below), +e.g.: -Another way would be to use the `-I' option instead (see below), e.g.: + $ tar -cf archive.tar.gz -I 'gzip -9 -n' subdir - $ tar -cf archive.tar.gz -I 'gzip --best' subdir +Finally, the third, traditional, way to do this is to use a pipe: -Finally, the third, traditional, way to achieve the same result is to -use pipe: + $ tar cf - subdir | gzip -9 -n > archive.tar.gz - $ tar cf - subdir | gzip --best -c - > archive.tar.gz + Compressed archives are easily corrupted, because compressed files +have little redundancy. The adaptive nature of the compression scheme +means that the compression tables are implicitly spread all over the +archive. If you lose a few blocks, the dynamic construction of the +compression tables becomes unsynchronized, and there is little chance +that you could recover later in the archive. - About corrupted compressed archives: compressed files have no -redundancy, for maximum compression. The adaptive nature of the -compression scheme means that the compression tables are implicitly -spread all over the archive. If you lose a few blocks, the dynamic -construction of the compression tables becomes unsynchronized, and there -is little chance that you could recover later in the archive. - - Another compression options provide a better control over creating + Other compression options provide better control over creating compressed archives. These are: `--auto-compress' @@ -334,20 +523,29 @@ compressed archives. These are: `.lzo' `lzop' `.xz' `xz' -`--use-compress-program=PROG' -`-I=PROG' - Use external compression program PROG. Use this option if you are - not happy with the compression program associated with the suffix - at compile time or if you have a compression program that GNU `tar' - does not support. There are two requirements to which PROG should - comply: +`--use-compress-program=COMMAND' +`-I=COMMAND' + Use external compression program COMMAND. Use this option if you + are not happy with the compression program associated with the + suffix at compile time or if you have a compression program that + GNU `tar' does not support. The COMMAND argument is a valid + command invocation, as you would type it at the command line + prompt, with any additional options as needed. Enclose it in + quotes if it contains white space (see *note Running External + Commands: external, for more detail). + + The COMMAND should follow two conventions: + + First, when invoked without additional options, it should read data + from standard input, compress it and output it on standard output. - First, when called without options, it should read data from - standard input, compress it and output it on standard output. + Secondly, if invoked with the additional `-d' option, it should do + exactly the opposite, i.e., read the compressed data from the + standard input and produce uncompressed data on the standard + output. - Secondly, if called with `-d' argument, it should do exactly the - opposite, i.e., read the compressed data from the standard input - and produce uncompressed data on the standard output. + The latter requirement means that you must not use the `-d' option + as a part of the COMMAND itself. The `--use-compress-program' option, in particular, lets you implement your own filters, not necessarily dealing with @@ -699,7 +897,7 @@ consider the following two files: Here, `jeden' is a link to `one'. When archiving this directory with a verbose level 2, you will get an output similar to the following: - $ tar cfvv ../archive.tar . + $ tar cvvf ../archive.tar . drwxr-xr-x gray/staff 0 2007-10-30 15:13 ./ -rw-r--r-- gray/staff 4 2007-10-30 15:11 ./jeden hrw-r--r-- gray/staff 0 2007-10-30 15:11 ./one link to ./jeden @@ -722,7 +920,7 @@ reproduction of the file system. The following option does that: produces the following diagnostics: $ tar -c -f ../archive.tar -l jeden - tar: Missing links to `jeden'. + tar: Missing links to 'jeden'. Although creating special records for hard links helps keep a faithful record of the file system contents and makes archives more @@ -732,7 +930,7 @@ from the archive created in previous examples produces, in the absense of file `jeden': $ tar xf archive.tar ./one - tar: ./one: Cannot hard link to `./jeden': No such file or directory + tar: ./one: Cannot hard link to './jeden': No such file or directory tar: Error exit delayed from previous errors The reason for this behavior is that `tar' cannot seek back in the @@ -1209,8 +1407,8 @@ mode is enabled by `-n' command line argument: $ xsparse -n /home/gray/GNUSparseFile.6058/sparsefile Reading v.1.0 sparse map - Expanding file `/home/gray/GNUSparseFile.6058/sparsefile' to - `/home/gray/sparsefile' + Expanding file '/home/gray/GNUSparseFile.6058/sparsefile' to + '/home/gray/sparsefile' Finished dry run To actually expand the file, you would run: @@ -1224,8 +1422,8 @@ similar to that from the dry run mode, use `-v' option: $ xsparse -v /home/gray/GNUSparseFile.6058/sparsefile Reading v.1.0 sparse map - Expanding file `/home/gray/GNUSparseFile.6058/sparsefile' to - `/home/gray/sparsefile' + Expanding file '/home/gray/GNUSparseFile.6058/sparsefile' to + '/home/gray/sparsefile' Done Additionally, if your `tar' implementation has extracted the @@ -1242,8 +1440,8 @@ example: Found variable GNU.sparse.name = sparsefile Found variable GNU.sparse.realsize = 217481216 Reading v.1.0 sparse map - Expanding file `/home/gray/GNUSparseFile.6058/sparsefile' to - `/home/gray/sparsefile' + Expanding file '/home/gray/GNUSparseFile.6058/sparsefile' to + '/home/gray/sparsefile' Done An "extended header" is a special `tar' archive header that precedes @@ -1317,7 +1515,7 @@ header: Found variable GNU.sparse.numblocks = 208 Found variable GNU.sparse.name = sparsefile Found variable GNU.sparse.map = 0,2048,1050624,2048,... - Expanding file `GNUSparseFile.28124/sparsefile' to `sparsefile' + Expanding file 'GNUSparseFile.28124/sparsefile' to 'sparsefile' Done ---------- Footnotes ---------- @@ -1601,10 +1799,10 @@ could also check for `DEFTAPE' in `'. conservative on the maximum tape length, you might avoid the problem entirely. - `-F FILE' - `--info-script=FILE' - `--new-volume-script=FILE' - Execute `file' at end of each tape. This implies + `-F COMMAND' + `--info-script=COMMAND' + `--new-volume-script=COMMAND' + Execute COMMAND at end of each tape. This implies `--multi-volume' (`-M'). *Note info-script::, for a detailed description of this option. @@ -1621,9 +1819,9 @@ machine whose tape drive you want to use. `tar' calls `rmt' by running an `rsh' or `remsh' to the remote machine, optionally using a different login name if one is supplied. - A copy of the source for the remote tape server is provided. It is -Copyright (C) 1983 by the Regents of the University of California, but -can be freely distributed. It is compiled and installed by default. + A copy of the source for the remote tape server is provided. Its +source code can be freely distributed. It is compiled and installed by +default. Unless you use the `--absolute-names' (`-P') option, GNU `tar' will not allow you to create an archive that contains absolute file names (a @@ -1777,7 +1975,7 @@ honor blocking. When reading an archive, `tar' can usually figure out the record size on itself. When this is the case, and a non-standard record size was used when the archive was created, `tar' will print a message about -a non-standard blocking factor, and then operate normally. On some +a non-standard blocking factor, and then operate normally(1). On some tape devices, however, `tar' cannot figure out the record size itself. On most of those, you can specify a blocking factor (with `--blocking-factor') larger than the actual blocking factor, and then @@ -1816,6 +2014,11 @@ physical characteristics of the tape device. * Format Variations:: Format Variations * Blocking Factor:: The Blocking Factor of an Archive + ---------- Footnotes ---------- + + (1) If this message is not needed, you can turn it off using the +`--warning=no-record-size' option. +  File: tar.info, Node: Format Variations, Next: Blocking Factor, Up: Blocking @@ -2347,7 +2550,7 @@ to inform it about the capacity of the tape: When GNU `tar' comes to the end of a storage media, it asks you to change the volume. The built-in prompt for POSIX locale is(1): - Prepare volume #N for `ARCHIVE' and hit return: + Prepare volume #N for 'ARCHIVE' and hit return: where N is the ordinal number of the volume to be created and ARCHIVE is archive file or device name. @@ -2388,17 +2591,19 @@ special "new volume script", that will be responsible for changing the volume, and instruct `tar' to use it instead of its normal prompting procedure: -`--info-script=SCRIPT-NAME' -`--new-volume-script=SCRIPT-NAME' -`-F SCRIPT-NAME' - Specify the full name of the volume script to use. The script can - be used to eject cassettes, or to broadcast messages such as +`--info-script=COMMAND' +`--new-volume-script=COMMAND' +`-F COMMAND' + Specify the command to invoke when switching volumes. The COMMAND + can be used to eject cassettes, or to broadcast messages such as `Someone please come change my tape' when performing unattended backups. - The SCRIPT-NAME is executed without any command line arguments. It -inherits `tar''s shell environment. Additional data is passed to it -via the following environment variables: + The COMMAND can contain additional options, if such are needed. +*Note Running External Commands: external, for a detailed discussion of +the way GNU `tar' runs external commands. It inherits `tar''s shell +environment. Additional data is passed to it via the following +environment variables: `TAR_VERSION' GNU `tar' version number. @@ -2424,6 +2629,10 @@ via the following environment variables: File descriptor which can be used to communicate the new volume name to `tar'. + These variables can be used in the COMMAND itself, provided that +they are properly quoted to prevent them from being expanded by the +shell that invokes `tar'. + The volume script can instruct `tar' to use new archive name, by writing in to file descriptor `$TAR_FD' (see below for an example). @@ -2442,7 +2651,7 @@ it needs to write the second tape, and then back to the first tape, etc., just do either of: $ tar --create --multi-volume --file=/dev/tape0 --file=/dev/tape1 FILES - $ tar cMff /dev/tape0 /dev/tape1 FILES + $ tar -cM -f /dev/tape0 -f /dev/tape1 FILES The second method is to use the `n' response to the tape-change prompt. @@ -2454,7 +2663,10 @@ the following volume script will create a series of archive files, named (as given by `--file' option) and VOL is the ordinal number of the archive being created: - #! /bin/sh + #! /bin/bash + # For this script it's advisable to use a shell, such as Bash, + # that supports a TAR_FD value greater than 9. + echo Preparing volume $TAR_VOLUME of $TAR_ARCHIVE. name=`expr $TAR_ARCHIVE : '\(.*\)-.*'` @@ -2647,7 +2859,7 @@ existing archives. For example, if you wish to add files to `archive', presumably labeled with string `My volume', you will get: $ tar -rf archive --label 'My volume' . - tar: Archive not labeled to match `My volume' + tar: Archive not labeled to match 'My volume' in case its label does not match. This will work even if `archive' is not labeled at all. @@ -2668,7 +2880,7 @@ of a series. For having this information different in each series created through a single script used on a regular basis, just manage to get some date string as part of the label. For example: - $ tar cfMV /dev/tape "Daily backup for `date +%Y-%m-%d`" + $ tar -cM -f /dev/tape -V "Daily backup for `date +%Y-%m-%d`" $ tar --create --file=/dev/tape --multi-volume \ --label="Daily backup for `date +%Y-%m-%d`" @@ -2969,11 +3181,15 @@ begin with `/' or contain `..'. As this lets the archive overwrite any file in your system that you can write, the `--absolute-names' (`-P') option should be used only for trusted archives. - Conversely, with the `--keep-old-files' (`-k') option, `tar' refuses -to replace existing files when extracting; and with the -`--no-overwrite-dir' option, `tar' refuses to replace the permissions -or ownership of already-existing directories. These options may help -when extracting from untrusted archives. + Conversely, with the `--keep-old-files' (`-k') and +`--skip-old-files' options, `tar' refuses to replace existing files +when extracting. The difference between the two options is that the +former treats existing files as errors whereas the latter just silently +ignores them. + + Finally, with the `--no-overwrite-dir' option, `tar' refuses to +replace the permissions or ownership of already-existing directories. +These options may help when extracting from untrusted archives.  File: tar.info, Node: Live untrusted data, Next: Security rules of thumb, Prev: Integrity, Up: Security @@ -3069,7 +3285,7 @@ Appendix A Changes ****************** This appendix lists some important user-visible changes between version -GNU `tar' 1.26 and previous versions. An up-to-date version of this +GNU `tar' 1.27 and previous versions. An up-to-date version of this document is available at the GNU `tar' documentation page (http://www.gnu.org/software/tar/manual/changes.html). @@ -3309,47 +3525,79 @@ File: tar.info, Node: Fixing Snapshot Files, Next: Tar Internals, Prev: Confi Appendix C Fixing Snapshot Files ******************************** -Sometimes device numbers can change after upgrading your kernel version -or reconfiguring the hardware. Reportedly this is the case with some -newer Linux kernels, when using LVM. In majority of cases this change -is unnoticed by the users. However, it influences `tar' incremental +Various situations can cause device numbers to change: upgrading your +kernel version, reconfiguring your hardware, loading kernel modules in a +different order, using virtual volumes that are assembled dynamically +(such as with LVM or RAID), hot-plugging drives (e.g. external USB or +Firewire drives), etc. In the majority of cases this change is +unnoticed by the users. However, it influences `tar' incremental backups: the device number is stored in tar snapshot files (*note Snapshot Files::) and is used to determine whether the file has changed since the last backup. If the device numbers change for some reason, -the next backup you run will be a full backup. +by default the next backup you run will be a full backup. To minimize the impact in these cases, GNU `tar' comes with the `tar-snapshot-edit' utility for inspecting and updating device numbers -in snapshot files. The utility, written by Dustin J. Mitchell, is -available from GNU `tar' home page -(http://www.gnu.org/software/tar/utils/tar-snapshot-edit.html). +in snapshot files. (The utility, written by Dustin J. Mitchell, is +also available from the GNU `tar' home page +(http://www.gnu.org/software/tar/utils/tar-snapshot-edit.html).) - To obtain the device numbers used in the snapshot file, run + To obtain a summary of the device numbers found in the snapshot +file, run $ tar-snapshot-edit SNAPFILE where SNAPFILE is the name of the snapshot file (you can supply as many -files as you wish in a single command line). - - To update all occurrences of the given device number in the file, use -`-r' option. It takes a single argument of the form `OLDDEV-NEWDEV', -where OLDDEV is the device number used in the snapshot file, and NEWDEV -is the corresponding new device number. Both numbers may be specified -in hex (e.g., `0xfe01'), decimal (e.g., `65025'), or as a major:minor -number pair (e.g., `254:1'). To change several device numbers at once, -specify them in a single comma-separated list, as in `-r -0x3060-0x4500,0x307-0x4600'. +files as you wish in a single command line). You can then compare the +numbers across snapshot files, or against those currently in use on the +live filesystem (using `ls -l' or `stat'). + + Assuming the device numbers have indeed changed, it's often possible +to simply tell GNU `tar' to ignore the device number when processing the +incremental snapshot files for these backups, using the +`--no-check-device' option (*note device numbers::). + + Alternatively, you can use the `tar-edit-snapshot' script's `-r' +option to update all occurrences of the given device number in the +snapshot file(s). It takes a single argument of the form +`OLDDEV-NEWDEV', where OLDDEV is the device number used in the +snapshot file, and NEWDEV is the corresponding new device number. Both +numbers may be specified in hex (e.g., `0xfe01'), decimal (e.g., +`65025'), or as a major:minor number pair (e.g., `254:1'). To change +several device numbers at once, specify them in a single +comma-separated list, as in `-r 0x3060-0x4500,0x307-0x4600'. Before updating the snapshot file, it is a good idea to create a backup copy of it. This is accomplished by `-b' option. The name of the backup file is obtained by appending `~' to the original file name. An example session: - $ tar-snapshot-edit /var/backup/snap.a - file version 2 - /tmp/snap: Device 0x0306 occurs 634 times. - $ tar-snapshot-edit -b -r 0x0306-0x4500 /var/backup/snap.a - file version 2 + $ tar-snapshot-edit root_snap.0 boot_snap.0 + File: root_snap.0 + Detected snapshot file version: 2 + + Device 0x0000 occurs 1 times. + Device 0x0003 occurs 1 times. + Device 0x0005 occurs 1 times. + Device 0x0013 occurs 1 times. + Device 0x6801 occurs 1 times. + Device 0x6803 occurs 6626 times. + Device 0xfb00 occurs 1 times. + + File: boot_snap.0 + Detected snapshot file version: 2 + + Device 0x6801 occurs 3 times. + $ tar-snapshot-edit -b -r 0x6801-0x6901,0x6803-0x6903 root_snap.0 boot_snap.0 + File: root_snap.0 + Detected snapshot file version: 2 + + Updated 6627 records. + + File: boot_snap.0 + Detected snapshot file version: 2 + + Updated 3 records.  File: tar.info, Node: Tar Internals, Next: Genfile, Prev: Fixing Snapshot Files, Up: Top @@ -3487,9 +3735,9 @@ distribution, this is part of file `src/tar.h': /* tar Header Block, GNU extensions. */ /* In GNU tar, SYMTYPE is for to symbolic links, and CONTTYPE is for - contiguous files, so maybe disobeying the `reserved' comment in POSIX + contiguous files, so maybe disobeying the "reserved" comment in POSIX header description. I suspect these were meant to be used this way, and - should not have really been `reserved' in the published standards. */ + should not have really been "reserved" in the published standards. */ /* *BEWARE* *BEWARE* *BEWARE* that the following information is still boiling, and may change. Even if the OLDGNU format description should be @@ -4105,12 +4353,13 @@ backups (*note Incremental Dumps::). It contains the status of the file system at the time of the dump and is used to determine which files were modified since the last backup. - GNU `tar' version 1.26 supports three snapshot file formats. The + GNU `tar' version 1.27 supports three snapshot file formats. The first format, called "format 0", is the one used by GNU `tar' versions -up to 1.15.1. The second format, called "format 1" is an extended -version of this format, that contains more metadata and allows for -further extensions. It was used by version 1.15.1. Starting from -version 1.16 and up to 1.26, the "format 2" is used. +up to and including 1.15.1. The second format, called "format 1" is an +extended version of this format, that contains more metadata and allows +for further extensions. It was used by alpha release version 1.15.90. +For alpha version 1.15.91 and stable releases version 1.16 up through +1.27, the "format 2" is used. GNU `tar' is able to read all three formats, but will create snapshots only in format 2. @@ -4123,13 +4372,16 @@ snapshots only in format 2. descriptions, one per line. Each description has the following format: - NFSDEV INODE NAME + [NFS]DEV INODE NAME where: NFS A single plus character (`+'), if this directory is located on - an NFS-mounted partition, or a single space otherwise; + an NFS-mounted partition, otherwise empty. + + (That is, for non-NFS directories, the first character on the + description line contains the start of the DEV field.) DEV Device number of the directory; @@ -4166,13 +4418,13 @@ snapshots only in format 2. 2. `Format 2' snapshot file begins with a format identifier, as described for version 1, e.g.: - GNU tar-1.26-2 + GNU tar-1.27-2 This line is followed by newline. Rest of file consists of records, separated by null (ASCII 0) characters. Thus, in contrast to the previous formats, format 2 snapshot is a binary file. - First two records are decimal numbers, representing the time of + First two records are decimal integers, representing the time of the last backup. First number is the number of seconds, the second one is the number of nanoseconds, since the beginning of the epoch. These are followed by arbitrary number of directory @@ -4181,27 +4433,46 @@ snapshots only in format 2. Each "directory record" contains a set of metadata describing a particular directory. Parts of a directory record are delimited with ASCII 0 characters. The following table describes each part. - The "Number" type in this table stands for a decimal number in - ASCII notation. - - Field Type Description - --------------------------------------------------------------------- - nfs Character `1' if the directory is located on an - NFS-mounted partition, or `0' otherwise; - mtime-sec Number Modification time, seconds; - mtime-nano Number Modification time, nanoseconds; - dev-no Number Device number; - i-no Number I-node number; - name String Directory name; in contrast to the - previous versions it is not quoted; - contents Dumpdir Contents of the directory; *Note - Dumpdir::, for a description of its - format. + The "Number" type in this table stands for a decimal integer in + ASCII notation. (Negative values are preceeded with a "-" + character, while positive values have no leading punctuation.) + + Field Type Description + ---------------------------------------------------------------------- + nfs Character `1' if the directory is located on an + NFS-mounted partition, or `0' otherwise; + timestamp_sec Number Modification time, seconds; + timestamp_nsec Number Modification time, nanoseconds; + dev Number Device number; + ino Number I-node number; + name String Directory name; in contrast to the + previous versions it is not quoted; + contents Dumpdir Contents of the directory; *Note + Dumpdir::, for a description of its + format. Dumpdirs stored in snapshot files contain only records of types `Y', `N' and `D'. + The specific range of values allowed in each of the "Number" fields + depends on the underlying C datatypes as determined when `tar' is + compiled. To see the specific ranges allowed for a particular + `tar' binary, you can use the `--show-snapshot-field-ranges' + option: + + $ tar --show-shapshot-field-ranges + This tar's snapshot file field ranges are + (field name => [ min, max ]): + + nfs => [ 0, 1 ], + timestamp_sec => [ -9223372036854775808, 9223372036854775807 ], + timestamp_nsec => [ 0, 999999999 ], + dev => [ 0, 18446744073709551615 ], + ino => [ 0, 18446744073709551615 ], + + (This example is from a GNU/Linux x86_64 system.) +  File: tar.info, Node: Dumpdir, Prev: Snapshot Files, Up: Tar Internals @@ -4465,7 +4736,7 @@ In status mode, `genfile' prints file system status for each file specified in the command line. This mode is toggled by `--stat' (`-S') command line option. An optional argument to this option specifies output "format": a comma-separated list of `struct stat' fields to be -displayed. This list can contain following identifiers : +displayed. This list can contain following identifiers: name The file name. @@ -5207,47 +5478,48 @@ Summary::. [index] * Menu: +* --keep-directory-symlink, summary: Option Summary. (line 359) * absolute-names: absolute. (line 10) * absolute-names, summary: Option Summary. (line 6) -* add-file: files. (line 84) +* add-file: files. (line 60) * after-date: after. (line 24) -* after-date, summary: Option Summary. (line 12) +* after-date, summary: Option Summary. (line 13) * anchored: controlling pattern-matching. (line 79) -* anchored, summary: Option Summary. (line 15) +* anchored, summary: Option Summary. (line 16) * append <1>: appending files. (line 6) * append: append. (line 6) * append, summary: Operation Summary. (line 6) * atime-preserve: Attributes. (line 10) -* atime-preserve, summary: Option Summary. (line 19) -* auto-compress: gzip. (line 156) -* auto-compress, summary: Option Summary. (line 65) +* atime-preserve, summary: Option Summary. (line 20) +* auto-compress: gzip. (line 155) +* auto-compress, summary: Option Summary. (line 66) * backup: backup. (line 41) -* backup, summary: Option Summary. (line 71) +* backup, summary: Option Summary. (line 72) * block-number: verbose. (line 115) -* block-number, summary: Option Summary. (line 76) +* block-number, summary: Option Summary. (line 77) * blocking-factor: Blocking Factor. (line 8) -* blocking-factor, summary: Option Summary. (line 82) -* bzip2, summary: Option Summary. (line 87) +* blocking-factor, summary: Option Summary. (line 83) +* bzip2, summary: Option Summary. (line 88) * catenate: concatenate. (line 6) * catenate, summary: Operation Summary. (line 10) * check-device, described: Incremental Dumps. (line 108) -* check-device, summary: Option Summary. (line 92) +* check-device, summary: Option Summary. (line 93) * check-links, described: hard links. (line 31) -* check-links, summary: Option Summary. (line 143) +* check-links, summary: Option Summary. (line 144) * checkpoint: checkpoints. (line 6) * checkpoint, defined: checkpoints. (line 13) -* checkpoint, summary: Option Summary. (line 97) +* checkpoint, summary: Option Summary. (line 98) * checkpoint-action: checkpoints. (line 6) * checkpoint-action, defined: checkpoints. (line 22) -* checkpoint-action, summary: Option Summary. (line 105) +* checkpoint-action, summary: Option Summary. (line 106) * compare: compare. (line 6) * compare, summary: Operation Summary. (line 14) * compress: gzip. (line 113) -* compress, summary: Option Summary. (line 152) +* compress, summary: Option Summary. (line 153) * concatenate: concatenate. (line 6) * concatenate, summary: Operation Summary. (line 20) -* confirmation, summary: Option Summary. (line 159) +* confirmation, summary: Option Summary. (line 160) * create, additional options: create options. (line 6) * create, complementary notes: Basic tar. (line 11) * create, introduced: Creating the archive. @@ -5257,38 +5529,37 @@ Summary::. * create, using with --verify: verify. (line 24) * delay-directory-restore: Directory Modification Times and Permissions. (line 62) -* delay-directory-restore, summary: Option Summary. (line 162) +* delay-directory-restore, summary: Option Summary. (line 163) * delete: delete. (line 6) * delete, summary: Operation Summary. (line 29) * delete, using before -append: append. (line 47) * dereference: dereference. (line 6) -* dereference, summary: Option Summary. (line 167) +* dereference, summary: Option Summary. (line 168) * diff, summary: Operation Summary. (line 33) * directory: directory. (line 11) -* directory, summary: Option Summary. (line 173) -* directory, using in --files-from argument: files. (line 60) +* directory, summary: Option Summary. (line 174) * exclude: exclude. (line 6) * exclude, potential problems with: problems with exclude. (line 6) -* exclude, summary: Option Summary. (line 180) +* exclude, summary: Option Summary. (line 181) * exclude-backups: exclude. (line 82) -* exclude-backups, summary: Option Summary. (line 184) +* exclude-backups, summary: Option Summary. (line 185) * exclude-caches: exclude. (line 105) -* exclude-caches, summary: Option Summary. (line 192) +* exclude-caches, summary: Option Summary. (line 193) * exclude-caches-all: exclude. (line 113) -* exclude-caches-all, summary: Option Summary. (line 205) +* exclude-caches-all, summary: Option Summary. (line 206) * exclude-caches-under: exclude. (line 109) -* exclude-caches-under, summary: Option Summary. (line 199) +* exclude-caches-under, summary: Option Summary. (line 200) * exclude-from: exclude. (line 6) -* exclude-from, summary: Option Summary. (line 187) +* exclude-from, summary: Option Summary. (line 188) * exclude-tag: exclude. (line 122) -* exclude-tag, summary: Option Summary. (line 209) +* exclude-tag, summary: Option Summary. (line 210) * exclude-tag-all: exclude. (line 130) -* exclude-tag-all, summary: Option Summary. (line 219) +* exclude-tag-all, summary: Option Summary. (line 220) * exclude-tag-under: exclude. (line 126) -* exclude-tag-under, summary: Option Summary. (line 214) +* exclude-tag-under, summary: Option Summary. (line 215) * exclude-vcs: exclude. (line 37) -* exclude-vcs, summary: Option Summary. (line 223) +* exclude-vcs, summary: Option Summary. (line 224) * extract: extract. (line 6) * extract, additional options: extract options. (line 6) * extract, complementary notes: Basic tar. (line 48) @@ -5297,56 +5568,56 @@ Summary::. (line 121) * file: file. (line 6) * file, short description: file. (line 15) -* file, summary: Option Summary. (line 229) +* file, summary: Option Summary. (line 230) * file, tutorial: file tutorial. (line 6) * files-from: files. (line 14) -* files-from, summary: Option Summary. (line 235) +* files-from, summary: Option Summary. (line 236) * force-local, short description: Device. (line 70) -* force-local, summary: Option Summary. (line 241) -* format, summary: Option Summary. (line 246) -* full-time, summary: Option Summary. (line 271) +* force-local, summary: Option Summary. (line 242) +* format, summary: Option Summary. (line 247) +* full-time, summary: Option Summary. (line 272) * get, summary: Operation Summary. (line 42) -* group: override. (line 75) -* group, summary: Option Summary. (line 289) -* gunzip, summary: Option Summary. (line 297) +* group: override. (line 88) +* group, summary: Option Summary. (line 290) +* gunzip, summary: Option Summary. (line 298) * gzip: gzip. (line 91) -* gzip, summary: Option Summary. (line 297) +* gzip, summary: Option Summary. (line 298) * hard-dereference, described: hard links. (line 59) -* hard-dereference, summary: Option Summary. (line 305) +* hard-dereference, summary: Option Summary. (line 306) * help: help tutorial. (line 6) -* help, introduction: help. (line 27) -* help, summary: Option Summary. (line 311) +* help, introduction: help. (line 26) +* help, summary: Option Summary. (line 312) * ignore-case: controlling pattern-matching. (line 86) -* ignore-case, summary: Option Summary. (line 316) +* ignore-case, summary: Option Summary. (line 317) * ignore-command-error: Writing to an External Program. - (line 98) -* ignore-command-error, summary: Option Summary. (line 320) + (line 110) +* ignore-command-error, summary: Option Summary. (line 321) * ignore-failed-read: Ignore Failed Read. (line 7) -* ignore-failed-read, summary: Option Summary. (line 324) +* ignore-failed-read, summary: Option Summary. (line 325) * ignore-zeros: Ignore Zeros. (line 6) * ignore-zeros, short description: Blocking Factor. (line 156) -* ignore-zeros, summary: Option Summary. (line 328) -* incremental, summary: Option Summary. (line 333) +* ignore-zeros, summary: Option Summary. (line 329) +* incremental, summary: Option Summary. (line 334) * incremental, using with --list: Incremental Dumps. (line 186) -* index-file, summary: Option Summary. (line 340) +* index-file, summary: Option Summary. (line 341) * info-script: Multi-Volume Archives. (line 88) * info-script, short description: Device. (line 122) -* info-script, summary: Option Summary. (line 343) +* info-script, summary: Option Summary. (line 344) * interactive: interactive. (line 14) -* interactive, summary: Option Summary. (line 351) +* interactive, summary: Option Summary. (line 352) * keep-newer-files: Keep Newer Files. (line 6) -* keep-newer-files, summary: Option Summary. (line 358) -* keep-old-files: Keep Old Files. (line 6) +* keep-newer-files, summary: Option Summary. (line 372) +* keep-old-files: Keep Old Files. (line 9) * keep-old-files, introduced: Dealing with Old Files. (line 16) -* keep-old-files, summary: Option Summary. (line 362) +* keep-old-files, summary: Option Summary. (line 376) * label <1>: label. (line 6) * label: Tape Files. (line 6) -* label, summary: Option Summary. (line 367) +* label, summary: Option Summary. (line 384) * level, described: Incremental Dumps. (line 76) -* level, summary: Option Summary. (line 374) +* level, summary: Option Summary. (line 391) * list: list. (line 6) * list, summary: Operation Summary. (line 46) * list, using with --incremental: Incremental Dumps. (line 186) @@ -5354,805 +5625,207 @@ Summary::. * list, using with --verbose: list. (line 30) * list, using with file name arguments: list. (line 68) * listed-incremental, described: Incremental Dumps. (line 14) -* listed-incremental, summary: Option Summary. (line 384) +* listed-incremental, summary: Option Summary. (line 401) * listed-incremental, using with --extract: Incremental Dumps. (line 121) * listed-incremental, using with --list: Incremental Dumps. (line 186) * lzip: gzip. (line 104) -* lzip, summary: Option Summary. (line 392) +* lzip, summary: Option Summary. (line 409) * lzma: gzip. (line 107) -* lzma, summary: Option Summary. (line 396) +* lzma, summary: Option Summary. (line 413) * lzop: gzip. (line 110) * mode: override. (line 14) -* mode, summary: Option Summary. (line 404) +* mode, summary: Option Summary. (line 421) * mtime: override. (line 29) -* mtime, summary: Option Summary. (line 410) +* mtime, summary: Option Summary. (line 427) * multi-volume: Multi-Volume Archives. (line 6) * multi-volume, short description: Device. (line 88) -* multi-volume, summary: Option Summary. (line 419) +* multi-volume, summary: Option Summary. (line 436) * new-volume-script: Multi-Volume Archives. (line 88) * new-volume-script, short description: Device. (line 122) -* new-volume-script, summary: Option Summary. (line 343) +* new-volume-script, summary: Option Summary. (line 344) * newer: after. (line 24) -* newer, summary: Option Summary. (line 427) +* newer, summary: Option Summary. (line 444) * newer-mtime: after. (line 35) -* newer-mtime, summary: Option Summary. (line 435) +* newer-mtime, summary: Option Summary. (line 452) * no-anchored: controlling pattern-matching. (line 79) -* no-anchored, summary: Option Summary. (line 440) -* no-auto-compress, summary: Option Summary. (line 444) +* no-anchored, summary: Option Summary. (line 457) +* no-auto-compress, summary: Option Summary. (line 461) * no-check-device, described: Incremental Dumps. (line 104) -* no-check-device, summary: Option Summary. (line 448) +* no-check-device, summary: Option Summary. (line 465) * no-delay-directory-restore: Directory Modification Times and Permissions. (line 68) -* no-delay-directory-restore, summary: Option Summary. (line 453) +* no-delay-directory-restore, summary: Option Summary. (line 470) * no-ignore-case: controlling pattern-matching. (line 86) -* no-ignore-case, summary: Option Summary. (line 459) +* no-ignore-case, summary: Option Summary. (line 476) * no-ignore-command-error: Writing to an External Program. - (line 103) -* no-ignore-command-error, summary: Option Summary. (line 462) + (line 115) +* no-ignore-command-error, summary: Option Summary. (line 479) * no-null, described: nul. (line 15) -* no-null, summary: Option Summary. (line 466) -* no-overwrite-dir, summary: Option Summary. (line 471) -* no-quote-chars, summary: Option Summary. (line 475) +* no-null, summary: Option Summary. (line 483) +* no-overwrite-dir, summary: Option Summary. (line 488) +* no-quote-chars, summary: Option Summary. (line 492) * no-recursion: recurse. (line 11) -* no-recursion, summary: Option Summary. (line 480) +* no-recursion, summary: Option Summary. (line 497) * no-same-owner: Attributes. (line 63) -* no-same-owner, summary: Option Summary. (line 484) -* no-same-permissions, summary: Option Summary. (line 490) -* no-seek, summary: Option Summary. (line 495) +* no-same-owner, summary: Option Summary. (line 501) +* no-same-permissions, summary: Option Summary. (line 507) +* no-seek, summary: Option Summary. (line 512) * no-unquote: Selecting Archive Members. (line 42) -* no-unquote, summary: Option Summary. (line 500) +* no-unquote, summary: Option Summary. (line 517) * no-wildcards: controlling pattern-matching. (line 41) -* no-wildcards, summary: Option Summary. (line 504) +* no-wildcards, summary: Option Summary. (line 521) * no-wildcards-match-slash: controlling pattern-matching. (line 92) -* no-wildcards-match-slash, summary: Option Summary. (line 507) +* no-wildcards-match-slash, summary: Option Summary. (line 524) * null, described: nul. (line 11) -* null, summary: Option Summary. (line 510) +* null, summary: Option Summary. (line 527) * numeric-owner: Attributes. (line 69) -* numeric-owner, summary: Option Summary. (line 516) +* numeric-owner, summary: Option Summary. (line 533) * occurrence, described: append. (line 34) -* occurrence, summary: Option Summary. (line 533) -* old-archive, summary: Option Summary. (line 547) +* occurrence, summary: Option Summary. (line 550) +* old-archive, summary: Option Summary. (line 564) * one-file-system: one. (line 14) -* one-file-system, summary: Option Summary. (line 550) +* one-file-system, summary: Option Summary. (line 567) * overwrite: Overwrite Old Files. (line 6) * overwrite, introduced: Dealing with Old Files. - (line 22) -* overwrite, summary: Option Summary. (line 555) + (line 32) +* overwrite, summary: Option Summary. (line 572) * overwrite-dir: Overwrite Old Files. (line 28) * overwrite-dir, introduced: Dealing with Old Files. (line 6) -* overwrite-dir, summary: Option Summary. (line 559) +* overwrite-dir, summary: Option Summary. (line 576) * owner: override. (line 57) -* owner, summary: Option Summary. (line 563) +* owner, summary: Option Summary. (line 580) * pax-option: PAX keywords. (line 6) -* pax-option, summary: Option Summary. (line 572) -* portability, summary: Option Summary. (line 578) -* posix, summary: Option Summary. (line 582) +* pax-option, summary: Option Summary. (line 588) +* portability, summary: Option Summary. (line 594) +* posix, summary: Option Summary. (line 598) * preserve: Attributes. (line 122) -* preserve, summary: Option Summary. (line 585) +* preserve, summary: Option Summary. (line 601) * preserve-order: Same Order. (line 6) -* preserve-order, summary: Option Summary. (line 589) +* preserve-order, summary: Option Summary. (line 605) * preserve-permissions: Setting Access Permissions. (line 10) * preserve-permissions, short description: Attributes. (line 109) -* preserve-permissions, summary: Option Summary. (line 592) -* quote-chars, summary: Option Summary. (line 602) +* preserve-permissions, summary: Option Summary. (line 608) +* quote-chars, summary: Option Summary. (line 618) * quoting-style: quoting styles. (line 38) -* quoting-style, summary: Option Summary. (line 606) +* quoting-style, summary: Option Summary. (line 622) * read-full-records <1>: read full records. (line 6) * read-full-records: Reading. (line 6) * read-full-records, short description: Blocking Factor. (line 172) -* read-full-records, summary: Option Summary. (line 613) -* record-size, summary: Option Summary. (line 618) +* read-full-records, summary: Option Summary. (line 629) +* record-size, summary: Option Summary. (line 634) * recursion: recurse. (line 22) -* recursion, summary: Option Summary. (line 625) +* recursion, summary: Option Summary. (line 641) * recursive-unlink: Recursive Unlink. (line 6) -* recursive-unlink, summary: Option Summary. (line 629) +* recursive-unlink, summary: Option Summary. (line 645) * remove-files: remove files. (line 6) -* remove-files, summary: Option Summary. (line 634) -* restrict, summary: Option Summary. (line 638) -* rmt-command, summary: Option Summary. (line 643) +* remove-files, summary: Option Summary. (line 650) +* restrict, summary: Option Summary. (line 654) +* rmt-command, summary: Option Summary. (line 659) * rsh-command: Device. (line 73) -* rsh-command, summary: Option Summary. (line 647) +* rsh-command, summary: Option Summary. (line 663) * same-order: Same Order. (line 6) -* same-order, summary: Option Summary. (line 651) +* same-order, summary: Option Summary. (line 667) * same-owner: Attributes. (line 44) -* same-owner, summary: Option Summary. (line 659) +* same-owner, summary: Option Summary. (line 675) * same-permissions: Setting Access Permissions. (line 10) * same-permissions, short description: Attributes. (line 109) -* same-permissions, summary: Option Summary. (line 592) -* seek, summary: Option Summary. (line 668) +* same-permissions, summary: Option Summary. (line 608) +* seek, summary: Option Summary. (line 684) * show-defaults: defaults. (line 6) -* show-defaults, summary: Option Summary. (line 677) +* show-defaults, summary: Option Summary. (line 693) * show-omitted-dirs: verbose. (line 107) -* show-omitted-dirs, summary: Option Summary. (line 689) +* show-omitted-dirs, summary: Option Summary. (line 705) +* show-snapshot-field-ranges: Snapshot Files. (line 113) +* show-snapshot-field-ranges, summary: Option Summary. (line 709) * show-stored-names: list. (line 60) -* show-stored-names, summary: Option Summary. (line 693) +* show-stored-names, summary: Option Summary. (line 714) * show-transformed-names: transform. (line 45) -* show-transformed-names, summary: Option Summary. (line 693) +* show-transformed-names, summary: Option Summary. (line 714) +* skip-old-files, introduced: Dealing with Old Files. + (line 28) +* skip-old-files, summary: Option Summary. (line 722) * sparse: sparse. (line 22) -* sparse, summary: Option Summary. (line 701) +* sparse, summary: Option Summary. (line 734) * sparse-version: sparse. (line 57) -* sparse-version, summary: Option Summary. (line 706) +* sparse-version, summary: Option Summary. (line 739) * starting-file: Starting File. (line 6) -* starting-file, summary: Option Summary. (line 711) +* starting-file, summary: Option Summary. (line 744) * strip-components: transform. (line 25) -* strip-components, summary: Option Summary. (line 717) +* strip-components, summary: Option Summary. (line 750) * suffix: backup. (line 68) -* suffix, summary: Option Summary. (line 726) +* suffix, summary: Option Summary. (line 759) * tape-length: Multi-Volume Archives. (line 33) * tape-length, short description: Device. (line 96) -* tape-length, summary: Option Summary. (line 730) +* tape-length, summary: Option Summary. (line 763) * test-label: label. (line 35) -* test-label, summary: Option Summary. (line 739) +* test-label, summary: Option Summary. (line 772) * to-command: Writing to an External Program. (line 9) -* to-command, summary: Option Summary. (line 743) +* to-command, summary: Option Summary. (line 776) * to-stdout: Writing to Standard Output. (line 14) -* to-stdout, summary: Option Summary. (line 747) +* to-stdout, summary: Option Summary. (line 780) * totals: verbose. (line 46) -* totals, summary: Option Summary. (line 752) +* totals, summary: Option Summary. (line 785) * touch <1>: Attributes. (line 33) * touch: Data Modification Times. (line 15) -* touch, summary: Option Summary. (line 757) +* touch, summary: Option Summary. (line 790) * transform: transform. (line 74) -* transform, summary: Option Summary. (line 763) +* transform, summary: Option Summary. (line 796) * uncompress: gzip. (line 113) -* uncompress, summary: Option Summary. (line 152) +* uncompress, summary: Option Summary. (line 153) * ungzip: gzip. (line 91) -* ungzip, summary: Option Summary. (line 297) +* ungzip, summary: Option Summary. (line 298) * unlink-first: Unlink First. (line 6) * unlink-first, introduced: Dealing with Old Files. - (line 42) -* unlink-first, summary: Option Summary. (line 783) + (line 52) +* unlink-first, summary: Option Summary. (line 816) * unquote: Selecting Archive Members. (line 39) -* unquote, summary: Option Summary. (line 789) +* unquote, summary: Option Summary. (line 822) * update <1>: how to update. (line 6) * update: update. (line 6) * update, summary: Operation Summary. (line 50) -* usage: help. (line 54) -* use-compress-program: gzip. (line 178) -* use-compress-program, summary: Option Summary. (line 793) -* utc, summary: Option Summary. (line 798) +* usage: help. (line 53) +* use-compress-program: gzip. (line 177) +* use-compress-program, summary: Option Summary. (line 826) +* utc, summary: Option Summary. (line 831) * verbose: verbose. (line 18) * verbose, introduced: verbose tutorial. (line 6) -* verbose, summary: Option Summary. (line 802) +* verbose, summary: Option Summary. (line 835) * verbose, using with --create: create verbose. (line 6) * verbose, using with --list: list. (line 30) * verify, short description: verify. (line 8) -* verify, summary: Option Summary. (line 809) +* verify, summary: Option Summary. (line 842) * verify, using with --create: verify. (line 24) * version: help. (line 6) -* version, summary: Option Summary. (line 814) +* version, summary: Option Summary. (line 847) * volno-file: Multi-Volume Archives. (line 79) -* volno-file, summary: Option Summary. (line 819) +* volno-file, summary: Option Summary. (line 852) * warning, explained: warnings. (line 12) -* warning, summary: Option Summary. (line 824) +* warning, summary: Option Summary. (line 857) * wildcards: controlling pattern-matching. (line 38) -* wildcards, summary: Option Summary. (line 829) +* wildcards, summary: Option Summary. (line 862) * wildcards-match-slash: controlling pattern-matching. (line 92) -* wildcards-match-slash, summary: Option Summary. (line 833) +* wildcards-match-slash, summary: Option Summary. (line 866) * xform: transform. (line 74) -* xform, summary: Option Summary. (line 763) +* xform, summary: Option Summary. (line 796) * xz: gzip. (line 96) -* xz, summary: Option Summary. (line 836) - - -File: tar.info, Node: Index, Prev: Index of Command Line Options, Up: Top - -Appendix I Index -**************** - -[index] -* Menu: - -* %s: Directory has been renamed from %s, warning message: warnings. - (line 108) -* %s: Directory has been renamed, warning message: warnings. (line 108) -* %s: Directory is new, warning message: warnings. (line 110) -* %s: directory is on a different device: not purging, warning message: warnings. - (line 113) -* -after-date and -update compared: after. (line 19) -* -newer-mtime and -update compared: after. (line 19) -* A lone zero block at, warning message: warnings. (line 35) -* abbreviations for months: Calendar date items. (line 38) -* absolute file names <1>: Remote Tape Server. (line 17) -* absolute file names: absolute. (line 6) -* Adding archives to an archive: concatenate. (line 6) -* Adding files to an Archive: appending files. (line 6) -* ADMINISTRATOR: General-Purpose Variables. - (line 7) -* Age, excluding files by: after. (line 6) -* ago in date strings: Relative items in date strings. - (line 23) -* all: warnings. (line 28) -* alone-zero-block: warnings. (line 35) -* alternative decompression programs: gzip. (line 54) -* am in date strings: Time of day items. (line 22) -* Appending files to an Archive: appending files. (line 6) -* appending files to existing archive: append. (line 6) -* Arch, excluding files: exclude. (line 37) -* archive: Definitions. (line 6) -* Archive creation: file. (line 34) -* archive member: Definitions. (line 15) -* Archive Name: file. (line 6) -* Archive, creation of: create. (line 8) -* Archives, Appending files to: appending files. (line 6) -* archives, binary equivalent: PAX keywords. (line 132) -* Archiving Directories: create dir. (line 6) -* archiving files: Top. (line 24) -* ARGP_HELP_FMT, environment variable: Configuring Help Summary. - (line 21) -* arguments to long options: Long Options. (line 31) -* arguments to old options: Old Options. (line 17) -* arguments to short options: Short Options. (line 13) -* atrributes, files: Attributes. (line 6) -* Attempting extraction of symbolic links as hard links, warning message: warnings. - (line 77) -* authors of parse_datetime: Authors of parse_datetime. - (line 6) -* Avoiding recursion in directories: recurse. (line 6) -* backup options: backup. (line 6) -* backup suffix: backup. (line 68) -* BACKUP_DIRS: General-Purpose Variables. - (line 29) -* BACKUP_FILES: General-Purpose Variables. - (line 55) -* BACKUP_HOUR: General-Purpose Variables. - (line 11) -* backups <1>: Backups. (line 6) -* backups: backup. (line 41) -* bad-dumpdir: warnings. (line 116) -* basic operations: Operations. (line 6) -* Bazaar, excluding files: exclude. (line 37) -* beginning of time, for POSIX: Seconds since the Epoch. - (line 13) -* bell, checkpoint action: checkpoints. (line 65) -* Bellovin, Steven M.: Authors of parse_datetime. - (line 6) -* Berets, Jim: Authors of parse_datetime. - (line 6) -* Berry, K.: Authors of parse_datetime. - (line 19) -* binary equivalent archives, creating: PAX keywords. (line 132) -* block: Blocking. (line 6) -* Block number where error occurred: verbose. (line 115) -* BLOCKING: General-Purpose Variables. - (line 25) -* blocking factor: Blocking Factor. (line 194) -* Blocking Factor: Blocking Factor. (line 6) -* Blocks per record: Blocking Factor. (line 6) -* bug reports: Reports. (line 6) -* Bytes per record: Blocking Factor. (line 6) -* bzip2: gzip. (line 6) -* cachedir: warnings. (line 43) -* calendar date item: Calendar date items. (line 6) -* case, ignored in dates: General date syntax. (line 64) -* cat vs concatenate: concatenate. (line 63) -* Changing directory mid-stream: directory. (line 6) -* Character class, excluding characters from: wildcards. (line 34) -* checkpoints, defined: checkpoints. (line 6) -* Choosing an archive file: file. (line 6) -* comments, in dates: General date syntax. (line 64) -* compress: gzip. (line 6) -* Compressed archives: gzip. (line 6) -* concatenate vs cat: concatenate. (line 63) -* Concatenating Archives: concatenate. (line 6) -* contains a cache directory tag, warning message: warnings. (line 43) -* contiguous-cast: warnings. (line 74) -* corrupted archives <1>: gzip. (line 146) -* corrupted archives: Full Dumps. (line 8) -* Creation of the archive: create. (line 8) -* Current %s is newer or same age, warning message: warnings. (line 83) -* CVS, excluding files: exclude. (line 37) -* Darcs, excluding files: exclude. (line 37) -* DAT blocking: Blocking Factor. (line 204) -* Data Modification time, excluding files by: after. (line 6) -* Data modification times of extracted files: Data Modification Times. - (line 6) -* date format, ISO 8601: Calendar date items. (line 30) -* date input formats: Date input formats. (line 6) -* day in date strings: Relative items in date strings. - (line 15) -* day of week item: Day of week items. (line 6) -* decompress-program: warnings. (line 89) -* Deleting files from an archive: delete. (line 6) -* Deleting from tape archives: delete. (line 17) -* dereferencing hard links: hard links. (line 6) -* Descending directories, avoiding: recurse. (line 6) -* Device numbers, changing: Fixing Snapshot Files. - (line 6) -* Device numbers, using in incremental backups: Incremental Dumps. - (line 90) -* Directories, Archiving: create dir. (line 6) -* Directories, avoiding recursion: recurse. (line 6) -* Directory, changing mid-stream: directory. (line 6) -* DIRLIST: General-Purpose Variables. - (line 51) -* displacement of dates: Relative items in date strings. - (line 6) -* doc-opt-col: Configuring Help Summary. - (line 94) -* door ignored, warning message: warnings. (line 50) -* dot, checkpoint action: checkpoints. (line 80) -* Double-checking a write operation: verify. (line 6) -* DUMP_BEGIN: User Hooks. (line 32) -* DUMP_END: User Hooks. (line 36) -* DUMP_REMIND_SCRIPT: General-Purpose Variables. - (line 102) -* dumps, full: Full Dumps. (line 8) -* dup-args: Configuring Help Summary. - (line 51) -* dup-args-note: Configuring Help Summary. - (line 68) -* echo, checkpoint action: checkpoints. (line 25) -* Eggert, Paul: Authors of parse_datetime. - (line 6) -* End-of-archive blocks, ignoring: Ignore Zeros. (line 6) -* End-of-archive info script: Multi-Volume Archives. - (line 88) -* entry: Naming tar Archives. (line 11) -* epoch, for POSIX: Seconds since the Epoch. - (line 13) -* Error message, block number of: verbose. (line 125) -* Exabyte blocking: Blocking Factor. (line 204) -* exclude: exclude. (line 12) -* exclude-caches: exclude. (line 93) -* exclude-from: exclude. (line 25) -* exclude-tag: exclude. (line 116) -* Excluding characters from a character class: wildcards. (line 34) -* Excluding file by age: after. (line 6) -* Excluding files by file system: exclude. (line 6) -* Excluding files by name and pattern: exclude. (line 6) -* Exec Mode, genfile: Exec Mode. (line 6) -* exec, checkpoint action: checkpoints. (line 96) -* existing backup method: backup. (line 59) -* exit status: Synopsis. (line 67) -* Extracting contiguous files as regular files, warning message: warnings. - (line 74) -* extracting Nth copy of the file: append. (line 34) -* Extraction: extract. (line 6) -* extraction: Definitions. (line 22) -* file archival: Top. (line 24) -* file attributes: Attributes. (line 6) -* file changed as we read it, warning message: warnings. (line 64) -* file is on a different filesystem, warning message: warnings. - (line 47) -* file is the archive; not dumped, warning message: warnings. (line 58) -* file is unchanged; not dumped, warning message: warnings. (line 55) -* File lists separated by NUL characters: Generate Mode. (line 33) -* file name: Definitions. (line 15) -* File Name arguments, alternatives: files. (line 6) -* File name arguments, using --list with: list. (line 68) -* file name read contains nul character, warning message: warnings. - (line 32) -* file names, absolute: absolute. (line 6) -* File names, excluding files by: exclude. (line 6) -* File names, terminated by NUL: nul. (line 6) -* File names, using hard links: hard links. (line 6) -* File names, using symbolic links: dereference. (line 6) -* File removed before we read it, warning message: warnings. (line 61) -* File shrank by %s bytes, warning message: warnings. (line 44) -* File system boundaries, not crossing: one. (line 6) -* file-changed: warnings. (line 64) -* file-ignored: warnings. (line 50) -* file-removed: warnings. (line 61) -* file-shrank: warnings. (line 44) -* file-unchanged: warnings. (line 55) -* FILELIST: General-Purpose Variables. - (line 65) -* filename-with-nuls: warnings. (line 32) -* find, using with tar <1>: recurse. (line 11) -* find, using with tar: files. (line 6) -* first in date strings: General date syntax. (line 26) -* format 0, snapshot file: Snapshot Files. (line 23) -* format 1, snapshot file: Snapshot Files. (line 47) -* format 2, snapshot file: Snapshot Files. (line 69) -* Format Options: Format Variations. (line 6) -* Format Parameters: Format Variations. (line 6) -* Format, old style: old. (line 6) -* fortnight in date strings: Relative items in date strings. - (line 15) -* free documentation: Free Software Needs Free Documentation. - (line 6) -* full dumps: Full Dumps. (line 8) -* future time stamps: Large or Negative Values. - (line 6) -* general date syntax: General date syntax. (line 6) -* Generate Mode, genfile: Generate Mode. (line 6) -* genfile: Genfile. (line 6) -* genfile, create file: Generate Mode. (line 6) -* genfile, creating sparse files: Generate Mode. (line 55) -* genfile, generate mode: Generate Mode. (line 6) -* genfile, reading a list of file names: Generate Mode. (line 22) -* genfile, seeking to a given offset: Generate Mode. (line 18) -* Getting program version number: help. (line 6) -* git, excluding files: exclude. (line 37) -* GNU archive format: gnu. (line 6) -* GNU.sparse.major, extended header variable: PAX 1. (line 14) -* GNU.sparse.map, extended header variable: PAX 0. (line 60) -* GNU.sparse.minor, extended header variable: PAX 1. (line 17) -* GNU.sparse.name, extended header variable: PAX 0. (line 68) -* GNU.sparse.name, extended header variable, in v.1.0: PAX 1. (line 24) -* GNU.sparse.numblocks, extended header variable: PAX 0. (line 15) -* GNU.sparse.numbytes, extended header variable: PAX 0. (line 21) -* GNU.sparse.offset, extended header variable: PAX 0. (line 18) -* GNU.sparse.realsize, extended header variable: PAX 1. (line 24) -* GNU.sparse.size, extended header variable: PAX 0. (line 11) -* gnupg, using with tar: gzip. (line 193) -* gpg, using with tar: gzip. (line 193) -* gzip: gzip. (line 6) -* hard links, dereferencing: hard links. (line 6) -* header-col: Configuring Help Summary. - (line 140) -* hook: User Hooks. (line 13) -* hour in date strings: Relative items in date strings. - (line 15) -* ignore-archive: warnings. (line 58) -* ignore-newer: warnings. (line 83) -* Ignoring end-of-archive blocks: Ignore Zeros. (line 6) -* Ignoring unknown extended header keyword `%s', warning message: warnings. - (line 86) -* implausibly old time stamp %s, warning message: warnings. (line 72) -* Info script: Multi-Volume Archives. - (line 88) -* Interactive operation: interactive. (line 6) -* ISO 8601 date format: Calendar date items. (line 30) -* items in date strings: General date syntax. (line 6) -* Labeling an archive: label. (line 6) -* labeling archives: Tape Files. (line 6) -* Labeling multi-volume archives: label. (line 6) -* Labels on the archive media: label. (line 6) -* language, in dates: General date syntax. (line 40) -* Large lists of file names on small machines: Same Order. (line 6) -* large values: Large or Negative Values. - (line 6) -* last DAY: Day of week items. (line 15) -* last in date strings: General date syntax. (line 26) -* Laszlo Ersek: lbzip2. (line 6) -* lbzip2: lbzip2. (line 6) -* Listing all tar options: help. (line 27) -* listing member and file names: list. (line 41) -* Listing volume label: label. (line 27) -* Lists of file names: files. (line 6) -* Local and remote archives: file. (line 71) -* long options: Long Options. (line 6) -* long options with mandatory arguments: Long Options. (line 31) -* long options with optional arguments: Long Options. (line 40) -* long-opt-col: Configuring Help Summary. - (line 86) -* lzip: gzip. (line 6) -* lzma: gzip. (line 6) -* lzop: gzip. (line 6) -* MacKenzie, David: Authors of parse_datetime. - (line 6) -* Malformed dumpdir: 'X' never used, warning message: warnings. - (line 116) -* member: Definitions. (line 15) -* member name: Definitions. (line 15) -* members, multiple: multiple. (line 6) -* Members, replacing with other members: append. (line 47) -* Mercurial, excluding files: exclude. (line 37) -* Meyering, Jim: Authors of parse_datetime. - (line 6) -* Middle of the archive, starting in the: Starting File. (line 11) -* midnight in date strings: Time of day items. (line 22) -* minute in date strings: Relative items in date strings. - (line 15) -* minutes, time zone correction by: Time of day items. (line 30) -* Modes of extracted files: Setting Access Permissions. - (line 6) -* Modification time, excluding files by: after. (line 6) -* Modification times of extracted files: Data Modification Times. - (line 6) -* month in date strings: Relative items in date strings. - (line 15) -* month names in date strings: Calendar date items. (line 38) -* months, written-out: General date syntax. (line 36) -* MT: General-Purpose Variables. - (line 69) -* MT_BEGIN: Magnetic Tape Control. - (line 11) -* MT_OFFLINE: Magnetic Tape Control. - (line 32) -* MT_REWIND: Magnetic Tape Control. - (line 21) -* MT_STATUS: Magnetic Tape Control. - (line 42) -* Multi-volume archives: Multi-Volume Archives. - (line 6) -* multiple members: multiple. (line 6) -* Mutli-volume archives in PAX format, extracting using non-GNU tars: Split Recovery. - (line 17) -* Mutli-volume archives, extracting using non-GNU tars: Split Recovery. - (line 6) -* Naming an archive: file. (line 6) -* negative time stamps: Large or Negative Values. - (line 6) -* new-directory: warnings. (line 110) -* next DAY: Day of week items. (line 15) -* next in date strings: General date syntax. (line 26) -* none: warnings. (line 29) -* noon in date strings: Time of day items. (line 22) -* now in date strings: Relative items in date strings. - (line 33) -* ntape device: Many. (line 6) -* NUL-terminated file names: nul. (line 6) -* Number of blocks per record: Blocking Factor. (line 6) -* Number of bytes per record: Blocking Factor. (line 6) -* numbered backup method: backup. (line 55) -* numbers, written-out: General date syntax. (line 26) -* Obtaining help: help. (line 27) -* Obtaining total status information: verbose. (line 46) -* Old GNU archive format: gnu. (line 6) -* Old GNU sparse format: Old GNU Format. (line 6) -* old option style: Old Options. (line 6) -* old options with mandatory arguments: Old Options. (line 17) -* Old style archives: old. (line 6) -* Old style format: old. (line 6) -* opt-doc-col: Configuring Help Summary. - (line 126) -* option syntax, traditional: Old Options. (line 58) -* optional arguments to long options: Long Options. (line 40) -* optional arguments to short options: Short Options. (line 22) -* options for use with --extract: extract options. (line 6) -* Options when reading archives: Reading. (line 6) -* Options, archive format specifying: Format Variations. (line 6) -* Options, format specifying: Format Variations. (line 6) -* options, GNU style: Long Options. (line 6) -* options, long style: Long Options. (line 6) -* options, mixing different styles: Mixing. (line 6) -* options, mnemonic names: Long Options. (line 6) -* options, old style: Old Options. (line 6) -* options, short style: Short Options. (line 6) -* options, traditional: Short Options. (line 6) -* ordinal numbers: General date syntax. (line 26) -* Overwriting old files, prevention: Dealing with Old Files. - (line 16) -* parse_datetime: Date input formats. (line 6) -* pattern, genfile: Generate Mode. (line 39) -* PAX archive format: posix. (line 6) -* Permissions of extracted files: Setting Access Permissions. - (line 6) -* Pinard, F.: Authors of parse_datetime. - (line 19) -* pm in date strings: Time of day items. (line 22) -* POSIX archive format: posix. (line 6) -* Progress information: verbose. (line 83) -* Protecting old files: Dealing with Old Files. - (line 26) -* pure numbers in date strings: Pure numbers in date strings. - (line 6) -* RCS, excluding files: exclude. (line 37) -* Reading file names from a file: files. (line 6) -* Reading incomplete records: Reading. (line 6) -* record: Blocking. (line 6) -* Record Size: Blocking Factor. (line 6) -* Records, incomplete: Reading. (line 6) -* Recursion in directories, avoiding: recurse. (line 6) -* relative items in date strings: Relative items in date strings. - (line 6) -* Remote devices: file. (line 60) -* remote tape drive: Remote Tape Server. (line 6) -* Removing files from an archive: delete. (line 6) -* rename-directory: warnings. (line 108) -* Replacing members with other members: append. (line 47) -* reporting bugs: Reports. (line 6) -* RESTORE_BEGIN: User Hooks. (line 39) -* RESTORE_END: User Hooks. (line 42) -* Resurrecting files from an archive: extract. (line 6) -* Retrieving files from an archive: extract. (line 6) -* return status: Synopsis. (line 67) -* rmargin: Configuring Help Summary. - (line 158) -* rmt: Remote Tape Server. (line 6) -* RSH: General-Purpose Variables. - (line 72) -* RSH_COMMAND: General-Purpose Variables. - (line 77) -* Running out of space: Scarce. (line 8) -* Salz, Rich: Authors of parse_datetime. - (line 6) -* SCCS, excluding files: exclude. (line 37) -* short options: Short Options. (line 6) -* short options with mandatory arguments: Short Options. (line 13) -* short options with optional arguments: Short Options. (line 22) -* short-opt-col: Configuring Help Summary. - (line 78) -* simple backup method: backup. (line 64) -* SIMPLE_BACKUP_SUFFIX: backup. (line 68) -* sleep, checkpoint action: checkpoints. (line 90) -* SLEEP_MESSAGE: General-Purpose Variables. - (line 111) -* SLEEP_TIME: General-Purpose Variables. - (line 97) -* Small memory: Scarce. (line 8) -* snapshot file, format 0: Snapshot Files. (line 23) -* snapshot file, format 1: Snapshot Files. (line 47) -* snapshot file, format 2: Snapshot Files. (line 69) -* snapshot files, editing: Fixing Snapshot Files. - (line 6) -* snapshot files, fixing device numbers: Fixing Snapshot Files. - (line 6) -* socket ignored, warning message: warnings. (line 50) -* Sparse Files: sparse. (line 6) -* sparse files v.0.0, extracting with non-GNU tars: Sparse Recovery. - (line 92) -* sparse files v.0.1, extracting with non-GNU tars: Sparse Recovery. - (line 92) -* sparse files v.1.0, extracting with non-GNU tars: Sparse Recovery. - (line 17) -* Sparse files, creating using genfile: Generate Mode. (line 55) -* sparse files, extracting with non-GNU tars: Sparse Recovery. - (line 6) -* sparse formats: Sparse Formats. (line 6) -* sparse formats, defined: sparse. (line 50) -* sparse formats, Old GNU: Old GNU Format. (line 6) -* sparse formats, v.0.0: PAX 0. (line 6) -* sparse formats, v.0.1: PAX 0. (line 52) -* sparse formats, v.1.0: PAX 1. (line 6) -* sparse versions: Sparse Formats. (line 6) -* Specifying archive members: Selecting Archive Members. - (line 6) -* Specifying files to act on: Selecting Archive Members. - (line 6) -* Standard input and output: file. (line 39) -* Standard output, writing extracted files to: Writing to Standard Output. - (line 6) -* Storing archives in compressed format: gzip. (line 6) -* SVN, excluding files: exclude. (line 37) -* Symbolic link as file name: dereference. (line 6) -* symlink-cast: warnings. (line 77) -* TAPE: file tutorial. (line 14) -* tape blocking: Blocking Factor. (line 194) -* tape marks: Many. (line 44) -* tape positioning: Many. (line 26) -* TAPE_FILE: General-Purpose Variables. - (line 19) -* Tapes, using --delete and: delete. (line 17) -* TAR: General-Purpose Variables. - (line 115) -* tar: What tar Does. (line 6) -* tar archive: Definitions. (line 6) -* Tar archive formats: Formats. (line 6) -* tar entry: Naming tar Archives. (line 11) -* tar file: Naming tar Archives. (line 11) -* tar to a remote device: file. (line 60) -* tar to standard input and output: file. (line 39) -* tar-snapshot-edit: Fixing Snapshot Files. - (line 15) -* TAR_ARCHIVE, checkpoint script environment: checkpoints. (line 108) -* TAR_ARCHIVE, info script environment variable: Multi-Volume Archives. - (line 108) -* TAR_ARCHIVE, to-command environment: Writing to an External Program. - (line 76) -* TAR_ATIME, to-command environment: Writing to an External Program. - (line 49) -* TAR_BLOCKING_FACTOR, checkpoint script environment: checkpoints. - (line 111) -* TAR_BLOCKING_FACTOR, info script environment variable: Multi-Volume Archives. - (line 111) -* TAR_BLOCKING_FACTOR, to-command environment: Writing to an External Program. - (line 79) -* TAR_CHECKPOINT, checkpoint script environment: checkpoints. (line 114) -* TAR_CTIME, to-command environment: Writing to an External Program. - (line 58) -* TAR_FD, info script environment variable: Multi-Volume Archives. - (line 125) -* TAR_FILENAME, to-command environment: Writing to an External Program. - (line 37) -* TAR_FILETYPE, to-command environment: Writing to an External Program. - (line 22) -* TAR_FORMAT, checkpoint script environment: checkpoints. (line 121) -* TAR_FORMAT, info script environment variable: Multi-Volume Archives. - (line 121) -* TAR_FORMAT, to-command environment: Writing to an External Program. - (line 85) -* TAR_GID, to-command environment: Writing to an External Program. - (line 67) -* TAR_GNAME, to-command environment: Writing to an External Program. - (line 46) -* TAR_MODE, to-command environment: Writing to an External Program. - (line 34) -* TAR_MTIME, to-command environment: Writing to an External Program. - (line 55) -* TAR_OPTIONS, environment variable: using tar options. (line 30) -* TAR_REALNAME, to-command environment: Writing to an External Program. - (line 40) -* TAR_SIZE, to-command environment: Writing to an External Program. - (line 61) -* TAR_SUBCOMMAND, checkpoint script environment: checkpoints. (line 117) -* TAR_SUBCOMMAND, info script environment variable: Multi-Volume Archives. - (line 117) -* TAR_UID, to-command environment: Writing to an External Program. - (line 64) -* TAR_UNAME, to-command environment: Writing to an External Program. - (line 43) -* TAR_VERSION, checkpoint script environment: checkpoints. (line 105) -* TAR_VERSION, info script environment variable: Multi-Volume Archives. - (line 105) -* TAR_VERSION, to-command environment: Writing to an External Program. - (line 73) -* TAR_VOLUME, info script environment variable: Multi-Volume Archives. - (line 114) -* TAR_VOLUME, to-command environment: Writing to an External Program. - (line 82) -* tarcat: Tarcat. (line 6) -* this in date strings: Relative items in date strings. - (line 33) -* time of day item: Time of day items. (line 6) -* time stamp %s is %s s in the future, warning message: warnings. - (line 72) -* time zone correction: Time of day items. (line 30) -* time zone item <1>: Time zone items. (line 6) -* time zone item: General date syntax. (line 44) -* timestamp: warnings. (line 72) -* today in date strings: Relative items in date strings. - (line 33) -* tomorrow in date strings: Relative items in date strings. - (line 29) -* ttyout, checkpoint action: checkpoints. (line 70) -* TZ: Specifying time zone rules. - (line 6) -* Ultrix 3.1 and write failure: Remote Tape Server. (line 40) -* Unknown file type `%c', extracted as normal file, warning message: warnings. - (line 80) -* Unknown file type; file ignored, warning message: warnings. (line 50) -* unknown-cast: warnings. (line 80) -* unknown-keyword: warnings. (line 86) -* unpacking: Definitions. (line 22) -* Updating an archive: update. (line 6) -* usage-indent: Configuring Help Summary. - (line 154) -* Using encrypted archives: gzip. (line 193) -* ustar archive format: ustar. (line 6) -* uuencode: Applications. (line 8) -* v7 archive format: old. (line 6) -* VCS, excluding files: exclude. (line 37) -* Verbose operation: verbose. (line 18) -* Verifying a write operation: verify. (line 6) -* Verifying the currency of an archive: compare. (line 6) -* version control system, excluding files: exclude. (line 37) -* Version of the tar program: help. (line 6) -* version-control Emacs variable: backup. (line 49) -* VERSION_CONTROL: backup. (line 41) -* volno file: Multi-Volume Archives. - (line 79) -* VOLNO_FILE: General-Purpose Variables. - (line 82) -* Volume label, listing: label. (line 27) -* Volume number file: Multi-Volume Archives. - (line 79) -* week in date strings: Relative items in date strings. - (line 15) -* Where is the archive?: file. (line 6) -* Working directory, specifying: directory. (line 6) -* Writing extracted files to standard output: Writing to Standard Output. - (line 6) -* Writing new archives: file. (line 34) -* xdev: warnings. (line 47) -* XLIST: General-Purpose Variables. - (line 87) -* xsparse: Sparse Recovery. (line 13) -* year in date strings: Relative items in date strings. - (line 15) -* yesterday in date strings: Relative items in date strings. - (line 29) - +* xz, summary: Option Summary. (line 869) diff --git a/doc/tar.info-3 b/doc/tar.info-3 new file mode 100644 index 0000000000000000000000000000000000000000..f6db65575ec264e2140805349a307bdd4c1e4cc4 GIT binary patch literal 45058 zcmd5_d2idulHWfc{3W(Az#uaZme;a#`t1S7mJ{#zf@NoB-eQrZCEDg%BDEyt#QF65 ztE%oMn@3a0lav@ie26MlS65Zn-BiJfGSKX$`l;4ntpQEjfjVppN4dQt)AyBtTs@|PltN#JaXX+R8*8bMct4+1@ zTn)on9!_t-!%z*A+x%0I zh8su8JRS!*R<)^)>LN_1QO1kKTJF*y&OwVjQ6qffrW!|Co<=wGJS0T_1xuYK zw|};@{M#D8J{AKaL-RG{Um55hGfDrf#sw zcj_lX>|Gd#DfaP#z>fqMjoDAwDFfsvP2#+FkYIDw6?V(Q*ypW3WoEz|KqG-+-}yEe zJveU+z<;s&CHNI+Op;GqO6@bP4Y_~@(M7;uOQLu*nUAqOOeHF5Aw63dp@fJq?ou=Uf% z#_`$FdGGM}vNs$YTpgdEseR^TkbGl!wSRflvkwf;t}g%F_^Y}K(mnMH#OGH~qxN+g zJkWOK!7Nn2fH%OB55KBHJO*cnRgiTYj^lCk7>!9}=Xo@V@+i#O&;cSE9sC5cKPDq) z*(T%^Wa%+s1c{wk2W)LLq4duiM-c8kRwSZ%)LAmdAAnl;c@vVDhL8F;;)R1`3Yv}~ zCvm9GXUw^H>Uy@Pu9Dft#{O&;Vo{&fu|U}PYvpTWEd)tk@w=TS19LCKHzWJ&x~m0e|xI4T$rhyy^=Jev9- zbpzU0lLVXjB}@}_Gf74dD#(4*C}?iBPwl=SjDnjR2tdS=CWq=2I`UkVG7L-f*BgUY5`OQ zLZ}5d@_7!uH6X>iwm%+|92u2G$}|8=$pK%093?Rn4Wuv+3s_Bn#7Yn-qFlj^rLRC# z13r?U6ksl(!_(ul!OUAPGo zh>kfTldSIMsfw157lqEjT|%cMa|W3$@m-aBcy*T{ObeJ+in*uyjwLN^hgC^1nN*kI z5Lo|W6>IrLytr(-kQg9B1R;N$5>b&C+%VkUq%l&bRP&H&a)hATfi%p5-Ok zBNXMa%Hmwj5e%0)N0k6pxI`ctK&-B{Vg{g_C=OsEh5t8?9_if4OK{Z1{vYZgeEO86 z<6_$cP=8lAo0mrHXUr{Fon;WRL$Wj&7<2-euLg{)a;$@pcfl?!LC}yipdH@+{mXY3 zAKwp7EtUONoJ4tbM0Ff{9_e}7LFVS4yXbW=okTMYN*rfX?l~uRa7vg z9}q;yV8^Fp`ORm3EyWmBuSC1eb5Mf)d>Efu_>m4?GAP~E?zcU*ByQ4_dQ2iVAK=%_ zC3r)ofHvc;+{vpICF#i84IK9Qta0PbzR`Di%rd0B)C4G--`+-_U6L#c=p`$*xBCab zU0-~JOFe7{vwCA~haCrv%+c}5z=w^FtE|j&e8B>%k$Hc9?J;6kPZ@D!g(Dh$jq-lK zW&SElJYH>JoQ8v<493ra&sj0v1moU#KAk}de2n8U8vEic-UJy`O)^8MjIERwXy^8U zl3X}TdmDTSg0$1N>b9(ILb%-=ouDWqbPg0PVnY|_!{a|n*dgSX#N$k5h@weAYcNYj z_e;_|qU;gIo4|Ux4@VEPBtm=uk=zCot$3ic_nJ5_g_{8=d5jRB9p>R9A~L62rKQ-- zUynY0i&#gF|?b1F320xK0 zXgLH+N3i>wL3IPVnco4z3&4C)MbAq+xDR5A8e8)ena60{L&z!&O4`;KuTKS-ir@nf zJTQpky`qr5jb`Z52%bl2L&i$t9hUb ztvh^nK$Zfm*PppQg408kiO&$1Wku8$|LC^y53v?Ur!|9G z0MP!G#QmBQCKEKvIE)Ol{K<=L6K| zNG0l$LQdX~2(2PgYH<-xDqbi~wkk#$s&hEbXsk1Y7E$-3qmLS3ca-svYY4Q@1^_VE z*d(lAbQFCijE8YBLp(ZHM^qoSr09j5u~kIoY`wv_LBu2t$<{&1j1Fy4bxQF^IhK|a zP=3QwdRRnjk;E~{lL|?cIN8Wvw&zP6KxS{qXOqaVfw;gnnKF=Khnh@v!wc<}I)b++ z$hVtMHkzyYebt`z3yuq-f@(GiM!dU{n}ruyM{O;6a^XVM5cZJ$>5UR^zWiXdc_|4O zj1!nW+Ffk0dd!yj^xz9QbP^n%h0D|u7c4zdGV-)$el2p5pgJ+^F(^_8f%=r9cA*H! z%HAQqgUZa3>LOGf6@Perdhzk?;N9_AeYefJ@clZ2NBKTU9!dxqK$6*HK&W!_g6RMx zh7e(NIY2ea;m6^@|$^6`AuLwd78rb<*+t4_0O zVb{3yP_93W2y9RyyVgl=?erc#35?;#mR2mFU?hjb^ULdODxvQSSqa+~AtY zF}XCO;59pyIQ7$7{Z*M;?|lw#5O(eID7(E$?YJ8LC=;aov(LZnv){LRS4b^J;@$ufL(HBs)M{9WJ{oDYQ3piDs?AvjA5@x(urAR$nBCnRw0iqhC z7wk#`P_D8($mi{BjrR8NA^n zjsY^DdQ$-XSyX@z-g4OIIkU7uq!ji28}}rT85@p$Xc*ae!Kb|eG>|cw)3~kf?E0io)(~W|=5d6Q($egxX}rtl5MxBjux-C(*L{2_!7;{& zN>mXz($$6t))XbsTC33Kxyl0{;7A4o67^gFl2}QvM@!~ju{~bBD_|Con80>v!hWQT zIK>gqCk2gsd$$}G5;x8wLm@2P#?U}=^OCc$X7T`#99X1jnXDWPm;Lgc_c{-4=?p+P z0byU3n5aMv)N+t1i>aKhWk9k|MRc!#Q;G$a;I%GI0J*i78dwoxG#uT?LI|m$i4al| z!X^$E)LoM?tVIJyu}!oK=|sV!K7%aC>OV(M)P=8o^7U zP#~6v&Vv$h^j11Fx`q58Jb@5qW7=51#o*^knpv7vu00)lDeaO0V7}Yq*!+RMYd{iv zVT?4fzY&lSn*j;2J#f5B6Jj$Ut72PWd6&kiLn^&oAeOk|kcpC-HCh#^#U3@h_8^wc zcA9ThMis?4vP8h7c^2kay=}`EvK5yTwF@;s4b&#YT}CWeNHoZ8ltQg{_7iD3>#ifW zZbW)_B;%yEH&tfh`1I*jq$)vvVQtOSQoXMMp~?H30ZB|q140k^Hv@Xb2lWvr(@a@? zbw#oS{I4J5_A%S$;%E^4#0887I16Y7Z-%ufpiM=609pQ2C$k`hm%DTts=QtL*)CX=K z!m*72Phia<{GDQTchbuCA(+gU76cRdhcC^e0XTP@v0yhLeBAYMcRuD1$EJz<9aUJy1m^xHt z9@2n;nu=`n9L&LQca0Xm$>ud76tGQBjy3&V`hlBW5CceDSc_4H%sK(0zC?A0E<9?$ zxy?ce%KDbpXZPw|m~%EN2Ba2jYl~Fx(zXVS&tP8U7(sUV(+>Hi0qp#I1WmBY2xrL42Vk#AGi8j+k0F* z4%9RtIsMCkQ0h(bYxcGlp_Cyu8;})1;yWxzaf1;%A|*f~5nn+igOP|x!ADR?lPvnu zNpQPy2BRt;Edr!z*Tjkh@6S+S=-Q)oDe+WQVgwIW9^EYh##`rU0HH#=jzA&y`X>)Y z+QlyXU@G-36~?&Gi^odRrim@8Rz$ojXTRbsXa70NJ<5(BT>NX4p+ERC+tST*pUi3I zi#F$5hX}0E>=Sp`q!(Kk>2t9p&Zhx!X=f`Ke-*4$cycC_jzp;XdgjxD=Ep)`!qWnp z#}9GxDX!^#-CwPq{hU4X#W$7{6no9di)f1C7zqB&1mSpi5rr{|P>T-<@Ryd4R~!UC zrb%KA`P&L-u0EZ6jG124CqNSfY!jc|CW{Vw*UV#u$U72mDnXlz@~tVc?lMsqEsKU- znEs)=Otf(zNS#n(^TFdGJ5@Xbdsd5TJPFVh$ku1Q?y-c{gdQtsEw4Bf=O-ADR2MY+ zLo&tY2=;9`q~QRv7)`l);8Cgvv=vxD?Z$`!@l2#r;sF`HaTJs()eUHZaN(RQ%eA^K zuqcs8oBYkhe$H|x-k{_i95bH=H)T`IV8OIL)Mmt#8y`|K;5@~_$8>jSgbX0uN=$ly zD_LGk86Et*7Vi`NJh?jD|I>p9q2(*ORnXJS}0YlOX#tNz?$H{=TDj!mVT# zrgq7^ShLvzfWlx#^YFOEw;n4r+qT;3k{xyzCJrh)wP{lt7pmNsip%;m9Pxz8fINHe z+pbq^c%GQaH(-CN&_Q`662vvW_PL!qd>)cukp_~HF9NYL+w)M`(G5mg z_ppX&SfWpJ2(bwe_ewP3VepaJGi80quQ;4|g2{dpUJ<1Vpv-Ifkl#Ze)3!7rcKi5} z0v-J1n`I&gM;VZepQIsx0Z;0)Da<`DAQ_5M2P6zY>opln5Z{N9Sk?q+f!f>^*AI$m zHd&SrH2E@hPAg}ZieI{&smYgQIbPXmF#0WwzeI3+4+Bi9Y!D2>YdsZ>r@@4*D1>n+ zsEg|MJ@xF5XBeo6>Nxns{^EkA*y4KdM8}vavs2xL09tubD5r(83~Nz9@B`S6nziK@ z%&U&taCFZpPv8O|G=ifTpENAzy%LyJn6fLcqK%Aa`8i+;waQ1&X_%s~Aqp^r!WSI$ z)sab9@HBiv1vw3~^bUPk6AMP;F~YUF9!l$F2?(PWfu>4!nNn+v3T+cE7b#n?F2>N(xg3(>TsHy4~>NJ z_o0qt?~g{98CV(}z1)^0VDl{vmW-k+VpTxRYed&yrK^)Dw%j%GEYnWj!BEmQjHVR7 zKrkYO$OEaxm#xRUyiPL*Z)Hp?0wd^2K`gqL%-wQz%|bqlRR*`7HuruwEQnt;pp}i5 zddZcir&kL!$|!Xj+{I{i9Ek@GBPdUk$&zxbqQ8L1`O(qI@!7z4aIF*(sn7r-mxJHY zsN=#+?_{UQ_FsXyLd%>6L1D+k!RSwY+CC*$lpbWW8GkUU@pMbn3GN$Tv8v8<5m) zP#v#K3;mV`7tX~CAWAEFttX%HB%FPILv`fjMN&ksRcgD#eFdOAq27P!B6Qz?M@9Xc zCKFGeoO;f2Lz=fsr$R@iNq3cr0c1*xS}In|V@LeD>k0}(QZ`SbV7}5o@1Wo+AT*ND z9WjkTIxisUlOvqDO3_fM7N2FA1LDq^&3|+b?gEf(Qwsxh1EMZ`>c;=Bo%nr;Je$4Z z+B6MluTKl;~w+kvc)Db}C&}ZY!>F!`?Goae2Xy1frQTqZ&?zuofO}MDn z(=A$d_w?^3crVLymZleuOQrY<7f=W)pdQA)L^&2-DdA_q zSy3SAX7-IqH|xQ71f)8~Q0e~Q_F`gzCbR*tQlp(=#9a<^kYDEtd?TH4`%8pznC_RO zJ}&G%a?L?D{nj;w5HDy(FWNwk{1by$9mf8nvkh(i7 zqfhQq^}4Jek`eEZUPtV61wFok3JE>Th#DlPs-AfP5Hv z;sY9xV1!eqpmr0$Zejya<8>CW)5rFjc)};7{G5jm%n{-q1>g|8AbE) zkwpJ70$eADbw;=`NxVRoSjLUh+Aw^)o!H$Y$1ev%+!;6M%8vLdt;O^(fI7yA`2a~6 z{xZyHcC8#ktOvD*bZalQFXgh5BO;d}@?RLt*uenZfN*ufJVotc$KaCgu_YK)O7}}P z^Rs2_RhQUH`FJ{Q%A^L$dIeK~yp@!7WQW1z%ci=-J<|NbVM zHPyaz`@*_iO9zlAg4YB|(^)bc4S)o_a;ym{G0%-*5)WcP-DP$wuCjZ@%#%?E1V&_e zL)-rQhhB0w*6{fB;shs!++Q`kK00zP=P`Wf8v`XhblD^f(G^(C1#F(BS-f5<`_%g- z6K01egTcke)4_1K|8CIEK`WMaee`!2~o~F*526tDd3M$-_kQPX6mwJ@m z0KrK>^91?ORg6|Y{ke(=ZmJ{eM@(|#PVXTSw(2p|8M;|ROxuuKS{k~nWUo91vy#Ct zL+L-~*j<&LrTx}j%cZ~IM{|U7K*402C25WVZWi zdfk#pF(+Ol4+|h__ien{M?TMWjEpddRJj;!a%K~`-Kv05)SObjf|3U4#fSx~3PvtZ zbDFbBP&)zDRJtF~3rDgHjdTaTs~H54?Kw9uHerOIDP5=Cx^3ONHnbTx8|$^@;O3L@ zeTe%L#OK}D89QB4zSKBo2^n#%X$-~)?uqM^t_hi(nqd$!lsh_TQYxxVajS>RL4;_9 zn=SW9>;YBd0!ZF2q16<7rCw z6nigU0#3fuU9KFy+Q0A{%OW3)XFex_2DZOeV@dJBvlhcqmMKst_6Z#+N#|O$$e3<6$Y-H#l4wG}kgY8Wjr{#_To68`%1fdOJ9jH|TiC6Ytmx`4o9fOz(j4)eEECemlM zDSb&35JmumsI2!8@d1+41AuzQbLx@r*1X15dQD>aLMT4&UmmPdFpS@D>L`+55tiDW;cL0^{9Vmk+&2m~{MSH)`^IRN+@&x5*Q>w8m<3mI*9nGl0 z9$;!zN+lymOW$FT;F6AKiHb2s6s$oZS}Q(l!brjqgps+i_v6w20n##G#RW@h)Z{wW zMqIu#BXLHz5wW%nTnjtBX7xyT9lReL{C07Ee0KF!`=<45U&hNZpdW-UMb8pOM~9U9 zw)1bwa=RuyBBKHr7uZ5)`(D9a%f`#$VKBP-^TMY})`F45M;W8@%hUa@WJ59^^eH0M z%w<5|dGoF8AL)g)iTt__k=Gn$CknkghHQAySr2)Rr+uKZuHbVfpC%;_CSPjH=8EGq0puiALgfk=?74req*%D_uIjX=#^({gVz3 zSc^82Y7W9^c>MPtV*BMjYsTpMt*#RIrlVRKSF3=&ua49XI>>$fqi7^fybzVHJNR*3 z@-LTl6Gk5fmqUo#*X_QQw*EF(TRVWh@9u9~Jz`hZekQF&{9jo|;=}pLHJNMQmqJpq z&s(PPX(!NnPNUacRRML5%g38T4q!O*b;XZWA|hJ%OUx+0$2CUXJ*;b~2$j}TZhl7L z6W_93zD><6O1}HLYW31+&Kd$e)0w`{9+#x>T4`pX44H4pG28g_QaocN1!laa%50W~ z&GW5Ej_Lvsjj3$78>2)V{yd&$DGcE5I}yh|(SVBp(xKGGZffc9B#fBItuPppC9A-d z|20OMMhWkD*VNs0a$`Iy><*b-X%yMMd% zE|n601?Q#n<+VhKq+U-@bNgBCZuNN%-zVhSAfZ7tL8C?qPhVB3%&EK9BZMXQ^Mn@m zXFrcHG`PsXEGpx$hpjN_ZfC{U%l5!yfqJYV)gsvoas7(c|hPq$>-!3XXPJys3!JF0D-1$SW& zHvn4jpULL^cmxtVaLD zk5$fllEChf$?piMZkJd}vJ4qb*^^J&d zFhWv>$6cub#w(*nEWIzE^X2yr+A<)n%`xPZ=J~919vqbX|HT2^Xkd_33u`Q zC@zbP(fb|KI?=41@wL5L#s5d0#=fMo2-WXN%GV6p$xCR(w}oH@K>Ko8vpPD}IO~Ps zLmv(VOQ~;DHD#V%acPtJ7)+Kj2S@c7BuV!XNp3p+jO2eoi;9{kel0Ah;&0|Cl*@Df zSl|Xlym#et%2AllQeN4$FkLxFt)(~<^zbFU_0o>=6hf!}ARfJl#}gdHFzxj2*5*fT GZ2Uh?x&Gw< literal 0 HcmV?d00001 diff --git a/doc/tar.texi b/doc/tar.texi index db8f986e..9fde5a07 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -13,9 +13,9 @@ @c Maintenance notes: @c 1. Pay attention to @FIXME{}s and @UNREVISED{}s @c 2. Before creating final variant: -@c 2.1. Run `make check-options' to make sure all options are properly +@c 2.1. Run 'make check-options' to make sure all options are properly @c documented; -@c 2.2. Run `make master-menu' (see comment before the master menu). +@c 2.2. Run 'make master-menu' (see comment before the master menu). @include rendition.texi @include value.texi @@ -36,21 +36,20 @@ This manual is for @acronym{GNU} @command{tar} (version @value{VERSION}, @value{UPDATED}), which creates and extracts files from archives. -Copyright @copyright{} 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, -2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright @copyright{} 1992, 1994--1997, 1999--2001, 2003--2013 Free +Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', -and with the Back-Cover Texts as in (a) below. A copy of the license -is included in the section entitled ``GNU Free Documentation -License''. +any later version published by the Free Software Foundation; with the +Invariant Sections being ``GNU General Public License'', with the +Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts +as in (a) below. A copy of the license is included in the section +entitled ``GNU Free Documentation License''. (a) The FSF's Back-Cover Text is: ``You have the freedom to -copy and modify this GNU manual. Buying copies from the FSF -supports it in developing GNU and promoting software freedom.'' +copy and modify this GNU manual.'' @end quotation @end copying @@ -647,9 +646,9 @@ If you find problems or have suggestions about this program or manual, please report them to @file{bug-tar@@gnu.org}. When reporting a bug, please be sure to include as much detail as -possible, in order to reproduce it. @FIXME{Be more specific, I'd -like to make this node as detailed as 'Bug reporting' node in Emacs -manual.} +possible, in order to reproduce it. +@FIXME{Be more specific, I'd like to make this node as detailed as +'Bug reporting' node in Emacs manual.} @node Tutorial @chapter Tutorial Introduction to @command{tar} @@ -694,8 +693,8 @@ file system. You should have some basic understanding of directory structure and how files are named according to which directory they are in. You should understand concepts such as standard output and standard input, what various definitions of the term @samp{argument} mean, and the -differences between relative and absolute file names. @FIXME{and what -else?} +differences between relative and absolute file names. +@FIXME{and what else?} @item This manual assumes that you are working from your own home directory @@ -1438,7 +1437,7 @@ example: @smallexample @group $ @kbd{tar --create --verbose --file archive /etc/mail} -tar: Removing leading `/' from member names +tar: Removing leading '/' from member names /etc/mail/ /etc/mail/sendmail.cf /etc/mail/aliases @@ -1801,13 +1800,14 @@ and @option{--interactive} options (@pxref{interactive}). * Synopsis:: * using tar options:: * Styles:: -* All Options:: -* help:: -* defaults:: -* verbose:: -* checkpoints:: -* warnings:: -* interactive:: +* All Options:: All @command{tar} Options. +* help:: Where to Get Help. +* defaults:: What are the Default Values. +* verbose:: Checking @command{tar} progress. +* checkpoints:: Checkpoints. +* warnings:: Controlling Warning Messages. +* interactive:: Asking for Confirmation During Operations. +* external:: Running External Commands. @end menu @node Synopsis @@ -1881,6 +1881,7 @@ The other operations of @command{tar} (@option{--list}, @option{--extract}, @option{--compare}, and @option{--update}) will act on the entire contents of the archive. +@anchor{exit status} @cindex exit status @cindex return status Besides successful exits, @GNUTAR{} may fail for @@ -2117,12 +2118,20 @@ end up overwriting files. @subsection Old Option Style @cindex options, old style @cindex old option style +@cindex option syntax, traditional -Like short options, @dfn{old options} are single letters. However, old options +As far as we know, all @command{tar} programs, @acronym{GNU} and +non-@acronym{GNU}, support @dfn{old options}: that is, if the first +argument does not start with @samp{-}, it is assumed to specify option +letters. @GNUTAR{} supports old options not only for historical +reasons, but also because many people are used to them. If the first +argument does not start with a dash, you are announcing the old option +style instead of the short option style; old options are decoded +differently. + +Like short options, old options are single letters. However, old options must be written together as a single clumped set, without spaces separating -them or dashes preceding them@footnote{Beware that if you precede options -with a dash, you are announcing the short option style instead of the -old option style; short options are decoded differently.}. This set +them or dashes preceding them. This set of letters must be the first to appear on the command line, after the @command{tar} program name and some white space; old options cannot appear anywhere else. The letter of an old option is exactly the same letter as @@ -2146,7 +2155,7 @@ $ @kbd{tar cvbf 20 /dev/rmt0} Here, @samp{20} is the argument of @option{-b} and @samp{/dev/rmt0} is the argument of @option{-f}. -On the other hand, this old style syntax makes it difficult to match +The old style syntax can make it difficult to match option letters with their corresponding arguments, and is often confusing. In the command @w{@samp{tar cvbf 20 /dev/rmt0}}, for example, @samp{20} is the argument for @option{-b}, @samp{/dev/rmt0} is the @@ -2172,8 +2181,6 @@ the value for option @samp{f} and recognizes the option @samp{z}. The second example, however, uses @file{z} as the value for option @samp{f} --- probably not what was intended. -Old options are kept for compatibility with old versions of @command{tar}. - This second example could be corrected in many ways, among which the following are equivalent: @@ -2183,16 +2190,6 @@ following are equivalent: @kbd{tar cf archive.tar.gz -z file} @end smallexample -@cindex option syntax, traditional -As far as we know, all @command{tar} programs, @acronym{GNU} and -non-@acronym{GNU}, support old options. @GNUTAR{} -supports them not only for historical reasons, but also because many -people are used to them. For compatibility with Unix @command{tar}, -the first argument is always treated as containing command and option -letters even if it doesn't start with @samp{-}. Thus, @samp{tar c} is -equivalent to @w{@samp{tar -c}:} both of them specify the -@option{--create} (@option{-c}) command to create an archive. - @node Mixing @subsection Mixing Option Styles @@ -2259,7 +2256,8 @@ respectively. The first two examples also specify a single non-option, @var{name} argument having the value @samp{archive.tar}. The last example contains only old style option letters (repeating option @samp{c} twice), not all of which are meaningful (eg., @samp{.}, -@samp{h}, or @samp{i}), with no argument value. @FIXME{not sure i liked +@samp{h}, or @samp{i}), with no argument value. +@FIXME{not sure i liked the first sentence of this paragraph..} @node All Options @@ -2366,8 +2364,9 @@ exist in the archive. @xref{update}. @itemx -P Normally when creating an archive, @command{tar} strips an initial -@samp{/} from member names. This option disables that behavior. -@xref{absolute}. +@samp{/} from member names, and when extracting from an archive @command{tar} +treats names specially if they have initial @samp{/} or internal +@samp{..}. This option disables that behavior. @xref{absolute}. @opsummary{after-date} @item --after-date @@ -2717,9 +2716,9 @@ tutorial}). @item --group=@var{group} Files added to the @command{tar} archive will have a group @acronym{ID} of @var{group}, -rather than the group from the source file. @var{group} is first decoded -as a group symbolic name, but if this interpretation fails, it has to be -a decimal numeric group @acronym{ID}. @xref{override}. +rather than the group from the source file. @var{group} can specify a +symbolic name, or a numeric @acronym{ID}, or both as +@var{name}:@var{id}. @xref{override}. Also see the comments for the @option{--owner=@var{user}} option. @@ -2762,7 +2761,7 @@ Ignore exit codes of subprocesses. @xref{Writing to an External Program}. @item --ignore-failed-read Do not exit unsuccessfully merely because an unreadable file was encountered. -@xref{Reading}. +@xref{Ignore Failed Read}. @opsummary{ignore-zeros} @item --ignore-zeros @@ -2787,14 +2786,14 @@ Send verbose output to @var{file} instead of to standard output. @opsummary{info-script} @opsummary{new-volume-script} -@item --info-script=@var{script-file} -@itemx --new-volume-script=@var{script-file} -@itemx -F @var{script-file} +@item --info-script=@var{command} +@itemx --new-volume-script=@var{command} +@itemx -F @var{command} -When @command{tar} is performing multi-tape backups, @var{script-file} is run -at the end of each tape. If @var{script-file} exits with nonzero status, +When @command{tar} is performing multi-tape backups, @var{command} is run +at the end of each tape. If it exits with nonzero status, @command{tar} fails immediately. @xref{info-script}, for a detailed -discussion of @var{script-file}. +discussion of this feature. @opsummary{interactive} @item --interactive @@ -2805,6 +2804,21 @@ Specifies that @command{tar} should ask the user for confirmation before performing potentially destructive options, such as overwriting files. @xref{interactive}. +@opsummary{--keep-directory-symlink} +@item --keep-directory-symlink + +This option changes the behavior of tar when it encounters a symlink +with the same name as the directory that it is about to extract. By +default, in this case tar would first remove the symlink and then +proceed extracting the directory. + +The @option{--keep-directory-symlink} option disables this behavior +and instructs tar to follow symlinks to directories when extracting +from the archive. + +It is mainly intended to provide compatibility with the Slackware +installation scripts. + @opsummary{keep-newer-files} @item --keep-newer-files @@ -2815,7 +2829,10 @@ when extracting files from an archive. @item --keep-old-files @itemx -k -Do not overwrite existing files when extracting files from an archive. +Do not overwrite existing files when extracting files from an +archive. Return error if such files exist. See also +@ref{--skip-old-files}. + @xref{Keep Old Files}. @opsummary{label} @@ -3086,8 +3103,8 @@ from an archive. @xref{Overwrite Old Files}. Specifies that @command{tar} should use @var{user} as the owner of members when creating archives, instead of the user associated with the source -file. @var{user} is first decoded as a user symbolic name, but if -this interpretation fails, it has to be a decimal numeric user @acronym{ID}. +file. @var{user} can specify a symbolic name, or a numeric +@acronym{ID}, or both as @var{name}:@var{id}. @xref{override}. This option does not affect extraction from archives. @@ -3249,7 +3266,7 @@ $ @kbd{tar --show-defaults} @noindent Notice, that this option outputs only one line. The example output -above has been split to fit page boundaries. +above has been split to fit page boundaries. @xref{defaults}. @opsummary{show-omitted-dirs} @item --show-omitted-dirs @@ -3257,6 +3274,13 @@ above has been split to fit page boundaries. Instructs @command{tar} to mention the directories it is skipping when operating on a @command{tar} archive. @xref{show-omitted-dirs}. +@opsummary{show-snapshot-field-ranges} +@item --show-snapshot-field-ranges + +Displays the range of values allowed by this version of @command{tar} +for each field in the snapshot file, then exits successfully. +@xref{Snapshot Files}. + @opsummary{show-transformed-names} @opsummary{show-stored-names} @item --show-transformed-names @@ -3268,6 +3292,20 @@ the archive creation operations it instructs @command{tar} to list the member names stored in the archive, as opposed to the actual file names. @xref{listing member and file names}. +@opsummary{skip-old-files} +@item --skip-old-files + +Do not overwrite existing files when extracting files from an +archive. @xref{Keep Old Files}. + +This option differs from @option{--keep-old-files} in that it does not +treat such files as an error, instead it just silently avoids +overwriting them. + +The @option{--warning=existing-file} option can be used together with +this option to produce warning messages about existing old files +(@pxref{warnings}). + @opsummary{sparse} @item --sparse @itemx -S @@ -3576,8 +3614,7 @@ successfully. For example, @w{@samp{tar --version}} might print: @smallexample tar (GNU tar) @value{VERSION} -Copyright (C) 2010 Free Software Foundation, Inc. -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -3732,7 +3769,7 @@ $ @kbd{tar xvvf archive.tar} Verbose output appears on the standard output except when an archive is being written to the standard output, as with @samp{tar --create ---file=- --verbose} (@samp{tar cfv -}, or even @samp{tar cv}---if the +--file=- --verbose} (@samp{tar cvf -}, or even @samp{tar cv}---if the installer let standard output be the default archive). In that case @command{tar} writes verbose output to the standard error stream. @@ -3991,17 +4028,22 @@ checkpoint: $ @kbd{tar -c --checkpoint=1000 --checkpoint-action=sleep=30} @end smallexample +@anchor{checkpoint exec} @cindex @code{exec}, checkpoint action -Finally, the @code{exec} action executes a given external program. +Finally, the @code{exec} action executes a given external command. For example: @smallexample $ @kbd{tar -c --checkpoint=1000 --checkpoint-action=exec=/sbin/cpoint} @end smallexample -This program is executed using @command{/bin/sh -c}, with no -additional arguments. Its exit code is ignored. It gets a copy of -@command{tar}'s environment plus the following variables: +The supplied command can be any valid command invocation, with or +without additional command line arguments. If it does contain +arguments, don't forget to quote it to prevent it from being split by +the shell. @xref{external, Running External Commands}, for more detail. + +The command gets a copy of @command{tar}'s environment plus the +following variables: @table @env @vrindex TAR_VERSION, checkpoint script environment @@ -4031,6 +4073,18 @@ Format of the archive being processed. @xref{Formats}, for a complete list of archive format names. @end table +These environment variables can also be passed as arguments to the +command, provided that they are properly escaped, for example: + +@smallexample +@kbd{tar -c -f arc.tar \ + --checkpoint-action='exec=/sbin/cpoint $TAR_FILENAME'} +@end smallexample + +@noindent +Notice single quotes to prevent variable names from being expanded by +the shell when invoking @command{tar}. + Any number of actions can be defined, by supplying several @option{--checkpoint-action} options in the command line. For example, the command below displays two messages, pauses @@ -4154,17 +4208,17 @@ Disable all warning messages. @item symlink-cast @samp{Attempting extraction of symbolic links as hard links} @kwindex unknown-cast -@cindex @samp{Unknown file type `%c', extracted as normal file}, warning message +@cindex @samp{Unknown file type '%c', extracted as normal file}, warning message @item unknown-cast -@samp{%s: Unknown file type `%c', extracted as normal file} +@samp{%s: Unknown file type '%c', extracted as normal file} @kwindex ignore-newer @cindex @samp{Current %s is newer or same age}, warning message @item ignore-newer @samp{Current %s is newer or same age} @kwindex unknown-keyword -@cindex @samp{Ignoring unknown extended header keyword `%s'}, warning message +@cindex @samp{Ignoring unknown extended header keyword '%s'}, warning message @item unknown-keyword -@samp{Ignoring unknown extended header keyword `%s'} +@samp{Ignoring unknown extended header keyword '%s'} @kwindex decompress-program @item decompress-program Controls verbose description of failures occurring when trying to run @@ -4182,6 +4236,10 @@ tar (child): trying gzip This means that @command{tar} first tried to decompress @file{archive.Z} using @command{compress}, and, when that failed, switched to @command{gzip}. +@kwindex record-size +@cindex @samp{Record size = %lu blocks}, warning message +@item record-size +@samp{Record size = %lu blocks} @end table @subheading Keywords controlling incremental extraction: @@ -4245,6 +4303,42 @@ named pipe to receive the archive, and having the consumer process to read from that named pipe. This has the advantage of letting standard output free to receive verbose output, all separate from errors. +@node external +@section Running External Commands + +Certain @GNUTAR{} operations imply running external commands that you +supply on the command line. One of such operations is checkpointing, +described above (@pxref{checkpoint exec}). Another example of this +feature is the @option{-I} option, which allows you to supply the +program to use for compressing or decompressing the archive +(@pxref{use-compress-program}). + +Whenever such operation is requested, @command{tar} first splits the +supplied command into words much like the shell does. It then treats +the first word as the name of the program or the shell script to execute +and the rest of words as its command line arguments. The program, +unless given as an absolute file name, is searched in the shell's +@env{PATH}. + +Any additional information is normally supplied to external commands +in environment variables, specific to each particular operation. For +example, the @option{--checkpoint-action=exec} option, defines the +@env{TAR_ARCHIVE} variable to the name of the archive being worked +upon. You can, should the need be, use these variables in the +command line of the external command. For example: + +@smallexample +$ @kbd{tar -x -f archive.tar \ + --checkpoint=exec='printf "%04d in %32s\r" $TAR_CHECKPOINT $TAR_ARCHIVE'} +@end smallexample + +@noindent +This command prints for each checkpoint its number and the name of the +archive, using the same output line on the screen. + +Notice the use of single quotes to prevent variable names from being +expanded by the shell when invoking @command{tar}. + @node operations @chapter @GNUTAR{} Operations @@ -4312,7 +4406,7 @@ the following commands: @smallexample @kbd{tar --create --file=empty-archive.tar --files-from=/dev/null} -@kbd{tar cfT empty-archive.tar /dev/null} +@kbd{tar -cf empty-archive.tar -T /dev/null} @end smallexample @xopindex{extract, complementary notes} @@ -4443,11 +4537,11 @@ in the archive; the most recently archived members will be extracted last. Additionally, an extracted member will @emph{replace} a file of the same name which existed in the directory already, and @command{tar} will not prompt you about this@footnote{Unless you give it -@option{--keep-old-files} option, or the disk copy is newer than -the one in the archive and you invoke @command{tar} with -@option{--keep-newer-files} option.}. Thus, only the most recently archived -member will end up being extracted, as it will replace the one -extracted before it, and so on. +@option{--keep-old-files} (or @option{--skip-old-files}) option, or +the disk copy is newer than the one in the archive and you invoke +@command{tar} with @option{--keep-newer-files} option.}. Thus, only +the most recently archived member will end up being extracted, as it +will replace the one extracted before it, and so on. @cindex extracting @var{n}th copy of the file @xopindex{occurrence, described} @@ -4941,7 +5035,7 @@ For example: @smallexample $ @kbd{tar -c -f archive.tar -v --mtime=yesterday .} -tar: Option --mtime: Treating date `yesterday' as 2006-06-20 +tar: Option --mtime: Treating date 'yesterday' as 2006-06-20 13:06:29.152478 @dots{} @end smallexample @@ -4951,8 +5045,22 @@ tar: Option --mtime: Treating date `yesterday' as 2006-06-20 Specifies that @command{tar} should use @var{user} as the owner of members when creating archives, instead of the user associated with the source -file. The argument @var{user} can be either an existing user symbolic -name, or a decimal numeric user @acronym{ID}. +file. + +If @var{user} contains a colon, it is taken to be of the form +@var{name}:@var{id} where a nonempty @var{name} specifies the user +name and a nonempty @var{id} specifies the decimal numeric user +@acronym{ID}. If @var{user} does not contain a colon, it is taken to +be a user number if it is one or more decimal digits; otherwise it is +taken to be a user name. + +If a name is given but no number, the number is inferred from the +current host's user database if possible, and the file's user number +is used otherwise. If a number is given but no name, the name is +inferred from the number if possible, and an empty name is used +otherwise. If both name and number are given, the user database is +not consulted, and the name and number need not be valid on the +current host. There is no value indicating a missing number, and @samp{0} usually means @code{root}. Some people like to force @samp{0} as the value to offer in @@ -4975,8 +5083,9 @@ $ @kbd{tar -c -f archive.tar --owner=root .} @opindex group Files added to the @command{tar} archive will have a group @acronym{ID} of @var{group}, -rather than the group from the source file. The argument @var{group} -can be either an existing group symbolic name, or a decimal numeric group @acronym{ID}. +rather than the group from the source file. As with @option{--owner}, +the argument @var{group} can be an existing group symbolic name, or a +decimal numeric group @acronym{ID}, or @var{name}:@var{id}. @end table @node Ignore Failed Read @@ -5123,10 +5232,25 @@ such a directory, use the @option{--no-overwrite-dir} option. @cindex Overwriting old files, prevention @xopindex{keep-old-files, introduced} To be even more cautious and prevent existing files from being replaced, use -the @option{--keep-old-files} (@option{-k}) option. It causes @command{tar} to refuse -to replace or update a file that already exists, i.e., a file with the -same name as an archive member prevents extraction of that archive -member. Instead, it reports an error. +the @option{--keep-old-files} (@option{-k}) option. It causes +@command{tar} to refuse to replace or update a file that already +exists, i.e., a file with the same name as an archive member prevents +extraction of that archive member. Instead, it reports an error. For +example: + +@example +$ @kbd{ls} +blues +$ @kbd{tar -x -k -f archive.tar} +tar: blues: Cannot open: File exists +tar: Exiting with failure status due to previous errors +@end example + +@xopindex{skip-old-files, introduced} +If you wish to preserve old files untouched, but don't want +@command{tar} to treat them as errors, use the +@option{--skip-old-files} option. This option causes @command{tar} to +silently skip extracting over existing files. @xopindex{overwrite, introduced} To be more aggressive about altering existing files, use the @@ -5192,16 +5316,24 @@ archive, but remove other files before extracting. @node Keep Old Files @unnumberedsubsubsec Keep Old Files +@GNUTAR{} provides two options to control its actions in a situation +when it is about to extract a file which already exists on disk. + @table @option @opindex keep-old-files @item --keep-old-files @itemx -k -Do not replace existing files from archive. The -@option{--keep-old-files} (@option{-k}) option prevents @command{tar} -from replacing existing files with files with the same name from the -archive. The @option{--keep-old-files} option is meaningless with -@option{--list} (@option{-t}). Prevents @command{tar} from replacing -files in the file system during extraction. +Do not replace existing files from archive. When such a file is +encountered, @command{tar} issues an error message. Upon end of +extraction, @command{tar} exits with code 2 (@pxref{exit status}). + +@item --skip-old-files +Do not replace existing files from archive, but do not treat that +as error. Such files are silently skipped and do not affect +@command{tar} exit status. + +Additional verbosity can be obtained using @option{--warning=existing-file} +together with that option (@pxref{warnings}). @end table @node Keep Newer Files @@ -5419,11 +5551,13 @@ file to the standard input of an external program: @opindex to-command @item --to-command=@var{command} Extract files and pipe their contents to the standard input of -@var{command}. When this option is used, instead of creating the +@var{command}. When this option is used, instead of creating the files specified, @command{tar} invokes @var{command} and pipes the -contents of the files to its standard output. The @var{command} may -contain command line arguments. The program is executed via -@code{sh -c}. Notice, that @var{command} is executed once for each regular file +contents of the files to its standard output. The @var{command} may +contain command line arguments (see @ref{external, Running External Commands}, +for more detail). + +Notice, that @var{command} is executed once for each regular file extracted. Non-regular files (directories, etc.) are ignored when this option is used. @end table @@ -5521,6 +5655,20 @@ Format of the archive being processed. @xref{Formats}, for a complete list of archive format names. @end table +These variables are defined prior to executing the command, so you can +pass them as arguments, if you prefer. For example, if the command +@var{proc} takes the member name and size as its arguments, then you +could do: + +@smallexample +$ @kbd{tar -x -f archive.tar \ + --to-command='proc $TAR_FILENAME $TAR_SIZE'} +@end smallexample + +@noindent +Notice single quotes to prevent variable names from being expanded by +the shell when invoking @command{tar}. + If @var{command} exits with a non-0 status, @command{tar} will print an error message similar to the following: @@ -6896,7 +7044,7 @@ When @command{tar} is invoked with @option{--create} (@option{-c}), @group $ @kbd{tar cf a.tar} tar: Cowardly refusing to create an empty archive -Try `tar --help' or `tar --usage' for more information. +Try 'tar --help' or 'tar --usage' for more information. @end group @end smallexample @@ -6998,45 +7146,6 @@ libc.a @end group @end smallexample -@noindent -@xopindex{directory, using in @option{--files-from} argument} -Notice that the option parsing algorithm used with @option{-T} is -stricter than the one used by shell. Namely, when specifying option -arguments, you should observe the following rules: - -@itemize @bullet -@item -When using short (single-letter) option form, its argument must -immediately follow the option letter, without any intervening -whitespace. For example: @code{-Cdir}. - -@item -When using long option form, the option argument must be separated -from the option by a single equal sign. No whitespace is allowed on -any side of the equal sign. For example: @code{--directory=dir}. - -@item -For both short and long option forms, the option argument can be given -on the next line after the option name, e.g.: - -@smallexample -@group ---directory -dir -@end group -@end smallexample - -@noindent -and - -@smallexample -@group --C -dir -@end group -@end smallexample -@end itemize - @opindex add-file If you happen to have a file whose name starts with @samp{-}, precede it with @option{--add-file} option to prevent it from @@ -7104,10 +7213,11 @@ $ @kbd{find . -size +800 -print0 | This example uses short options for typographic reasons, to avoid very long lines. -@GNUTAR is able to automatically detect @code{NUL}-terminated file lists, so -it is safe to use them even without the @option{--null} option. In -this case @command{tar} will print a warning and continue reading such -a file as if @option{--null} were actually given: +@GNUTAR is tries to automatically detect @code{NUL}-terminated file +lists, so in many cases it is safe to use them even without the +@option{--null} option. In this case @command{tar} will print a +warning and continue reading such a file as if @option{--null} were +actually given: @smallexample @group @@ -7787,7 +7897,7 @@ $ @kbd{tar tf arch.tar --quoting-style=escape} Control characters, single quote and backslash are printed using backslash notation. All names are quoted using left and right quotation marks, appropriate to the current locale. If it does not -define quotation marks, use @samp{`} as left and @samp{'} as right +define quotation marks, use @samp{'} as left and as right quotation marks. Any occurrences of the right quotation mark in a name are escaped with @samp{\}, for example: @@ -7796,13 +7906,13 @@ For example: @smallexample @group $ @kbd{tar tf arch.tar --quoting-style=locale} -`./' -`./a space' -`./a\'single\'quote' -`./a"double"quote' -`./a\\backslash' -`./a\ttab' -`./a\nnewline' +'./' +'./a space' +'./a\'single\'quote' +'./a"double"quote' +'./a\\backslash' +'./a\ttab' +'./a\nnewline' @end group @end smallexample @@ -8249,7 +8359,7 @@ ensure he is using the right date. For example: @smallexample @group $ @kbd{tar -c -f archive.tar --after-date='10 days ago' .} -tar: Option --after-date: Treating date `10 days ago' as 2006-06-11 +tar: Option --after-date: Treating date '10 days ago' as 2006-06-11 13:19:37.232434 @end group @end smallexample @@ -8524,6 +8634,10 @@ is not, generally speaking, the same as the one you'd get running scripts for comparing both outputs. @xref{listing member and file names}, for the information on how to handle this case.}. +Symbolic links containing @file{..} or leading @samp{/} can also cause +problems when extracting, so @command{tar} normally extracts them last; +it may create empty files as placeholders during extraction. + If you use the @option{--absolute-names} (@option{-P}) option, @command{tar} will do none of these transformations. @@ -8547,7 +8661,7 @@ to transfer files between systems.} @table @option @item --absolute-names Preserves full file names (including superior directory names) when -archiving files. Preserves leading slash when extracting files. +archiving and extracting files. @end table @@ -8730,7 +8844,7 @@ archive, @option{--lzop} to create an @asis{LSOP} archive, and For example: @smallexample -$ @kbd{tar cfz archive.tar.gz .} +$ @kbd{tar czf archive.tar.gz .} @end smallexample You can also let @GNUTAR{} select the compression program based on @@ -8740,14 +8854,14 @@ example, the following invocation will use @command{bzip2} for compression: @smallexample -$ @kbd{tar cfa archive.tar.bz2 .} +$ @kbd{tar caf archive.tar.bz2 .} @end smallexample @noindent whereas the following one will use @command{lzma}: @smallexample -$ @kbd{tar cfa archive.tar.lzma .} +$ @kbd{tar caf archive.tar.lzma .} @end smallexample For a complete list of file name suffixes recognized by @GNUTAR{}, @@ -8804,7 +8918,7 @@ If you see such diagnostics, just add the suggested option to the invocation of @GNUTAR{}: @smallexample -$ @kbd{cat archive.tar.gz | tar tfz -} +$ @kbd{cat archive.tar.gz | tar tzf -} @end smallexample Notice also, that there are several restrictions on operations on @@ -8870,39 +8984,36 @@ etc.) and remote files as well as on normal files; data to or from such devices or remote files is reblocked by another copy of the @command{tar} program to enforce the specified (or default) record size. The default compression parameters are used. Most compression -programs allow to override these by setting a program-specific -environment variable. For example, when using @command{gzip} you can -use @env{GZIP} as in the example below: +programs let you override these by setting a program-specific +environment variable. For example, with @command{gzip} you can set +@env{GZIP}: @smallexample -$ @kbd{GZIP=--best tar cfz archive.tar.gz subdir} +$ @kbd{GZIP='-9 -n' tar czf archive.tar.gz subdir} @end smallexample - -@noindent Another way would be to use the @option{-I} option instead (see below), e.g.: @smallexample -$ @kbd{tar -cf archive.tar.gz -I 'gzip --best' subdir} +$ @kbd{tar -cf archive.tar.gz -I 'gzip -9 -n' subdir} @end smallexample @noindent -Finally, the third, traditional, way to achieve the same result is to -use pipe: +Finally, the third, traditional, way to do this is to use a pipe: @smallexample -$ @kbd{tar cf - subdir | gzip --best -c - > archive.tar.gz} +$ @kbd{tar cf - subdir | gzip -9 -n > archive.tar.gz} @end smallexample @cindex corrupted archives -About corrupted compressed archives: compressed files have no -redundancy, for maximum compression. The adaptive nature of the +Compressed archives are easily corrupted, because compressed files +have little redundancy. The adaptive nature of the compression scheme means that the compression tables are implicitly spread all over the archive. If you lose a few blocks, the dynamic construction of the compression tables becomes unsynchronized, and there is little chance that you could recover later in the archive. -Another compression options provide a better control over creating +Other compression options provide better control over creating compressed archives. These are: @table @option @@ -8931,21 +9042,29 @@ suffix. The following suffixes are recognized: @item @samp{.xz} @tab @command{xz} @end multitable +@anchor{use-compress-program} @opindex use-compress-program -@item --use-compress-program=@var{prog} -@itemx -I=@var{prog} -Use external compression program @var{prog}. Use this option if you +@item --use-compress-program=@var{command} +@itemx -I=@var{command} +Use external compression program @var{command}. Use this option if you are not happy with the compression program associated with the suffix at compile time or if you have a compression program that @GNUTAR{} -does not support. There are two requirements to which @var{prog} -should comply: +does not support. The @var{command} argument is a valid command +invocation, as you would type it at the command line prompt, with any +additional options as needed. Enclose it in quotes if it contains +white space (see @ref{external, Running External Commands}, for more detail). -First, when called without options, it should read data from standard -input, compress it and output it on standard output. +The @var{command} should follow two conventions: -Secondly, if called with @option{-d} argument, it should do exactly -the opposite, i.e., read the compressed data from the standard input -and produce uncompressed data on the standard output. +First, when invoked without additional options, it should read data +from standard input, compress it and output it on standard output. + +Secondly, if invoked with the additional @option{-d} option, it should +do exactly the opposite, i.e., read the compressed data from the +standard input and produce uncompressed data on the standard output. + +The latter requirement means that you must not use the @option{-d} +option as a part of the @var{command} itself. @end table @cindex gpg, using with tar @@ -9397,7 +9516,7 @@ directory with a verbose level 2, you will get an output similar to the following: @smallexample -$ tar cfvv ../archive.tar . +$ tar cvvf ../archive.tar . drwxr-xr-x gray/staff 0 2007-10-30 15:13 ./ -rw-r--r-- gray/staff 4 2007-10-30 15:11 ./jeden hrw-r--r-- gray/staff 0 2007-10-30 15:11 ./one link to ./jeden @@ -9425,7 +9544,7 @@ produces the following diagnostics: @smallexample $ tar -c -f ../archive.tar -l jeden -tar: Missing links to `jeden'. +tar: Missing links to 'jeden'. @end smallexample Although creating special records for hard links helps keep a faithful @@ -9437,7 +9556,7 @@ archive created in previous examples produces, in the absense of file @smallexample $ tar xf archive.tar ./one -tar: ./one: Cannot hard link to `./jeden': No such file or directory +tar: ./one: Cannot hard link to './jeden': No such file or directory tar: Error exit delayed from previous errors @end smallexample @@ -9977,8 +10096,8 @@ run mode is enabled by @option{-n} command line argument: @group $ @kbd{xsparse -n /home/gray/GNUSparseFile.6058/sparsefile} Reading v.1.0 sparse map -Expanding file `/home/gray/GNUSparseFile.6058/sparsefile' to -`/home/gray/sparsefile' +Expanding file '/home/gray/GNUSparseFile.6058/sparsefile' to +'/home/gray/sparsefile' Finished dry run @end group @end smallexample @@ -9999,8 +10118,8 @@ similar to that from the dry run mode, use @option{-v} option: @group $ @kbd{xsparse -v /home/gray/GNUSparseFile.6058/sparsefile} Reading v.1.0 sparse map -Expanding file `/home/gray/GNUSparseFile.6058/sparsefile' to -`/home/gray/sparsefile' +Expanding file '/home/gray/GNUSparseFile.6058/sparsefile' to +'/home/gray/sparsefile' Done @end group @end smallexample @@ -10021,8 +10140,8 @@ Found variable GNU.sparse.minor = 0 Found variable GNU.sparse.name = sparsefile Found variable GNU.sparse.realsize = 217481216 Reading v.1.0 sparse map -Expanding file `/home/gray/GNUSparseFile.6058/sparsefile' to -`/home/gray/sparsefile' +Expanding file '/home/gray/GNUSparseFile.6058/sparsefile' to +'/home/gray/sparsefile' Done @end group @end smallexample @@ -10124,7 +10243,7 @@ Found variable GNU.sparse.size = 217481216 Found variable GNU.sparse.numblocks = 208 Found variable GNU.sparse.name = sparsefile Found variable GNU.sparse.map = 0,2048,1050624,2048,@dots{} -Expanding file `GNUSparseFile.28124/sparsefile' to `sparsefile' +Expanding file 'GNUSparseFile.28124/sparsefile' to 'sparsefile' Done @end group @end smallexample @@ -10417,10 +10536,10 @@ maximum tape length, you might avoid the problem entirely. @xopindex{info-script, short description} @xopindex{new-volume-script, short description} -@item -F @var{file} -@itemx --info-script=@var{file} -@itemx --new-volume-script=@var{file} -Execute @file{file} at end of each tape. This implies +@item -F @var{command} +@itemx --info-script=@var{command} +@itemx --new-volume-script=@var{command} +Execute @var{command} at end of each tape. This implies @option{--multi-volume} (@option{-M}). @xref{info-script}, for a detailed description of this option. @end table @@ -10438,9 +10557,8 @@ want to use. @command{tar} calls @command{rmt} by running an @command{rsh} or @command{remsh} to the remote machine, optionally using a different login name if one is supplied. -A copy of the source for the remote tape server is provided. It is -Copyright @copyright{} 1983 by the Regents of the University of -California, but can be freely distributed. It is compiled and +A copy of the source for the remote tape server is provided. Its +source code can be freely distributed. It is compiled and installed by default. @cindex absolute file names @@ -10607,15 +10725,16 @@ When reading an archive, @command{tar} can usually figure out the record size on itself. When this is the case, and a non-standard record size was used when the archive was created, @command{tar} will print a message about a non-standard blocking factor, and then operate -normally. On some tape devices, however, @command{tar} cannot figure -out the record size itself. On most of those, you can specify a -blocking factor (with @option{--blocking-factor}) larger than the -actual blocking factor, and then use the @option{--read-full-records} -(@option{-B}) option. (If you specify a blocking factor with -@option{--blocking-factor} and don't use the -@option{--read-full-records} option, then @command{tar} will not -attempt to figure out the recording size itself.) On some devices, -you must always specify the record size exactly with +normally@footnote{If this message is not needed, you can turn it off +using the @option{--warning=no-record-size} option.}. On some tape +devices, however, @command{tar} cannot figure out the record size +itself. On most of those, you can specify a blocking factor (with +@option{--blocking-factor}) larger than the actual blocking factor, +and then use the @option{--read-full-records} (@option{-B}) option. +(If you specify a blocking factor with @option{--blocking-factor} and +don't use the @option{--read-full-records} option, then @command{tar} +will not attempt to figure out the recording size itself.) On some +devices, you must always specify the record size exactly with @option{--blocking-factor} when reading, because @command{tar} cannot figure it out. In any case, use @option{--list} (@option{-t}) before doing any extractions to see whether @command{tar} is reading the archive @@ -11246,7 +11365,7 @@ is@footnote{If you run @GNUTAR{} under a different locale, the translation to the locale's language will be used.}: @smallexample -Prepare volume #@var{n} for `@var{archive}' and hit return: +Prepare volume #@var{n} for '@var{archive}' and hit return: @end smallexample @noindent @@ -11301,19 +11420,20 @@ volume, and instruct @command{tar} to use it instead of its normal prompting procedure: @table @option -@item --info-script=@var{script-name} -@itemx --new-volume-script=@var{script-name} -@itemx -F @var{script-name} -Specify the full name of the volume script to use. The script can be -used to eject cassettes, or to broadcast messages such as +@item --info-script=@var{command} +@itemx --new-volume-script=@var{command} +@itemx -F @var{command} +Specify the command to invoke when switching volumes. The @var{command} +can be used to eject cassettes, or to broadcast messages such as @samp{Someone please come change my tape} when performing unattended backups. @end table -The @var{script-name} is executed without any command line -arguments. It inherits @command{tar}'s shell environment. -Additional data is passed to it via the following -environment variables: +The @var{command} can contain additional options, if such are needed. +@xref{external, Running External Commands}, for a detailed discussion +of the way @GNUTAR{} runs external commands. It inherits +@command{tar}'s shell environment. Additional data is passed to it +via the following environment variables: @table @env @vrindex TAR_VERSION, info script environment variable @@ -11348,6 +11468,10 @@ File descriptor which can be used to communicate the new volume name to @command{tar}. @end table +These variables can be used in the @var{command} itself, provided that +they are properly quoted to prevent them from being expanded by the +shell that invokes @command{tar}. + The volume script can instruct @command{tar} to use new archive name, by writing in to file descriptor @env{$TAR_FD} (see below for an example). @@ -11367,7 +11491,7 @@ second tape, and then back to the first tape, etc., just do either of: @smallexample $ @kbd{tar --create --multi-volume --file=/dev/tape0 --file=/dev/tape1 @var{files}} -$ @kbd{tar cMff /dev/tape0 /dev/tape1 @var{files}} +$ @kbd{tar -cM -f /dev/tape0 -f /dev/tape1 @var{files}} @end smallexample The second method is to use the @samp{n} response to the tape-change @@ -11382,7 +11506,10 @@ archive being created (as given by @option{--file} option) and @smallexample @group -#! /bin/sh +#! /bin/bash +# For this script it's advisable to use a shell, such as Bash, +# that supports a TAR_FD value greater than 9. + echo Preparing volume $TAR_VOLUME of $TAR_ARCHIVE. name=`expr $TAR_ARCHIVE : '\(.*\)-.*'` @@ -11615,7 +11742,7 @@ you will get: @smallexample @group $ @kbd{tar -rf archive --label 'My volume' .} -tar: Archive not labeled to match `My volume' +tar: Archive not labeled to match 'My volume' @end group @end smallexample @@ -11646,7 +11773,7 @@ manage to get some date string as part of the label. For example: @smallexample @group -$ @kbd{tar cfMV /dev/tape "Daily backup for `date +%Y-%m-%d`"} +$ @kbd{tar -cM -f /dev/tape -V "Daily backup for `date +%Y-%m-%d`"} $ @kbd{tar --create --file=/dev/tape --multi-volume \ --label="Daily backup for `date +%Y-%m-%d`"} @end group @@ -11925,11 +12052,16 @@ lets the archive overwrite any file in your system that you can write, the @option{--absolute-names} (@option{-P}) option should be used only for trusted archives. -Conversely, with the @option{--keep-old-files} (@option{-k}) option, -@command{tar} refuses to replace existing files when extracting; and -with the @option{--no-overwrite-dir} option, @command{tar} refuses to -replace the permissions or ownership of already-existing directories. -These options may help when extracting from untrusted archives. +Conversely, with the @option{--keep-old-files} (@option{-k}) and +@option{--skip-old-files} options, @command{tar} refuses to replace +existing files when extracting. The difference between the two +options is that the former treats existing files as errors whereas the +latter just silently ignores them. + +Finally, with the @option{--no-overwrite-dir} option, @command{tar} +refuses to replace the permissions or ownership of already-existing +directories. These options may help when extracting from untrusted +archives. @node Live untrusted data @subsection Dealing with Live Untrusted Data diff --git a/doc/texify.sed b/doc/texify.sed index a070b116..faa8053f 100644 --- a/doc/texify.sed +++ b/doc/texify.sed @@ -1,18 +1,19 @@ -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. -# -# GNU tar is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 3, or (at -# your option) any later version. -# -# GNU tar 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. -# +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar 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 GNU tar; if not, write to the Free Software -# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# along with this program. If not, see . 1{s,/\*,@comment , b diff --git a/doc/value.texi b/doc/value.texi index d7cd620e..7c26bf82 100644 --- a/doc/value.texi +++ b/doc/value.texi @@ -1,6 +1,5 @@ @c This is part of GNU tar manual. -@c Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, -@c 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@c Copyright 1992, 1994-1997, 1999-2006, 2013 Free Software Foundation, Inc. @c See file tar.texi for copying conditions. @macro GNUTAR diff --git a/doc/version.texi b/doc/version.texi index 019935b1..905e035a 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 12 March 2011 -@set UPDATED-MONTH March 2011 -@set EDITION 1.26 -@set VERSION 1.26 +@set UPDATED 24 September 2013 +@set UPDATED-MONTH September 2013 +@set EDITION 1.27 +@set VERSION 1.27 diff --git a/gnu/Makefile.am b/gnu/Makefile.am index 06eb0d95..299bb0e0 100644 --- a/gnu/Makefile.am +++ b/gnu/Makefile.am @@ -1,2749 +1,3 @@ -# -*- buffer-read-only: t -*- vi: set ro: -# DO NOT EDIT! GENERATED AUTOMATICALLY! -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2011 Free Software Foundation, Inc. -# -# This file is free software, distributed under the terms of the GNU -# General Public License. As a special exception to the GNU General -# Public License, this file may be distributed as part of a program -# that contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-libtool --macro-prefix=gl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail fdopendir fdutimensat fileblocks fnmatch-gnu fseeko full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat rpmatch safe-read savedir setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf - -AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects - -SUBDIRS = -noinst_HEADERS = -noinst_LIBRARIES = -noinst_LTLIBRARIES = -EXTRA_DIST = -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -AM_CPPFLAGS = -AM_CFLAGS = - -noinst_LIBRARIES += libgnu.a - -libgnu_a_SOURCES = -libgnu_a_LIBADD = $(gl_LIBOBJS) -libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) -EXTRA_libgnu_a_SOURCES = - -## begin gnulib module alloca - - -EXTRA_DIST += alloca.c - -EXTRA_libgnu_a_SOURCES += alloca.c - -libgnu_a_LIBADD += @ALLOCA@ -libgnu_a_DEPENDENCIES += @ALLOCA@ -## end gnulib module alloca - -## begin gnulib module alloca-opt - -BUILT_SOURCES += $(ALLOCA_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -alloca.h: alloca.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -MOSTLYCLEANFILES += alloca.h alloca.h-t - -EXTRA_DIST += alloca.in.h - -## end gnulib module alloca-opt - -## begin gnulib module areadlink - -libgnu_a_SOURCES += areadlink.c - -EXTRA_DIST += areadlink.h - -## end gnulib module areadlink - -## begin gnulib module areadlinkat - -libgnu_a_SOURCES += areadlinkat.c - -EXTRA_DIST += areadlink.h - -## end gnulib module areadlinkat - -## begin gnulib module arg-nonnull - -# The BUILT_SOURCES created by this Makefile snippet are not used via #include -# statements but through direct file reference. Therefore this snippet must be -# present in all Makefile.am that need it. This is ensured by the applicability -# 'all' defined above. - -BUILT_SOURCES += arg-nonnull.h -# The arg-nonnull.h that gets inserted into generated .h files is the same as -# build-aux/arg-nonnull.h, except that it has the copyright header cut off. -arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/GL_ARG_NONNULL/,$$p' \ - < $(top_srcdir)/build-aux/arg-nonnull.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t - -ARG_NONNULL_H=arg-nonnull.h - -EXTRA_DIST += $(top_srcdir)/build-aux/arg-nonnull.h - -## end gnulib module arg-nonnull - -## begin gnulib module argmatch - - -EXTRA_DIST += argmatch.c argmatch.h - -EXTRA_libgnu_a_SOURCES += argmatch.c - -## end gnulib module argmatch - -## begin gnulib module argp - -libgnu_a_SOURCES += argp.h argp-ba.c argp-eexst.c \ - argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c argp-help.c \ - argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c argp-pvh.c \ - argp-xinl.c - -## end gnulib module argp - -## begin gnulib module argp-version-etc - -libgnu_a_SOURCES += argp-version-etc.h argp-version-etc.c - -## end gnulib module argp-version-etc - -## begin gnulib module backupfile - - -EXTRA_DIST += backupfile.c backupfile.h - -EXTRA_libgnu_a_SOURCES += backupfile.c - -## end gnulib module backupfile - -## begin gnulib module bitrotate - -libgnu_a_SOURCES += bitrotate.h - -## end gnulib module bitrotate - -## begin gnulib module btowc - - -EXTRA_DIST += btowc.c - -EXTRA_libgnu_a_SOURCES += btowc.c - -## end gnulib module btowc - -## begin gnulib module c++defs - -# The BUILT_SOURCES created by this Makefile snippet are not used via #include -# statements but through direct file reference. Therefore this snippet must be -# present in all Makefile.am that need it. This is ensured by the applicability -# 'all' defined above. - -BUILT_SOURCES += c++defs.h -# The c++defs.h that gets inserted into generated .h files is the same as -# build-aux/c++defs.h, except that it has the copyright header cut off. -c++defs.h: $(top_srcdir)/build-aux/c++defs.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/_GL_CXXDEFS/,$$p' \ - < $(top_srcdir)/build-aux/c++defs.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += c++defs.h c++defs.h-t - -CXXDEFS_H=c++defs.h - -EXTRA_DIST += $(top_srcdir)/build-aux/c++defs.h - -## end gnulib module c++defs - -## begin gnulib module c-ctype - -libgnu_a_SOURCES += c-ctype.h c-ctype.c - -## end gnulib module c-ctype - -## begin gnulib module canonicalize-lgpl - - -EXTRA_DIST += canonicalize-lgpl.c - -EXTRA_libgnu_a_SOURCES += canonicalize-lgpl.c - -## end gnulib module canonicalize-lgpl - -## begin gnulib module chdir-long - - -EXTRA_DIST += chdir-long.c chdir-long.h - -EXTRA_libgnu_a_SOURCES += chdir-long.c - -## end gnulib module chdir-long - -## begin gnulib module chown - - -EXTRA_DIST += chown.c fchown-stub.c - -EXTRA_libgnu_a_SOURCES += chown.c fchown-stub.c - -## end gnulib module chown - -## begin gnulib module cloexec - - -EXTRA_DIST += cloexec.c cloexec.h - -EXTRA_libgnu_a_SOURCES += cloexec.c - -## end gnulib module cloexec - -## begin gnulib module close - - -EXTRA_DIST += close.c - -EXTRA_libgnu_a_SOURCES += close.c - -## end gnulib module close - -## begin gnulib module close-hook - -libgnu_a_SOURCES += close-hook.c - -EXTRA_DIST += close-hook.h - -## end gnulib module close-hook - -## begin gnulib module close-stream - - -EXTRA_DIST += close-stream.c close-stream.h - -EXTRA_libgnu_a_SOURCES += close-stream.c - -## end gnulib module close-stream - -## begin gnulib module closeout - - -EXTRA_DIST += closeout.c closeout.h - -EXTRA_libgnu_a_SOURCES += closeout.c - -## end gnulib module closeout - -## begin gnulib module configmake - -# Listed in the same order as the GNU makefile conventions, and -# provided by autoconf 2.59c+. -# The Automake-defined pkg* macros are appended, in the order -# listed in the Automake 1.10a+ documentation. -configmake.h: Makefile - $(AM_V_GEN)rm -f $@-t && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - echo '#define PREFIX "$(prefix)"'; \ - echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ - echo '#define BINDIR "$(bindir)"'; \ - echo '#define SBINDIR "$(sbindir)"'; \ - echo '#define LIBEXECDIR "$(libexecdir)"'; \ - echo '#define DATAROOTDIR "$(datarootdir)"'; \ - echo '#define DATADIR "$(datadir)"'; \ - echo '#define SYSCONFDIR "$(sysconfdir)"'; \ - echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ - echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ - echo '#define INCLUDEDIR "$(includedir)"'; \ - echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ - echo '#define DOCDIR "$(docdir)"'; \ - echo '#define INFODIR "$(infodir)"'; \ - echo '#define HTMLDIR "$(htmldir)"'; \ - echo '#define DVIDIR "$(dvidir)"'; \ - echo '#define PDFDIR "$(pdfdir)"'; \ - echo '#define PSDIR "$(psdir)"'; \ - echo '#define LIBDIR "$(libdir)"'; \ - echo '#define LISPDIR "$(lispdir)"'; \ - echo '#define LOCALEDIR "$(localedir)"'; \ - echo '#define MANDIR "$(mandir)"'; \ - echo '#define MANEXT "$(manext)"'; \ - echo '#define PKGDATADIR "$(pkgdatadir)"'; \ - echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ - echo '#define PKGLIBDIR "$(pkglibdir)"'; \ - echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ - } | sed '/""/d' > $@-t && \ - if test -f $@ && cmp $@-t $@ > /dev/null; then \ - rm -f $@-t; \ - else \ - rm -f $@; mv $@-t $@; \ - fi - -BUILT_SOURCES += configmake.h -CLEANFILES += configmake.h configmake.h-t - -## end gnulib module configmake - -## begin gnulib module dirent - -BUILT_SOURCES += dirent.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -dirent.h: dirent.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ - -e 's|@''GNULIB_DIRFD''@|$(GNULIB_DIRFD)|g' \ - -e 's|@''GNULIB_FDOPENDIR''@|$(GNULIB_FDOPENDIR)|g' \ - -e 's|@''GNULIB_SCANDIR''@|$(GNULIB_SCANDIR)|g' \ - -e 's|@''GNULIB_ALPHASORT''@|$(GNULIB_ALPHASORT)|g' \ - -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ - -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ - -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ - -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ - -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ - -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ - -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ - -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ - -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/dirent.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += dirent.h dirent.h-t - -EXTRA_DIST += dirent.in.h - -## end gnulib module dirent - -## begin gnulib module dirent-safer - - -EXTRA_DIST += dirent--.h dirent-safer.h opendir-safer.c - -EXTRA_libgnu_a_SOURCES += opendir-safer.c - -## end gnulib module dirent-safer - -## begin gnulib module dirfd - - -EXTRA_DIST += dirfd.c - -EXTRA_libgnu_a_SOURCES += dirfd.c - -## end gnulib module dirfd - -## begin gnulib module dirname - - -EXTRA_DIST += basename.c dirname.c stripslash.c - -EXTRA_libgnu_a_SOURCES += basename.c dirname.c stripslash.c - -## end gnulib module dirname - -## begin gnulib module dirname-lgpl - - -EXTRA_DIST += basename-lgpl.c dirname-lgpl.c dirname.h stripslash.c - -EXTRA_libgnu_a_SOURCES += basename-lgpl.c dirname-lgpl.c stripslash.c - -## end gnulib module dirname-lgpl - -## begin gnulib module dosname - - -EXTRA_DIST += dosname.h - -## end gnulib module dosname - -## begin gnulib module dup2 - - -EXTRA_DIST += dup2.c - -EXTRA_libgnu_a_SOURCES += dup2.c - -## end gnulib module dup2 - -## begin gnulib module errno - -BUILT_SOURCES += $(ERRNO_H) - -# We need the following in order to create when the system -# doesn't have one that is POSIX compliant. -errno.h: errno.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ - -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ - -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ - -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ - -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ - -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ - -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(srcdir)/errno.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += errno.h errno.h-t - -EXTRA_DIST += errno.in.h - -## end gnulib module errno - -## begin gnulib module error - - -EXTRA_DIST += error.c error.h - -EXTRA_libgnu_a_SOURCES += error.c - -## end gnulib module error - -## begin gnulib module exclude - - -EXTRA_DIST += exclude.c exclude.h - -EXTRA_libgnu_a_SOURCES += exclude.c - -## end gnulib module exclude - -## begin gnulib module exitfail - -libgnu_a_SOURCES += exitfail.c - -EXTRA_DIST += exitfail.h - -## end gnulib module exitfail - -## begin gnulib module fchdir - - -EXTRA_DIST += fchdir.c - -EXTRA_libgnu_a_SOURCES += fchdir.c - -## end gnulib module fchdir - -## begin gnulib module fclose - - -EXTRA_DIST += fclose.c - -EXTRA_libgnu_a_SOURCES += fclose.c - -## end gnulib module fclose - -## begin gnulib module fcntl - - -EXTRA_DIST += fcntl.c - -EXTRA_libgnu_a_SOURCES += fcntl.c - -## end gnulib module fcntl - -## begin gnulib module fcntl-h - -BUILT_SOURCES += fcntl.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -fcntl.h: fcntl.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ - -e 's|@''GNULIB_FCNTL''@|$(GNULIB_FCNTL)|g' \ - -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \ - -e 's|@''GNULIB_OPENAT''@|$(GNULIB_OPENAT)|g' \ - -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ - -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ - -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ - -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ - -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/fcntl.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += fcntl.h fcntl.h-t - -EXTRA_DIST += fcntl.in.h - -## end gnulib module fcntl-h - -## begin gnulib module fdopendir - - -EXTRA_DIST += fdopendir.c openat-priv.h openat-proc.c - -EXTRA_libgnu_a_SOURCES += fdopendir.c openat-proc.c - -## end gnulib module fdopendir - -## begin gnulib module fdutimensat - -libgnu_a_SOURCES += fdutimensat.c - -EXTRA_DIST += utimens.h - -## end gnulib module fdutimensat - -## begin gnulib module fileblocks - - -EXTRA_DIST += fileblocks.c - -EXTRA_libgnu_a_SOURCES += fileblocks.c - -## end gnulib module fileblocks - -## begin gnulib module filenamecat-lgpl - - -EXTRA_DIST += filenamecat-lgpl.c filenamecat.h - -EXTRA_libgnu_a_SOURCES += filenamecat-lgpl.c - -## end gnulib module filenamecat-lgpl - -## begin gnulib module float - -BUILT_SOURCES += $(FLOAT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -float.h: float.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ - < $(srcdir)/float.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += float.h float.h-t - -EXTRA_DIST += float.in.h - -## end gnulib module float - -## begin gnulib module fnmatch - -BUILT_SOURCES += $(FNMATCH_H) - -# We need the following in order to create when the system -# doesn't have one that supports the required API. -fnmatch.h: fnmatch.in.h $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - < $(srcdir)/fnmatch.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t - -EXTRA_DIST += fnmatch.c fnmatch.in.h fnmatch_loop.c - -EXTRA_libgnu_a_SOURCES += fnmatch.c fnmatch_loop.c - -## end gnulib module fnmatch - -## begin gnulib module fpending - - -EXTRA_DIST += fpending.c fpending.h - -EXTRA_libgnu_a_SOURCES += fpending.c - -## end gnulib module fpending - -## begin gnulib module fseeko - - -EXTRA_DIST += fseeko.c stdio-impl.h - -EXTRA_libgnu_a_SOURCES += fseeko.c - -## end gnulib module fseeko - -## begin gnulib module full-write - -libgnu_a_SOURCES += full-write.h full-write.c - -## end gnulib module full-write - -## begin gnulib module futimens - - -EXTRA_DIST += futimens.c - -EXTRA_libgnu_a_SOURCES += futimens.c - -## end gnulib module futimens - -## begin gnulib module getcwd - - -EXTRA_DIST += getcwd.c - -EXTRA_libgnu_a_SOURCES += getcwd.c - -## end gnulib module getcwd - -## begin gnulib module getdelim - - -EXTRA_DIST += getdelim.c - -EXTRA_libgnu_a_SOURCES += getdelim.c - -## end gnulib module getdelim - -## begin gnulib module getdtablesize - - -EXTRA_DIST += getdtablesize.c - -EXTRA_libgnu_a_SOURCES += getdtablesize.c - -## end gnulib module getdtablesize - -## begin gnulib module getline - - -EXTRA_DIST += getline.c - -EXTRA_libgnu_a_SOURCES += getline.c - -## end gnulib module getline - -## begin gnulib module getopt-posix - -BUILT_SOURCES += $(GETOPT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -getopt.h: getopt.in.h $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - < $(srcdir)/getopt.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -MOSTLYCLEANFILES += getopt.h getopt.h-t - -EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h - -EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c - -## end gnulib module getopt-posix - -## begin gnulib module getpagesize - - -EXTRA_DIST += getpagesize.c - -EXTRA_libgnu_a_SOURCES += getpagesize.c - -## end gnulib module getpagesize - -## begin gnulib module gettext - -# This is for those projects which use "gettextize --intl" to put a source-code -# copy of libintl into their package. In such projects, every Makefile.am needs -# -I$(top_builddir)/intl, so that can be found in this directory. -# For the Makefile.ams in other directories it is the maintainer's -# responsibility; for the one from gnulib we do it here. -# This option has no effect when the user disables NLS (because then the intl -# directory contains no libintl.h file) or when the project does not use -# "gettextize --intl". -AM_CPPFLAGS += -I$(top_builddir)/intl - -EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath - -## end gnulib module gettext - -## begin gnulib module gettext-h - -libgnu_a_SOURCES += gettext.h - -## end gnulib module gettext-h - -## begin gnulib module gettime - - -EXTRA_DIST += gettime.c - -EXTRA_libgnu_a_SOURCES += gettime.c - -## end gnulib module gettime - -## begin gnulib module gettimeofday - - -EXTRA_DIST += gettimeofday.c - -EXTRA_libgnu_a_SOURCES += gettimeofday.c - -## end gnulib module gettimeofday - -## begin gnulib module gitlog-to-changelog - - -EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog - -## end gnulib module gitlog-to-changelog - -## begin gnulib module hash - - -EXTRA_DIST += hash.c hash.h - -EXTRA_libgnu_a_SOURCES += hash.c - -## end gnulib module hash - -## begin gnulib module havelib - - -EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath - -## end gnulib module havelib - -## begin gnulib module human - - -EXTRA_DIST += human.c human.h - -EXTRA_libgnu_a_SOURCES += human.c - -## end gnulib module human - -## begin gnulib module intprops - - -EXTRA_DIST += intprops.h - -## end gnulib module intprops - -## begin gnulib module inttostr - -libgnu_a_SOURCES += \ - imaxtostr.c \ - inttostr.c \ - offtostr.c \ - uinttostr.c \ - umaxtostr.c - -EXTRA_DIST += anytostr.c inttostr.h - -EXTRA_libgnu_a_SOURCES += anytostr.c - -## end gnulib module inttostr - -## begin gnulib module inttypes - -BUILT_SOURCES += inttypes.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -inttypes.h: inttypes.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ - -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ - -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/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/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ - -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ - -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ - -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ - -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ - -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ - -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ - -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ - -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ - -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ - -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ - -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ - -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/inttypes.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += inttypes.h inttypes.h-t - -EXTRA_DIST += inttypes.in.h - -## end gnulib module inttypes - -## begin gnulib module iswblank - - -EXTRA_DIST += iswblank.c - -EXTRA_libgnu_a_SOURCES += iswblank.c - -## end gnulib module iswblank - -## begin gnulib module langinfo - -BUILT_SOURCES += langinfo.h - -# We need the following in order to create an empty placeholder for -# when the system doesn't have one. -langinfo.h: langinfo.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ - -e 's|@''GNULIB_NL_LANGINFO''@|$(GNULIB_NL_LANGINFO)|g' \ - -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ - -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ - -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ - -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ - -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ - -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/langinfo.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += langinfo.h langinfo.h-t - -EXTRA_DIST += langinfo.in.h - -## end gnulib module langinfo - -## begin gnulib module lchown - - -EXTRA_DIST += lchown.c - -EXTRA_libgnu_a_SOURCES += lchown.c - -## end gnulib module lchown - -## begin gnulib module link - - -EXTRA_DIST += link.c - -EXTRA_libgnu_a_SOURCES += link.c - -## end gnulib module link - -## begin gnulib module linkat - - -EXTRA_DIST += at-func2.c linkat.c - -EXTRA_libgnu_a_SOURCES += at-func2.c linkat.c - -## end gnulib module linkat - -## begin gnulib module localcharset - -libgnu_a_SOURCES += localcharset.h localcharset.c - -# We need the following in order to install a simple file in $(libdir) -# which is shared with other installed packages. We use a list of referencing -# packages so that "make uninstall" will remove the file if and only if it -# is not used by another installed package. -# On systems with glibc-2.1 or newer, the file is redundant, therefore we -# avoid installing it. - -all-local: charset.alias ref-add.sed ref-del.sed - -charset_alias = $(DESTDIR)$(libdir)/charset.alias -charset_tmp = $(DESTDIR)$(libdir)/charset.tmp -install-exec-local: install-exec-localcharset -install-exec-localcharset: all-local - if test $(GLIBC21) = no; then \ - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ - darwin* | cygwin* | mingw* | pw32* | cegcc*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ - esac ; \ - else \ - need_charset_alias=false ; \ - fi ; \ - if $$need_charset_alias; then \ - $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ - fi ; \ - if test -f $(charset_alias); then \ - sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ - rm -f $(charset_tmp) ; \ - else \ - if $$need_charset_alias; then \ - sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ - rm -f $(charset_tmp) ; \ - fi ; \ - fi - -uninstall-local: uninstall-localcharset -uninstall-localcharset: all-local - if test -f $(charset_alias); then \ - sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ - if grep '^# Packages using this file: $$' $(charset_tmp) \ - > /dev/null; then \ - rm -f $(charset_alias); \ - else \ - $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ - fi; \ - rm -f $(charset_tmp); \ - fi - -charset.alias: config.charset - $(AM_V_GEN)rm -f t-$@ $@ && \ - $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ - mv t-$@ $@ - -SUFFIXES += .sed .sin -.sin.sed: - $(AM_V_GEN)rm -f t-$@ $@ && \ - sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ - mv t-$@ $@ - -CLEANFILES += charset.alias ref-add.sed ref-del.sed - -EXTRA_DIST += config.charset ref-add.sin ref-del.sin - -## end gnulib module localcharset - -## begin gnulib module lseek - - -EXTRA_DIST += lseek.c - -EXTRA_libgnu_a_SOURCES += lseek.c - -## end gnulib module lseek - -## begin gnulib module lstat - - -EXTRA_DIST += lstat.c - -EXTRA_libgnu_a_SOURCES += lstat.c - -## end gnulib module lstat - -## begin gnulib module malloc-gnu - - -EXTRA_DIST += malloc.c - -EXTRA_libgnu_a_SOURCES += malloc.c - -## end gnulib module malloc-gnu - -## begin gnulib module malloc-posix - - -EXTRA_DIST += malloc.c - -EXTRA_libgnu_a_SOURCES += malloc.c - -## end gnulib module malloc-posix - -## begin gnulib module malloca - -libgnu_a_SOURCES += malloca.c - -EXTRA_DIST += malloca.h malloca.valgrind - -## end gnulib module malloca - -## begin gnulib module mbchar - -libgnu_a_SOURCES += mbchar.c - -EXTRA_DIST += mbchar.h - -## end gnulib module mbchar - -## begin gnulib module mbrtowc - - -EXTRA_DIST += mbrtowc.c - -EXTRA_libgnu_a_SOURCES += mbrtowc.c - -## end gnulib module mbrtowc - -## begin gnulib module mbscasecmp - -libgnu_a_SOURCES += mbscasecmp.c - -## end gnulib module mbscasecmp - -## begin gnulib module mbsinit - - -EXTRA_DIST += mbsinit.c - -EXTRA_libgnu_a_SOURCES += mbsinit.c - -## end gnulib module mbsinit - -## begin gnulib module mbsrtowcs - - -EXTRA_DIST += mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c - -EXTRA_libgnu_a_SOURCES += mbsrtowcs-state.c mbsrtowcs.c - -## end gnulib module mbsrtowcs - -## begin gnulib module mbtowc - - -EXTRA_DIST += mbtowc-impl.h mbtowc.c - -EXTRA_libgnu_a_SOURCES += mbtowc.c - -## end gnulib module mbtowc - -## begin gnulib module mbuiter - -libgnu_a_SOURCES += mbuiter.h - -## end gnulib module mbuiter - -## begin gnulib module memchr - - -EXTRA_DIST += memchr.c memchr.valgrind - -EXTRA_libgnu_a_SOURCES += memchr.c - -## end gnulib module memchr - -## begin gnulib module mempcpy - - -EXTRA_DIST += mempcpy.c - -EXTRA_libgnu_a_SOURCES += mempcpy.c - -## end gnulib module mempcpy - -## begin gnulib module memrchr - - -EXTRA_DIST += memrchr.c - -EXTRA_libgnu_a_SOURCES += memrchr.c - -## end gnulib module memrchr - -## begin gnulib module mkdir - - -EXTRA_DIST += mkdir.c - -EXTRA_libgnu_a_SOURCES += mkdir.c - -## end gnulib module mkdir - -## begin gnulib module mkdtemp - - -EXTRA_DIST += mkdtemp.c - -EXTRA_libgnu_a_SOURCES += mkdtemp.c - -## end gnulib module mkdtemp - -## begin gnulib module mkfifo - - -EXTRA_DIST += mkfifo.c - -EXTRA_libgnu_a_SOURCES += mkfifo.c - -## end gnulib module mkfifo - -## begin gnulib module mkfifoat - - -EXTRA_DIST += mkfifoat.c mknodat.c - -EXTRA_libgnu_a_SOURCES += mkfifoat.c mknodat.c - -## end gnulib module mkfifoat - -## begin gnulib module mknod - - -EXTRA_DIST += mknod.c - -EXTRA_libgnu_a_SOURCES += mknod.c - -## end gnulib module mknod - -## begin gnulib module mktime - - -EXTRA_DIST += mktime-internal.h mktime.c - -EXTRA_libgnu_a_SOURCES += mktime.c - -## end gnulib module mktime - -## begin gnulib module modechange - - -EXTRA_DIST += modechange.c modechange.h - -EXTRA_libgnu_a_SOURCES += modechange.c - -## end gnulib module modechange - -## begin gnulib module nl_langinfo - - -EXTRA_DIST += nl_langinfo.c - -EXTRA_libgnu_a_SOURCES += nl_langinfo.c - -## end gnulib module nl_langinfo - -## begin gnulib module obstack - - -EXTRA_DIST += obstack.c obstack.h - -EXTRA_libgnu_a_SOURCES += obstack.c - -## end gnulib module obstack - -## begin gnulib module open - - -EXTRA_DIST += open.c - -EXTRA_libgnu_a_SOURCES += open.c - -## end gnulib module open - -## begin gnulib module openat - - -EXTRA_DIST += at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c openat-priv.h openat-proc.c openat.c openat.h unlinkat.c - -EXTRA_libgnu_a_SOURCES += at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c openat-proc.c openat.c unlinkat.c - -## end gnulib module openat - -## begin gnulib module openat-die - -libgnu_a_SOURCES += openat-die.c - -## end gnulib module openat-die - -## begin gnulib module parse-datetime - -# This rule overrides the Automake generated .y.c rule, to ensure that the -# parse-datetime.c file gets generated in the source directory, not in the -# build directory. -parse-datetime.c: parse-datetime.y - $(AM_V_GEN)$(SHELL) $(YLWRAP) $(srcdir)/parse-datetime.y \ - y.tab.c parse-datetime.c \ - y.tab.h parse-datetime.h \ - y.output parse-datetime.output \ - -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \ - mv parse-datetime.c parse-datetime.c-t && \ - mv parse-datetime.c-t $(srcdir)/parse-datetime.c -libgnu_a_SOURCES += parse-datetime.y -BUILT_SOURCES += parse-datetime.c -MOSTLYCLEANFILES += parse-datetime.c-t -MAINTAINERCLEANFILES += parse-datetime.c -EXTRA_DIST += parse-datetime.c - -EXTRA_DIST += parse-datetime.h - -## end gnulib module parse-datetime - -## begin gnulib module pathmax - - -EXTRA_DIST += pathmax.h - -## end gnulib module pathmax - -## begin gnulib module priv-set - -libgnu_a_SOURCES += priv-set.c - -EXTRA_DIST += priv-set.h - -## end gnulib module priv-set - -## begin gnulib module progname - -libgnu_a_SOURCES += progname.h progname.c - -## end gnulib module progname - -## begin gnulib module quote - - -EXTRA_DIST += quote.c quote.h - -EXTRA_libgnu_a_SOURCES += quote.c - -## end gnulib module quote - -## begin gnulib module quotearg - - -EXTRA_DIST += quotearg.c quotearg.h - -EXTRA_libgnu_a_SOURCES += quotearg.c - -## end gnulib module quotearg - -## begin gnulib module rawmemchr - - -EXTRA_DIST += rawmemchr.c rawmemchr.valgrind - -EXTRA_libgnu_a_SOURCES += rawmemchr.c - -## end gnulib module rawmemchr - -## begin gnulib module readlink - - -EXTRA_DIST += readlink.c - -EXTRA_libgnu_a_SOURCES += readlink.c - -## end gnulib module readlink - -## begin gnulib module readlinkat - - -EXTRA_DIST += readlinkat.c - -EXTRA_libgnu_a_SOURCES += readlinkat.c - -## end gnulib module readlinkat - -## begin gnulib module realloc-posix - - -EXTRA_DIST += realloc.c - -EXTRA_libgnu_a_SOURCES += realloc.c - -## end gnulib module realloc-posix - -## begin gnulib module regex - - -EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c - -EXTRA_libgnu_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c - -## end gnulib module regex - -## begin gnulib module rename - - -EXTRA_DIST += rename.c - -EXTRA_libgnu_a_SOURCES += rename.c - -## end gnulib module rename - -## begin gnulib module renameat - - -EXTRA_DIST += at-func2.c renameat.c - -EXTRA_libgnu_a_SOURCES += at-func2.c renameat.c - -## end gnulib module renameat - -## begin gnulib module rmdir - - -EXTRA_DIST += rmdir.c - -EXTRA_libgnu_a_SOURCES += rmdir.c - -## end gnulib module rmdir - -## begin gnulib module rpmatch - - -EXTRA_DIST += rpmatch.c - -EXTRA_libgnu_a_SOURCES += rpmatch.c - -## end gnulib module rpmatch - -## begin gnulib module safe-read - - -EXTRA_DIST += safe-read.c safe-read.h - -EXTRA_libgnu_a_SOURCES += safe-read.c - -## end gnulib module safe-read - -## begin gnulib module safe-write - - -EXTRA_DIST += safe-write.c safe-write.h - -EXTRA_libgnu_a_SOURCES += safe-write.c - -## end gnulib module safe-write - -## begin gnulib module same-inode - - -EXTRA_DIST += same-inode.h - -## end gnulib module same-inode - -## begin gnulib module save-cwd - - -EXTRA_DIST += save-cwd.c save-cwd.h - -EXTRA_libgnu_a_SOURCES += save-cwd.c - -## end gnulib module save-cwd - -## begin gnulib module savedir - - -EXTRA_DIST += savedir.c savedir.h - -EXTRA_libgnu_a_SOURCES += savedir.c - -## end gnulib module savedir - -## begin gnulib module setenv - - -EXTRA_DIST += setenv.c - -EXTRA_libgnu_a_SOURCES += setenv.c - -## end gnulib module setenv - -## begin gnulib module size_max - -libgnu_a_SOURCES += size_max.h - -## end gnulib module size_max - -## begin gnulib module sleep - - -EXTRA_DIST += sleep.c - -EXTRA_libgnu_a_SOURCES += sleep.c - -## end gnulib module sleep - -## begin gnulib module snprintf - - -EXTRA_DIST += snprintf.c - -EXTRA_libgnu_a_SOURCES += snprintf.c - -## end gnulib module snprintf - -## begin gnulib module stat - - -EXTRA_DIST += stat.c - -EXTRA_libgnu_a_SOURCES += stat.c - -## end gnulib module stat - -## begin gnulib module stat-macros - - -EXTRA_DIST += stat-macros.h - -## end gnulib module stat-macros - -## begin gnulib module stat-time - - -EXTRA_DIST += stat-time.h - -## end gnulib module stat-time - -## begin gnulib module stdarg - -BUILT_SOURCES += $(STDARG_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdarg.h: stdarg.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ - < $(srcdir)/stdarg.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += stdarg.h stdarg.h-t - -EXTRA_DIST += stdarg.in.h - -## end gnulib module stdarg - -## begin gnulib module stdbool - -BUILT_SOURCES += $(STDBOOL_H) - -# We need the following in order to create when the system -# doesn't have one that works. -stdbool.h: stdbool.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += stdbool.h stdbool.h-t - -EXTRA_DIST += stdbool.in.h - -## end gnulib module stdbool - -## begin gnulib module stddef - -BUILT_SOURCES += $(STDDEF_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stddef.h: stddef.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ - -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ - -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ - < $(srcdir)/stddef.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += stddef.h stddef.h-t - -EXTRA_DIST += stddef.in.h - -## end gnulib module stddef - -## begin gnulib module stdint - -BUILT_SOURCES += $(STDINT_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdint.h: stdint.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_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_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ - -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/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/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ - -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ - -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ - -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ - -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ - -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ - -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ - -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ - -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ - -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - < $(srcdir)/stdint.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += stdint.h stdint.h-t - -EXTRA_DIST += stdint.in.h - -## end gnulib module stdint - -## begin gnulib module stdio - -BUILT_SOURCES += stdio.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ - -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ - -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ - -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ - -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ - -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \ - -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ - -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ - -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ - -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ - -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ - -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ - -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ - -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ - -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ - -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ - -e 's|@''GNULIB_POPEN''@|$(GNULIB_POPEN)|g' \ - -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ - -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ - -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ - -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ - -e 's|@''GNULIB_REMOVE''@|$(GNULIB_REMOVE)|g' \ - -e 's|@''GNULIB_RENAME''@|$(GNULIB_RENAME)|g' \ - -e 's|@''GNULIB_RENAMEAT''@|$(GNULIB_RENAMEAT)|g' \ - -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ - -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \ - -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ - -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|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' \ - < $(srcdir)/stdio.in.h | \ - sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ - -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ - -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ - -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ - -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ - -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ - -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ - -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ - -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ - -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ - -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ - -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ - -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ - -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ - -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ - -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ - -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ - -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ - -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ - -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ - -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ - -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ - -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ - -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ - -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ - -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ - -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ - -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ - -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ - -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ - -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ - -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ - -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ - -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ - -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ - -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ - -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ - -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ - -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ - -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ - -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ - -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ - -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ - -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ - -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += stdio.h stdio.h-t - -EXTRA_DIST += stdio.in.h - -## end gnulib module stdio - -## begin gnulib module stdlib - -BUILT_SOURCES += stdlib.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's|@''GNULIB__EXIT''@|$(GNULIB__EXIT)|g' \ - -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ - -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ - -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \ - -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ - -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ - -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \ - -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ - -e 's|@''GNULIB_MBTOWC''@|$(GNULIB_MBTOWC)|g' \ - -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ - -e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \ - -e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \ - -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ - -e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \ - -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \ - -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ - -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ - -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ - -e 's|@''GNULIB_REALPATH''@|$(GNULIB_REALPATH)|g' \ - -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ - -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ - -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ - -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ - -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ - -e 's|@''GNULIB_SYSTEM_POSIX''@|$(GNULIB_SYSTEM_POSIX)|g' \ - -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \ - -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ - -e 's|@''GNULIB_WCTOMB''@|$(GNULIB_WCTOMB)|g' \ - < $(srcdir)/stdlib.in.h | \ - sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ - -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ - -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ - -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ - -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ - -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ - -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ - -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ - -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ - -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ - -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ - -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ - -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ - -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ - -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ - -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ - -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ - -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ - -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ - -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ - -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ - -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ - -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ - -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ - -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ - -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ - -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ - -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ - -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ - -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ - -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ - -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ - -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ - -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ - -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ - -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += stdlib.h stdlib.h-t - -EXTRA_DIST += stdlib.in.h - -## end gnulib module stdlib - -## begin gnulib module stpcpy - - -EXTRA_DIST += stpcpy.c - -EXTRA_libgnu_a_SOURCES += stpcpy.c - -## end gnulib module stpcpy - -## begin gnulib module strcase - - -EXTRA_DIST += strcasecmp.c strncasecmp.c - -EXTRA_libgnu_a_SOURCES += strcasecmp.c strncasecmp.c - -## end gnulib module strcase - -## begin gnulib module strchrnul - - -EXTRA_DIST += strchrnul.c strchrnul.valgrind - -EXTRA_libgnu_a_SOURCES += strchrnul.c - -## end gnulib module strchrnul - -## begin gnulib module strdup-posix - - -EXTRA_DIST += strdup.c - -EXTRA_libgnu_a_SOURCES += strdup.c - -## end gnulib module strdup-posix - -## begin gnulib module streq - - -EXTRA_DIST += streq.h - -## end gnulib module streq - -## begin gnulib module strerror - - -EXTRA_DIST += strerror.c - -EXTRA_libgnu_a_SOURCES += strerror.c - -## end gnulib module strerror - -## begin gnulib module string - -BUILT_SOURCES += string.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -string.h: string.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ - -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|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_MEMCHR''@|$(GNULIB_MEMCHR)|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_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|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_STRNCAT''@|$(GNULIB_STRNCAT)|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_STRSTR''@|$(GNULIB_STRSTR)|g' \ - -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ - -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ - -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ - -e 's|@''GNULIB_STRERROR_R''@|$(GNULIB_STRERROR_R)|g' \ - -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ - -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ - < $(srcdir)/string.in.h | \ - sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ - -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|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_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ - -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ - -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ - -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ - -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|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 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ - -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ - -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ - -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ - -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ - -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ - -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ - -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ - -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ - -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ - -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ - -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ - -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ - -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ - -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ - -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ - -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - < $(srcdir)/string.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += string.h string.h-t - -EXTRA_DIST += string.in.h - -## end gnulib module string - -## begin gnulib module strings - -BUILT_SOURCES += strings.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -strings.h: strings.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ - -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ - -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/strings.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += strings.h strings.h-t - -EXTRA_DIST += strings.in.h - -## end gnulib module strings - -## begin gnulib module strndup - - -EXTRA_DIST += strndup.c - -EXTRA_libgnu_a_SOURCES += strndup.c - -## end gnulib module strndup - -## begin gnulib module strnlen - - -EXTRA_DIST += strnlen.c - -EXTRA_libgnu_a_SOURCES += strnlen.c - -## end gnulib module strnlen - -## begin gnulib module strnlen1 - -libgnu_a_SOURCES += strnlen1.h strnlen1.c - -## end gnulib module strnlen1 - -## begin gnulib module strtoimax - - -EXTRA_DIST += strtoimax.c - -EXTRA_libgnu_a_SOURCES += strtoimax.c - -## end gnulib module strtoimax - -## begin gnulib module strtol - - -EXTRA_DIST += strtol.c - -EXTRA_libgnu_a_SOURCES += strtol.c - -## end gnulib module strtol - -## begin gnulib module strtoll - - -EXTRA_DIST += strtoll.c - -EXTRA_libgnu_a_SOURCES += strtoll.c - -## end gnulib module strtoll - -## begin gnulib module strtoul - - -EXTRA_DIST += strtoul.c - -EXTRA_libgnu_a_SOURCES += strtoul.c - -## end gnulib module strtoul - -## begin gnulib module strtoull - - -EXTRA_DIST += strtoull.c - -EXTRA_libgnu_a_SOURCES += strtoull.c - -## end gnulib module strtoull - -## begin gnulib module strtoumax - - -EXTRA_DIST += strtoumax.c - -EXTRA_libgnu_a_SOURCES += strtoumax.c - -## end gnulib module strtoumax - -## begin gnulib module symlink - - -EXTRA_DIST += symlink.c - -EXTRA_libgnu_a_SOURCES += symlink.c - -## end gnulib module symlink - -## begin gnulib module symlinkat - - -EXTRA_DIST += symlinkat.c - -EXTRA_libgnu_a_SOURCES += symlinkat.c - -## end gnulib module symlinkat - -## begin gnulib module sys_stat - -BUILT_SOURCES += sys/stat.h - -# We need the following in order to create when the system -# has one that is incomplete. -sys/stat.h: sys_stat.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ - -e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \ - -e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \ - -e 's|@''GNULIB_FUTIMENS''@|$(GNULIB_FUTIMENS)|g' \ - -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ - -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ - -e 's|@''GNULIB_MKDIRAT''@|$(GNULIB_MKDIRAT)|g' \ - -e 's|@''GNULIB_MKFIFO''@|$(GNULIB_MKFIFO)|g' \ - -e 's|@''GNULIB_MKFIFOAT''@|$(GNULIB_MKFIFOAT)|g' \ - -e 's|@''GNULIB_MKNOD''@|$(GNULIB_MKNOD)|g' \ - -e 's|@''GNULIB_MKNODAT''@|$(GNULIB_MKNODAT)|g' \ - -e 's|@''GNULIB_STAT''@|$(GNULIB_STAT)|g' \ - -e 's|@''GNULIB_UTIMENSAT''@|$(GNULIB_UTIMENSAT)|g' \ - -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ - -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ - -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ - -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ - -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ - -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ - -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ - -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ - -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ - -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ - -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ - -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ - -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ - -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ - -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ - -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ - -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ - -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ - -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ - -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sys_stat.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t -MOSTLYCLEANDIRS += sys - -EXTRA_DIST += sys_stat.in.h - -## end gnulib module sys_stat - -## begin gnulib module sys_time - -BUILT_SOURCES += sys/time.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sys/time.h: sys_time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_at)$(MKDIR_P) sys - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ - -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ - -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ - -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ - -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/sys_time.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += sys/time.h sys/time.h-t - -EXTRA_DIST += sys_time.in.h - -## end gnulib module sys_time - -## begin gnulib module sysexits - -BUILT_SOURCES += $(SYSEXITS_H) - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -sysexits.h: sysexits.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \ - < $(srcdir)/sysexits.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -MOSTLYCLEANFILES += sysexits.h sysexits.h-t - -EXTRA_DIST += sysexits.in.h - -## end gnulib module sysexits - -## begin gnulib module tempname - - -EXTRA_DIST += tempname.c tempname.h - -EXTRA_libgnu_a_SOURCES += tempname.c - -## end gnulib module tempname - -## begin gnulib module time - -BUILT_SOURCES += time.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -time.h: time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \ - -e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \ - -e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \ - -e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \ - -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \ - -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ - -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ - -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ - -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ - -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ - -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ - -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ - -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ - -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|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' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/time.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += time.h time.h-t - -EXTRA_DIST += time.in.h - -## end gnulib module time - -## begin gnulib module time_r - - -EXTRA_DIST += time_r.c - -EXTRA_libgnu_a_SOURCES += time_r.c - -## end gnulib module time_r - -## begin gnulib module timespec - - -EXTRA_DIST += timespec.h - -## end gnulib module timespec - -## begin gnulib module unistd - -BUILT_SOURCES += unistd.h - -# We need the following in order to create an empty placeholder for -# when the system doesn't have one. -unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ - -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ - -e 's|@''GNULIB_DUP3''@|$(GNULIB_DUP3)|g' \ - -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ - -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ - -e 's|@''GNULIB_FACCESSAT''@|$(GNULIB_FACCESSAT)|g' \ - -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ - -e 's|@''GNULIB_FCHOWNAT''@|$(GNULIB_FCHOWNAT)|g' \ - -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ - -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ - -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ - -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ - -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ - -e 's|@''GNULIB_GETGROUPS''@|$(GNULIB_GETGROUPS)|g' \ - -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ - -e 's|@''GNULIB_GETLOGIN''@|$(GNULIB_GETLOGIN)|g' \ - -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ - -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ - -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ - -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ - -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ - -e 's|@''GNULIB_LINKAT''@|$(GNULIB_LINKAT)|g' \ - -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ - -e 's|@''GNULIB_PIPE''@|$(GNULIB_PIPE)|g' \ - -e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \ - -e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \ - -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \ - -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ - -e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \ - -e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \ - -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ - -e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \ - -e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \ - -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \ - -e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \ - -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \ - -e 's|@''GNULIB_UNLINKAT''@|$(GNULIB_UNLINKAT)|g' \ - -e 's|@''GNULIB_USLEEP''@|$(GNULIB_USLEEP)|g' \ - -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ - < $(srcdir)/unistd.in.h | \ - sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ - -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ - -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ - -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ - -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ - -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ - -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ - -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ - -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ - -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ - -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ - -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ - -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ - -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ - -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ - -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ - -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ - -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \ - -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ - -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ - -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ - -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ - -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ - -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ - -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ - -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ - -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ - -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ - -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ - -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ - -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ - -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ - -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ - -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ - -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ - -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ - -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - | \ - sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ - -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ - -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ - -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ - -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ - -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ - -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ - -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ - -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ - -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ - -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ - -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ - -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ - -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ - -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ - -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ - -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ - -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ - -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ - -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ - -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ - -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ - -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ - -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ - -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ - -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ - -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += unistd.h unistd.h-t - -EXTRA_DIST += unistd.in.h - -## end gnulib module unistd - -## begin gnulib module unistd-safer - - -EXTRA_DIST += dup-safer.c fd-safer.c pipe-safer.c unistd--.h unistd-safer.h - -EXTRA_libgnu_a_SOURCES += dup-safer.c fd-safer.c pipe-safer.c - -## end gnulib module unistd-safer - -## begin gnulib module unitypes - -BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H) - -unitypes.h: unitypes.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/unitypes.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -MOSTLYCLEANFILES += unitypes.h unitypes.h-t - -EXTRA_DIST += unitypes.in.h - -## end gnulib module unitypes - -## begin gnulib module uniwidth/base - -BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) - -uniwidth.h: uniwidth.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/uniwidth.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t - -EXTRA_DIST += localcharset.h uniwidth.in.h - -## end gnulib module uniwidth/base - -## begin gnulib module uniwidth/width - -if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH -libgnu_a_SOURCES += uniwidth/width.c -endif - -EXTRA_DIST += uniwidth/cjk.h - -## end gnulib module uniwidth/width - -## begin gnulib module unlink - - -EXTRA_DIST += unlink.c - -EXTRA_libgnu_a_SOURCES += unlink.c - -## end gnulib module unlink - -## begin gnulib module unlinkdir - - -EXTRA_DIST += unlinkdir.c unlinkdir.h - -EXTRA_libgnu_a_SOURCES += unlinkdir.c - -## end gnulib module unlinkdir - -## begin gnulib module unlocked-io - - -EXTRA_DIST += unlocked-io.h - -## end gnulib module unlocked-io - -## begin gnulib module unsetenv - - -EXTRA_DIST += unsetenv.c - -EXTRA_libgnu_a_SOURCES += unsetenv.c - -## end gnulib module unsetenv - -## begin gnulib module utimens - - -EXTRA_DIST += utimens.c utimens.h - -EXTRA_libgnu_a_SOURCES += utimens.c - -## end gnulib module utimens - -## begin gnulib module utimensat - - -EXTRA_DIST += utimensat.c - -EXTRA_libgnu_a_SOURCES += utimensat.c - -## end gnulib module utimensat - -## begin gnulib module vasnprintf - - -EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h - -EXTRA_libgnu_a_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c - -## end gnulib module vasnprintf - -## begin gnulib module vasprintf - - -EXTRA_DIST += asprintf.c vasprintf.c - -EXTRA_libgnu_a_SOURCES += asprintf.c vasprintf.c - -## end gnulib module vasprintf - -## begin gnulib module verify - -libgnu_a_SOURCES += verify.h - -## end gnulib module verify - -## begin gnulib module version-etc - -libgnu_a_SOURCES += version-etc.h version-etc.c - -## end gnulib module version-etc - -## begin gnulib module version-etc-fsf - -libgnu_a_SOURCES += version-etc-fsf.c - -## end gnulib module version-etc-fsf - -## begin gnulib module vsnprintf - - -EXTRA_DIST += vsnprintf.c - -EXTRA_libgnu_a_SOURCES += vsnprintf.c - -## end gnulib module vsnprintf - -## begin gnulib module warn-on-use - -BUILT_SOURCES += warn-on-use.h -# The warn-on-use.h that gets inserted into generated .h files is the same as -# build-aux/warn-on-use.h, except that it has the copyright header cut off. -warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/^.ifndef/,$$p' \ - < $(top_srcdir)/build-aux/warn-on-use.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t - -WARN_ON_USE_H=warn-on-use.h - -EXTRA_DIST += $(top_srcdir)/build-aux/warn-on-use.h - -## end gnulib module warn-on-use - -## begin gnulib module wchar - -BUILT_SOURCES += wchar.h - -# We need the following in order to create when the system -# version does not work standalone. -wchar.h: wchar.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ - -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ - -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ - -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ - -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ - -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ - -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ - -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ - -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ - -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ - -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ - -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ - -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ - -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ - -e 's|@''GNULIB_WMEMCHR''@|$(GNULIB_WMEMCHR)|g' \ - -e 's|@''GNULIB_WMEMCMP''@|$(GNULIB_WMEMCMP)|g' \ - -e 's|@''GNULIB_WMEMCPY''@|$(GNULIB_WMEMCPY)|g' \ - -e 's|@''GNULIB_WMEMMOVE''@|$(GNULIB_WMEMMOVE)|g' \ - -e 's|@''GNULIB_WMEMSET''@|$(GNULIB_WMEMSET)|g' \ - -e 's|@''GNULIB_WCSLEN''@|$(GNULIB_WCSLEN)|g' \ - -e 's|@''GNULIB_WCSNLEN''@|$(GNULIB_WCSNLEN)|g' \ - -e 's|@''GNULIB_WCSCPY''@|$(GNULIB_WCSCPY)|g' \ - -e 's|@''GNULIB_WCPCPY''@|$(GNULIB_WCPCPY)|g' \ - -e 's|@''GNULIB_WCSNCPY''@|$(GNULIB_WCSNCPY)|g' \ - -e 's|@''GNULIB_WCPNCPY''@|$(GNULIB_WCPNCPY)|g' \ - -e 's|@''GNULIB_WCSCAT''@|$(GNULIB_WCSCAT)|g' \ - -e 's|@''GNULIB_WCSNCAT''@|$(GNULIB_WCSNCAT)|g' \ - -e 's|@''GNULIB_WCSCMP''@|$(GNULIB_WCSCMP)|g' \ - -e 's|@''GNULIB_WCSNCMP''@|$(GNULIB_WCSNCMP)|g' \ - -e 's|@''GNULIB_WCSCASECMP''@|$(GNULIB_WCSCASECMP)|g' \ - -e 's|@''GNULIB_WCSNCASECMP''@|$(GNULIB_WCSNCASECMP)|g' \ - -e 's|@''GNULIB_WCSCOLL''@|$(GNULIB_WCSCOLL)|g' \ - -e 's|@''GNULIB_WCSXFRM''@|$(GNULIB_WCSXFRM)|g' \ - -e 's|@''GNULIB_WCSDUP''@|$(GNULIB_WCSDUP)|g' \ - -e 's|@''GNULIB_WCSCHR''@|$(GNULIB_WCSCHR)|g' \ - -e 's|@''GNULIB_WCSRCHR''@|$(GNULIB_WCSRCHR)|g' \ - -e 's|@''GNULIB_WCSCSPN''@|$(GNULIB_WCSCSPN)|g' \ - -e 's|@''GNULIB_WCSSPN''@|$(GNULIB_WCSSPN)|g' \ - -e 's|@''GNULIB_WCSPBRK''@|$(GNULIB_WCSPBRK)|g' \ - -e 's|@''GNULIB_WCSSTR''@|$(GNULIB_WCSSTR)|g' \ - -e 's|@''GNULIB_WCSTOK''@|$(GNULIB_WCSTOK)|g' \ - -e 's|@''GNULIB_WCSWIDTH''@|$(GNULIB_WCSWIDTH)|g' \ - < $(srcdir)/wchar.in.h | \ - sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ - -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ - -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ - -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ - -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ - -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ - -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ - -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ - -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ - -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ - -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \ - -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ - -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ - -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ - -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ - -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ - -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ - -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \ - -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \ - -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \ - -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \ - -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \ - -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \ - -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \ - -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \ - -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \ - -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \ - -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \ - -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \ - -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \ - -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \ - -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \ - -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \ - -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \ - -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \ - -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \ - -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \ - -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ - -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ - -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - | \ - sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ - -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ - -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ - -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ - -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ - -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ - -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ - -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ - -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ - -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ - -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ - -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ - -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += wchar.h wchar.h-t - -EXTRA_DIST += wchar.in.h - -## end gnulib module wchar - -## begin gnulib module wcrtomb - - -EXTRA_DIST += wcrtomb.c - -EXTRA_libgnu_a_SOURCES += wcrtomb.c - -## end gnulib module wcrtomb - -## begin gnulib module wctype-h - -BUILT_SOURCES += wctype.h - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -wctype.h: wctype.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ - -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ - -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ - -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ - -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ - -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ - -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ - -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ - -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ - -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ - -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ - -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ - -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ - -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ - -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - < $(srcdir)/wctype.in.h; \ - } > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += wctype.h wctype.h-t - -EXTRA_DIST += wctype.in.h - -## end gnulib module wctype-h - -## begin gnulib module wcwidth - - -EXTRA_DIST += wcwidth.c - -EXTRA_libgnu_a_SOURCES += wcwidth.c - -## end gnulib module wcwidth - -## begin gnulib module write - - -EXTRA_DIST += write.c - -EXTRA_libgnu_a_SOURCES += write.c - -## end gnulib module write - -## begin gnulib module xalloc - - -EXTRA_DIST += xalloc.h xmalloc.c - -EXTRA_libgnu_a_SOURCES += xmalloc.c - -## end gnulib module xalloc - -## begin gnulib module xalloc-die - -libgnu_a_SOURCES += xalloc-die.c - -## end gnulib module xalloc-die - -## begin gnulib module xgetcwd - - -EXTRA_DIST += xgetcwd.c xgetcwd.h - -EXTRA_libgnu_a_SOURCES += xgetcwd.c - -## end gnulib module xgetcwd - -## begin gnulib module xsize - -libgnu_a_SOURCES += xsize.h - -## end gnulib module xsize - -## begin gnulib module xstrndup - -libgnu_a_SOURCES += xstrndup.h xstrndup.c - -## end gnulib module xstrndup - -## begin gnulib module xstrtol - - -EXTRA_DIST += xstrtol-error.c xstrtol.c xstrtol.h xstrtoul.c - -EXTRA_libgnu_a_SOURCES += xstrtol-error.c xstrtol.c xstrtoul.c - -## end gnulib module xstrtol - -## begin gnulib module xstrtoumax - -libgnu_a_SOURCES += xstrtoumax.c - -## end gnulib module xstrtoumax - -## begin gnulib module xvasprintf - -libgnu_a_SOURCES += xvasprintf.h xvasprintf.c xasprintf.c - -EXTRA_DIST += xalloc.h - -## end gnulib module xvasprintf - - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : +# Make the subset of Gnulib that GNU tar needs. +include gnulib.mk +AM_CFLAGS += $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) diff --git a/gnu/Makefile.in b/gnu/Makefile.in index 03c8447b..454337bf 100644 --- a/gnu/Makefile.in +++ b/gnu/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,22 +14,49 @@ @SET_MAKE@ -# -*- buffer-read-only: t -*- vi: set ro: -# DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2011 Free Software Foundation, Inc. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . # -# This file is free software, distributed under the terms of the GNU -# General Public License. As a special exception to the GNU General -# Public License, this file may be distributed as part of a program -# that contains a configuration script generated by Autoconf, under +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-libtool --macro-prefix=gl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail fdopendir fdutimensat fileblocks fnmatch-gnu fseeko full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat rpmatch safe-read savedir setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -48,34 +74,40 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/gnulib.mk \ + $(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \ + alloca.c parse-datetime.c @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c subdir = gnu -DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in alloca.c parse-datetime.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -83,50 +115,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -134,22 +176,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -165,71 +208,113 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) -am__v_AR_0 = @echo " AR " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_AR = $(am__v_AR_@AM_V@) +am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +am__v_AR_0 = @echo " AR " $@; +am__v_AR_1 = libgnu_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = -am__libgnu_a_SOURCES_DIST = areadlink.c areadlinkat.c argp.h argp-ba.c \ +am__libgnu_a_SOURCES_DIST = copy-acl.c set-acl.c allocator.c \ + areadlink.c areadlinkat.c argmatch.c argp.h argp-ba.c \ argp-eexst.c argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c \ argp-help.c argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c \ argp-pvh.c argp-xinl.c argp-version-etc.h argp-version-etc.c \ - bitrotate.h c-ctype.h c-ctype.c close-hook.c exitfail.c \ - fdutimensat.c full-write.h full-write.c gettext.h imaxtostr.c \ - inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \ + backupfile.c bitrotate.h bitrotate.c c-ctype.h c-ctype.c \ + c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \ + cloexec.c close-stream.c closeout.c opendir-safer.c dirname.c \ + basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \ + exclude.c exitfail.c chmodat.c chownat.c fd-hook.c \ + fdutimensat.c filenamecat-lgpl.c full-write.h full-write.c \ + gettext.h gettime.c hash.c human.c imaxtostr.c inttostr.c \ + offtostr.c uinttostr.c umaxtostr.c localcharset.h \ localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \ - openat-die.c parse-datetime.y priv-set.c progname.h progname.c \ - size_max.h strnlen1.h strnlen1.c uniwidth/width.c verify.h \ - version-etc.h version-etc.c version-etc-fsf.c xalloc-die.c \ - xsize.h xstrndup.h xstrndup.c xstrtoumax.c xvasprintf.h \ + mbuiter.c modechange.c openat-die.c parse-datetime.y \ + priv-set.c progname.h progname.c acl-errno-valid.c \ + file-has-acl.c qcopy-acl.c qset-acl.c quotearg.c safe-read.c \ + safe-write.c save-cwd.c savedir.c se-context.in.h \ + se-selinux.in.h se-context.c se-selinux.c size_max.h \ + stat-time.c statat.c strnlen1.h strnlen1.c tempname.c \ + timespec.c unistd.c dup-safer.c fd-safer.c pipe-safer.c \ + uniwidth/width.c unlinkdir.c utimens.c version-etc.h \ + version-etc.c version-etc-fsf.c wctype-h.c xmalloc.c \ + xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h xstrndup.c \ + xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c xvasprintf.h \ xvasprintf.c xasprintf.c am__dirstamp = $(am__leading_dot)dirstamp @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT) -am_libgnu_a_OBJECTS = areadlink.$(OBJEXT) areadlinkat.$(OBJEXT) \ - argp-ba.$(OBJEXT) argp-eexst.$(OBJEXT) \ +am_libgnu_a_OBJECTS = copy-acl.$(OBJEXT) set-acl.$(OBJEXT) \ + allocator.$(OBJEXT) areadlink.$(OBJEXT) areadlinkat.$(OBJEXT) \ + argmatch.$(OBJEXT) argp-ba.$(OBJEXT) argp-eexst.$(OBJEXT) \ argp-fmtstream.$(OBJEXT) argp-fs-xinl.$(OBJEXT) \ argp-help.$(OBJEXT) argp-parse.$(OBJEXT) argp-pin.$(OBJEXT) \ argp-pv.$(OBJEXT) argp-pvh.$(OBJEXT) argp-xinl.$(OBJEXT) \ - argp-version-etc.$(OBJEXT) c-ctype.$(OBJEXT) \ - close-hook.$(OBJEXT) exitfail.$(OBJEXT) fdutimensat.$(OBJEXT) \ - full-write.$(OBJEXT) imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) \ + argp-version-etc.$(OBJEXT) backupfile.$(OBJEXT) \ + bitrotate.$(OBJEXT) c-ctype.$(OBJEXT) c-strcasecmp.$(OBJEXT) \ + c-strncasecmp.$(OBJEXT) careadlinkat.$(OBJEXT) \ + cloexec.$(OBJEXT) close-stream.$(OBJEXT) closeout.$(OBJEXT) \ + opendir-safer.$(OBJEXT) dirname.$(OBJEXT) basename.$(OBJEXT) \ + dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \ + stripslash.$(OBJEXT) exclude.$(OBJEXT) exitfail.$(OBJEXT) \ + chmodat.$(OBJEXT) chownat.$(OBJEXT) fd-hook.$(OBJEXT) \ + fdutimensat.$(OBJEXT) filenamecat-lgpl.$(OBJEXT) \ + full-write.$(OBJEXT) gettime.$(OBJEXT) hash.$(OBJEXT) \ + human.$(OBJEXT) imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) \ offtostr.$(OBJEXT) uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) \ localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \ - mbscasecmp.$(OBJEXT) openat-die.$(OBJEXT) \ - parse-datetime.$(OBJEXT) priv-set.$(OBJEXT) progname.$(OBJEXT) \ - strnlen1.$(OBJEXT) $(am__objects_1) version-etc.$(OBJEXT) \ - version-etc-fsf.$(OBJEXT) xalloc-die.$(OBJEXT) \ - xstrndup.$(OBJEXT) xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) \ - xasprintf.$(OBJEXT) + mbscasecmp.$(OBJEXT) mbuiter.$(OBJEXT) modechange.$(OBJEXT) \ + openat-die.$(OBJEXT) parse-datetime.$(OBJEXT) \ + priv-set.$(OBJEXT) progname.$(OBJEXT) \ + acl-errno-valid.$(OBJEXT) file-has-acl.$(OBJEXT) \ + qcopy-acl.$(OBJEXT) qset-acl.$(OBJEXT) quotearg.$(OBJEXT) \ + safe-read.$(OBJEXT) safe-write.$(OBJEXT) save-cwd.$(OBJEXT) \ + savedir.$(OBJEXT) se-context.$(OBJEXT) se-selinux.$(OBJEXT) \ + stat-time.$(OBJEXT) statat.$(OBJEXT) strnlen1.$(OBJEXT) \ + tempname.$(OBJEXT) timespec.$(OBJEXT) unistd.$(OBJEXT) \ + dup-safer.$(OBJEXT) fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) \ + $(am__objects_1) unlinkdir.$(OBJEXT) utimens.$(OBJEXT) \ + version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \ + wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT) \ + xgetcwd.$(OBJEXT) xsize.$(OBJEXT) xstrndup.$(OBJEXT) \ + xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \ + xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT) libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) -AM_V_YACC = $(am__v_YACC_$(V)) -am__v_YACC_ = $(am__v_YACC_$(AM_DEFAULT_VERBOSITY)) -am__v_YACC_0 = @echo " YACC " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ + -e s/c++$$/h++/ -e s/c$$/h/ +YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) +AM_V_YACC = $(am__v_YACC_@AM_V@) +am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) +am__v_YACC_0 = @echo " YACC " $@; +am__v_YACC_1 = YLWRAP = $(top_srcdir)/build-aux/ylwrap -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES) DIST_SOURCES = $(am__libgnu_a_SOURCES_DIST) $(EXTRA_libgnu_a_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -239,6 +324,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive @@ -281,6 +371,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -332,12 +424,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -346,17 +442,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -364,6 +470,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -378,15 +486,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -427,25 +539,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -453,14 +575,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -487,12 +618,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -504,10 +636,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -552,9 +687,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -573,6 +710,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -588,17 +726,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -614,6 +758,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -646,28 +791,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -675,6 +838,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -682,6 +846,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -694,6 +859,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -733,12 +899,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -761,7 +929,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -783,6 +953,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -793,6 +966,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -804,6 +978,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -814,6 +991,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -824,6 +1002,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -845,9 +1024,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -860,6 +1041,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -869,11 +1051,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -903,8 +1088,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -913,13 +1104,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -929,10 +1123,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -953,10 +1151,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -970,9 +1171,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -1035,66 +1241,82 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects SUBDIRS = noinst_HEADERS = noinst_LIBRARIES = libgnu.a noinst_LTLIBRARIES = -EXTRA_DIST = alloca.c alloca.in.h areadlink.h areadlink.h \ - $(top_srcdir)/build-aux/arg-nonnull.h argmatch.c argmatch.h \ - backupfile.c backupfile.h btowc.c \ - $(top_srcdir)/build-aux/c++defs.h canonicalize-lgpl.c \ - chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.c \ - cloexec.h close.c close-hook.h close-stream.c close-stream.h \ - closeout.c closeout.h dirent.in.h dirent--.h dirent-safer.h \ - opendir-safer.c dirfd.c basename.c dirname.c stripslash.c \ - basename-lgpl.c dirname-lgpl.c dirname.h stripslash.c \ - dosname.h dup2.c errno.in.h error.c error.h exclude.c \ - exclude.h exitfail.h fchdir.c fclose.c fcntl.c fcntl.in.h \ - fdopendir.c openat-priv.h openat-proc.c utimens.h fileblocks.c \ - filenamecat-lgpl.c filenamecat.h float.in.h fnmatch.c \ - fnmatch.in.h fnmatch_loop.c fpending.c fpending.h fseeko.c \ - stdio-impl.h futimens.c getcwd.c getdelim.c getdtablesize.c \ - getline.c getopt.c getopt.in.h getopt1.c getopt_int.h \ - getpagesize.c $(top_srcdir)/build-aux/config.rpath gettime.c \ - gettimeofday.c $(top_srcdir)/build-aux/gitlog-to-changelog \ - hash.c hash.h $(top_srcdir)/build-aux/config.rpath human.c \ - human.h intprops.h anytostr.c inttostr.h inttypes.in.h \ - iswblank.c langinfo.in.h lchown.c link.c at-func2.c linkat.c \ - config.charset ref-add.sin ref-del.sin lseek.c lstat.c \ - malloc.c malloc.c malloca.h malloca.valgrind mbchar.h \ - mbrtowc.c mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c \ - mbsrtowcs.c mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind \ - mempcpy.c memrchr.c mkdir.c mkdtemp.c mkfifo.c mkfifoat.c \ - mknodat.c mknod.c mktime-internal.h mktime.c modechange.c \ - modechange.h nl_langinfo.c obstack.c obstack.h open.c \ - at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c \ - openat-priv.h openat-proc.c openat.c openat.h unlinkat.c \ - parse-datetime.c parse-datetime.h pathmax.h priv-set.h quote.c \ - quote.h quotearg.c quotearg.h rawmemchr.c rawmemchr.valgrind \ - readlink.c readlinkat.c realloc.c regcomp.c regex.c regex.h \ - regex_internal.c regex_internal.h regexec.c rename.c \ - at-func2.c renameat.c rmdir.c rpmatch.c safe-read.c \ - safe-read.h safe-write.c safe-write.h same-inode.h save-cwd.c \ - save-cwd.h savedir.c savedir.h setenv.c sleep.c snprintf.c \ - stat.c stat-macros.h stat-time.h stdarg.in.h stdbool.in.h \ - stddef.in.h stdint.in.h stdio.in.h stdlib.in.h stpcpy.c \ - strcasecmp.c strncasecmp.c strchrnul.c strchrnul.valgrind \ - strdup.c streq.h strerror.c string.in.h strings.in.h strndup.c \ - strnlen.c strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \ - strtoumax.c symlink.c symlinkat.c sys_stat.in.h sys_time.in.h \ - sysexits.in.h tempname.c tempname.h time.in.h time_r.c \ - timespec.h unistd.in.h dup-safer.c fd-safer.c pipe-safer.c \ - unistd--.h unistd-safer.h unitypes.in.h localcharset.h \ - uniwidth.in.h uniwidth/cjk.h unlink.c unlinkdir.c unlinkdir.h \ - unlocked-io.h unsetenv.c utimens.c utimens.h utimensat.c \ - asnprintf.c float+.h printf-args.c printf-args.h \ - printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \ - asprintf.c vasprintf.c vsnprintf.c \ - $(top_srcdir)/build-aux/warn-on-use.h wchar.in.h wcrtomb.c \ - wctype.in.h wcwidth.c write.c xalloc.h xmalloc.c xgetcwd.c \ - xgetcwd.h xstrtol-error.c xstrtol.c xstrtol.h xstrtoul.c \ - xalloc.h + +# If your project uses "gettextize --intl" to put a source-code +# copy of libintl into the package, every Makefile.am needs +# -I$(top_builddir)/intl, so that can be found in this directory. +# Here's one way to do this: +#AM_CPPFLAGS += -I$(top_builddir)/intl +# This option has no effect when the user disables NLS (because then +# the intl directory contains no libintl.h file). This option is not +# enabled by default because the intl directory might not exist if +# your project does not use "gettext --intl", and some compilers +# complain about -I options applied to nonexistent directories. +EXTRA_DIST = alloca.c alloca.in.h allocator.h areadlink.h areadlink.h \ + at-func.c argmatch.h openat-priv.h openat-proc.c backupfile.h \ + btowc.c c-strcaseeq.h canonicalize-lgpl.c careadlinkat.h \ + chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.h \ + close.c close-stream.h closedir.c dirent-private.h closeout.h \ + dirent.in.h dirent--.h dirent-safer.h dirfd.c stripslash.c \ + dirname.h dosname.h dup.c dup2.c errno.in.h error.c error.h \ + exclude.h exitfail.h fchdir.c at-func.c fchmodat.c at-func.c \ + fchownat.c fcntl.c fcntl.in.h fd-hook.h fdopendir.c utimens.h \ + fileblocks.c filename.h filenamecat.h float.c float.in.h \ + itold.c fnmatch.c fnmatch.in.h fnmatch_loop.c fpending.c \ + fpending.h fseek.c fseeko.c stdio-impl.h fstat.c at-func.c \ + fstatat.c futimens.c getcwd.c getcwd-lgpl.c getdelim.c \ + getdtablesize.c getline.c getopt.c getopt.in.h getopt1.c \ + getopt_int.h getpagesize.c \ + $(top_srcdir)/build-aux/config.rpath gettimeofday.c \ + $(top_srcdir)/build-aux/gitlog-to-changelog hash.h \ + $(top_srcdir)/build-aux/config.rpath human.h intprops.h \ + anytostr.c inttostr.h inttypes.in.h iswblank.c langinfo.in.h \ + lchown.c link.c at-func2.c linkat.c config.charset ref-add.sin \ + ref-del.sin locale.in.h localeconv.c lseek.c lstat.c malloc.c \ + malloc.c malloca.h malloca.valgrind mbchar.h mbrtowc.c \ + mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c \ + mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind mempcpy.c \ + memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c mkfifo.c \ + at-func.c mkfifoat.c mknodat.c mknod.c mktime-internal.h \ + mktime.c modechange.h msvc-inval.c msvc-inval.h msvc-nothrow.c \ + msvc-nothrow.h nl_langinfo.c obstack.c obstack.h open.c \ + openat.c openat.h dirent-private.h opendir.c parse-datetime.c \ + parse-datetime.h pathmax.h priv-set.h acl-internal.h acl.h \ + acl_entries.c quote.h quote.h quotearg.h raise.c rawmemchr.c \ + rawmemchr.valgrind read.c dirent-private.h readdir.c \ + readlink.c at-func.c readlinkat.c realloc.c regcomp.c regex.c \ + regex.h regex_internal.c regex_internal.h regexec.c rename.c \ + at-func2.c renameat.c dirent-private.h rewinddir.c rmdir.c \ + root-uid.h rpmatch.c safe-read.h safe-read.c safe-write.h \ + same-inode.h save-cwd.h savedir.h secure_getenv.c at-func.c \ + selinux-at.c selinux-at.h getfilecon.c setenv.c signal.in.h \ + sleep.c $(top_srcdir)/build-aux/snippet/_Noreturn.h \ + $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ + $(top_srcdir)/build-aux/snippet/c++defs.h \ + $(top_srcdir)/build-aux/snippet/unused-parameter.h \ + $(top_srcdir)/build-aux/snippet/warn-on-use.h snprintf.c \ + stat.c stat-macros.h stat-time.h stdalign.in.h stdarg.in.h \ + stdbool.in.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \ + stpcpy.c strcasecmp.c strncasecmp.c strchrnul.c \ + strchrnul.valgrind strdup.c streq.h strerror.c \ + strerror-override.c strerror-override.h string.in.h \ + strings.in.h strndup.c strnlen.c strtol.c strtol.c strtoul.c \ + strtol.c strtoul.c strtoull.c strtoimax.c strtoumax.c \ + symlink.c at-func.c symlinkat.c sys_stat.in.h sys_time.in.h \ + sys_types.in.h sysexits.in.h tempname.h time.in.h time_r.c \ + timespec.h unistd.in.h unistd--.h unistd-safer.h unitypes.in.h \ + localcharset.h uniwidth.in.h uniwidth/cjk.h unlink.c at-func.c \ + unlinkat.c unlinkdir.h unlocked-io.h unsetenv.c utimens.h \ + at-func.c utimensat.c asnprintf.c float+.h printf-args.c \ + printf-args.h printf-parse.c printf-parse.h vasnprintf.c \ + vasnprintf.h asprintf.c vasprintf.c verify.h vsnprintf.c \ + wchar.in.h wcrtomb.c wctype.in.h wcwidth.c write.c xalloc.h \ + xalloc-oversized.h xgetcwd.h xstrtol.h xalloc.h # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be @@ -1105,97 +1327,117 @@ EXTRA_DIST = alloca.c alloca.in.h areadlink.h areadlink.h \ # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. -BUILT_SOURCES = $(ALLOCA_H) arg-nonnull.h c++defs.h configmake.h \ - dirent.h $(ERRNO_H) fcntl.h $(FLOAT_H) $(FNMATCH_H) \ - $(GETOPT_H) inttypes.h langinfo.h parse-datetime.c $(STDARG_H) \ + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. +BUILT_SOURCES = $(ALLOCA_H) configmake.h dirent.h $(ERRNO_H) fcntl.h \ + $(FLOAT_H) $(FNMATCH_H) $(GETOPT_H) inttypes.h langinfo.h \ + locale.h parse-datetime.c selinux/selinux.h \ + $(SELINUX_CONTEXT_H) signal.h arg-nonnull.h c++defs.h \ + unused-parameter.h warn-on-use.h $(STDALIGN_H) $(STDARG_H) \ $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h \ - strings.h sys/stat.h sys/time.h $(SYSEXITS_H) time.h unistd.h \ - $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) \ - warn-on-use.h wchar.h wctype.h + strings.h sys/stat.h sys/time.h sys/types.h $(SYSEXITS_H) \ + time.h unistd.h $(LIBUNISTRING_UNITYPES_H) \ + $(LIBUNISTRING_UNIWIDTH_H) wchar.h wctype.h SUFFIXES = .sed .sin -MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arg-nonnull.h \ - arg-nonnull.h-t c++defs.h c++defs.h-t dirent.h dirent.h-t \ - errno.h errno.h-t fcntl.h fcntl.h-t float.h float.h-t \ - fnmatch.h fnmatch.h-t getopt.h getopt.h-t inttypes.h \ - inttypes.h-t langinfo.h langinfo.h-t parse-datetime.c-t \ - stdarg.h stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t \ - stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t \ - string.h string.h-t strings.h strings.h-t sys/stat.h \ - sys/stat.h-t sys/time.h sys/time.h-t sysexits.h sysexits.h-t \ +MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \ + dirent.h-t errno.h errno.h-t fcntl.h fcntl.h-t float.h \ + float.h-t fnmatch.h fnmatch.h-t getopt.h getopt.h-t inttypes.h \ + inttypes.h-t langinfo.h langinfo.h-t locale.h locale.h-t \ + parse-datetime.c-t selinux/selinux.h selinux/selinux.h-t \ + selinux/context.h selinux/context.h-t signal.h signal.h-t \ + arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \ + unused-parameter.h unused-parameter.h-t warn-on-use.h \ + warn-on-use.h-t stdalign.h stdalign.h-t stdarg.h stdarg.h-t \ + stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t \ + stdio.h stdio.h-t stdlib.h stdlib.h-t string.h string.h-t \ + strings.h strings.h-t sys/stat.h sys/stat.h-t sys/time.h \ + sys/time.h-t sys/types.h sys/types.h-t sysexits.h sysexits.h-t \ time.h time.h-t unistd.h unistd.h-t unitypes.h unitypes.h-t \ - uniwidth.h uniwidth.h-t warn-on-use.h warn-on-use.h-t wchar.h \ - wchar.h-t wctype.h wctype.h-t -MOSTLYCLEANDIRS = sys + uniwidth.h uniwidth.h-t wchar.h wchar.h-t wctype.h wctype.h-t +MOSTLYCLEANDIRS = selinux sys CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \ ref-del.sed DISTCLEANFILES = MAINTAINERCLEANFILES = parse-datetime.c - -# This is for those projects which use "gettextize --intl" to put a source-code -# copy of libintl into their package. In such projects, every Makefile.am needs -# -I$(top_builddir)/intl, so that can be found in this directory. -# For the Makefile.ams in other directories it is the maintainer's -# responsibility; for the one from gnulib we do it here. -# This option has no effect when the user disables NLS (because then the intl -# directory contains no libintl.h file) or when the project does not use -# "gettextize --intl". -AM_CPPFLAGS = -I$(top_builddir)/intl -AM_CFLAGS = -libgnu_a_SOURCES = areadlink.c areadlinkat.c argp.h argp-ba.c \ - argp-eexst.c argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c \ - argp-help.c argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c \ - argp-pvh.c argp-xinl.c argp-version-etc.h argp-version-etc.c \ - bitrotate.h c-ctype.h c-ctype.c close-hook.c exitfail.c \ - fdutimensat.c full-write.h full-write.c gettext.h imaxtostr.c \ - inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \ - localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \ - openat-die.c parse-datetime.y priv-set.c progname.h progname.c \ - size_max.h strnlen1.h strnlen1.c $(am__append_1) verify.h \ - version-etc.h version-etc.c version-etc-fsf.c xalloc-die.c \ - xsize.h xstrndup.h xstrndup.c xstrtoumax.c xvasprintf.h \ - xvasprintf.c xasprintf.c +AM_CPPFLAGS = + +# Make the subset of Gnulib that GNU tar needs. +AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) +libgnu_a_SOURCES = copy-acl.c set-acl.c allocator.c areadlink.c \ + areadlinkat.c argmatch.c argp.h argp-ba.c argp-eexst.c \ + argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c argp-help.c \ + argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c argp-pvh.c \ + argp-xinl.c argp-version-etc.h argp-version-etc.c backupfile.c \ + bitrotate.h bitrotate.c c-ctype.h c-ctype.c c-strcase.h \ + c-strcasecmp.c c-strncasecmp.c careadlinkat.c cloexec.c \ + close-stream.c closeout.c opendir-safer.c dirname.c basename.c \ + dirname-lgpl.c basename-lgpl.c stripslash.c exclude.c \ + exitfail.c chmodat.c chownat.c fd-hook.c fdutimensat.c \ + filenamecat-lgpl.c full-write.h full-write.c gettext.h \ + gettime.c hash.c human.c imaxtostr.c inttostr.c offtostr.c \ + uinttostr.c umaxtostr.c localcharset.h localcharset.c \ + malloca.c mbchar.c mbscasecmp.c mbuiter.h mbuiter.c \ + modechange.c openat-die.c parse-datetime.y priv-set.c \ + progname.h progname.c acl-errno-valid.c file-has-acl.c \ + qcopy-acl.c qset-acl.c quotearg.c safe-read.c safe-write.c \ + save-cwd.c savedir.c se-context.in.h se-selinux.in.h \ + se-context.c se-selinux.c size_max.h stat-time.c statat.c \ + strnlen1.h strnlen1.c tempname.c timespec.c unistd.c \ + dup-safer.c fd-safer.c pipe-safer.c $(am__append_1) \ + unlinkdir.c utimens.c version-etc.h version-etc.c \ + version-etc-fsf.c wctype-h.c xmalloc.c xalloc-die.c xgetcwd.c \ + xsize.h xsize.c xstrndup.h xstrndup.c xstrtol.c xstrtoul.c \ + xstrtol-error.c xstrtoumax.c xvasprintf.h xvasprintf.c \ + xasprintf.c libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ -EXTRA_libgnu_a_SOURCES = alloca.c argmatch.c backupfile.c btowc.c \ - canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c \ - cloexec.c close.c close-stream.c closeout.c opendir-safer.c \ - dirfd.c basename.c dirname.c stripslash.c basename-lgpl.c \ - dirname-lgpl.c stripslash.c dup2.c error.c exclude.c fchdir.c \ - fclose.c fcntl.c fdopendir.c openat-proc.c fileblocks.c \ - filenamecat-lgpl.c fnmatch.c fnmatch_loop.c fpending.c \ - fseeko.c futimens.c getcwd.c getdelim.c getdtablesize.c \ - getline.c getopt.c getopt1.c getpagesize.c gettime.c \ - gettimeofday.c hash.c human.c anytostr.c iswblank.c lchown.c \ - link.c at-func2.c linkat.c lseek.c lstat.c malloc.c malloc.c \ - mbrtowc.c mbsinit.c mbsrtowcs-state.c mbsrtowcs.c mbtowc.c \ - memchr.c mempcpy.c memrchr.c mkdir.c mkdtemp.c mkfifo.c \ - mkfifoat.c mknodat.c mknod.c mktime.c modechange.c \ - nl_langinfo.c obstack.c open.c at-func.c fchmodat.c fchownat.c \ - fstatat.c mkdirat.c openat-proc.c openat.c unlinkat.c quote.c \ - quotearg.c rawmemchr.c readlink.c readlinkat.c realloc.c \ +EXTRA_libgnu_a_SOURCES = alloca.c at-func.c openat-proc.c btowc.c \ + canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c close.c \ + closedir.c dirfd.c stripslash.c dup.c dup2.c error.c fchdir.c \ + at-func.c fchmodat.c at-func.c fchownat.c fcntl.c fdopendir.c \ + fileblocks.c float.c itold.c fnmatch.c fnmatch_loop.c \ + fpending.c fseek.c fseeko.c fstat.c at-func.c fstatat.c \ + futimens.c getcwd.c getcwd-lgpl.c getdelim.c getdtablesize.c \ + getline.c getopt.c getopt1.c getpagesize.c gettimeofday.c \ + anytostr.c iswblank.c lchown.c link.c at-func2.c linkat.c \ + localeconv.c lseek.c lstat.c malloc.c malloc.c mbrtowc.c \ + mbsinit.c mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c \ + mempcpy.c memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c \ + mkfifo.c at-func.c mkfifoat.c mknodat.c mknod.c mktime.c \ + msvc-inval.c msvc-nothrow.c nl_langinfo.c obstack.c open.c \ + openat.c opendir.c acl_entries.c raise.c rawmemchr.c read.c \ + readdir.c readlink.c at-func.c readlinkat.c realloc.c \ regcomp.c regex.c regex_internal.c regexec.c rename.c \ - at-func2.c renameat.c rmdir.c rpmatch.c safe-read.c \ - safe-write.c save-cwd.c savedir.c setenv.c sleep.c snprintf.c \ - stat.c stpcpy.c strcasecmp.c strncasecmp.c strchrnul.c \ - strdup.c strerror.c strndup.c strnlen.c strtoimax.c strtol.c \ - strtoll.c strtoul.c strtoull.c strtoumax.c symlink.c \ - symlinkat.c tempname.c time_r.c dup-safer.c fd-safer.c \ - pipe-safer.c unlink.c unlinkdir.c unsetenv.c utimens.c \ - utimensat.c asnprintf.c printf-args.c printf-parse.c \ - vasnprintf.c asprintf.c vasprintf.c vsnprintf.c wcrtomb.c \ - wcwidth.c write.c xmalloc.c xgetcwd.c xstrtol-error.c \ - xstrtol.c xstrtoul.c -ARG_NONNULL_H = arg-nonnull.h -CXXDEFS_H = c++defs.h + at-func2.c renameat.c rewinddir.c rmdir.c rpmatch.c \ + safe-read.c secure_getenv.c at-func.c selinux-at.c \ + getfilecon.c setenv.c sleep.c snprintf.c stat.c stpcpy.c \ + strcasecmp.c strncasecmp.c strchrnul.c strdup.c strerror.c \ + strerror-override.c strndup.c strnlen.c strtol.c strtol.c \ + strtoul.c strtol.c strtoul.c strtoull.c strtoimax.c \ + strtoumax.c symlink.c at-func.c symlinkat.c time_r.c unlink.c \ + at-func.c unlinkat.c unsetenv.c at-func.c utimensat.c \ + asnprintf.c printf-args.c printf-parse.c vasnprintf.c \ + asprintf.c vasprintf.c vsnprintf.c wcrtomb.c wcwidth.c write.c charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all Makefile.am that +# need it. This is ensured by the applicability 'all' defined above. +_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h +ARG_NONNULL_H = arg-nonnull.h +CXXDEFS_H = c++defs.h +UNUSED_PARAMETER_H = unused-parameter.h WARN_ON_USE_H = warn-on-use.h all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .sed .sin .c .o .obj .y -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -1216,6 +1458,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; +$(srcdir)/gnulib.mk: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -1236,29 +1479,34 @@ uniwidth/$(DEPDIR)/$(am__dirstamp): @: > uniwidth/$(DEPDIR)/$(am__dirstamp) uniwidth/width.$(OBJEXT): uniwidth/$(am__dirstamp) \ uniwidth/$(DEPDIR)/$(am__dirstamp) -libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) +libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) $(EXTRA_libgnu_a_DEPENDENCIES) $(AM_V_at)-rm -f libgnu.a $(AM_V_AR)$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD) $(AM_V_at)$(RANLIB) libgnu.a clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } mostlyclean-compile: -rm -f *.$(OBJEXT) - -rm -f uniwidth/width.$(OBJEXT) + -rm -f uniwidth/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl-errno-valid.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)/allocator.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anytostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlinkat.Po@am__quote@ @@ -1281,20 +1529,28 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backupfile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitrotate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.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)/canonicalize-lgpl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/careadlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chdir-long.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmodat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chownat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cloexec.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-hook.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closedir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup-safer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude.Po@am__quote@ @@ -1303,23 +1559,29 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown-stub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdutimensat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileblocks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenamecat-lgpl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch_loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/futimens.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdtablesize.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getfilecon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ @@ -1331,10 +1593,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iswblank.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/itold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localeconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.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@ @@ -1346,6 +1610,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsrtowcs-state.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsrtowcs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbuiter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mempcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memrchr.Po@am__quote@ @@ -1358,6 +1623,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mknodat.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)/msvc-inval.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.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@ @@ -1366,15 +1633,20 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir-safer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-datetime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/priv-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qcopy-acl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qset-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rawmemchr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Po@am__quote@ @@ -1384,20 +1656,29 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rewinddir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savedir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/se-context.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/se-selinux.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selinux-at.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat-time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statat.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)/strchrnul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.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@ @@ -1406,7 +1687,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtol.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@ @@ -1414,8 +1694,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umaxtostr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkdir.Po@am__quote@ @@ -1428,12 +1710,14 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vsnprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctype-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcwidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol-error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Po@am__quote@ @@ -1446,30 +1730,28 @@ distclean-compile: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .y.c: - $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) + $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -1479,7 +1761,11 @@ $(RECURSIVE_TARGETS): done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -1493,37 +1779,6 @@ $(RECURSIVE_TARGETS): if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ @@ -1532,6 +1787,10 @@ ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done +cscopelist-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ + done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1595,6 +1854,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1630,13 +1903,10 @@ distdir: $(DISTFILES) done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -1673,10 +1943,15 @@ install-am: all-am installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) @@ -1768,49 +2043,36 @@ ps-am: uninstall-am: uninstall-local .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-strip \ - tags-recursive + cscopelist-recursive ctags-recursive install install-am \ + install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-local check check-am clean clean-generic \ - clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \ - ctags-recursive distclean distclean-compile distclean-generic \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-local \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am uninstall-local + clean-noinstLIBRARIES clean-noinstLTLIBRARIES cscopelist \ + cscopelist-recursive ctags ctags-recursive distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-exec-local install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-local pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-local # We need the following in order to create when the system # doesn't have one that works with the given compiler. -alloca.h: alloca.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ - } > $@-t && \ - mv -f $@-t $@ -# The arg-nonnull.h that gets inserted into generated .h files is the same as -# build-aux/arg-nonnull.h, except that it has the copyright header cut off. -arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/GL_ARG_NONNULL/,$$p' \ - < $(top_srcdir)/build-aux/arg-nonnull.h \ - > $@-t && \ - mv $@-t $@ -# The c++defs.h that gets inserted into generated .h files is the same as -# build-aux/c++defs.h, except that it has the copyright header cut off. -c++defs.h: $(top_srcdir)/build-aux/c++defs.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/_GL_CXXDEFS/,$$p' \ - < $(top_srcdir)/build-aux/c++defs.h \ - > $@-t && \ - mv $@-t $@ +@GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status +@GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_ALLOCA_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_ALLOCA_H_TRUE@ cat $(srcdir)/alloca.in.h; \ +@GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \ +@GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@ +@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status +@GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@ # Listed in the same order as the GNU makefile conventions, and # provided by autoconf 2.59c+. @@ -1847,34 +2109,40 @@ configmake.h: Makefile echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t && \ - if test -f $@ && cmp $@-t $@ > /dev/null; then \ - rm -f $@-t; \ - else \ - rm -f $@; mv $@-t $@; \ - fi + mv -f $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -dirent.h: dirent.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ - -e 's|@''GNULIB_DIRFD''@|$(GNULIB_DIRFD)|g' \ - -e 's|@''GNULIB_FDOPENDIR''@|$(GNULIB_FDOPENDIR)|g' \ - -e 's|@''GNULIB_SCANDIR''@|$(GNULIB_SCANDIR)|g' \ - -e 's|@''GNULIB_ALPHASORT''@|$(GNULIB_ALPHASORT)|g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ + -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ + -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ + -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ + -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ - -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @@ -1884,35 +2152,40 @@ dirent.h: dirent.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that is POSIX compliant. -errno.h: errno.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ - -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ - -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ - -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ - -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ - -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ - -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ - < $(srcdir)/errno.in.h; \ - } > $@-t && \ - mv $@-t $@ +@GL_GENERATE_ERRNO_H_TRUE@errno.h: errno.in.h $(top_builddir)/config.status +@GL_GENERATE_ERRNO_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_ERRNO_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_ERRNO_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ +@GL_GENERATE_ERRNO_H_TRUE@ < $(srcdir)/errno.in.h; \ +@GL_GENERATE_ERRNO_H_TRUE@ } > $@-t && \ +@GL_GENERATE_ERRNO_H_TRUE@ mv $@-t $@ +@GL_GENERATE_ERRNO_H_FALSE@errno.h: $(top_builddir)/config.status +@GL_GENERATE_ERRNO_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -fcntl.h: fcntl.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ - -e 's|@''GNULIB_FCNTL''@|$(GNULIB_FCNTL)|g' \ - -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \ - -e 's|@''GNULIB_OPENAT''@|$(GNULIB_OPENAT)|g' \ + -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ @@ -1927,33 +2200,40 @@ fcntl.h: fcntl.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -float.h: float.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ - < $(srcdir)/float.in.h; \ - } > $@-t && \ - mv $@-t $@ +@GL_GENERATE_FLOAT_H_TRUE@float.h: float.in.h $(top_builddir)/config.status +@GL_GENERATE_FLOAT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_FLOAT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_FLOAT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ +@GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ +@GL_GENERATE_FLOAT_H_TRUE@ < $(srcdir)/float.in.h; \ +@GL_GENERATE_FLOAT_H_TRUE@ } > $@-t && \ +@GL_GENERATE_FLOAT_H_TRUE@ mv $@-t $@ +@GL_GENERATE_FLOAT_H_FALSE@float.h: $(top_builddir)/config.status +@GL_GENERATE_FLOAT_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that supports the required API. -fnmatch.h: fnmatch.in.h $(ARG_NONNULL_H) - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ - < $(srcdir)/fnmatch.in.h; \ - } > $@-t && \ - mv -f $@-t $@ +@GL_GENERATE_FNMATCH_H_TRUE@fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) +@GL_GENERATE_FNMATCH_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_FNMATCH_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_FNMATCH_H_TRUE@ sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ +@GL_GENERATE_FNMATCH_H_TRUE@ < $(srcdir)/fnmatch.in.h; \ +@GL_GENERATE_FNMATCH_H_TRUE@ } > $@-t && \ +@GL_GENERATE_FNMATCH_H_TRUE@ mv -f $@-t $@ +@GL_GENERATE_FNMATCH_H_FALSE@fnmatch.h: $(top_builddir)/config.status +@GL_GENERATE_FNMATCH_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -getopt.h: getopt.in.h $(ARG_NONNULL_H) +getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -1965,7 +2245,7 @@ getopt.h: getopt.in.h $(ARG_NONNULL_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -inttypes.h: inttypes.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) +inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ @@ -1986,10 +2266,12 @@ inttypes.h: inttypes.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ + -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/inttypes.in.h; \ @@ -1998,15 +2280,16 @@ inttypes.h: inttypes.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) # We need the following in order to create an empty placeholder for # when the system doesn't have one. -langinfo.h: langinfo.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) +langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ - -e 's|@''GNULIB_NL_LANGINFO''@|$(GNULIB_NL_LANGINFO)|g' \ + -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ @@ -2078,6 +2361,32 @@ charset.alias: config.charset sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ mv t-$@ $@ +# We need the following in order to create when the system +# doesn't have one that provides all definitions. +locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ + -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ + -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ + -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ + -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ + -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ + -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/locale.in.h; \ + } > $@-t && \ + mv $@-t $@ + # This rule overrides the Automake generated .y.c rule, to ensure that the # parse-datetime.c file gets generated in the source directory, not in the # build directory. @@ -2089,129 +2398,257 @@ parse-datetime.c: parse-datetime.y -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \ mv parse-datetime.c parse-datetime.c-t && \ mv parse-datetime.c-t $(srcdir)/parse-datetime.c - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stdarg.h: stdarg.in.h +selinux/selinux.h: se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) + $(AM_V_at)$(MKDIR_P) selinux $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ - < $(srcdir)/stdarg.in.h; \ + -e 's|@''NEXT_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ + -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ + < $(srcdir)/se-selinux.in.h; \ } > $@-t && \ + chmod a-x $@-t && \ mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works. -stdbool.h: stdbool.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ - } > $@-t && \ - mv $@-t $@ - -# We need the following in order to create when the system -# doesn't have one that works with the given compiler. -stddef.h: stddef.in.h +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@selinux/context.h: se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_at)$(MKDIR_P) selinux +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ < $(srcdir)/se-context.in.h; \ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ } > $@-t && \ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ chmod a-x $@-t && \ +@GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ mv $@-t $@ +@GL_GENERATE_SELINUX_CONTEXT_H_FALSE@selinux/context.h: $(top_builddir)/config.status +@GL_GENERATE_SELINUX_CONTEXT_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have a complete one. +signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ - -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ - -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ - < $(srcdir)/stddef.in.h; \ + -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ + -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ + -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ + -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ + -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ + -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ + -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ + -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ + -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ + -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ + -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ + -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ + -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/signal.in.h; \ } > $@-t && \ mv $@-t $@ +# The arg-nonnull.h that gets inserted into generated .h files is the same as +# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut +# off. +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_ARG_NONNULL/,$$p' \ + < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ + > $@-t && \ + mv $@-t $@ +# The c++defs.h that gets inserted into generated .h files is the same as +# build-aux/snippet/c++defs.h, except that it has the copyright header cut off. +c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/_GL_CXXDEFS/,$$p' \ + < $(top_srcdir)/build-aux/snippet/c++defs.h \ + > $@-t && \ + mv $@-t $@ +# The unused-parameter.h that gets inserted into generated .h files is the same +# as build-aux/snippet/unused-parameter.h, except that it has the copyright +# header cut off. +unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ + < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ + > $@-t && \ + mv $@-t $@ +# The warn-on-use.h that gets inserted into generated .h files is the same as +# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut +# off. +warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/^.ifndef/,$$p' \ + < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ + > $@-t && \ + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works. +@GL_GENERATE_STDALIGN_H_TRUE@stdalign.h: stdalign.in.h $(top_builddir)/config.status +@GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDALIGN_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_STDALIGN_H_TRUE@ cat $(srcdir)/stdalign.in.h; \ +@GL_GENERATE_STDALIGN_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDALIGN_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDALIGN_H_FALSE@stdalign.h: $(top_builddir)/config.status +@GL_GENERATE_STDALIGN_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +@GL_GENERATE_STDARG_H_TRUE@stdarg.h: stdarg.in.h $(top_builddir)/config.status +@GL_GENERATE_STDARG_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDARG_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_STDARG_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ +@GL_GENERATE_STDARG_H_TRUE@ < $(srcdir)/stdarg.in.h; \ +@GL_GENERATE_STDARG_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDARG_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDARG_H_FALSE@stdarg.h: $(top_builddir)/config.status +@GL_GENERATE_STDARG_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have one that works. +@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status +@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDBOOL_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_STDBOOL_H_TRUE@ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ +@GL_GENERATE_STDBOOL_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDBOOL_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status +@GL_GENERATE_STDBOOL_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +@GL_GENERATE_STDDEF_H_TRUE@stddef.h: stddef.in.h $(top_builddir)/config.status +@GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDDEF_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_STDDEF_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ +@GL_GENERATE_STDDEF_H_TRUE@ < $(srcdir)/stddef.in.h; \ +@GL_GENERATE_STDDEF_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDDEF_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDDEF_H_FALSE@stddef.h: $(top_builddir)/config.status +@GL_GENERATE_STDDEF_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -stdint.h: stdint.in.h - $(AM_V_GEN)rm -f $@-t $@ && \ - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ - -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ - -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ - -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_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_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ - -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ - -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/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/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ - -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ - -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ - -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ - -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ - -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ - -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ - -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ - -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ - -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ - -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - < $(srcdir)/stdint.in.h; \ - } > $@-t && \ - mv $@-t $@ +@GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status +@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDINT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_STDINT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ < $(srcdir)/stdint.in.h; \ +@GL_GENERATE_STDINT_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDINT_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status +@GL_GENERATE_STDINT_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \ - -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \ - -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ - -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ - -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \ - -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_FPURGE''@|$(GNULIB_FPURGE)|g' \ - -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \ - -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \ - -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ - -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ - -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ - -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ - -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ - -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \ - -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ - -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \ - -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \ - -e 's|@''GNULIB_POPEN''@|$(GNULIB_POPEN)|g' \ - -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \ - -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ - -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \ - -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \ - -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \ - -e 's|@''GNULIB_REMOVE''@|$(GNULIB_REMOVE)|g' \ - -e 's|@''GNULIB_RENAME''@|$(GNULIB_RENAME)|g' \ - -e 's|@''GNULIB_RENAMEAT''@|$(GNULIB_RENAMEAT)|g' \ - -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ - -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \ - -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ - -e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \ - -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ - -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|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/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ + -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ + -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ + -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ + -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ + -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ + -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ + -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ + -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ + -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ + -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ + -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ + -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ + -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ + -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ + -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ + -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ + -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ + -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ + -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ + -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ + -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ + -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ + -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ + -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ + -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ + -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ + -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ + -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ + -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ + -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ + -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ + -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ + -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ + -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ + -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ + -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ + -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/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' \ < $(srcdir)/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ @@ -2224,11 +2661,14 @@ stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ + -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \ + -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ + -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ @@ -2249,6 +2689,7 @@ stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ + -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ @@ -2266,41 +2707,47 @@ stdio.h: stdio.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's|@''GNULIB__EXIT''@|$(GNULIB__EXIT)|g' \ - -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ - -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ - -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \ - -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ - -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ - -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \ - -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ - -e 's|@''GNULIB_MBTOWC''@|$(GNULIB_MBTOWC)|g' \ - -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ - -e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \ - -e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \ - -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ - -e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \ - -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \ - -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ - -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ - -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ - -e 's|@''GNULIB_REALPATH''@|$(GNULIB_REALPATH)|g' \ - -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ - -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ - -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ - -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ - -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ - -e 's|@''GNULIB_SYSTEM_POSIX''@|$(GNULIB_SYSTEM_POSIX)|g' \ - -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \ - -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ - -e 's|@''GNULIB_WCTOMB''@|$(GNULIB_WCTOMB)|g' \ + -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ + -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ + -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ + -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ + -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ + -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ + -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ + -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ + -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ + -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ + -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ + -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ + -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ + -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ + -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ + -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ + -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ + -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ + -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ + -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ + -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ + -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ < $(srcdir)/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ @@ -2313,11 +2760,15 @@ stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ + -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ + -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ + -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ + -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ @@ -2331,7 +2782,10 @@ stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ + -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ + -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ @@ -2339,6 +2793,7 @@ stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ @@ -2346,50 +2801,55 @@ stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -string.h: string.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ - -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|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_MEMCHR''@|$(GNULIB_MEMCHR)|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_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|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_STRNCAT''@|$(GNULIB_STRNCAT)|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_STRSTR''@|$(GNULIB_STRSTR)|g' \ - -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ - -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ - -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ - -e 's|@''GNULIB_STRERROR_R''@|$(GNULIB_STRERROR_R)|g' \ - -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ - -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \ + -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/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_MEMCHR''@/$(GNULIB_MEMCHR)/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_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/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_STRNCAT''@/$(GNULIB_STRNCAT)/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_STRSTR''@/$(GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ < $(srcdir)/string.in.h | \ - sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ + sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ + -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ + -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ @@ -2412,6 +2872,7 @@ string.h: string.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ @@ -2431,15 +2892,20 @@ string.h: string.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -strings.h: strings.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) +strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ + -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \ + -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \ -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/strings.in.h; \ @@ -2448,26 +2914,29 @@ strings.h: strings.in.h $(WARN_ON_USE_H) $(ARG_NONNULL_H) # We need the following in order to create when the system # has one that is incomplete. -sys/stat.h: sys_stat.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ - -e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \ - -e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \ - -e 's|@''GNULIB_FUTIMENS''@|$(GNULIB_FUTIMENS)|g' \ - -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \ - -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \ - -e 's|@''GNULIB_MKDIRAT''@|$(GNULIB_MKDIRAT)|g' \ - -e 's|@''GNULIB_MKFIFO''@|$(GNULIB_MKFIFO)|g' \ - -e 's|@''GNULIB_MKFIFOAT''@|$(GNULIB_MKFIFOAT)|g' \ - -e 's|@''GNULIB_MKNOD''@|$(GNULIB_MKNOD)|g' \ - -e 's|@''GNULIB_MKNODAT''@|$(GNULIB_MKNODAT)|g' \ - -e 's|@''GNULIB_STAT''@|$(GNULIB_STAT)|g' \ - -e 's|@''GNULIB_UTIMENSAT''@|$(GNULIB_UTIMENSAT)|g' \ + -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ + -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ + -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ + -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ + -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ + -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ + -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ + -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ + -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ + -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ + -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ + -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ + -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ @@ -2497,19 +2966,22 @@ sys/stat.h: sys_stat.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -sys/time.h: sys_time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ + -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @@ -2517,34 +2989,54 @@ sys/time.h: sys_time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) } > $@-t && \ mv $@-t $@ -# We need the following in order to create when the system +# We need the following in order to create when the system # doesn't have one that works with the given compiler. -sysexits.h: sysexits.in.h +sys/types.h: sys_types.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ - -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \ - < $(srcdir)/sysexits.in.h; \ + -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + < $(srcdir)/sys_types.in.h; \ } > $@-t && \ - mv -f $@-t $@ + mv $@-t $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +@GL_GENERATE_SYSEXITS_H_TRUE@sysexits.h: sysexits.in.h $(top_builddir)/config.status +@GL_GENERATE_SYSEXITS_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_SYSEXITS_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_SYSEXITS_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_SYSEXITS_H_TRUE@ -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \ +@GL_GENERATE_SYSEXITS_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_SYSEXITS_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_SYSEXITS_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_SYSEXITS_H_TRUE@ -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \ +@GL_GENERATE_SYSEXITS_H_TRUE@ < $(srcdir)/sysexits.in.h; \ +@GL_GENERATE_SYSEXITS_H_TRUE@ } > $@-t && \ +@GL_GENERATE_SYSEXITS_H_TRUE@ mv -f $@-t $@ +@GL_GENERATE_SYSEXITS_H_FALSE@sysexits.h: $(top_builddir)/config.status +@GL_GENERATE_SYSEXITS_H_FALSE@ rm -f $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -time.h: time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \ - -e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \ - -e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \ - -e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \ - -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \ + -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ + -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ + -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ + -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ @@ -2565,55 +3057,65 @@ time.h: time.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create an empty placeholder for # when the system doesn't have one. -unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ - -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ - -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \ - -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ - -e 's|@''GNULIB_DUP3''@|$(GNULIB_DUP3)|g' \ - -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ - -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \ - -e 's|@''GNULIB_FACCESSAT''@|$(GNULIB_FACCESSAT)|g' \ - -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ - -e 's|@''GNULIB_FCHOWNAT''@|$(GNULIB_FCHOWNAT)|g' \ - -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \ - -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ - -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ - -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \ - -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \ - -e 's|@''GNULIB_GETGROUPS''@|$(GNULIB_GETGROUPS)|g' \ - -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \ - -e 's|@''GNULIB_GETLOGIN''@|$(GNULIB_GETLOGIN)|g' \ - -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ - -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ - -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \ - -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ - -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \ - -e 's|@''GNULIB_LINKAT''@|$(GNULIB_LINKAT)|g' \ - -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ - -e 's|@''GNULIB_PIPE''@|$(GNULIB_PIPE)|g' \ - -e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \ - -e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \ - -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \ - -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ - -e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \ - -e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \ - -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ - -e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \ - -e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \ - -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \ - -e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \ - -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ - -e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \ - -e 's|@''GNULIB_UNLINKAT''@|$(GNULIB_UNLINKAT)|g' \ - -e 's|@''GNULIB_USLEEP''@|$(GNULIB_USLEEP)|g' \ - -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ + -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ + -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ + -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ + -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ + -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ + -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ + -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ + -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ + -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ + -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ + -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ + -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ + -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ + -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ + -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ + -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ + -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ + -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ + -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ + -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ + -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ + -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ + -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ + -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ + -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ + -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ + -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ + -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ + -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ + -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ + -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ + -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ + -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ + -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ + -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ + -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ + -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ + -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ + -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ + -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ @@ -2622,6 +3124,7 @@ unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ + -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ @@ -2629,6 +3132,7 @@ unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ @@ -2638,6 +3142,7 @@ unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ + -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ @@ -2645,10 +3150,12 @@ unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ + -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ + -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ @@ -2658,17 +3165,20 @@ unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ + -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ + -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ @@ -2699,65 +3209,58 @@ uniwidth.h: uniwidth.in.h cat $(srcdir)/uniwidth.in.h; \ } > $@-t && \ mv -f $@-t $@ -# The warn-on-use.h that gets inserted into generated .h files is the same as -# build-aux/warn-on-use.h, except that it has the copyright header cut off. -warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/^.ifndef/,$$p' \ - < $(top_srcdir)/build-aux/warn-on-use.h \ - > $@-t && \ - mv $@-t $@ # We need the following in order to create when the system # version does not work standalone. -wchar.h: wchar.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ - -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \ - -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \ - -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \ - -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \ - -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \ - -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \ - -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \ - -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \ - -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \ - -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \ - -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ - -e 's|@''GNULIB_WMEMCHR''@|$(GNULIB_WMEMCHR)|g' \ - -e 's|@''GNULIB_WMEMCMP''@|$(GNULIB_WMEMCMP)|g' \ - -e 's|@''GNULIB_WMEMCPY''@|$(GNULIB_WMEMCPY)|g' \ - -e 's|@''GNULIB_WMEMMOVE''@|$(GNULIB_WMEMMOVE)|g' \ - -e 's|@''GNULIB_WMEMSET''@|$(GNULIB_WMEMSET)|g' \ - -e 's|@''GNULIB_WCSLEN''@|$(GNULIB_WCSLEN)|g' \ - -e 's|@''GNULIB_WCSNLEN''@|$(GNULIB_WCSNLEN)|g' \ - -e 's|@''GNULIB_WCSCPY''@|$(GNULIB_WCSCPY)|g' \ - -e 's|@''GNULIB_WCPCPY''@|$(GNULIB_WCPCPY)|g' \ - -e 's|@''GNULIB_WCSNCPY''@|$(GNULIB_WCSNCPY)|g' \ - -e 's|@''GNULIB_WCPNCPY''@|$(GNULIB_WCPNCPY)|g' \ - -e 's|@''GNULIB_WCSCAT''@|$(GNULIB_WCSCAT)|g' \ - -e 's|@''GNULIB_WCSNCAT''@|$(GNULIB_WCSNCAT)|g' \ - -e 's|@''GNULIB_WCSCMP''@|$(GNULIB_WCSCMP)|g' \ - -e 's|@''GNULIB_WCSNCMP''@|$(GNULIB_WCSNCMP)|g' \ - -e 's|@''GNULIB_WCSCASECMP''@|$(GNULIB_WCSCASECMP)|g' \ - -e 's|@''GNULIB_WCSNCASECMP''@|$(GNULIB_WCSNCASECMP)|g' \ - -e 's|@''GNULIB_WCSCOLL''@|$(GNULIB_WCSCOLL)|g' \ - -e 's|@''GNULIB_WCSXFRM''@|$(GNULIB_WCSXFRM)|g' \ - -e 's|@''GNULIB_WCSDUP''@|$(GNULIB_WCSDUP)|g' \ - -e 's|@''GNULIB_WCSCHR''@|$(GNULIB_WCSCHR)|g' \ - -e 's|@''GNULIB_WCSRCHR''@|$(GNULIB_WCSRCHR)|g' \ - -e 's|@''GNULIB_WCSCSPN''@|$(GNULIB_WCSCSPN)|g' \ - -e 's|@''GNULIB_WCSSPN''@|$(GNULIB_WCSSPN)|g' \ - -e 's|@''GNULIB_WCSPBRK''@|$(GNULIB_WCSPBRK)|g' \ - -e 's|@''GNULIB_WCSSTR''@|$(GNULIB_WCSSTR)|g' \ - -e 's|@''GNULIB_WCSTOK''@|$(GNULIB_WCSTOK)|g' \ - -e 's|@''GNULIB_WCSWIDTH''@|$(GNULIB_WCSWIDTH)|g' \ + -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ < $(srcdir)/wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ @@ -2821,10 +3324,11 @@ wchar.h: wchar.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. -wctype.h: wctype.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) +wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @@ -2841,6 +3345,7 @@ wctype.h: wctype.in.h $(CXXDEFS_H) $(WARN_ON_USE_H) -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ + -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/wctype.in.h; \ diff --git a/gnu/acl-errno-valid.c b/gnu/acl-errno-valid.c new file mode 100644 index 00000000..ef0ae958 --- /dev/null +++ b/gnu/acl-errno-valid.c @@ -0,0 +1,54 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test whether ACLs are well supported on this system. + + Copyright 2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert. */ + +#include + +#include + +#include + +/* Return true if errno value ERRNUM indicates that ACLs are well + supported on this system. ERRNUM should be an errno value obtained + after an ACL-related system call fails. */ +bool +acl_errno_valid (int errnum) +{ + /* Recognize some common errors such as from an NFS mount that does + not support ACLs, even when local drives do. */ + switch (errnum) + { + case EBUSY: return false; + case EINVAL: return false; +#if defined __APPLE__ && defined __MACH__ + case ENOENT: return false; +#endif + case ENOSYS: return false; + +#if defined ENOTSUP && ENOTSUP != EOPNOTSUPP +# if ENOTSUP != ENOSYS /* Needed for the MS-Windows port of GNU Emacs. */ + case ENOTSUP: return false; +# endif +#endif + + case EOPNOTSUPP: return false; + default: return true; + } +} diff --git a/gnu/acl-internal.h b/gnu/acl-internal.h new file mode 100644 index 00000000..6d3e4cbd --- /dev/null +++ b/gnu/acl-internal.h @@ -0,0 +1,252 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Internal implementation of access control lists. + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +#include "acl.h" + +#include +#include + +/* All systems define the ACL related API in . */ +#if HAVE_SYS_ACL_H +# include +#endif +#if defined HAVE_FACL && ! defined GETACLCNT && defined ACL_CNT +# define GETACLCNT ACL_CNT +#endif + +/* On Linux, additional ACL related API is available in . */ +#ifdef HAVE_ACL_LIBACL_H +# include +#endif + +/* On HP-UX >= 11.11, additional ACL API is available in . */ +#if HAVE_ACLV_H +# include +# include +/* HP-UX 11.11 lacks these declarations. */ +extern int acl (char *, int, int, struct acl *); +extern int aclsort (int, int, struct acl *); +#endif + +#include + +#include +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef SIZE_MAX +# define SIZE_MAX ((size_t) -1) +#endif + +#ifndef HAVE_FCHMOD +# define HAVE_FCHMOD false +# define fchmod(fd, mode) (-1) +#endif + +_GL_INLINE_HEADER_BEGIN +#ifndef ACL_INTERNAL_INLINE +# define ACL_INTERNAL_INLINE _GL_INLINE +#endif + +#if USE_ACL + +# if HAVE_ACL_GET_FILE +/* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ +/* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ + +# ifndef MIN_ACL_ENTRIES +# define MIN_ACL_ENTRIES 4 +# endif + +/* POSIX 1003.1e (draft 17) */ +# ifdef HAVE_ACL_GET_FD +/* Most platforms have a 1-argument acl_get_fd, only OSF/1 has a 2-argument + macro(!). */ +# if HAVE_ACL_FREE_TEXT /* OSF/1 */ +ACL_INTERNAL_INLINE acl_t +rpl_acl_get_fd (int fd) +{ + return acl_get_fd (fd, ACL_TYPE_ACCESS); +} +# undef acl_get_fd +# define acl_get_fd rpl_acl_get_fd +# endif +# else +# define HAVE_ACL_GET_FD false +# undef acl_get_fd +# define acl_get_fd(fd) (NULL) +# endif + +/* POSIX 1003.1e (draft 17) */ +# ifdef HAVE_ACL_SET_FD +/* Most platforms have a 2-argument acl_set_fd, only OSF/1 has a 3-argument + macro(!). */ +# if HAVE_ACL_FREE_TEXT /* OSF/1 */ +ACL_INTERNAL_INLINE int +rpl_acl_set_fd (int fd, acl_t acl) +{ + return acl_set_fd (fd, ACL_TYPE_ACCESS, acl); +} +# undef acl_set_fd +# define acl_set_fd rpl_acl_set_fd +# endif +# else +# define HAVE_ACL_SET_FD false +# undef acl_set_fd +# define acl_set_fd(fd, acl) (-1) +# endif + +/* POSIX 1003.1e (draft 13) */ +# if ! HAVE_ACL_FREE_TEXT +# define acl_free_text(buf) acl_free (buf) +# 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 + +/* Set to 1 if a file's mode is implicit by the ACL. + Set to 0 if a file's mode is stored independently from the ACL. */ +# if (HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP) || defined __sgi /* Mac OS X, IRIX */ +# define MODE_INSIDE_ACL 0 +# else +# define MODE_INSIDE_ACL 1 +# endif + +/* Return the number of entries in ACL. + Return -1 and set errno upon failure to determine it. */ +/* Define a replacement for acl_entries if needed. (Only Linux has it.) */ +# if !HAVE_ACL_ENTRIES +# define acl_entries rpl_acl_entries +extern int acl_entries (acl_t); +# endif + +# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ +/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial. */ +extern int acl_extended_nontrivial (acl_t); +# else +/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. + Return -1 and set errno upon failure to determine it. */ +extern int acl_access_nontrivial (acl_t); +# endif + +# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + +/* Set to 1 if a file's mode is implicit by the ACL. + Set to 0 if a file's mode is stored independently from the ACL. */ +# if defined __CYGWIN__ /* Cygwin */ +# define MODE_INSIDE_ACL 0 +# else /* Solaris */ +# define MODE_INSIDE_ACL 1 +# endif + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (int count, aclent_t *entries); + +# ifdef ACE_GETACL /* Solaris 10 */ + +/* Test an ACL retrieved with ACE_GETACL. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_ace_nontrivial (int count, ace_t *entries); + +/* Definitions for when the built executable is executed on Solaris 10 + (newer version) or Solaris 11. */ +/* For a_type. */ +# define OLD_ALLOW 0 +# define OLD_DENY 1 +# define NEW_ACE_ACCESS_ALLOWED_ACE_TYPE 0 /* replaces ALLOW */ +# define NEW_ACE_ACCESS_DENIED_ACE_TYPE 1 /* replaces DENY */ +/* For a_flags. */ +# define OLD_ACE_OWNER 0x0100 +# define OLD_ACE_GROUP 0x0200 +# define OLD_ACE_OTHER 0x0400 +# define NEW_ACE_OWNER 0x1000 +# define NEW_ACE_GROUP 0x2000 +# define NEW_ACE_IDENTIFIER_GROUP 0x0040 +# define NEW_ACE_EVERYONE 0x4000 +/* For a_access_mask. */ +# define NEW_ACE_READ_DATA 0x001 /* corresponds to 'r' */ +# define NEW_ACE_WRITE_DATA 0x002 /* corresponds to 'w' */ +# define NEW_ACE_APPEND_DATA 0x004 +# define NEW_ACE_READ_NAMED_ATTRS 0x008 +# define NEW_ACE_WRITE_NAMED_ATTRS 0x010 +# define NEW_ACE_EXECUTE 0x020 +# define NEW_ACE_DELETE_CHILD 0x040 +# define NEW_ACE_READ_ATTRIBUTES 0x080 +# define NEW_ACE_WRITE_ATTRIBUTES 0x100 +# define NEW_ACE_DELETE 0x10000 +# define NEW_ACE_READ_ACL 0x20000 +# define NEW_ACE_WRITE_ACL 0x40000 +# define NEW_ACE_WRITE_OWNER 0x80000 +# define NEW_ACE_SYNCHRONIZE 0x100000 + +# endif + +# elif HAVE_GETACL /* HP-UX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb); + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int aclv_nontrivial (int count, struct acl *entries); + +# endif + +# elif HAVE_ACLX_GET && 0 /* AIX */ + +/* TODO */ + +# elif HAVE_STATACL /* older AIX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (struct acl *a); + +# elif HAVE_ACLSORT /* NonStop Kernel */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +extern int acl_nontrivial (int count, struct acl *entries); + +# endif + +#endif + +_GL_INLINE_HEADER_END diff --git a/gnu/acl.h b/gnu/acl.h new file mode 100644 index 00000000..519a1d40 --- /dev/null +++ b/gnu/acl.h @@ -0,0 +1,32 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* acl.c - access control lists + + Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert. */ + +#include +#include +#include + +bool acl_errno_valid (int) _GL_ATTRIBUTE_CONST; +int file_has_acl (char const *, struct stat const *); +int qset_acl (char const *, int, mode_t); +int set_acl (char const *, int, mode_t); +int qcopy_acl (char const *, int, char const *, int, mode_t); +int copy_acl (char const *, int, char const *, int, mode_t); +int chmod_or_fchmod (char const *, int, mode_t); diff --git a/gnu/acl_entries.c b/gnu/acl_entries.c new file mode 100644 index 00000000..d52d83af --- /dev/null +++ b/gnu/acl_entries.c @@ -0,0 +1,77 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Return the number of entries in an ACL. + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert and Andreas Gruenbacher. */ + +#include + +#include "acl-internal.h" + +/* This file assumes POSIX-draft like ACLs + (Linux, FreeBSD, Mac OS X, IRIX, Tru64). */ + +/* Return the number of entries in ACL. + Return -1 and set errno upon failure to determine it. */ + +int +acl_entries (acl_t acl) +{ + int count = 0; + + if (acl != NULL) + { +#if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Mac OS X */ +# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ + /* acl_get_entry returns 0 when it successfully fetches an entry, + and -1/EINVAL at the end. */ + acl_entry_t ace; + int got_one; + + for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); + got_one >= 0; + got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) + count++; +# else /* Linux, FreeBSD */ + /* acl_get_entry returns 1 when it successfully fetches an entry, + and 0 at the end. */ + acl_entry_t ace; + int got_one; + + for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); + got_one > 0; + got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) + count++; + if (got_one < 0) + return -1; +# endif +#else /* IRIX, Tru64 */ +# if HAVE_ACL_TO_SHORT_TEXT /* IRIX */ + /* Don't use acl_get_entry: it is undocumented. */ + count = acl->acl_cnt; +# endif +# if HAVE_ACL_FREE_TEXT /* Tru64 */ + /* Don't use acl_get_entry: it takes only one argument and does not + work. */ + count = acl->acl_num; +# endif +#endif + } + + return count; +} diff --git a/gnu/alloca.c b/gnu/alloca.c index a16fa392..b14bba75 100644 --- a/gnu/alloca.c +++ b/gnu/alloca.c @@ -95,25 +95,15 @@ long i00afunc (); static int stack_dir; /* 1 or -1 once known. */ # define STACK_DIR stack_dir -static void -find_stack_direction (char **ptr) +static int +find_stack_direction (int *addr, int depth) { - auto char dummy; /* To get stack address. */ - - if (*ptr == NULL) - { /* Initial entry. */ - *ptr = ADDRESS_FUNCTION (dummy); - - find_stack_direction (ptr); /* Recurse once. */ - } - else - { - /* Second entry. */ - if (ADDRESS_FUNCTION (dummy) > *ptr) - stack_dir = 1; /* Stack grew upward. */ - else - stack_dir = -1; /* Stack grew downward. */ - } + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; } # endif /* STACK_DIRECTION == 0 */ @@ -156,10 +146,7 @@ alloca (size_t size) # if STACK_DIRECTION == 0 if (STACK_DIR == 0) /* Unknown growth direction. */ - { - char *addr = NULL; /* Address of first `dummy', once known. */ - find_stack_direction (&addr); - } + STACK_DIR = find_stack_direction (NULL, (size & 1) + 20); # endif /* Reclaim garbage, defined as all alloca'd storage that @@ -490,4 +477,4 @@ i00afunc (long address) # endif /* CRAY */ # endif /* no alloca */ -#endif /* not GCC version 3 */ +#endif /* not GCC 2 */ diff --git a/gnu/alloca.in.h b/gnu/alloca.in.h index 1461669f..2fce582e 100644 --- a/gnu/alloca.in.h +++ b/gnu/alloca.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Memory allocation on the stack. - Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation, + Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -16,9 +16,9 @@ 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. */ + License along with this program; if not, see + . + */ /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H means there is a real alloca function. */ @@ -46,6 +46,13 @@ # define alloca _alloca # elif defined __DECC && defined __VMS # define alloca __ALLOCA +# elif defined __TANDEM && defined _TNS_E_TARGET +# ifdef __cplusplus +extern "C" +# endif +void *_alloca (unsigned short); +# pragma intrinsic (_alloca) +# define alloca _alloca # else # include # ifdef __cplusplus diff --git a/gnu/allocator.c b/gnu/allocator.c new file mode 100644 index 00000000..c512d4bb --- /dev/null +++ b/gnu/allocator.c @@ -0,0 +1,7 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#define _GL_USE_STDLIB_ALLOC 1 +#include +#include "allocator.h" +#include +struct allocator const stdlib_allocator = { malloc, realloc, free, NULL }; diff --git a/gnu/allocator.h b/gnu/allocator.h new file mode 100644 index 00000000..44fdefa0 --- /dev/null +++ b/gnu/allocator.h @@ -0,0 +1,60 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Memory allocators such as malloc+free. + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + +#ifndef _GL_ALLOCATOR_H +#define _GL_ALLOCATOR_H + +#include + +/* An object describing a memory allocator family. */ + +struct allocator +{ + /* Do not use GCC attributes such as __attribute__ ((malloc)) with + the function types pointed at by these members, because these + attributes do not work with pointers to functions. See + . */ + + /* Call ALLOCATE to allocate memory, like 'malloc'. On failure ALLOCATE + should return NULL, though not necessarily set errno. When given + a zero size it may return NULL even if successful. */ + void *(*allocate) (size_t); + + /* If nonnull, call REALLOCATE to reallocate memory, like 'realloc'. + On failure REALLOCATE should return NULL, though not necessarily set + errno. When given a zero size it may return NULL even if + successful. */ + void *(*reallocate) (void *, size_t); + + /* Call FREE to free memory, like 'free'. */ + void (*free) (void *); + + /* If nonnull, call DIE (SIZE) if MALLOC (SIZE) or REALLOC (..., + SIZE) fails. DIE should not return. SIZE should equal SIZE_MAX + if size_t overflow was detected while calculating sizes to be + passed to MALLOC or REALLOC. */ + void (*die) (size_t); +}; + +/* An allocator using the stdlib functions and a null DIE function. */ +extern struct allocator const stdlib_allocator; + +#endif /* _GL_ALLOCATOR_H */ diff --git a/gnu/anytostr.c b/gnu/anytostr.c index 581c50fd..afffa836 100644 --- a/gnu/anytostr.c +++ b/gnu/anytostr.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* anytostr.c -- convert integers to printable strings - Copyright (C) 2001, 2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,6 +22,8 @@ /* Tell gcc not to warn about the (i < 0) test, below. */ #if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wtype-limits" +#elif defined __clang__ +# pragma clang diagnostic ignored "-Wtautological-compare" #endif #include diff --git a/gnu/areadlink.c b/gnu/areadlink.c index 681b12d2..78504c8e 100644 --- a/gnu/areadlink.c +++ b/gnu/areadlink.c @@ -3,7 +3,7 @@ /* areadlink.c -- readlink wrapper to return the link name in malloc'd storage Unlike xreadlink and xreadlink_with_size, don't ever call exit. - Copyright (C) 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2013 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 @@ -26,108 +26,33 @@ /* Specification. */ #include "areadlink.h" -#include -#include -#include +#include "careadlinkat.h" + #include -#include #include -#ifndef SSIZE_MAX -# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) -#endif - -/* Use the system functions, not the gnulib overrides in this file. */ -#undef malloc -#undef realloc - -/* The initial buffer size for the link value. A power of 2 - detects arithmetic overflow earlier, but is not required. */ -enum { - INITIAL_BUF_SIZE = 1024 -}; +/* Get the symbolic link value of FILENAME and put it into BUFFER, with + size BUFFER_SIZE. This function acts like readlink but has + readlinkat's signature. */ +static ssize_t +careadlinkatcwd (int fd, char const *filename, char *buffer, + size_t buffer_size) +{ + /* FD must be AT_FDCWD here, otherwise the caller is using this + function in contexts it was not meant for. */ + if (fd != AT_FDCWD) + abort (); + return readlink (filename, buffer, buffer_size); +} /* Call readlink to get the symbolic link value of FILENAME. Return a pointer to that NUL-terminated string in malloc'd storage. If readlink fails, return NULL and set errno. - If realloc fails, or if the link value is longer than SIZE_MAX :-), + If allocation fails, or if the link value is longer than SIZE_MAX :-), return NULL and set errno to ENOMEM. */ char * areadlink (char const *filename) { - /* Allocate the initial buffer on the stack. This way, in the common - case of a symlink of small size, we get away with a single small malloc() - instead of a big malloc() followed by a shrinking realloc(). */ - char initial_buf[INITIAL_BUF_SIZE]; - - char *buffer = initial_buf; - size_t buf_size = sizeof initial_buf; - - while (1) - { - /* Attempt to read the link into the current buffer. */ - ssize_t link_length = readlink (filename, buffer, buf_size); - - /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 - with errno == ERANGE if the buffer is too small. */ - if (link_length < 0 && errno != ERANGE) - { - if (buffer != initial_buf) - { - int saved_errno = errno; - free (buffer); - errno = saved_errno; - } - return NULL; - } - - if ((size_t) link_length < buf_size) - { - buffer[link_length++] = '\0'; - - /* Return it in a chunk of memory as small as possible. */ - if (buffer == initial_buf) - { - buffer = (char *) malloc (link_length); - if (buffer == NULL) - { - /* It's easier to set errno to ENOMEM than to rely on the - 'malloc-posix' gnulib module. */ - errno = ENOMEM; - return NULL; - } - memcpy (buffer, initial_buf, link_length); - } - else - { - /* Shrink buffer before returning it. */ - if ((size_t) link_length < buf_size) - { - char *smaller_buffer = (char *) realloc (buffer, link_length); - - if (smaller_buffer != NULL) - buffer = smaller_buffer; - } - } - return buffer; - } - - if (buffer != initial_buf) - free (buffer); - buf_size *= 2; - if (SSIZE_MAX < buf_size || (SIZE_MAX / 2 < SSIZE_MAX && buf_size == 0)) - { - errno = ENOMEM; - return NULL; - } - buffer = (char *) malloc (buf_size); - if (buffer == NULL) - { - /* It's easier to set errno to ENOMEM than to rely on the - 'malloc-posix' gnulib module. */ - errno = ENOMEM; - return NULL; - } - } + return careadlinkat (AT_FDCWD, filename, NULL, 0, NULL, careadlinkatcwd); } diff --git a/gnu/areadlink.h b/gnu/areadlink.h index ada8eb1f..6619f78e 100644 --- a/gnu/areadlink.h +++ b/gnu/areadlink.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read symbolic links without size limitation. - Copyright (C) 2001, 2003-2004, 2007, 2009-2011 Free Software Foundation, + Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/areadlinkat.c b/gnu/areadlinkat.c index abbfed3b..0dfc0114 100644 --- a/gnu/areadlinkat.c +++ b/gnu/areadlinkat.c @@ -3,7 +3,7 @@ /* areadlinkat.c -- readlinkat wrapper to return malloc'd link name Unlike xreadlinkat, only call exit on failure to change directory. - Copyright (C) 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2003-2007, 2009-2013 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 @@ -27,101 +27,21 @@ /* Specification. */ #include "areadlink.h" -#include -#include -#include -#include -#include -#include - -#ifndef SSIZE_MAX -# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) -#endif +#include "careadlinkat.h" #if HAVE_READLINKAT -/* The initial buffer size for the link value. A power of 2 - detects arithmetic overflow earlier, but is not required. */ -enum { - INITIAL_BUF_SIZE = 1024 -}; - /* Call readlinkat to get the symbolic link value of FILENAME relative to FD. Return a pointer to that NUL-terminated string in malloc'd storage. If readlinkat fails, return NULL and set errno (although failure to change directory will issue a diagnostic and exit). - If realloc fails, or if the link value is longer than SIZE_MAX :-), + If allocation fails, or if the link value is longer than SIZE_MAX :-), return NULL and set errno to ENOMEM. */ char * areadlinkat (int fd, char const *filename) { - /* Allocate the initial buffer on the stack. This way, in the common - case of a symlink of small size, we get away with a single small malloc() - instead of a big malloc() followed by a shrinking realloc(). */ - char initial_buf[INITIAL_BUF_SIZE]; - - char *buffer = initial_buf; - size_t buf_size = sizeof initial_buf; - - while (1) - { - /* Attempt to read the link into the current buffer. */ - ssize_t link_length = readlinkat (fd, filename, buffer, buf_size); - - /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 - with errno == ERANGE if the buffer is too small. */ - if (link_length < 0 && errno != ERANGE) - { - if (buffer != initial_buf) - { - int saved_errno = errno; - free (buffer); - errno = saved_errno; - } - return NULL; - } - - if ((size_t) link_length < buf_size) - { - buffer[link_length++] = '\0'; - - /* Return it in a chunk of memory as small as possible. */ - if (buffer == initial_buf) - { - buffer = (char *) malloc (link_length); - if (buffer == NULL) - /* errno is ENOMEM. */ - return NULL; - memcpy (buffer, initial_buf, link_length); - } - else - { - /* Shrink buffer before returning it. */ - if ((size_t) link_length < buf_size) - { - char *smaller_buffer = (char *) realloc (buffer, link_length); - - if (smaller_buffer != NULL) - buffer = smaller_buffer; - } - } - return buffer; - } - - if (buffer != initial_buf) - free (buffer); - buf_size *= 2; - if (SSIZE_MAX < buf_size || (SIZE_MAX / 2 < SSIZE_MAX && buf_size == 0)) - { - errno = ENOMEM; - return NULL; - } - buffer = (char *) malloc (buf_size); - if (buffer == NULL) - /* errno is ENOMEM. */ - return NULL; - } + return careadlinkat (fd, filename, NULL, 0, NULL, readlinkat); } #else /* !HAVE_READLINKAT */ diff --git a/gnu/argmatch.c b/gnu/argmatch.c index f5128447..459bf2e3 100644 --- a/gnu/argmatch.c +++ b/gnu/argmatch.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* argmatch.c -- find a match for a string in an array - Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2011 Free Software + Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -79,7 +79,7 @@ argmatch_exit_fn argmatch_die = __argmatch_die; synonyms, i.e., for "yes", "yop" -> 0 "no", "nope" -> 1 - "y" is a valid argument, for `0', and "n" for `1'. */ + "y" is a valid argument, for 0, and "n" for 1. */ ptrdiff_t argmatch (const char *arg, const char *const *arglist, @@ -152,17 +152,17 @@ argmatch_valid (const char *const *arglist, /* We try to put synonyms on the same line. The assumption is that synonyms follow each other */ - fprintf (stderr, _("Valid arguments are:")); + fputs (_("Valid arguments are:"), stderr); for (i = 0; arglist[i]; i++) if ((i == 0) || memcmp (last_val, vallist + valsize * i, valsize)) { - fprintf (stderr, "\n - `%s'", arglist[i]); + fprintf (stderr, "\n - %s", quote (arglist[i])); last_val = vallist + valsize * i; } else { - fprintf (stderr, ", `%s'", arglist[i]); + fprintf (stderr, ", %s", quote (arglist[i])); } putc ('\n', stderr); } @@ -271,7 +271,7 @@ main (int argc, const char *const *argv) backup_type = XARGMATCH (program_name, argv[1], backup_args, backup_vals); - printf ("The version control is `%s'\n", + printf ("The version control is '%s'\n", ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals)); return 0; diff --git a/gnu/argmatch.h b/gnu/argmatch.h index 3c307796..f3730571 100644 --- a/gnu/argmatch.h +++ b/gnu/argmatch.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* argmatch.h -- definitions and prototypes for argmatch.c - Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2011 Free Software + Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -28,6 +28,10 @@ # include "verify.h" +#ifdef __cplusplus +extern "C" { +#endif + # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) /* Assert there are as many real arguments as there are values @@ -42,14 +46,14 @@ to the same values in VALLIST). */ ptrdiff_t argmatch (char const *arg, char const *const *arglist, - char const *vallist, size_t valsize); + char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE; # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* xargmatch calls this function when it fails. This function should not return. By default, this is a function that calls ARGMATCH_DIE which - in turn defaults to `exit (exit_failure)'. */ + in turn defaults to 'exit (exit_failure)'. */ typedef void (*argmatch_exit_fn) (void); extern argmatch_exit_fn argmatch_die; @@ -75,8 +79,8 @@ void argmatch_valid (char const *const *arglist, -/* Same as argmatch, but upon failure, reports a explanation on the - failure, and exits using the function EXIT_FN. */ +/* Same as argmatch, but upon failure, report an explanation of the + failure, and exit using the function EXIT_FN. */ ptrdiff_t __xargmatch_internal (char const *context, char const *arg, char const *const *arglist, @@ -95,10 +99,15 @@ ptrdiff_t __xargmatch_internal (char const *context, char const *argmatch_to_argument (char const *value, char const *const *arglist, - char const *vallist, size_t valsize); + char const *vallist, size_t valsize) + _GL_ATTRIBUTE_PURE; # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \ argmatch_to_argument (Value, Arglist, \ (char const *) (Vallist), sizeof *(Vallist)) +#ifdef __cplusplus +} +#endif + #endif /* ARGMATCH_H_ */ diff --git a/gnu/argp-ba.c b/gnu/argp-ba.c index 607c0786..566d916d 100644 --- a/gnu/argp-ba.c +++ b/gnu/argp-ba.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_PROGRAM_BUG_ADDRESS. - Copyright (C) 1996-1997, 1999, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1996-1997, 1999, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -21,11 +21,11 @@ /* If set by the user program, it should point to string that is the bug-reporting address for the program. It will be printed by argp_help if the ARGP_HELP_BUG_ADDR flag is set (as it is by various standard help - messages), embedded in a sentence that says something like `Report bugs to - ADDR.'. */ + messages), embedded in a sentence that says something like "Report bugs to + ADDR." */ const char *argp_program_bug_address /* This variable should be zero-initialized. On most systems, putting it into - BSS is sufficient. Not so on MacOS X 10.3 and 10.4, see + BSS is sufficient. Not so on Mac OS X 10.3 and 10.4, see . */ #if defined __ELF__ diff --git a/gnu/argp-eexst.c b/gnu/argp-eexst.c index c7d8d03c..47d5848c 100644 --- a/gnu/argp-eexst.c +++ b/gnu/argp-eexst.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_ERR_EXIT_STATUS - Copyright (C) 1997, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1997, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-fmtstream.c b/gnu/argp-fmtstream.c index 1abc5679..201df851 100644 --- a/gnu/argp-fmtstream.c +++ b/gnu/argp-fmtstream.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Word-wrapping and line-truncating streams - Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2011 Free Software + Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -19,7 +19,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* This package emulates glibc `line_wrap_stream' semantics for systems that +/* This package emulates glibc 'line_wrap_stream' semantics for systems that don't have that. */ #ifdef HAVE_CONFIG_H diff --git a/gnu/argp-fmtstream.h b/gnu/argp-fmtstream.h index 2e1c44cc..71b91b64 100644 --- a/gnu/argp-fmtstream.h +++ b/gnu/argp-fmtstream.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Word-wrapping and line-truncating streams. - Copyright (C) 1997, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1997, 2006-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* This package emulates glibc `line_wrap_stream' semantics for systems that +/* This package emulates glibc 'line_wrap_stream' semantics for systems that don't have that. If the system does have it, it is just a wrapper for that. This header file is only used internally while compiling argp, and shouldn't be installed. */ @@ -135,7 +135,7 @@ extern ssize_t argp_fmtstream_printf (argp_fmtstream_t __fs, const char *__fmt, ...) _GL_ATTRIBUTE_FORMAT ((printf, 2, 3)); -#if _LIBC || !defined __OPTIMIZE__ +#if _LIBC extern int __argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch); extern int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch); @@ -156,7 +156,7 @@ extern size_t argp_fmtstream_write (argp_fmtstream_t __fs, #define __argp_fmtstream_rmargin argp_fmtstream_rmargin #define __argp_fmtstream_wmargin argp_fmtstream_wmargin -#if _LIBC || !defined __OPTIMIZE__ +#if _LIBC /* Set __FS's left margin to LMARGIN and return the old value. */ extern size_t argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin); @@ -186,7 +186,7 @@ extern void __argp_fmtstream_update (argp_fmtstream_t __fs); extern int _argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount); extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount); -#ifdef __OPTIMIZE__ +#if !_LIBC || defined __OPTIMIZE__ /* Inline versions of above routines. */ #if !_LIBC @@ -199,6 +199,10 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount); #define __argp_fmtstream_point argp_fmtstream_point #define __argp_fmtstream_update _argp_fmtstream_update #define __argp_fmtstream_ensure _argp_fmtstream_ensure +_GL_INLINE_HEADER_BEGIN +#ifndef ARGP_FS_EI +# define ARGP_FS_EI _GL_INLINE +#endif #endif #ifndef ARGP_FS_EI @@ -347,9 +351,10 @@ __argp_fmtstream_point (argp_fmtstream_t __fs) #undef __argp_fmtstream_point #undef __argp_fmtstream_update #undef __argp_fmtstream_ensure +_GL_INLINE_HEADER_END #endif -#endif /* __OPTIMIZE__ */ +#endif /* !_LIBC || __OPTIMIZE__ */ #endif /* ARGP_FMTSTREAM_USE_LINEWRAP */ diff --git a/gnu/argp-fs-xinl.c b/gnu/argp-fs-xinl.c index cb205644..f8158030 100644 --- a/gnu/argp-fs-xinl.c +++ b/gnu/argp-fs-xinl.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Real definitions for extern inline functions in argp-fmtstream.h - Copyright (C) 1997, 2003-2004, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1997, 2003-2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -22,7 +22,11 @@ # include #endif -#define ARGP_FS_EI +#ifdef _LIBC +# define ARGP_FS_EI +#else +# define ARGP_FS_EI _GL_EXTERN_INLINE +#endif #undef __OPTIMIZE__ #define __OPTIMIZE__ 1 #include "argp-fmtstream.h" diff --git a/gnu/argp-help.c b/gnu/argp-help.c index 7acfdac8..9f7a4f2a 100644 --- a/gnu/argp-help.c +++ b/gnu/argp-help.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Hierarchial argument parsing help output - Copyright (C) 1995-2005, 2007, 2009-2011 Free Software Foundation, Inc. +/* Hierarchical argument parsing help output + Copyright (C) 1995-2005, 2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -58,7 +59,7 @@ /* User-selectable (using an environment variable) formatting parameters. - These may be specified in an environment variable called `ARGP_HELP_FMT', + These may be specified in an environment variable called 'ARGP_HELP_FMT', with a contents like: VAR1=VAL1,VAR2=VAL2,BOOLVAR2,no-BOOLVAR2 Where VALn must be a positive integer. The list of variables is in the UPARAM_NAMES vector, below. */ @@ -75,13 +76,13 @@ #define RMARGIN 79 /* right margin used for wrapping */ /* User-selectable (using an environment variable) formatting parameters. - They must all be of type `int' for the parsing code to work. */ + They must all be of type 'int' for the parsing code to work. */ struct uparams { /* If true, arguments for an option are shown with both short and long - options, even when a given option has both, e.g. `-x ARG, --longx=ARG'. + options, even when a given option has both, e.g. '-x ARG, --longx=ARG'. If false, then if an option has both, the argument is only shown with - the long one, e.g., `-x, --longx=ARG', and a message indicating that + the long one, e.g., '-x, --longx=ARG', and a message indicating that this really means both is printed below the options. */ int dup_args; @@ -113,7 +114,7 @@ static struct uparams uparams = { struct uparam_name { const char *name; /* User name. */ - int is_bool; /* Whether it's `boolean'. */ + int is_bool; /* Whether it's 'boolean'. */ size_t uparams_offs; /* Location of the (int) field in UPARAMS. */ }; @@ -156,7 +157,7 @@ ARGP_HELP_FMT: %s value is less than or equal to %s"), uparams.valid = 1; } -/* Read user options from the environment, and fill in UPARAMS appropiately. */ +/* Read user options from the environment, and fill in UPARAMS appropriately. */ static void fill_in_uparams (const struct argp_state *state) { @@ -261,7 +262,7 @@ fill_in_uparams (const struct argp_state *state) /* Returns true if OPT is an alias for an earlier option. */ #define oalias(opt) ((opt)->flags & OPTION_ALIAS) -/* Returns true if OPT is an documentation-only entry. */ +/* Returns true if OPT is a documentation-only entry. */ #define odoc(opt) ((opt)->flags & OPTION_DOC) /* Returns true if OPT should not be translated */ @@ -279,11 +280,11 @@ fill_in_uparams (const struct argp_state *state) -xARG, -yARG, --long1=ARG, --long2=ARG Documentation... Where ARG will be omitted if there's no argument, for this option, or - will be surrounded by "[" and "]" appropiately if the argument is - optional. The documentation string is word-wrapped appropiately, and if + will be surrounded by "[" and "]" appropriately if the argument is + optional. The documentation string is word-wrapped appropriately, and if the list of options is long enough, it will be started on a separate line. If there are no short options for a given option, the first long option is - indented slighly in a way that's supposed to make most long options appear + indented slightly in a way that's supposed to make most long options appear to be in a separate column. For example, the following output (from ps): @@ -361,7 +362,7 @@ struct hol_entry /* A pointers into the HOL's short_options field, to the first short option letter for this entry. The order of the characters following this point corresponds to the order of options pointed to by OPT, and there are at - most NUM. A short option recorded in a option following OPT is only + most NUM. A short option recorded in an option following OPT is only valid if it occurs in the right place in SHORT_OPTIONS (otherwise it's probably been shadowed by some other entry). */ char *short_options; @@ -650,7 +651,7 @@ hol_find_entry (struct hol *hol, const char *name) return 0; } -/* If an entry with the long option NAME occurs in HOL, set it's special +/* If an entry with the long option NAME occurs in HOL, set its special sort position to GROUP. */ static void hol_set_group (struct hol *hol, const char *name, int group) @@ -715,7 +716,7 @@ hol_cluster_is_child (const struct hol_cluster *cl1, return cl1 == cl2; } -/* Given the name of a OPTION_DOC option, modifies NAME to start at the tail +/* Given the name of an OPTION_DOC option, modifies NAME to start at the tail that should be used for comparisons, and returns true iff it should be treated as a non-option. */ static int @@ -730,7 +731,7 @@ canon_doc_option (const char **name) /* Skip initial whitespace. */ while (isspace ((unsigned char) **name)) (*name)++; - /* Decide whether this looks like an option (leading `-') or not. */ + /* Decide whether this looks like an option (leading '-') or not. */ non_opt = (**name != '-'); /* Skip until part of name used for sorting. */ while (**name && !isalnum ((unsigned char) **name)) @@ -755,9 +756,9 @@ hol_entry_cmp (const struct hol_entry *entry1, if (entry1->cluster != entry2->cluster) { /* The entries are not within the same cluster, so we can't compare them - directly, we have to use the appropiate clustering level too. */ + directly, we have to use the appropriate clustering level too. */ if (! entry1->cluster) - /* ENTRY1 is at the `base level', not in a cluster, so we have to + /* ENTRY1 is at the "base level", not in a cluster, so we have to compare it's group number with that of the base cluster in which ENTRY2 resides. Note that if they're in the same group, the clustered option always comes laster. */ @@ -787,7 +788,7 @@ hol_entry_cmp (const struct hol_entry *entry1, doc2 = canon_doc_option (&long2); if (doc1 != doc2) - /* `documentation' options always follow normal options (or + /* "documentation" options always follow normal options (or documentation options that *look* like normal options). */ return doc1 - doc2; else if (!short1 && !short2 && long1 && long2) @@ -893,7 +894,8 @@ hol_append (struct hol *hol, struct hol *more) /* Fix up the short options pointers from HOL. */ for (e = entries, left = hol->num_entries; left > 0; e++, left--) - e->short_options += (short_options - hol->short_options); + e->short_options = + short_options + (e->short_options - hol->short_options); /* Now add the short options from MORE, fixing up its entries too. */ @@ -1024,7 +1026,7 @@ filter_doc (const char *doc, int key, const struct argp *argp, return doc; } -/* Prints STR as a header line, with the margin lines set appropiately, and +/* Prints STR as a header line, with the margin lines set appropriately, and notes the fact that groups should be separated with a blank line. ARGP is the argp that should dictate any user doc filtering to take place. Note that the previous wrap margin isn't restored, but the left margin is reset @@ -1146,7 +1148,7 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state, /* Now, long options. */ if (odoc (real)) - /* A `documentation' option. */ + /* A "documentation" option. */ { __argp_fmtstream_set_wmargin (stream, uparams.doc_opt_col); for (opt = real, num = entry->num; num > 0; opt++, num--) @@ -1440,7 +1442,7 @@ argp_args_usage (const struct argp *argp, const struct argp_state *state, const char *cp = fdoc; nl = __strchrnul (cp, '\n'); if (*nl != '\0') - /* This is a `multi-level' args doc; advance to the correct position + /* This is a "multi-level" args doc; advance to the correct position as determined by our state in LEVELS, and update LEVELS. */ { int i; @@ -1481,9 +1483,9 @@ argp_args_usage (const struct argp *argp, const struct argp_state *state, } /* Print the documentation for ARGP to STREAM; if POST is false, then - everything preceeding a `\v' character in the documentation strings (or + everything preceding a '\v' character in the documentation strings (or the whole string, for those with none) is printed, otherwise, everything - following the `\v' character (nothing for strings without). Each separate + following the '\v' character (nothing for strings without). Each separate bit of documentation is separated a blank line, and if PRE_BLANK is true, then the first is as well. If FIRST_ONLY is true, only the first occurrence is output. Returns true if anything was output. */ @@ -1553,7 +1555,7 @@ argp_doc (const struct argp *argp, const struct argp_state *state, free ((char *) inp_text); /* We copied INP_TEXT, so free it now. */ if (post && argp->help_filter) - /* Now see if we have to output a ARGP_KEY_HELP_EXTRA text. */ + /* Now see if we have to output an ARGP_KEY_HELP_EXTRA text. */ { text = (*argp->help_filter) (ARGP_KEY_HELP_EXTRA, 0, input); if (text) @@ -1580,8 +1582,8 @@ argp_doc (const struct argp *argp, const struct argp_state *state, } /* Output a usage message for ARGP to STREAM. If called from - argp_state_help, STATE is the relevent parsing state. FLAGS are from the - set ARGP_HELP_*. NAME is what to use wherever a `program name' is + argp_state_help, STATE is the relevant parsing state. FLAGS are from the + set ARGP_HELP_*. NAME is what to use wherever a "program name" is needed. */ static void _help (const struct argp *argp, const struct argp_state *state, FILE *stream, @@ -1622,7 +1624,7 @@ _help (const struct argp *argp, const struct argp_state *state, FILE *stream, } if (flags & (ARGP_HELP_USAGE | ARGP_HELP_SHORT_USAGE)) - /* Print a short `Usage:' message. */ + /* Print a short "Usage:" message. */ { int first_pattern = 1, more_patterns; size_t num_pattern_levels = argp_args_levels (argp); @@ -1682,7 +1684,7 @@ _help (const struct argp *argp, const struct argp_state *state, FILE *stream, if (flags & ARGP_HELP_SEE) { __argp_fmtstream_printf (fs, dgettext (argp->argp_domain, "\ -Try `%s --help' or `%s --usage' for more information.\n"), +Try '%s --help' or '%s --usage' for more information.\n"), name, name); anything = 1; } @@ -1725,7 +1727,7 @@ Try `%s --help' or `%s --usage' for more information.\n"), } /* Output a usage message for ARGP to STREAM. FLAGS are from the set - ARGP_HELP_*. NAME is what to use wherever a `program name' is needed. */ + ARGP_HELP_*. NAME is what to use wherever a "program name" is needed. */ void __argp_help (const struct argp *argp, FILE *stream, unsigned flags, char *name) { @@ -1783,7 +1785,7 @@ weak_alias (__argp_state_help, argp_state_help) #endif /* If appropriate, print the printf string FMT and following args, preceded - by the program name and `:', to stderr, and followed by a `Try ... --help' + by the program name and ':', to stderr, and followed by a "Try ... --help" message, then exit (1). */ void __argp_error (const struct argp_state *state, const char *fmt, ...) @@ -1919,7 +1921,7 @@ __argp_failure (const struct argp_state *state, int status, int errnum, char const *s = NULL; putc_unlocked (':', stream); putc_unlocked (' ', stream); -#if _LIBC || (HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P) +#if _LIBC || (HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P && !defined strerror_r) s = __strerror_r (errnum, buf, sizeof buf); #elif HAVE_DECL_STRERROR_R if (__strerror_r (errnum, buf, sizeof buf) == 0) diff --git a/gnu/argp-namefrob.h b/gnu/argp-namefrob.h index 0b86d33d..ca93741a 100644 --- a/gnu/argp-namefrob.h +++ b/gnu/argp-namefrob.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Name frobnication for compiling argp outside of glibc - Copyright (C) 1997, 2003, 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1997, 2003, 2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-parse.c b/gnu/argp-parse.c index 07b72395..0e8de131 100644 --- a/gnu/argp-parse.c +++ b/gnu/argp-parse.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Hierarchial argument parsing, layered over getopt - Copyright (C) 1995-2000, 2002-2004, 2009-2011 Free Software Foundation, Inc. +/* Hierarchical argument parsing, layered over getopt + Copyright (C) 1995-2000, 2002-2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -23,6 +23,7 @@ #endif #include +#include #include #include #include @@ -44,7 +45,6 @@ #include "argp.h" #include "argp-namefrob.h" -#define alignof(type) offsetof (struct { char c; type x; }, x) #define alignto(n, d) ((((n) + (d) - 1) / (d)) * (d)) /* Getopt return values. */ @@ -156,8 +156,9 @@ argp_version_parser (int key, char *arg, struct argp_state *state) else if (argp_program_version) fprintf (state->out_stream, "%s\n", argp_program_version); else - __argp_error (state, dgettext (state->root_argp->argp_domain, - "(PROGRAM ERROR) No version known!?")); + __argp_error (state, "%s", + dgettext (state->root_argp->argp_domain, + "(PROGRAM ERROR) No version known!?")); if (! (state->flags & ARGP_NO_EXIT)) exit (0); break; @@ -189,7 +190,7 @@ find_long_option (struct option *long_options, const char *name) } -/* The state of a `group' during parsing. Each group corresponds to a +/* The state of a "group" during parsing. Each group corresponds to a particular argp structure from the tree of such descending from the top level argp passed to argp_parse. */ struct group @@ -205,7 +206,7 @@ struct group particular short options is from. */ char *short_end; - /* The number of non-option args sucessfully handled by this parser. */ + /* The number of non-option args successfully handled by this parser. */ unsigned args_processed; /* This group's parser's parent's group. */ @@ -256,7 +257,7 @@ struct parser struct group *groups; /* The end of the GROUPS array. */ struct group *egroup; - /* An vector containing storage for the CHILD_INPUTS field in all groups. */ + /* A vector containing storage for the CHILD_INPUTS field in all groups. */ void **child_inputs; /* True if we think using getopt is still useful; if false, then @@ -387,7 +388,7 @@ convert_options (const struct argp *argp, return group; } -/* Find the merged set of getopt options, with keys appropiately prefixed. */ +/* Find the merged set of getopt options, with keys appropriately prefixed. */ static void parser_convert (struct parser *parser, const struct argp *argp, int flags) { @@ -441,7 +442,7 @@ calc_sizes (const struct argp *argp, struct parser_sizes *szs) int num_opts = 0; while (!__option_is_end (opt++)) num_opts++; - szs->short_len += num_opts * 3; /* opt + up to 2 `:'s */ + szs->short_len += num_opts * 3; /* opt + up to 2 ':'s */ szs->long_len += num_opts; } } @@ -783,7 +784,7 @@ parser_parse_next (struct parser *parser, int *arg_ebadkey) if (parser->state.quoted && parser->state.next < parser->state.quoted) /* The next argument pointer has been moved to before the quoted - region, so pretend we never saw the quoting `--', and give getopt + region, so pretend we never saw the quoting "--", and give getopt another chance. If the user hasn't removed it, getopt will just process it again. */ parser->state.quoted = 0; @@ -815,7 +816,7 @@ parser_parse_next (struct parser *parser, int *arg_ebadkey) && strcmp (parser->state.argv[parser->state.next - 1], QUOTE) == 0) /* Not only is this the end of the options, but it's a - `quoted' region, which may have args that *look* like + "quoted" region, which may have args that *look* like options, so we definitely shouldn't try to use getopt past here, whatever happens. */ parser->state.quoted = parser->state.next; @@ -881,11 +882,11 @@ __argp_parse (const struct argp *argp, int argc, char **argv, unsigned flags, #ifndef _LIBC if (!(flags & ARGP_PARSE_ARGV0)) { -#ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME +#if HAVE_DECL_PROGRAM_INVOCATION_NAME if (!program_invocation_name) program_invocation_name = argv[0]; #endif -#ifdef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME +#if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME if (!program_invocation_short_name) program_invocation_short_name = __argp_base_name (argv[0]); #endif diff --git a/gnu/argp-pin.c b/gnu/argp-pin.c index a1734636..fd936e46 100644 --- a/gnu/argp-pin.c +++ b/gnu/argp-pin.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Full and short program names for argp module - Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2013 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 @@ -26,4 +26,3 @@ char *program_invocation_short_name = 0; #ifndef HAVE_PROGRAM_INVOCATION_NAME char *program_invocation_name = 0; #endif - diff --git a/gnu/argp-pv.c b/gnu/argp-pv.c index 7071acdb..ed657ebe 100644 --- a/gnu/argp-pv.c +++ b/gnu/argp-pv.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_PROGRAM_VERSION. - Copyright (C) 1996-1997, 1999, 2006, 2009-2011 Free Software Foundation, + Copyright (C) 1996-1997, 1999, 2006, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -25,7 +25,7 @@ ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */ const char *argp_program_version /* This variable should be zero-initialized. On most systems, putting it into - BSS is sufficient. Not so on MacOS X 10.3 and 10.4, see + BSS is sufficient. Not so on Mac OS X 10.3 and 10.4, see . */ #if defined __ELF__ diff --git a/gnu/argp-pvh.c b/gnu/argp-pvh.c index 8147f51b..74ff0986 100644 --- a/gnu/argp-pvh.c +++ b/gnu/argp-pvh.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Default definition for ARGP_PROGRAM_VERSION_HOOK. - Copyright (C) 1996-1997, 1999, 2004, 2009-2011 Free Software Foundation, + Copyright (C) 1996-1997, 1999, 2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/gnu/argp-version-etc.c b/gnu/argp-version-etc.c index 0a7ea873..b85934cf 100644 --- a/gnu/argp-version-etc.c +++ b/gnu/argp-version-etc.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Version hook for Argp. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/argp-version-etc.h b/gnu/argp-version-etc.h index 60b13dbb..49670cf6 100644 --- a/gnu/argp-version-etc.h +++ b/gnu/argp-version-etc.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Version hook for Argp. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,13 +23,13 @@ extern "C" { #endif -/* Setup standard display of the version information for the `--version' +/* Setup standard display of the version information for the '--version' option. NAME is the canonical program name, and AUTHORS is a NULL- terminated array of author names. At least one author name must be given. If NAME is NULL, the package name (as given by the PACKAGE macro) - is asumed to be the name of the program. + is assumed to be the name of the program. This function is intended to be called before argp_parse(). */ diff --git a/gnu/argp-xinl.c b/gnu/argp-xinl.c index 30bb64dc..9e58ab77 100644 --- a/gnu/argp-xinl.c +++ b/gnu/argp-xinl.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Real definitions for extern inline functions in argp.h - Copyright (C) 1997-1998, 2004, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -29,7 +29,11 @@ #ifndef __USE_EXTERN_INLINES # define __USE_EXTERN_INLINES 1 #endif -#define ARGP_EI +#ifdef _LIBC +# define ARGP_EI +#else +# define ARGP_EI _GL_EXTERN_INLINE +#endif #undef __OPTIMIZE__ #define __OPTIMIZE__ 1 #include "argp.h" diff --git a/gnu/argp.h b/gnu/argp.h index a0856817..dbaf366a 100644 --- a/gnu/argp.h +++ b/gnu/argp.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Hierarchial argument parsing, layered over getopt. - Copyright (C) 1995-1999, 2003-2011 Free Software Foundation, Inc. +/* Hierarchical argument parsing, layered over getopt. + Copyright (C) 1995-1999, 2003-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -96,7 +96,7 @@ struct argp_option /* The doc string for this option. If both NAME and KEY are 0, This string will be printed outdented from the normal option column, making it useful as a group header (it will be the first thing printed in its - group); in this usage, it's conventional to end the string with a `:'. + group); in this usage, it's conventional to end the string with a ':'. Write the initial value as N_("TEXT") if you want xgettext to collect it into a POT file. */ @@ -126,21 +126,21 @@ struct argp_option /* This option isn't actually an option (and so should be ignored by the actual option parser), but rather an arbitrary piece of documentation that should be displayed in much the same manner as the options. If this flag - is set, then the option NAME field is displayed unmodified (e.g., no `--' + is set, then the option NAME field is displayed unmodified (e.g., no '--' prefix is added) at the left-margin (where a *short* option would normally be displayed), and the documentation string in the normal place. The NAME field will be translated using gettext, unless OPTION_NO_TRANS is set (see below). For purposes of sorting, any leading whitespace and punctuation is - ignored, except that if the first non-whitespace character is not `-', this + ignored, except that if the first non-whitespace character is not '-', this entry is displayed after all options (and OPTION_DOC entries with a leading - `-') in the same group. */ + '-') in the same group. */ #define OPTION_DOC 0x8 -/* This option shouldn't be included in `long' usage messages (but is still +/* This option shouldn't be included in "long" usage messages (but is still included in help messages). This is mainly intended for options that are completely documented in an argp's ARGS_DOC field, in which case including the option in the generic usage list would be redundant. For instance, - if ARGS_DOC is "FOO BAR\n-x BLAH", and the `-x' option's purpose is to + if ARGS_DOC is "FOO BAR\n-x BLAH", and the '-x' option's purpose is to distinguish these two cases, -x should probably be marked OPTION_NO_USAGE. */ #define OPTION_NO_USAGE 0x10 @@ -169,7 +169,7 @@ typedef error_t (*argp_parser_t) (int key, char *arg, ARGP_ERR_UNKNOWN should be returned if they aren't understood. The sequence of keys to a parsing function is either (where each - uppercased word should be prefixed by `ARGP_KEY_' and opt is a user key): + uppercased word should be prefixed by 'ARGP_KEY_' and opt is a user key): INIT opt... NO_ARGS END SUCCESS -- No non-option arguments at all or INIT (opt | ARG)... END SUCCESS -- All non-option args parsed @@ -240,15 +240,15 @@ struct argp argp_parser_t parser; /* A string describing what other arguments are wanted by this program. It - is only used by argp_usage to print the `Usage:' message. If it + is only used by argp_usage to print the "Usage:" message. If it contains newlines, the strings separated by them are considered alternative usage patterns, and printed on separate lines (lines after - the first are prefix by ` or: ' instead of `Usage:'). */ + the first are prefix by " or: " instead of "Usage:"). */ const char *args_doc; /* If non-NULL, a string containing extra text to be printed before and after the options in a long help message (separated by a vertical tab - `\v' character). + '\v' character). Write the initial value as N_("BEFORE-TEXT") "\v" N_("AFTER-TEXT") if you want xgettext to collect the two pieces of text into a POT file. */ const char *doc; @@ -267,7 +267,7 @@ struct argp defines, below, describing which other help text TEXT is. The function should return either TEXT, if it should be used as-is, a replacement string, which should be malloced, and will be freed by argp, or NULL, - meaning `print nothing'. The value for TEXT is *after* any translation + meaning "print nothing". The value for TEXT is *after* any translation has been done, so if any of the replacement text also needs translation, that should be done by the filter function. INPUT is either the input supplied to argp_parse, or NULL, if argp_help was called directly. */ @@ -280,7 +280,7 @@ struct argp }; /* Possible KEY arguments to a help filter function. */ -#define ARGP_KEY_HELP_PRE_DOC 0x2000001 /* Help text preceeding options. */ +#define ARGP_KEY_HELP_PRE_DOC 0x2000001 /* Help text preceding options. */ #define ARGP_KEY_HELP_POST_DOC 0x2000002 /* Help text following options. */ #define ARGP_KEY_HELP_HEADER 0x2000003 /* Option header string. */ #define ARGP_KEY_HELP_EXTRA 0x2000004 /* After all other documentation; @@ -306,7 +306,7 @@ struct argp_child printing a header string, use a value of "". */ const char *header; - /* Where to group the child options relative to the other (`consolidated') + /* Where to group the child options relative to the other ("consolidated") options in the parent argp; the values are the same as the GROUP field in argp_option structs, but all child-groupings follow parent options at a particular group level. If both this field and HEADER are zero, then @@ -339,7 +339,7 @@ struct argp_state unsigned arg_num; /* If non-zero, the index in ARGV of the first argument following a special - `--' argument (which prevents anything following being interpreted as an + '--' argument (which prevents anything following being interpreted as an option). Only set once argument parsing has proceeded past this point. */ int quoted; @@ -401,7 +401,7 @@ struct argp_state /* Don't exit on errors (they may still result in error messages). */ #define ARGP_NO_EXIT 0x20 -/* Use the gnu getopt `long-only' rules for parsing arguments. */ +/* Use the gnu getopt "long-only" rules for parsing arguments. */ #define ARGP_LONG_ONLY 0x40 /* Turns off any message-printing/exiting options. */ @@ -458,7 +458,7 @@ extern void (*argp_program_version_hook) (FILE *__restrict __stream, the bug-reporting address for the program. It will be printed by argp_help if the ARGP_HELP_BUG_ADDR flag is set (as it is by various standard help messages), embedded in a sentence that says something like - `Report bugs to ADDR.'. */ + "Report bugs to ADDR." */ extern const char *argp_program_bug_address; /* The exit status that argp will use when exiting due to a parsing error. @@ -469,7 +469,7 @@ extern error_t argp_err_exit_status; /* Flags for argp_help. */ #define ARGP_HELP_USAGE 0x01 /* a Usage: message. */ #define ARGP_HELP_SHORT_USAGE 0x02 /* " but don't actually print options. */ -#define ARGP_HELP_SEE 0x04 /* a `Try ... for more help' message. */ +#define ARGP_HELP_SEE 0x04 /* a "Try ... for more help" message. */ #define ARGP_HELP_LONG 0x08 /* a long help message. */ #define ARGP_HELP_PRE_DOC 0x10 /* doc string preceding long help. */ #define ARGP_HELP_POST_DOC 0x20 /* doc string following long help. */ @@ -508,7 +508,7 @@ extern void __argp_help (const struct argp *__restrict __argp, parsing routine (thus taking an argp_state structure as the first argument). They may or may not print an error message and exit, depending on the flags in STATE -- in any case, the caller should be prepared for - them *not* to exit, and should return an appropiate error after calling + them *not* to exit, and should return an appropriate error after calling them. [argp_usage & argp_error should probably be called argp_state_..., but they're used often enough that they should be short] */ @@ -521,14 +521,14 @@ extern void __argp_state_help (const struct argp_state *__restrict __state, FILE *__restrict __stream, unsigned int __flags); -#if _LIBC || !defined __USE_EXTERN_INLINES +#if _LIBC /* Possibly output the standard usage message for ARGP to stderr and exit. */ extern void argp_usage (const struct argp_state *__state); extern void __argp_usage (const struct argp_state *__state); #endif /* If appropriate, print the printf string FMT and following args, preceded - by the program name and `:', to stderr, and followed by a `Try ... --help' + by the program name and ':', to stderr, and followed by a "Try ... --help" message, then exit (1). */ extern void argp_error (const struct argp_state *__restrict __state, const char *__restrict __fmt, ...) @@ -554,7 +554,7 @@ extern void __argp_failure (const struct argp_state *__restrict __state, const char *__restrict __fmt, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 4, 5)); -#if _LIBC || !defined __USE_EXTERN_INLINES +#if _LIBC /* Returns true if the option OPT is a valid short option. */ extern int _option_is_short (const struct argp_option *__opt) __THROW; extern int __option_is_short (const struct argp_option *__opt) __THROW; @@ -574,13 +574,17 @@ extern void *__argp_input (const struct argp *__restrict __argp, const struct argp_state *__restrict __state) __THROW; -#ifdef __USE_EXTERN_INLINES +#if !_LIBC || defined __USE_EXTERN_INLINES # if !_LIBC # define __argp_usage argp_usage # define __argp_state_help argp_state_help # define __option_is_short _option_is_short # define __option_is_end _option_is_end +_GL_INLINE_HEADER_BEGIN +# ifndef ARGP_EI +# define ARGP_EI _GL_INLINE +# endif # endif # ifndef ARGP_EI @@ -637,6 +641,7 @@ __NTH (__option_is_end (const struct argp_option *__opt)) # undef __argp_state_help # undef __option_is_short # undef __option_is_end +_GL_INLINE_HEADER_END # endif #endif /* Use extern inlines. */ diff --git a/gnu/asnprintf.c b/gnu/asnprintf.c index d54b3e88..2995b568 100644 --- a/gnu/asnprintf.c +++ b/gnu/asnprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2006, 2009-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ #include diff --git a/gnu/asprintf.c b/gnu/asprintf.c index 9e6817e7..bb5eab57 100644 --- a/gnu/asprintf.c +++ b/gnu/asprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2007, 2009-2011 Free Software Foundation, + Copyright (C) 1999, 2002, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #include diff --git a/gnu/at-func.c b/gnu/at-func.c index 96c16574..875e039b 100644 --- a/gnu/at-func.c +++ b/gnu/at-func.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Define an at-style functions like fstatat, unlinkat, fchownat, etc. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. +/* Define at-style functions like fstatat, unlinkat, fchownat, etc. + Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,9 +19,17 @@ /* written by Jim Meyering */ #include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ -#include "openat.h" -#include "openat-priv.h" -#include "save-cwd.h" + +#ifdef GNULIB_SUPPORT_ONLY_AT_FDCWD +# include +# ifndef ENOTSUP +# define ENOTSUP EINVAL +# endif +#else +# include "openat.h" +# include "openat-priv.h" +# include "save-cwd.h" +#endif #ifdef AT_FUNC_USE_F1_COND # define CALL_FUNC(F) \ @@ -53,7 +61,7 @@ /* Call AT_FUNC_F1 to operate on FILE, which is in the directory open on descriptor FD. If AT_FUNC_USE_F1_COND is defined to a value, - AT_FUNC_POST_FILE_PARAM_DECLS must inlude a parameter named flag; + AT_FUNC_POST_FILE_PARAM_DECLS must include a parameter named flag; call AT_FUNC_F2 if FLAG is 0 or fail if FLAG contains more bits than AT_FUNC_USE_F1_COND. Return int and fail with -1 unless AT_FUNC_RESULT or AT_FUNC_FAIL are defined. If possible, do it without changing the @@ -63,17 +71,22 @@ FUNC_RESULT AT_FUNC_NAME (int fd, char const *file AT_FUNC_POST_FILE_PARAM_DECLS) { + VALIDATE_FLAG (flag); + + if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) + return CALL_FUNC (file); + +#ifdef GNULIB_SUPPORT_ONLY_AT_FDCWD + errno = ENOTSUP; + return FUNC_FAIL; +#else + { /* Be careful to choose names unlikely to conflict with AT_FUNC_POST_FILE_PARAM_DECLS. */ struct saved_cwd saved_cwd; int saved_errno; FUNC_RESULT err; - VALIDATE_FLAG (flag); - - if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) - return CALL_FUNC (file); - { char proc_buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (proc_buf, fd, file); @@ -127,6 +140,8 @@ AT_FUNC_NAME (int fd, char const *file AT_FUNC_POST_FILE_PARAM_DECLS) if (saved_errno) errno = saved_errno; return err; + } +#endif } #undef CALL_FUNC #undef FUNC_RESULT diff --git a/gnu/at-func2.c b/gnu/at-func2.c index c9727d9d..0c60c57a 100644 --- a/gnu/at-func2.c +++ b/gnu/at-func2.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Define an at-style functions like linkat or renameat. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. +/* Define 2-FD at-style functions like linkat or renameat. + Copyright (C) 2006, 2009-2013 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 diff --git a/gnu/backupfile.c b/gnu/backupfile.c index b32877d7..b2eb43a9 100644 --- a/gnu/backupfile.c +++ b/gnu/backupfile.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* backupfile.c -- make Emacs style backup file names - Copyright (C) 1990-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1990-2006, 2009-2013 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 @@ -77,7 +77,7 @@ - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT unless it's important to use the locale's definition - of `digit' even when the host does not conform to POSIX. */ + of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* The extension added to file names to produce a simple (as opposed diff --git a/gnu/backupfile.h b/gnu/backupfile.h index 87efd844..4232371e 100644 --- a/gnu/backupfile.h +++ b/gnu/backupfile.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* backupfile.h -- declarations for making Emacs style backup file names - Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2011 Free Software + Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/basename-lgpl.c b/gnu/basename-lgpl.c index ca8989f0..7681409e 100644 --- a/gnu/basename-lgpl.c +++ b/gnu/basename-lgpl.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2011 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/basename.c b/gnu/basename.c index fd52498d..7434a68d 100644 --- a/gnu/basename.c +++ b/gnu/basename.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* basename.c -- return the last element in a file name - Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2011 Free Software + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -42,8 +42,8 @@ base_name (char const *name) if (ISSLASH (base[length])) length++; - /* On systems with drive letters, `a/b:c' must return `./b:c' rather - than `b:c' to avoid confusion with a drive letter. On systems + /* On systems with drive letters, "a/b:c" must return "./b:c" rather + than "b:c" to avoid confusion with a drive letter. On systems with pure POSIX semantics, this is not an issue. */ if (FILE_SYSTEM_PREFIX_LEN (base)) { diff --git a/gnu/bitrotate.c b/gnu/bitrotate.c new file mode 100644 index 00000000..d942185f --- /dev/null +++ b/gnu/bitrotate.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define BITROTATE_INLINE _GL_EXTERN_INLINE +#include "bitrotate.h" diff --git a/gnu/bitrotate.h b/gnu/bitrotate.h index d7cce24d..ece62373 100644 --- a/gnu/bitrotate.h +++ b/gnu/bitrotate.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* bitrotate.h - Rotate bits in integers - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,11 +25,16 @@ #include #include +_GL_INLINE_HEADER_BEGIN +#ifndef BITROTATE_INLINE +# define BITROTATE_INLINE _GL_INLINE +#endif + #ifdef UINT64_MAX /* Given an unsigned 64-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and 63 inclusive. */ -static inline uint64_t +BITROTATE_INLINE uint64_t rotl64 (uint64_t x, int n) { return ((x << n) | (x >> (64 - n))) & UINT64_MAX; @@ -38,7 +43,7 @@ rotl64 (uint64_t x, int n) /* Given an unsigned 64-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to 63 inclusive.*/ -static inline uint64_t +BITROTATE_INLINE uint64_t rotr64 (uint64_t x, int n) { return ((x >> n) | (x << (64 - n))) & UINT64_MAX; @@ -48,7 +53,7 @@ rotr64 (uint64_t x, int n) /* Given an unsigned 32-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and 31 inclusive. */ -static inline uint32_t +BITROTATE_INLINE uint32_t rotl32 (uint32_t x, int n) { return ((x << n) | (x >> (32 - n))) & UINT32_MAX; @@ -57,7 +62,7 @@ rotl32 (uint32_t x, int n) /* Given an unsigned 32-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to 31 inclusive.*/ -static inline uint32_t +BITROTATE_INLINE uint32_t rotr32 (uint32_t x, int n) { return ((x >> n) | (x << (32 - n))) & UINT32_MAX; @@ -66,7 +71,7 @@ rotr32 (uint32_t x, int n) /* Given a size_t argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and (CHAR_BIT * sizeof (size_t) - 1) inclusive. */ -static inline size_t +BITROTATE_INLINE size_t rotl_sz (size_t x, int n) { return ((x << n) | (x >> ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX; @@ -75,7 +80,7 @@ rotl_sz (size_t x, int n) /* Given a size_t argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to (CHAR_BIT * sizeof (size_t) - 1) inclusive. */ -static inline size_t +BITROTATE_INLINE size_t rotr_sz (size_t x, int n) { return ((x >> n) | (x << ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX; @@ -86,7 +91,7 @@ rotr_sz (size_t x, int n) 15 inclusive, but on most relevant targets N can also be 0 and 16 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint16_t +BITROTATE_INLINE uint16_t rotl16 (uint16_t x, int n) { return ((x << n) | (x >> (16 - n))) & UINT16_MAX; @@ -97,7 +102,7 @@ rotl16 (uint16_t x, int n) inclusive, but on most relevant targets N can also be 0 and 16 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint16_t +BITROTATE_INLINE uint16_t rotr16 (uint16_t x, int n) { return ((x >> n) | (x << (16 - n))) & UINT16_MAX; @@ -108,7 +113,7 @@ rotr16 (uint16_t x, int n) inclusive, but on most relevant targets N can also be 0 and 8 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint8_t +BITROTATE_INLINE uint8_t rotl8 (uint8_t x, int n) { return ((x << n) | (x >> (8 - n))) & UINT8_MAX; @@ -119,10 +124,12 @@ rotl8 (uint8_t x, int n) inclusive, but on most relevant targets N can also be 0 and 8 because 'int' is at least 32 bits and the arguments must widen before shifting. */ -static inline uint8_t +BITROTATE_INLINE uint8_t rotr8 (uint8_t x, int n) { return ((x >> n) | (x << (8 - n))) & UINT8_MAX; } +_GL_INLINE_HEADER_END + #endif /* _GL_BITROTATE_H */ diff --git a/gnu/btowc.c b/gnu/btowc.c index c6dbac53..7481a7b4 100644 --- a/gnu/btowc.c +++ b/gnu/btowc.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert unibyte character to wide character. - Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/c-ctype.c b/gnu/c-ctype.c index 835f4e1a..ef403204 100644 --- a/gnu/c-ctype.c +++ b/gnu/c-ctype.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Character handling in C locale. - Copyright 2000-2003, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ +along with this program; if not, see . */ #include diff --git a/gnu/c-ctype.h b/gnu/c-ctype.h index a58913ea..1a9a1270 100644 --- a/gnu/c-ctype.h +++ b/gnu/c-ctype.h @@ -7,7 +7,7 @@ functions' behaviour depends on the current locale set via setlocale. - Copyright (C) 2000-2003, 2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,8 +20,7 @@ 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. */ +along with this program; if not, see . */ #ifndef C_CTYPE_H #define C_CTYPE_H @@ -120,26 +119,27 @@ extern "C" { if (c_isalpha (*s)) ... */ -extern bool c_isascii (int c); /* not locale dependent */ +extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* 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 bool c_isalnum (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST; +extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST; +extern bool c_islower (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST; +extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST; +extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST; -extern int c_tolower (int c); -extern int c_toupper (int c); +extern int c_tolower (int c) _GL_ATTRIBUTE_CONST; +extern int c_toupper (int c) _GL_ATTRIBUTE_CONST; -#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS +#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \ + && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS) /* ASCII optimizations. */ diff --git a/gnu/c-strcase.h b/gnu/c-strcase.h new file mode 100644 index 00000000..3c11861d --- /dev/null +++ b/gnu/c-strcase.h @@ -0,0 +1,58 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Case-insensitive string comparison functions in C locale. + Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2013 Free Software + Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#ifndef C_STRCASE_H +#define C_STRCASE_H + +#include + + +/* The functions defined in this file assume the "C" locale and a character + set without diacritics (ASCII-US or EBCDIC-US or something like that). + Even if the "C" locale on a particular system is an extension of the ASCII + character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it + is ISO-8859-1), the functions in this file recognize only the ASCII + characters. More precisely, one of the string arguments must be an ASCII + string; the other one can also contain non-ASCII characters (but then + the comparison result will be nonzero). */ + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Compare strings S1 and S2, ignoring case, returning less than, equal to or + greater than zero if S1 is lexicographically less than, equal to or greater + than S2. */ +extern int c_strcasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE; + +/* Compare no more than N characters of strings S1 and S2, ignoring case, + returning less than, equal to or greater than zero if S1 is + lexicographically less than, equal to or greater than S2. */ +extern int c_strncasecmp (const char *s1, const char *s2, size_t n) + _GL_ATTRIBUTE_PURE; + + +#ifdef __cplusplus +} +#endif + + +#endif /* C_STRCASE_H */ diff --git a/gnu/c-strcasecmp.c b/gnu/c-strcasecmp.c new file mode 100644 index 00000000..b156a979 --- /dev/null +++ b/gnu/c-strcasecmp.c @@ -0,0 +1,58 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* c-strcasecmp.c -- case insensitive string comparator in C locale + Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#include + +/* Specification. */ +#include "c-strcase.h" + +#include + +#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); +} diff --git a/gnu/c-strcaseeq.h b/gnu/c-strcaseeq.h new file mode 100644 index 00000000..b640e1fb --- /dev/null +++ b/gnu/c-strcaseeq.h @@ -0,0 +1,186 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Optimized case-insensitive string comparison in C locale. + Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible . */ + +#include "c-strcase.h" +#include "c-ctype.h" + +/* STRCASEEQ allows to optimize string comparison with a small literal string. + STRCASEEQ (s, "UTF-8", 'U','T','F','-','8',0,0,0,0) + is semantically equivalent to + c_strcasecmp (s, "UTF-8") == 0 + just faster. */ + +/* Help GCC to generate good code for string comparisons with + immediate strings. */ +#if defined (__GNUC__) && defined (__OPTIMIZE__) + +/* Case insensitive comparison of ASCII characters. */ +# if C_CTYPE_ASCII +# define CASEEQ(other,upper) \ + (c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper)) +# elif C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE +# define CASEEQ(other,upper) \ + (c_isupper (upper) ? (other) == (upper) || (other) == (upper) - 'A' + 'a' : (other) == (upper)) +# else +# define CASEEQ(other,upper) \ + (c_toupper (other) == (upper)) +# endif + +static inline int +strcaseeq9 (const char *s1, const char *s2) +{ + return c_strcasecmp (s1 + 9, s2 + 9) == 0; +} + +static inline int +strcaseeq8 (const char *s1, const char *s2, char s28) +{ + if (CASEEQ (s1[8], s28)) + { + if (s28 == 0) + return 1; + else + return strcaseeq9 (s1, s2); + } + else + return 0; +} + +static inline int +strcaseeq7 (const char *s1, const char *s2, char s27, char s28) +{ + if (CASEEQ (s1[7], s27)) + { + if (s27 == 0) + return 1; + else + return strcaseeq8 (s1, s2, s28); + } + else + return 0; +} + +static inline int +strcaseeq6 (const char *s1, const char *s2, char s26, char s27, char s28) +{ + if (CASEEQ (s1[6], s26)) + { + if (s26 == 0) + return 1; + else + return strcaseeq7 (s1, s2, s27, s28); + } + else + return 0; +} + +static inline int +strcaseeq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28) +{ + if (CASEEQ (s1[5], s25)) + { + if (s25 == 0) + return 1; + else + return strcaseeq6 (s1, s2, s26, s27, s28); + } + else + return 0; +} + +static inline int +strcaseeq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28) +{ + if (CASEEQ (s1[4], s24)) + { + if (s24 == 0) + return 1; + else + return strcaseeq5 (s1, s2, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +strcaseeq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (CASEEQ (s1[3], s23)) + { + if (s23 == 0) + return 1; + else + return strcaseeq4 (s1, s2, s24, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +strcaseeq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (CASEEQ (s1[2], s22)) + { + if (s22 == 0) + return 1; + else + return strcaseeq3 (s1, s2, s23, s24, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +strcaseeq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (CASEEQ (s1[1], s21)) + { + if (s21 == 0) + return 1; + else + return strcaseeq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +strcaseeq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (CASEEQ (s1[0], s20)) + { + if (s20 == 0) + return 1; + else + return strcaseeq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28); + } + else + return 0; +} + +#define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ + strcaseeq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) + +#else + +#define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ + (c_strcasecmp (s1, s2) == 0) + +#endif diff --git a/gnu/c-strncasecmp.c b/gnu/c-strncasecmp.c new file mode 100644 index 00000000..7f08eae3 --- /dev/null +++ b/gnu/c-strncasecmp.c @@ -0,0 +1,58 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* c-strncasecmp.c -- case insensitive string comparator in C locale + Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#include + +/* Specification. */ +#include "c-strcase.h" + +#include + +#include "c-ctype.h" + +int +c_strncasecmp (const char *s1, const char *s2, size_t n) +{ + register const unsigned char *p1 = (const unsigned char *) s1; + register const unsigned char *p2 = (const unsigned char *) s2; + unsigned char c1, c2; + + if (p1 == p2 || n == 0) + return 0; + + do + { + c1 = c_tolower (*p1); + c2 = c_tolower (*p2); + + if (--n == 0 || 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); +} diff --git a/gnu/canonicalize-lgpl.c b/gnu/canonicalize-lgpl.c index 5267f253..cddd0719 100644 --- a/gnu/canonicalize-lgpl.c +++ b/gnu/canonicalize-lgpl.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Return the canonical absolute name of a given file. - Copyright (C) 1996-2011 Free Software Foundation, Inc. + Copyright (C) 1996-2013 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 @@ -18,15 +18,16 @@ along with this program. If not, see . */ #ifndef _LIBC +/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc + optimizes away the name == NULL test below. */ +# define _GL_ARG_NONNULL(params) + +# define _GL_USE_STDLIB_ALLOC 1 # include #endif #if !HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC -/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc - optimizes away the name == NULL test below. */ -#define _GL_ARG_NONNULL(params) - /* Specification. */ #include @@ -52,6 +53,7 @@ # define __realpath realpath # include "pathmax.h" # include "malloca.h" +# include "dosname.h" # if HAVE_GETCWD # if IN_RELOCWRAPPER /* When building the relocatable program wrapper, use the system's getcwd @@ -70,8 +72,6 @@ # endif # define __readlink readlink # define __set_errno(e) errno = (e) -/* Use the system functions, not the gnulib overrides in this file. */ -# undef malloc # ifndef MAXSYMLINKS # ifdef SYMLOOP_MAX # define MAXSYMLINKS SYMLOOP_MAX @@ -87,10 +87,10 @@ #if !FUNC_REALPATH_WORKS || defined _LIBC /* Return the canonical absolute name of file NAME. A canonical name - does not contain any `.', `..' components nor any repeated path + does not contain any ".", ".." components nor any repeated path separators ('/') or symlinks. All path components must exist. If RESOLVED is null, the result is malloc'd; otherwise, if the - canonical name is PATH_MAX chars or more, returns null with `errno' + canonical name is PATH_MAX chars or more, returns null with 'errno' set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, returns the name in RESOLVED. If the name cannot be resolved and RESOLVED is non-NULL, it contains the path of the first component @@ -104,6 +104,7 @@ __realpath (const char *name, char *resolved) const char *start, *end, *rpath_limit; long int path_max; int num_links = 0; + size_t prefix_len; if (name == NULL) { @@ -128,7 +129,7 @@ __realpath (const char *name, char *resolved) #else path_max = pathconf (name, _PC_PATH_MAX); if (path_max <= 0) - path_max = 1024; + path_max = 8192; #endif if (resolved == NULL) @@ -146,7 +147,11 @@ __realpath (const char *name, char *resolved) rpath = resolved; rpath_limit = rpath + path_max; - if (name[0] != '/') + /* This is always zero for Posix hosts, but can be 2 for MS-Windows + and MS-DOS X:/foo/bar file names. */ + prefix_len = FILE_SYSTEM_PREFIX_LEN (name); + + if (!IS_ABSOLUTE_FILE_NAME (name)) { if (!__getcwd (rpath, path_max)) { @@ -154,16 +159,28 @@ __realpath (const char *name, char *resolved) goto error; } dest = strchr (rpath, '\0'); + start = name; + prefix_len = FILE_SYSTEM_PREFIX_LEN (rpath); } else { - rpath[0] = '/'; - dest = rpath + 1; - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && name[1] == '/') - *dest++ = '/'; + dest = rpath; + if (prefix_len) + { + memcpy (rpath, name, prefix_len); + dest += prefix_len; + } + *dest++ = '/'; + if (DOUBLE_SLASH_IS_DISTINCT_ROOT) + { + if (ISSLASH (name[1]) && !ISSLASH (name[2]) && !prefix_len) + *dest++ = '/'; + *dest = '\0'; + } + start = name + prefix_len; } - for (start = end = name; *start; start = end) + for (end = start; *start; start = end) { #ifdef _LIBC struct stat64 st; @@ -173,11 +190,11 @@ __realpath (const char *name, char *resolved) int n; /* Skip sequence of multiple path-separators. */ - while (*start == '/') + while (ISSLASH (*start)) ++start; /* Find end of path component. */ - for (end = start; *end && *end != '/'; ++end) + for (end = start; *end && !ISSLASH (*end); ++end) /* Nothing. */; if (end - start == 0) @@ -187,17 +204,19 @@ __realpath (const char *name, char *resolved) else if (end - start == 2 && start[0] == '.' && start[1] == '.') { /* Back up to previous component, ignore if at root already. */ - if (dest > rpath + 1) - while ((--dest)[-1] != '/'); - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 - && *dest == '/') + if (dest > rpath + prefix_len + 1) + for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest) + continue; + if (DOUBLE_SLASH_IS_DISTINCT_ROOT + && dest == rpath + 1 && !prefix_len + && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; } else { size_t new_size; - if (dest[-1] != '/') + if (!ISSLASH (dest[-1])) *dest++ = '/'; if (dest + (end - start) >= rpath_limit) @@ -208,7 +227,7 @@ __realpath (const char *name, char *resolved) if (resolved) { __set_errno (ENAMETOOLONG); - if (dest > rpath + 1) + if (dest > rpath + prefix_len + 1) dest--; *dest = '\0'; goto error; @@ -298,20 +317,32 @@ __realpath (const char *name, char *resolved) memmove (&extra_buf[n], end, len + 1); name = end = memcpy (extra_buf, buf, n); - if (buf[0] == '/') + if (IS_ABSOLUTE_FILE_NAME (buf)) { - dest = rpath + 1; /* It's an absolute symlink */ - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && buf[1] == '/') - *dest++ = '/'; + size_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf); + + if (pfxlen) + memcpy (rpath, buf, pfxlen); + dest = rpath + pfxlen; + *dest++ = '/'; /* It's an absolute symlink */ + if (DOUBLE_SLASH_IS_DISTINCT_ROOT) + { + if (ISSLASH (buf[1]) && !ISSLASH (buf[2]) && !pfxlen) + *dest++ = '/'; + *dest = '\0'; + } + /* Install the new prefix to be in effect hereafter. */ + prefix_len = pfxlen; } else { /* Back up to previous component, ignore if at root already: */ - if (dest > rpath + 1) - while ((--dest)[-1] != '/'); + if (dest > rpath + prefix_len + 1) + for (--dest; dest > rpath && !ISSLASH (dest[-1]); --dest) + continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 - && *dest == '/') + && ISSLASH (*dest) && !ISSLASH (dest[1]) && !prefix_len) dest++; } } @@ -322,9 +353,10 @@ __realpath (const char *name, char *resolved) } } } - if (dest > rpath + 1 && dest[-1] == '/') + if (dest > rpath + prefix_len + 1 && ISSLASH (dest[-1])) --dest; - if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && *dest == '/') + if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && !prefix_len + && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; *dest = '\0'; diff --git a/gnu/careadlinkat.c b/gnu/careadlinkat.c new file mode 100644 index 00000000..9c8d1034 --- /dev/null +++ b/gnu/careadlinkat.c @@ -0,0 +1,162 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Read symbolic links into a buffer without size limitation, relative to fd. + + Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ + +#include + +#include "careadlinkat.h" + +#include +#include +#include +#include + +/* Define this independently so that stdint.h is not a prerequisite. */ +#ifndef SIZE_MAX +# define SIZE_MAX ((size_t) -1) +#endif + +#ifndef SSIZE_MAX +# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) +#endif + +#include "allocator.h" + +/* Assuming the current directory is FD, get the symbolic link value + of FILENAME as a null-terminated string and put it into a buffer. + If FD is AT_FDCWD, FILENAME is interpreted relative to the current + working directory, as in openat. + + If the link is small enough to fit into BUFFER put it there. + BUFFER's size is BUFFER_SIZE, and BUFFER can be null + if BUFFER_SIZE is zero. + + If the link is not small, put it into a dynamically allocated + buffer managed by ALLOC. It is the caller's responsibility to free + the returned value if it is nonnull and is not BUFFER. A null + ALLOC stands for the standard allocator. + + The PREADLINKAT function specifies how to read links. It operates + like POSIX readlinkat() + + but can assume that its first argument is the same as FD. + + If successful, return the buffer address; otherwise return NULL and + set errno. */ + +char * +careadlinkat (int fd, char const *filename, + char *buffer, size_t buffer_size, + struct allocator const *alloc, + ssize_t (*preadlinkat) (int, char const *, char *, size_t)) +{ + char *buf; + size_t buf_size; + size_t buf_size_max = + SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; + char stack_buf[1024]; + + if (! alloc) + alloc = &stdlib_allocator; + + if (! buffer_size) + { + /* Allocate the initial buffer on the stack. This way, in the + common case of a symlink of small size, we get away with a + single small malloc() instead of a big malloc() followed by a + shrinking realloc(). */ + buffer = stack_buf; + buffer_size = sizeof stack_buf; + } + + buf = buffer; + buf_size = buffer_size; + + do + { + /* Attempt to read the link into the current buffer. */ + ssize_t link_length = preadlinkat (fd, filename, buf, buf_size); + size_t link_size; + if (link_length < 0) + { + /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 + with errno == ERANGE if the buffer is too small. */ + int readlinkat_errno = errno; + if (readlinkat_errno != ERANGE) + { + if (buf != buffer) + { + alloc->free (buf); + errno = readlinkat_errno; + } + return NULL; + } + } + + link_size = link_length; + + if (link_size < buf_size) + { + buf[link_size++] = '\0'; + + if (buf == stack_buf) + { + char *b = (char *) alloc->allocate (link_size); + buf_size = link_size; + if (! b) + break; + memcpy (b, buf, link_size); + buf = b; + } + else if (link_size < buf_size && buf != buffer && alloc->reallocate) + { + /* Shrink BUF before returning it. */ + char *b = (char *) alloc->reallocate (buf, link_size); + if (b) + buf = b; + } + + return buf; + } + + if (buf != buffer) + alloc->free (buf); + + if (buf_size <= buf_size_max / 2) + buf_size *= 2; + else if (buf_size < buf_size_max) + buf_size = buf_size_max; + else if (buf_size_max < SIZE_MAX) + { + errno = ENAMETOOLONG; + return NULL; + } + else + break; + buf = (char *) alloc->allocate (buf_size); + } + while (buf); + + if (alloc->die) + alloc->die (buf_size); + errno = ENOMEM; + return NULL; +} diff --git a/gnu/careadlinkat.h b/gnu/careadlinkat.h new file mode 100644 index 00000000..202b84f0 --- /dev/null +++ b/gnu/careadlinkat.h @@ -0,0 +1,69 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Read symbolic links into a buffer without size limitation, relative to fd. + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ + +#ifndef _GL_CAREADLINKAT_H +#define _GL_CAREADLINKAT_H + +#include +#include + +struct allocator; + +/* Assuming the current directory is FD, get the symbolic link value + of FILENAME as a null-terminated string and put it into a buffer. + If FD is AT_FDCWD, FILENAME is interpreted relative to the current + working directory, as in openat. + + If the link is small enough to fit into BUFFER put it there. + BUFFER's size is BUFFER_SIZE, and BUFFER can be null + if BUFFER_SIZE is zero. + + If the link is not small, put it into a dynamically allocated + buffer managed by ALLOC. It is the caller's responsibility to free + the returned value if it is nonnull and is not BUFFER. + + The PREADLINKAT function specifies how to read links. It operates + like POSIX readlinkat() + + but can assume that its first argument is the same as FD. + + If successful, return the buffer address; otherwise return NULL and + set errno. */ + +char *careadlinkat (int fd, char const *filename, + char *buffer, size_t buffer_size, + struct allocator const *alloc, + ssize_t (*preadlinkat) (int, char const *, + char *, size_t)); + +/* Suitable value for careadlinkat's FD argument. */ +#if HAVE_READLINKAT +/* AT_FDCWD is declared in . */ +#else +/* Define AT_FDCWD independently, so that the careadlinkat module does + not depend on the fcntl-h module. We might as well use the same value + as fcntl-h. */ +# ifndef AT_FDCWD +# define AT_FDCWD (-3041965) +# endif +#endif + +#endif /* _GL_CAREADLINKAT_H */ diff --git a/gnu/chdir-long.c b/gnu/chdir-long.c index a7b40f09..872feb4d 100644 --- a/gnu/chdir-long.c +++ b/gnu/chdir-long.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a chdir function that tries not to fail due to ENAMETOOLONG - Copyright (C) 2004-2011 Free Software Foundation, Inc. + Copyright (C) 2004-2013 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 @@ -44,19 +44,19 @@ struct cd_buf int fd; }; -static inline void +static void cdb_init (struct cd_buf *cdb) { cdb->fd = AT_FDCWD; } -static inline int +static int cdb_fchdir (struct cd_buf const *cdb) { return fchdir (cdb->fd); } -static inline void +static void cdb_free (struct cd_buf const *cdb) { if (0 <= cdb->fd) @@ -85,7 +85,7 @@ cdb_advance_fd (struct cd_buf *cdb, char const *dir) } /* Return a pointer to the first non-slash in S. */ -static inline char * +static char * _GL_ATTRIBUTE_PURE find_non_slash (char const *s) { size_t n_slash = strspn (s, "/"); @@ -98,7 +98,7 @@ find_non_slash (char const *s) name. It handles an arbitrarily long directory name by operating on manageable portions of the name. On systems without the openat syscall, this means changing the working directory to more and more - `distant' points along the long directory name and then restoring + "distant" points along the long directory name and then restoring the working directory. If any of those attempts to save or restore the working directory fails, this function exits nonzero. @@ -247,7 +247,7 @@ main (int argc, char *argv[]) if (argc <= 1) { - /* Using `pwd' here makes sense only if it is a robust implementation, + /* Using 'pwd' here makes sense only if it is a robust implementation, like the one in coreutils after the 2004-04-19 changes. */ char const *cmd = "pwd"; execlp (cmd, (char *) NULL); diff --git a/gnu/chdir-long.h b/gnu/chdir-long.h index 56cbb93d..fdcff3ba 100644 --- a/gnu/chdir-long.h +++ b/gnu/chdir-long.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a chdir function that tries not to fail due to ENAMETOOLONG - Copyright (C) 2004-2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,11 +21,7 @@ #include #include -#ifndef PATH_MAX -# ifdef MAXPATHLEN -# define PATH_MAX MAXPATHLEN -# endif -#endif +#include "pathmax.h" /* On systems without PATH_MAX, presume that chdir accepts arbitrarily long directory names. */ diff --git a/gnu/chmodat.c b/gnu/chmodat.c new file mode 100644 index 00000000..1f398874 --- /dev/null +++ b/gnu/chmodat.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define FCHMODAT_INLINE _GL_EXTERN_INLINE +#include "openat.h" diff --git a/gnu/chown.c b/gnu/chown.c index 6f355691..95a503ca 100644 --- a/gnu/chown.c +++ b/gnu/chown.c @@ -1,9 +1,9 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* 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-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1997, 2004-2007, 2009-2013 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 @@ -55,7 +55,7 @@ chown (const char *file _GL_UNUSED, uid_t uid _GL_UNUSED, /* Provide a more-closely POSIX-conforming version of chown on systems with one or both of the following problems: - chown doesn't treat an ID of -1 as meaning - `don't change the corresponding ID'. + "don't change the corresponding ID". - chown doesn't dereference symlinks. */ int diff --git a/gnu/chownat.c b/gnu/chownat.c new file mode 100644 index 00000000..92485d1e --- /dev/null +++ b/gnu/chownat.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define FCHOWNAT_INLINE _GL_EXTERN_INLINE +#include "openat.h" diff --git a/gnu/cloexec.c b/gnu/cloexec.c index 98dad284..41507596 100644 --- a/gnu/cloexec.c +++ b/gnu/cloexec.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* closexec.c - set or clear the close-on-exec descriptor flag - Copyright (C) 1991, 2004-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1991, 2004-2006, 2009-2013 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 @@ -27,9 +27,9 @@ #include #include -/* Set the `FD_CLOEXEC' flag of DESC if VALUE is true, +/* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true, or clear the flag if VALUE is false. - Return 0 on success, or -1 on error with `errno' set. + Return 0 on success, or -1 on error with 'errno' set. Note that on MingW, this function does NOT protect DESC from being inherited into spawned children. Instead, either use dup_cloexec diff --git a/gnu/cloexec.h b/gnu/cloexec.h index 377ab6c9..b214e06e 100644 --- a/gnu/cloexec.h +++ b/gnu/cloexec.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* closexec.c - set or clear the close-on-exec descriptor flag - Copyright (C) 2004, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,9 +21,9 @@ #include -/* Set the `FD_CLOEXEC' flag of DESC if VALUE is true, +/* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true, or clear the flag if VALUE is false. - Return 0 on success, or -1 on error with `errno' set. + Return 0 on success, or -1 on error with 'errno' set. Note that on MingW, this function does NOT protect DESC from being inherited into spawned children. Instead, either use dup_cloexec diff --git a/gnu/close-stream.c b/gnu/close-stream.c index 2afb01d4..2df42d72 100644 --- a/gnu/close-stream.c +++ b/gnu/close-stream.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Close a stream, with nicer error checking than fclose's. - Copyright (C) 1998-2002, 2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004, 2006-2013 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 @@ -65,7 +65,7 @@ close_stream (FILE *stream) fclose failed, with one exception: ignore an fclose failure if there was no previous error, no data remains to be flushed, and fclose failed with EBADF. That can happen when a program like cp - is invoked like this `cp a b >&-' (i.e., with standard output + is invoked like this 'cp a b >&-' (i.e., with standard output closed) and doesn't generate any output (hence no previous error and nothing to be flushed). */ diff --git a/gnu/close.c b/gnu/close.c index b8bdcfa7..debab3b1 100644 --- a/gnu/close.c +++ b/gnu/close.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* close replacement. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,18 +21,45 @@ /* Specification. */ #include -#include "close-hook.h" +#include + +#include "fd-hook.h" +#include "msvc-inval.h" + +#undef close + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +close_nothrow (int fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = close (fd); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define close_nothrow close +#endif /* Override close() to call into other gnulib modules. */ int rpl_close (int fd) -#undef close { #if WINDOWS_SOCKETS - int retval = execute_all_close_hooks (fd); + int retval = execute_all_close_hooks (close_nothrow, fd); #else - int retval = close (fd); + int retval = close_nothrow (fd); #endif #if REPLACE_FCHDIR diff --git a/gnu/closedir.c b/gnu/closedir.c new file mode 100644 index 00000000..7189b991 --- /dev/null +++ b/gnu/closedir.c @@ -0,0 +1,69 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Stop reading the entries of a directory. + Copyright (C) 2006-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if REPLACE_FCHDIR +# include +#endif + +#if HAVE_CLOSEDIR + +/* Override closedir(), to keep track of the open file descriptors. + Needed because there is a function dirfd(). */ + +#else + +# include + +# include "dirent-private.h" + +#endif + +int +closedir (DIR *dirp) +{ +# if REPLACE_FCHDIR + int fd = dirfd (dirp); +# endif + int retval; + +#if HAVE_CLOSEDIR +# undef closedir + + retval = closedir (dirp); + +#else + + if (dirp->current != INVALID_HANDLE_VALUE) + FindClose (dirp->current); + free (dirp); + + retval = 0; + +#endif + +#if REPLACE_FCHDIR + if (retval >= 0) + _gl_unregister_fd (fd); +#endif + return retval; +} diff --git a/gnu/closeout.c b/gnu/closeout.c index 8a105d5a..d7e30602 100644 --- a/gnu/closeout.c +++ b/gnu/closeout.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Close standard output and standard error, exiting with a diagnostic on error. - Copyright (C) 1998-2002, 2004, 2006, 2008-2011 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -102,7 +102,7 @@ close_stdout_set_ignore_EPIPE (bool ignore) can bypass the removal of these files. It's important to detect such failures and exit nonzero because many - tools (most notably `make' and other build-management systems) depend + tools (most notably 'make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ void diff --git a/gnu/closeout.h b/gnu/closeout.h index e90b1a28..a7bc618e 100644 --- a/gnu/closeout.h +++ b/gnu/closeout.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Close standard output and standard error. - Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2011 Free Software + Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/config.charset b/gnu/config.charset index 93b5a5d6..a991419c 100644 --- a/gnu/config.charset +++ b/gnu/config.charset @@ -1,7 +1,7 @@ #! /bin/sh # Output a system dependent table of character encoding aliases. # -# Copyright (C) 2000-2004, 2006-2011 Free Software Foundation, Inc. +# Copyright (C) 2000-2004, 2006-2013 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 @@ -14,8 +14,7 @@ # 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. +# with this program; if not, see . # # The table consists of lines of the form # ALIAS CANONICAL @@ -30,6 +29,8 @@ # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems +# (darwin = Mac OS X, woe32 = native Windows) +# # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin diff --git a/gnu/copy-acl.c b/gnu/copy-acl.c new file mode 100644 index 00000000..f60d5840 --- /dev/null +++ b/gnu/copy-acl.c @@ -0,0 +1,63 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* copy-acl.c - copy access control list from one file to another file + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +#include + +#include "acl.h" + +#include + +#include "quote.h" +#include "error.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) + + +/* Copy access control lists from one file to another. If SOURCE_DESC is + a valid file descriptor, use file descriptor operations, else use + filename based operations on SRC_NAME. Likewise for DEST_DESC and + DST_NAME. + If access control lists are not available, fchmod the target file to + MODE. Also sets the non-permission bits of the destination file + (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set. + Return 0 if successful, otherwise output a diagnostic and return a + negative error code. */ + +int +copy_acl (const char *src_name, int source_desc, const char *dst_name, + int dest_desc, mode_t mode) +{ + int ret = qcopy_acl (src_name, source_desc, dst_name, dest_desc, mode); + switch (ret) + { + case -2: + error (0, errno, "%s", quote (src_name)); + break; + + case -1: + error (0, errno, _("preserving permissions for %s"), quote (dst_name)); + break; + + default: + break; + } + return ret; +} diff --git a/gnu/dirent--.h b/gnu/dirent--.h index f120077c..897afc01 100644 --- a/gnu/dirent--.h +++ b/gnu/dirent--.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like dirent.h, but redefine some names to avoid glitches. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/dirent-private.h b/gnu/dirent-private.h new file mode 100644 index 00000000..7fdeb357 --- /dev/null +++ b/gnu/dirent-private.h @@ -0,0 +1,42 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Private details of the DIR type. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _DIRENT_PRIVATE_H +#define _DIRENT_PRIVATE_H 1 + +#define WIN32_LEAN_AND_MEAN +#include + +struct gl_directory +{ + /* Status, or error code to produce in next readdir() call. + -2 means the end of the directory is already reached, + -1 means the entry was already filled by FindFirstFile, + 0 means the entry needs to be filled using FindNextFile. + A positive value is an error code. */ + int status; + /* Handle, reading the directory, at current position. */ + HANDLE current; + /* Found directory entry. */ + WIN32_FIND_DATA entry; + /* Argument to pass to FindFirstFile. It consists of the absolutized + directory name, followed by a directory separator and the wildcards. */ + char dir_name_mask[1]; +}; + +#endif /* _DIRENT_PRIVATE_H */ diff --git a/gnu/dirent-safer.h b/gnu/dirent-safer.h index 4627a86b..9a8b6cee 100644 --- a/gnu/dirent-safer.h +++ b/gnu/dirent-safer.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke dirent-like functions, but avoid some glitches. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/dirent.in.h b/gnu/dirent.in.h index 691db924..33c64989 100644 --- a/gnu/dirent.in.h +++ b/gnu/dirent.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2006-2013 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 @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef _GL_DIRENT_H +#ifndef _@GUARD_PREFIX@_DIRENT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -24,14 +24,47 @@ @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_DIRENT_H@ +#if @HAVE_DIRENT_H@ +# @INCLUDE_NEXT@ @NEXT_DIRENT_H@ +#endif -#ifndef _GL_DIRENT_H -#define _GL_DIRENT_H +#ifndef _@GUARD_PREFIX@_DIRENT_H +#define _@GUARD_PREFIX@_DIRENT_H /* Get ino_t. Needed on some systems, including glibc 2.8. */ #include +#if !@HAVE_DIRENT_H@ +/* Define types DIR and 'struct dirent'. */ +# if !GNULIB_defined_struct_dirent +struct dirent +{ + char d_type; + char d_name[1]; +}; +/* Possible values for 'd_type'. */ +# define DT_UNKNOWN 0 +# define DT_FIFO 1 /* FIFO */ +# define DT_CHR 2 /* character device */ +# define DT_DIR 4 /* directory */ +# define DT_BLK 6 /* block device */ +# define DT_REG 8 /* regular file */ +# define DT_LNK 10 /* symbolic link */ +# define DT_SOCK 12 /* socket */ +# define DT_WHT 14 /* whiteout */ +typedef struct gl_directory DIR; +# define GNULIB_defined_struct_dirent 1 +# endif +#endif + +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -41,16 +74,79 @@ /* Declare overridden functions. */ -#if @REPLACE_CLOSEDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define closedir rpl_closedir +#if @GNULIB_OPENDIR@ +# if @REPLACE_OPENDIR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef opendir +# define opendir rpl_opendir +# endif +_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name)); +# else +# if !@HAVE_OPENDIR@ +_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name)); +# endif +_GL_CXXALIASWARN (opendir); +#elif defined GNULIB_POSIXCHECK +# undef opendir +# if HAVE_RAW_DECL_OPENDIR +_GL_WARN_ON_USE (opendir, "opendir is not portable - " + "use gnulib module opendir for portability"); +# endif +#endif + +#if @GNULIB_READDIR@ +# if !@HAVE_READDIR@ +_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp)); +_GL_CXXALIASWARN (readdir); +#elif defined GNULIB_POSIXCHECK +# undef readdir +# if HAVE_RAW_DECL_READDIR +_GL_WARN_ON_USE (readdir, "readdir is not portable - " + "use gnulib module readdir for portability"); # endif -_GL_FUNCDECL_RPL (closedir, int, (DIR *) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (closedir, int, (DIR *)); -#else -_GL_CXXALIAS_SYS (closedir, int, (DIR *)); #endif + +#if @GNULIB_REWINDDIR@ +# if !@HAVE_REWINDDIR@ +_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp)); +_GL_CXXALIASWARN (rewinddir); +#elif defined GNULIB_POSIXCHECK +# undef rewinddir +# if HAVE_RAW_DECL_REWINDDIR +_GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - " + "use gnulib module rewinddir for portability"); +# endif +#endif + +#if @GNULIB_CLOSEDIR@ +# if @REPLACE_CLOSEDIR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef closedir +# define closedir rpl_closedir +# endif +_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); +# else +# if !@HAVE_CLOSEDIR@ +_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); +# endif _GL_CXXALIASWARN (closedir); +#elif defined GNULIB_POSIXCHECK +# undef closedir +# if HAVE_RAW_DECL_CLOSEDIR +_GL_WARN_ON_USE (closedir, "closedir is not portable - " + "use gnulib module closedir for portability"); +# endif +#endif #if @GNULIB_DIRFD@ /* Return the file descriptor associated with the given directory stream, @@ -111,17 +207,6 @@ _GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - " # endif #endif -#if @REPLACE_OPENDIR@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define opendir rpl_opendir -# endif -_GL_FUNCDECL_RPL (opendir, DIR *, (const char *) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (opendir, DIR *, (const char *)); -#else -_GL_CXXALIAS_SYS (opendir, DIR *, (const char *)); -#endif -_GL_CXXALIASWARN (opendir); - #if @GNULIB_SCANDIR@ /* Scan the directory DIR, calling FILTER on each directory entry. Entries for which FILTER returns nonzero are individually malloc'd, @@ -154,6 +239,7 @@ _GL_WARN_ON_USE (scandir, "scandir is unportable - " # if !@HAVE_ALPHASORT@ _GL_FUNCDECL_SYS (alphasort, int, (const struct dirent **, const struct dirent **) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif /* Need to cast, because on glibc systems, the parameters are @@ -170,5 +256,5 @@ _GL_WARN_ON_USE (alphasort, "alphasort is unportable - " #endif -#endif /* _GL_DIRENT_H */ -#endif /* _GL_DIRENT_H */ +#endif /* _@GUARD_PREFIX@_DIRENT_H */ +#endif /* _@GUARD_PREFIX@_DIRENT_H */ diff --git a/gnu/dirfd.c b/gnu/dirfd.c index 99dea729..f496be68 100644 --- a/gnu/dirfd.c +++ b/gnu/dirfd.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* dirfd.c -- return the file descriptor associated with an open DIR* - Copyright (C) 2001, 2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2008-2013 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 diff --git a/gnu/dirname-lgpl.c b/gnu/dirname-lgpl.c index 8ddec81b..e3a45ecd 100644 --- a/gnu/dirname-lgpl.c +++ b/gnu/dirname-lgpl.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2011 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -27,7 +27,7 @@ /* Return the length of the prefix of FILE that will be used by dir_name. If FILE is in the working directory, this returns zero - even though `dir_name (FILE)' will return ".". Works properly even + even though 'dir_name (FILE)' will return ".". Works properly even if there are trailing slashes (by effectively ignoring them). */ size_t @@ -55,9 +55,9 @@ dir_len (char const *file) } -/* In general, we can't use the builtin `dirname' function if available, +/* In general, we can't use the builtin 'dirname' function if available, since it has different meanings in different environments. - In some environments the builtin `dirname' modifies its argument. + In some environments the builtin 'dirname' modifies its argument. Return the leading directories part of FILE, allocated with malloc. Works properly even if there are trailing slashes (by effectively diff --git a/gnu/dirname.c b/gnu/dirname.c index d4e43b80..b7e18468 100644 --- a/gnu/dirname.c +++ b/gnu/dirname.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* dirname.c -- return all but the last element in a file name - Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2011 Free Software + Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/dirname.h b/gnu/dirname.h index c9a02b31..7864dc39 100644 --- a/gnu/dirname.h +++ b/gnu/dirname.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Take file names apart into directory and base names. - Copyright (C) 1998, 2001, 2003-2006, 2009-2011 Free Software Foundation, + Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -39,9 +39,9 @@ char *dir_name (char const *file); # endif char *mdir_name (char const *file); -size_t base_len (char const *file); -size_t dir_len (char const *file); -char *last_component (char const *file); +size_t base_len (char const *file) _GL_ATTRIBUTE_PURE; +size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; +char *last_component (char const *file) _GL_ATTRIBUTE_PURE; bool strip_trailing_slashes (char *file); diff --git a/gnu/dosname.h b/gnu/dosname.h index d7285989..5cea7498 100644 --- a/gnu/dosname.h +++ b/gnu/dosname.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* File names on MS-DOS/Windows systems. - Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2000-2001, 2004-2006, 2009-2013 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 diff --git a/gnu/dup-safer.c b/gnu/dup-safer.c index 3b336f46..64cbd7e0 100644 --- a/gnu/dup-safer.c +++ b/gnu/dup-safer.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke dup, but avoid some glitches. - Copyright (C) 2001, 2004-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2004-2006, 2009-2013 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 diff --git a/gnu/dup.c b/gnu/dup.c new file mode 100644 index 00000000..0d15169f --- /dev/null +++ b/gnu/dup.c @@ -0,0 +1,63 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Duplicate an open file descriptor. + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include + +#include "msvc-inval.h" + +#undef dup + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +dup_nothrow (int fd) +{ + int result; + + TRY_MSVC_INVAL + { + result = dup (fd); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define dup_nothrow dup +#endif + +int +rpl_dup (int fd) +{ + int result = dup_nothrow (fd); +#if REPLACE_FCHDIR + if (result >= 0) + result = _gl_register_dup (fd, result); +#endif + return result; +} diff --git a/gnu/dup2.c b/gnu/dup2.c index 4d26dd0f..172f24e7 100644 --- a/gnu/dup2.c +++ b/gnu/dup2.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate an open file descriptor to a specified file descriptor. - Copyright (C) 1999, 2004-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2004-2007, 2009-2013 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 @@ -27,21 +27,26 @@ #include #include -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Get declarations of the Win32 API functions. */ -# define WIN32_LEAN_AND_MEAN -# include -#endif - #if HAVE_DUP2 # undef dup2 -int -rpl_dup2 (int fd, int desired_fd) +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +/* Get declarations of the native Windows API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +# include "msvc-inval.h" + +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" + +static int +ms_windows_dup2 (int fd, int desired_fd) { int result; -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open, dup2 (fd, fd) returns 0, but all further attempts to use fd in future dup2 calls will hang. */ @@ -54,6 +59,7 @@ rpl_dup2 (int fd, int desired_fd) } return fd; } + /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: http://bugs.winehq.org/show_bug.cgi?id=21289 */ if (desired_fd < 0) @@ -61,26 +67,48 @@ rpl_dup2 (int fd, int desired_fd) errno = EBADF; return -1; } -# elif !defined __linux__ - /* On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ - if (fd == desired_fd) - return fcntl (fd, F_GETFL) == -1 ? -1 : fd; -# endif - result = dup2 (fd, desired_fd); -# ifdef __linux__ - /* Correct a Linux return value. - - */ - if (fd == desired_fd && result == (unsigned int) -EBADF) + + TRY_MSVC_INVAL + { + result = dup2 (fd, desired_fd); + } + CATCH_MSVC_INVAL { errno = EBADF; result = -1; } -# endif + DONE_MSVC_INVAL; + if (result == 0) result = desired_fd; - /* Correct a cygwin 1.5.x errno value. */ - else if (result == -1 && errno == EMFILE) + + return result; +} + +# define dup2 ms_windows_dup2 + +# endif + +int +rpl_dup2 (int fd, int desired_fd) +{ + int result; + +# ifdef F_GETFL + /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF. + On Cygwin 1.5.x, dup2 (1, 1) returns 0. + On Cygwin 1.7.17, dup2 (1, -1) dumps core. + On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ + if (desired_fd < 0) + fd = desired_fd; + if (fd == desired_fd) + return fcntl (fd, F_GETFL) == -1 ? -1 : fd; +# endif + + result = dup2 (fd, desired_fd); + + /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x. */ + if (result == -1 && errno == EMFILE) errno = EBADF; # if REPLACE_FCHDIR if (fd != desired_fd && result != -1) diff --git a/gnu/errno.in.h b/gnu/errno.in.h index 8ceed3a1..cbc47335 100644 --- a/gnu/errno.in.h +++ b/gnu/errno.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A POSIX-like . - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,10 +15,9 @@ 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. */ + along with this program; if not, see . */ -#ifndef _GL_ERRNO_H +#ifndef _@GUARD_PREFIX@_ERRNO_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -28,57 +27,125 @@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_ERRNO_H@ -#ifndef _GL_ERRNO_H -#define _GL_ERRNO_H +#ifndef _@GUARD_PREFIX@_ERRNO_H +#define _@GUARD_PREFIX@_ERRNO_H /* On native Windows platforms, many macros are not defined. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */ -# define EWOULDBLOCK EAGAIN - -/* Values >= 100 seem safe to use. */ -# define ETXTBSY 100 -# define GNULIB_defined_ETXTBSY 1 +/* These are the same values as defined by MSVC 10, for interoperability. */ + +# ifndef ENOMSG +# define ENOMSG 122 +# define GNULIB_defined_ENOMSG 1 +# endif + +# ifndef EIDRM +# define EIDRM 111 +# define GNULIB_defined_EIDRM 1 +# endif + +# ifndef ENOLINK +# define ENOLINK 121 +# define GNULIB_defined_ENOLINK 1 +# endif + +# ifndef EPROTO +# define EPROTO 134 +# define GNULIB_defined_EPROTO 1 +# endif + +# ifndef EBADMSG +# define EBADMSG 104 +# define GNULIB_defined_EBADMSG 1 +# endif + +# ifndef EOVERFLOW +# define EOVERFLOW 132 +# define GNULIB_defined_EOVERFLOW 1 +# endif + +# ifndef ENOTSUP +# define ENOTSUP 129 +# define GNULIB_defined_ENOTSUP 1 +# endif + +# ifndef ENETRESET +# define ENETRESET 117 +# define GNULIB_defined_ENETRESET 1 +# endif + +# ifndef ECONNABORTED +# define ECONNABORTED 106 +# define GNULIB_defined_ECONNABORTED 1 +# endif + +# ifndef ECANCELED +# define ECANCELED 105 +# define GNULIB_defined_ECANCELED 1 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 133 +# define GNULIB_defined_EOWNERDEAD 1 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 127 +# define GNULIB_defined_ENOTRECOVERABLE 1 +# endif + +# ifndef EINPROGRESS +# define EINPROGRESS 112 +# define EALREADY 103 +# define ENOTSOCK 128 +# define EDESTADDRREQ 109 +# define EMSGSIZE 115 +# define EPROTOTYPE 136 +# define ENOPROTOOPT 123 +# define EPROTONOSUPPORT 135 +# define EOPNOTSUPP 130 +# define EAFNOSUPPORT 102 +# define EADDRINUSE 100 +# define EADDRNOTAVAIL 101 +# define ENETDOWN 116 +# define ENETUNREACH 118 +# define ECONNRESET 108 +# define ENOBUFS 119 +# define EISCONN 113 +# define ENOTCONN 126 +# define ETIMEDOUT 138 +# define ECONNREFUSED 107 +# define ELOOP 114 +# define EHOSTUNREACH 110 +# define EWOULDBLOCK 140 +# define GNULIB_defined_ESOCK 1 +# endif + +# ifndef ETXTBSY +# define ETXTBSY 139 +# define ENODATA 120 /* not required by POSIX */ +# define ENOSR 124 /* not required by POSIX */ +# define ENOSTR 125 /* not required by POSIX */ +# define ETIME 137 /* not required by POSIX */ +# define EOTHER 131 /* not required by POSIX */ +# define GNULIB_defined_ESTREAMS 1 +# endif /* These are intentionally the same values as the WSA* error numbers, defined in . */ -# define EINPROGRESS 10036 -# define EALREADY 10037 -# define ENOTSOCK 10038 -# define EDESTADDRREQ 10039 -# define EMSGSIZE 10040 -# define EPROTOTYPE 10041 -# define ENOPROTOOPT 10042 -# define EPROTONOSUPPORT 10043 # define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ -# define EOPNOTSUPP 10045 # define EPFNOSUPPORT 10046 /* not required by POSIX */ -# define EAFNOSUPPORT 10047 -# define EADDRINUSE 10048 -# define EADDRNOTAVAIL 10049 -# define ENETDOWN 10050 -# define ENETUNREACH 10051 -# define ENETRESET 10052 -# define ECONNABORTED 10053 -# define ECONNRESET 10054 -# define ENOBUFS 10055 -# define EISCONN 10056 -# define ENOTCONN 10057 # define ESHUTDOWN 10058 /* not required by POSIX */ # define ETOOMANYREFS 10059 /* not required by POSIX */ -# define ETIMEDOUT 10060 -# define ECONNREFUSED 10061 -# define ELOOP 10062 # define EHOSTDOWN 10064 /* not required by POSIX */ -# define EHOSTUNREACH 10065 # define EPROCLIM 10067 /* not required by POSIX */ # define EUSERS 10068 /* not required by POSIX */ # define EDQUOT 10069 # define ESTALE 10070 # define EREMOTE 10071 /* not required by POSIX */ -# define GNULIB_defined_ESOCK 1 +# define GNULIB_defined_EWINSOCK 1 # endif @@ -149,6 +216,16 @@ # define GNULIB_defined_ENOTSUP 1 # endif +# ifndef ENETRESET +# define ENETRESET 2011 +# define GNULIB_defined_ENETRESET 1 +# endif + +# ifndef ECONNABORTED +# define ECONNABORTED 2012 +# define GNULIB_defined_ECONNABORTED 1 +# endif + # ifndef ESTALE # define ESTALE 2009 # define GNULIB_defined_ESTALE 1 @@ -164,6 +241,41 @@ # define GNULIB_defined_ECANCELED 1 # endif +/* On many platforms, the macros EOWNERDEAD and ENOTRECOVERABLE are not + defined. */ + +# ifndef EOWNERDEAD +# if defined __sun + /* Use the same values as defined for Solaris >= 8, for + interoperability. */ +# define EOWNERDEAD 58 +# define ENOTRECOVERABLE 59 +# elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + /* We have a conflict here: pthreads-win32 defines these values + differently than MSVC 10. It's hairy to decide which one to use. */ +# if defined __MINGW32__ && !defined USE_WINDOWS_THREADS + /* Use the same values as defined by pthreads-win32, for + interoperability. */ +# define EOWNERDEAD 43 +# define ENOTRECOVERABLE 44 +# else + /* Use the same values as defined by MSVC 10, for + interoperability. */ +# define EOWNERDEAD 133 +# define ENOTRECOVERABLE 127 +# endif +# else +# define EOWNERDEAD 2013 +# define ENOTRECOVERABLE 2014 +# endif +# define GNULIB_defined_EOWNERDEAD 1 +# define GNULIB_defined_ENOTRECOVERABLE 1 +# endif + +# ifndef EILSEQ +# define EILSEQ 2015 +# define GNULIB_defined_EILSEQ 1 +# endif -#endif /* _GL_ERRNO_H */ -#endif /* _GL_ERRNO_H */ +#endif /* _@GUARD_PREFIX@_ERRNO_H */ +#endif /* _@GUARD_PREFIX@_ERRNO_H */ diff --git a/gnu/error.c b/gnu/error.c index 120fc842..ae52a20a 100644 --- a/gnu/error.c +++ b/gnu/error.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1990-1998, 2000-2007, 2009-2013 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 @@ -56,7 +56,7 @@ function without parameters instead. */ void (*error_print_progname) (void); -/* This variable is incremented each time `error' is called. */ +/* This variable is incremented each time 'error' is called. */ unsigned int error_message_count; #ifdef _LIBC @@ -67,7 +67,7 @@ unsigned int error_message_count; # include # include -/* In GNU libc we want do not want to use the common name `error' directly. +/* In GNU libc we want do not want to use the common name 'error' directly. Instead make it a weak alias. */ extern void __error (int status, int errnum, const char *message, ...) __attribute__ ((__format__ (__printf__, 3, 4))); @@ -91,19 +91,25 @@ extern void __error_at_line (int status, int errnum, const char *file_name, # include # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Get declarations of the Win32 API functions. */ +/* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" # endif /* The gnulib override of fcntl is not needed in this file. */ # undef fcntl -# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P +# if !HAVE_DECL_STRERROR_R # ifndef HAVE_DECL_STRERROR_R "this configure-time declaration test was not run" # endif +# if STRERROR_R_CHAR_P char *strerror_r (); +# else +int strerror_r (); +# endif # endif /* The calling program should define program_name and set it to the @@ -117,13 +123,14 @@ extern char *program_name; #if !_LIBC /* Return non-zero if FD is open. */ -static inline int +static int is_open (int fd) { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* On Win32: The initial state of unassigned standard file descriptors is - that they are open but point to an INVALID_HANDLE_VALUE. There is no - fcntl, and the gnulib replacement fcntl does not support F_GETFL. */ + /* On native Windows: The initial state of unassigned standard file + descriptors is that they are open but point to an INVALID_HANDLE_VALUE. + There is no fcntl, and the gnulib replacement fcntl does not support + F_GETFL. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; # else # ifndef F_GETFL @@ -134,7 +141,7 @@ is_open (int fd) } #endif -static inline void +static void flush_stdout (void) { #if !_LIBC diff --git a/gnu/error.h b/gnu/error.h index 7622874d..28cc8ff0 100644 --- a/gnu/error.h +++ b/gnu/error.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declaration for error-reporting function - Copyright (C) 1995-1997, 2003, 2006, 2008-2011 Free Software Foundation, + Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -37,9 +37,9 @@ extern "C" { #endif -/* Print a message with `fprintf (stderr, FORMAT, ...)'; +/* Print a message with 'fprintf (stderr, FORMAT, ...)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). - If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ + If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4)); @@ -53,7 +53,7 @@ extern void error_at_line (int __status, int __errnum, const char *__fname, function without parameters instead. */ extern void (*error_print_progname) (void); -/* This variable is incremented each time `error' is called. */ +/* This variable is incremented each time 'error' is called. */ extern unsigned int error_message_count; /* Sometimes we want to have at most one error per line. This diff --git a/gnu/exclude.c b/gnu/exclude.c index 32334f16..ce16599e 100644 --- a/gnu/exclude.c +++ b/gnu/exclude.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* exclude.c -- exclude file names - Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2011 Free Software + Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -106,53 +106,46 @@ struct exclude_segment } v; }; -/* The exclude structure keeps a singly-linked list of exclude segments */ +/* The exclude structure keeps a singly-linked list of exclude segments, + maintained in reverse order. */ struct exclude { - struct exclude_segment *head, *tail; + struct exclude_segment *head; }; -/* Return true if str has wildcard characters */ +/* Return true if STR has or may have wildcards, when matched with OPTIONS. + Return false if STR definitely does not have wildcards. */ bool fnmatch_pattern_has_wildcards (const char *str, int options) { - const char *cset = "\\?*[]"; - if (options & FNM_NOESCAPE) - cset++; - while (*str) + while (1) { - size_t n = strcspn (str, cset); - if (str[n] == 0) - break; - else if (str[n] == '\\') + switch (*str++) { - str += n + 1; - if (*str) - str++; + case '\\': + str += ! (options & FNM_NOESCAPE) && *str; + break; + + case '+': case '@': case '!': + if (options & FNM_EXTMATCH && *str == '(') + return true; + break; + + case '?': case '*': case '[': + return true; + + case '\0': + return false; } - else - return true; } - return false; } static void unescape_pattern (char *str) { - int inset = 0; - char *q = str; + char const *q = str; do - { - if (inset) - { - if (*q == ']') - inset = 0; - } - else if (*q == '[') - inset = 1; - else if (*q == '\\') - q++; - } + q += *q == '\\' && q[1]; while ((*str++ = *q++)); } @@ -221,8 +214,8 @@ string_free (void *data) } /* Create new exclude segment of given TYPE and OPTIONS, and attach it - to the tail of list in EX */ -static struct exclude_segment * + to the head of EX. */ +static void new_exclude_segment (struct exclude *ex, enum exclude_type type, int options) { struct exclude_segment *sp = xzalloc (sizeof (struct exclude_segment)); @@ -244,12 +237,8 @@ new_exclude_segment (struct exclude *ex, enum exclude_type type, int options) string_free); break; } - if (ex->tail) - ex->tail->next = sp; - else - ex->head = sp; - ex->tail = sp; - return sp; + sp->next = ex->head; + ex->head = sp; } /* Free a single exclude segment */ @@ -349,36 +338,33 @@ exclude_fnmatch (char const *pattern, char const *f, int options) return matched; } -/* Return true if the exclude_pattern segment SEG excludes F. */ +/* Return true if the exclude_pattern segment SEG matches F. */ static bool -excluded_file_pattern_p (struct exclude_segment const *seg, char const *f) +file_pattern_matches (struct exclude_segment const *seg, char const *f) { size_t exclude_count = seg->v.pat.exclude_count; struct patopts const *exclude = seg->v.pat.exclude; size_t i; - bool excluded = !! (exclude[0].options & EXCLUDE_INCLUDE); - /* Scan through the options, until they change excluded */ for (i = 0; i < exclude_count; i++) { char const *pattern = exclude[i].pattern; int options = exclude[i].options; if (exclude_fnmatch (pattern, f, options)) - return !excluded; + return true; } - return excluded; + return false; } -/* Return true if the exclude_hash segment SEG excludes F. +/* Return true if the exclude_hash segment SEG matches F. BUFFER is an auxiliary storage of the same length as F (with nul terminator included) */ static bool -excluded_file_name_p (struct exclude_segment const *seg, char const *f, - char *buffer) +file_name_matches (struct exclude_segment const *seg, char const *f, + char *buffer) { int options = seg->options; - bool excluded = !! (options & EXCLUDE_INCLUDE); Hash_table *table = seg->v.table; do @@ -389,7 +375,7 @@ excluded_file_name_p (struct exclude_segment const *seg, char const *f, while (1) { if (hash_lookup (table, buffer)) - return !excluded; + return true; if (options & FNM_LEADING_DIR) { char *p = strrchr (buffer, '/'); @@ -412,7 +398,8 @@ excluded_file_name_p (struct exclude_segment const *seg, char const *f, break; } while (f); - return excluded; + + return false; } /* Return true if EX excludes F. */ @@ -421,44 +408,46 @@ bool excluded_file_name (struct exclude const *ex, char const *f) { struct exclude_segment *seg; - bool excluded; + bool invert = false; char *filename = NULL; /* If no patterns are given, the default is to include. */ if (!ex->head) return false; - /* Otherwise, the default is the opposite of the first option. */ - excluded = !! (ex->head->options & EXCLUDE_INCLUDE); - /* Scan through the segments, seeing whether they change status from - excluded to included or vice versa. */ - for (seg = ex->head; seg; seg = seg->next) + /* Scan through the segments, reporting the status of the first match. + The segments are in reverse order, so this reports the status of + the last match in the original option list. */ + for (seg = ex->head; ; seg = seg->next) { - bool rc; - - switch (seg->type) + if (seg->type == exclude_hash) { - case exclude_pattern: - rc = excluded_file_pattern_p (seg, f); - break; - - case exclude_hash: if (!filename) filename = xmalloc (strlen (f) + 1); - rc = excluded_file_name_p (seg, f, filename); - break; - - default: - abort (); + if (file_name_matches (seg, f, filename)) + break; } - if (rc != excluded) + else + { + if (file_pattern_matches (seg, f)) + break; + } + + if (! seg->next) { - excluded = rc; + /* If patterns are given but none match, the default is the + opposite of the last segment (i.e., the first in the + original option list). For example, in the command + 'grep -r --exclude="a*" --include="*b" pat dir', the + first option is --exclude so any file name matching + neither a* nor *b is included. */ + invert = true; break; } } + free (filename); - return excluded; + return invert ^ ! (seg->options & EXCLUDE_INCLUDE); } /* Append to EX the exclusion PATTERN with OPTIONS. */ @@ -474,12 +463,11 @@ add_exclude (struct exclude *ex, char const *pattern, int options) struct exclude_pattern *pat; struct patopts *patopts; - if (ex->tail && ex->tail->type == exclude_pattern - && ((ex->tail->options & EXCLUDE_INCLUDE) == - (options & EXCLUDE_INCLUDE))) - seg = ex->tail; - else - seg = new_exclude_segment (ex, exclude_pattern, options); + if (! (ex->head && ex->head->type == exclude_pattern + && ((ex->head->options & EXCLUDE_INCLUDE) + == (options & EXCLUDE_INCLUDE)))) + new_exclude_segment (ex, exclude_pattern, options); + seg = ex->head; pat = &seg->v.pat; if (pat->exclude_count == pat->exclude_alloc) @@ -492,17 +480,16 @@ add_exclude (struct exclude *ex, char const *pattern, int options) else { char *str, *p; -#define EXCLUDE_HASH_FLAGS (EXCLUDE_INCLUDE|EXCLUDE_ANCHORED|\ - FNM_LEADING_DIR|FNM_CASEFOLD) - if (ex->tail && ex->tail->type == exclude_hash - && ((ex->tail->options & EXCLUDE_HASH_FLAGS) == - (options & EXCLUDE_HASH_FLAGS))) - seg = ex->tail; - else - seg = new_exclude_segment (ex, exclude_hash, options); + int exclude_hash_flags = (EXCLUDE_INCLUDE | EXCLUDE_ANCHORED + | FNM_LEADING_DIR | FNM_CASEFOLD); + if (! (ex->head && ex->head->type == exclude_hash + && ((ex->head->options & exclude_hash_flags) + == (options & exclude_hash_flags)))) + new_exclude_segment (ex, exclude_hash, options); + seg = ex->head; str = xstrdup (pattern); - if (options & EXCLUDE_WILDCARDS) + if ((options & (EXCLUDE_WILDCARDS | FNM_NOESCAPE)) == EXCLUDE_WILDCARDS) unescape_pattern (str); p = hash_insert (seg->v.table, str); if (p != str) diff --git a/gnu/exclude.h b/gnu/exclude.h index 81f2fd1b..74a798e9 100644 --- a/gnu/exclude.h +++ b/gnu/exclude.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* exclude.h -- declarations for excluding file names - Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2011 Free + Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -41,7 +41,7 @@ struct exclude; -bool fnmatch_pattern_has_wildcards (const char *, int); +bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE; struct exclude *new_exclude (void); void free_exclude (struct exclude *); diff --git a/gnu/exitfail.c b/gnu/exitfail.c index 19f90664..164a948d 100644 --- a/gnu/exitfail.c +++ b/gnu/exitfail.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Failure exit status - Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2005-2007, 2009-2013 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 diff --git a/gnu/exitfail.h b/gnu/exitfail.h index a044d445..f2e26607 100644 --- a/gnu/exitfail.h +++ b/gnu/exitfail.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Failure exit status - Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2013 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 diff --git a/gnu/fchdir.c b/gnu/fchdir.c index d97dc380..193f2f78 100644 --- a/gnu/fchdir.c +++ b/gnu/fchdir.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fchdir replacement. - Copyright (C) 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,19 +31,13 @@ #include #include +#include "dosname.h" +#include "filenamecat.h" + #ifndef REPLACE_OPEN_DIRECTORY # define REPLACE_OPEN_DIRECTORY 0 #endif -#ifndef HAVE_CANONICALIZE_FILE_NAME -# if GNULIB_CANONICALIZE || GNULIB_CANONICALIZE_LGPL -# define HAVE_CANONICALIZE_FILE_NAME 1 -# else -# define HAVE_CANONICALIZE_FILE_NAME 0 -# define canonicalize_file_name(name) NULL -# endif -#endif - /* This replacement assumes that a directory is not renamed while opened through a file descriptor. @@ -92,36 +86,26 @@ ensure_dirs_slot (size_t fd) return true; } -/* Return the canonical name of DIR in malloc'd storage. */ +/* Return an absolute name of DIR in malloc'd storage. */ static char * get_name (char const *dir) { + char *cwd; char *result; - if (REPLACE_OPEN_DIRECTORY || !HAVE_CANONICALIZE_FILE_NAME) - { - /* The function canonicalize_file_name has not yet been ported - to mingw, with all its drive letter and backslash quirks. - Fortunately, getcwd is reliable in this case, but we ensure - we can get back to where we started before using it. Treat - "." as a special case, as it is frequently encountered. */ - char *cwd = getcwd (NULL, 0); - int saved_errno; - if (dir[0] == '.' && dir[1] == '\0') - return cwd; - if (chdir (cwd)) - return NULL; - result = chdir (dir) ? NULL : getcwd (NULL, 0); - saved_errno = errno; - if (chdir (cwd)) - abort (); - free (cwd); - errno = saved_errno; - } - else - { - /* Avoid changing the directory. */ - result = canonicalize_file_name (dir); - } + int saved_errno; + + if (IS_ABSOLUTE_FILE_NAME (dir)) + return strdup (dir); + + /* We often encounter "."; treat it as a special case. */ + cwd = getcwd (NULL, 0); + if (!cwd || (dir[0] == '.' && dir[1] == '\0')) + return cwd; + + result = mfile_name_concat (cwd, dir, NULL); + saved_errno = errno; + free (cwd); + errno = saved_errno; return result; } @@ -215,69 +199,6 @@ _gl_directory_name (int fd) return NULL; } -#if REPLACE_OPEN_DIRECTORY -/* Return stat information about FD in STATBUF. Needed when - rpl_open() used a dummy file to work around an open() that can't - normally visit directories. */ -# undef fstat -int -rpl_fstat (int fd, struct stat *statbuf) -{ - if (0 <= fd && fd < dirs_allocated && dirs[fd].name != NULL) - return stat (dirs[fd].name, statbuf); - return fstat (fd, statbuf); -} -#endif - -/* Override opendir() and closedir(), to keep track of the open file - descriptors. Needed because there is a function dirfd(). */ - -int -rpl_closedir (DIR *dp) -#undef closedir -{ - int fd = dirfd (dp); - int retval = closedir (dp); - - if (retval >= 0) - _gl_unregister_fd (fd); - return retval; -} - -DIR * -rpl_opendir (const char *filename) -#undef opendir -{ - DIR *dp; - - dp = opendir (filename); - if (dp != NULL) - { - int fd = dirfd (dp); - if (0 <= fd && _gl_register_fd (fd, filename) != fd) - { - int saved_errno = errno; - closedir (dp); - errno = saved_errno; - return NULL; - } - } - return dp; -} - -/* Override dup(), to keep track of open file descriptors. */ - -int -rpl_dup (int oldfd) -#undef dup -{ - int newfd = dup (oldfd); - - if (0 <= newfd) - newfd = _gl_register_dup (oldfd, newfd); - return newfd; -} - /* Implement fchdir() in terms of chdir(). */ diff --git a/gnu/fchmodat.c b/gnu/fchmodat.c index 14bca0d6..d9a9250c 100644 --- a/gnu/fchmodat.c +++ b/gnu/fchmodat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Change the protections of file relative to an open directory. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2013 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 diff --git a/gnu/fchown-stub.c b/gnu/fchown-stub.c index 1611b1d9..b4650031 100644 --- a/gnu/fchown-stub.c +++ b/gnu/fchown-stub.c @@ -5,9 +5,9 @@ #include #include -/* A trivial substitute for `fchown'. +/* A trivial substitute for 'fchown'. - DJGPP 2.03 and earlier (and perhaps later) don't have `fchown', + DJGPP 2.03 and earlier (and perhaps later) don't have 'fchown', so we pretend no-one has permission for this operation. */ int diff --git a/gnu/fchownat.c b/gnu/fchownat.c index 6892fd03..34dd509b 100644 --- a/gnu/fchownat.c +++ b/gnu/fchownat.c @@ -6,7 +6,7 @@ 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, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2013 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 diff --git a/gnu/fcntl.c b/gnu/fcntl.c index febc2136..02f0ddba 100644 --- a/gnu/fcntl.c +++ b/gnu/fcntl.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide file descriptor control. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 @@ -35,10 +35,13 @@ #undef fcntl #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Get declarations of the Win32 API functions. */ +/* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" + /* Upper bound on getdtablesize(). See lib/getdtablesize.c. */ # define OPEN_MAX_MAX 0x10000 @@ -93,7 +96,7 @@ dupfd (int oldfd, int newfd, int flags) result = -1; break; } - duplicated_fd = _open_osfhandle ((long) new_handle, flags); + duplicated_fd = _open_osfhandle ((intptr_t) new_handle, flags); if (duplicated_fd < 0) { CloseHandle (new_handle); diff --git a/gnu/fcntl.in.h b/gnu/fcntl.in.h index c7d871bf..1b816335 100644 --- a/gnu/fcntl.in.h +++ b/gnu/fcntl.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like , but with non-working flags defined to 0. - Copyright (C) 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2006-2013 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 @@ -27,6 +27,8 @@ #if defined __need_system_fcntl_h /* Special invocation convention. */ +/* Needed before . + May also define off_t to a 64-bit type on native Windows. */ #include /* On some systems other than glibc, is a prerequisite of . On glibc systems, we would like to avoid namespace pollution. @@ -42,8 +44,10 @@ #else /* Normal invocation convention. */ -#ifndef _GL_FCNTL_H +#ifndef _@GUARD_PREFIX@_FCNTL_H +/* Needed before . + May also define off_t to a 64-bit type on native Windows. */ #include /* On some systems other than glibc, is a prerequisite of . On glibc systems, we would like to avoid namespace pollution. @@ -57,13 +61,19 @@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ -#ifndef _GL_FCNTL_H -#define _GL_FCNTL_H +#ifndef _@GUARD_PREFIX@_FCNTL_H +#define _@GUARD_PREFIX@_FCNTL_H #ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */ # include #endif +/* Native Windows platforms declare open(), creat() in . */ +#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ + && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +# include +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -179,13 +189,12 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " /* Fix up the O_* macros. */ #if !defined O_DIRECT && defined O_DIRECTIO -/* Tru64 spells it `O_DIRECTIO'. */ +/* Tru64 spells it 'O_DIRECTIO'. */ # define O_DIRECT O_DIRECTIO #endif #if !defined O_CLOEXEC && defined O_NOINHERIT -/* Mingw spells it `O_NOINHERIT'. Intentionally leave it - undefined if not available. */ +/* Mingw spells it 'O_NOINHERIT'. */ # define O_CLOEXEC O_NOINHERIT #endif @@ -209,6 +218,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_EXEC O_RDONLY /* This is often close enough in older systems. */ #endif +#ifndef O_IGNORE_CTTY +# define O_IGNORE_CTTY 0 +#endif + #ifndef O_NDELAY # define O_NDELAY 0 #endif @@ -221,6 +234,19 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_NONBLOCK O_NDELAY #endif +/* If the gnulib module 'nonblocking' is in use, guarantee a working non-zero + value of O_NONBLOCK. Otherwise, O_NONBLOCK is defined (above) to O_NDELAY + or to 0 as fallback. */ +#if @GNULIB_NONBLOCKING@ +# if O_NONBLOCK +# define GNULIB_defined_O_NONBLOCK 0 +# else +# define GNULIB_defined_O_NONBLOCK 1 +# undef O_NONBLOCK +# define O_NONBLOCK 0x40000000 +# endif +#endif + #ifndef O_NOCTTY # define O_NOCTTY 0 #endif @@ -229,10 +255,18 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_NOFOLLOW 0 #endif +#ifndef O_NOLINK +# define O_NOLINK 0 +#endif + #ifndef O_NOLINKS # define O_NOLINKS 0 #endif +#ifndef O_NOTRANS +# define O_NOTRANS 0 +#endif + #ifndef O_RSYNC # define O_RSYNC 0 #endif @@ -249,6 +283,11 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_TTY_INIT 0 #endif +#if ~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH) +# undef O_ACCMODE +# define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH) +#endif + /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in fcntl.h */ #if !defined O_BINARY && defined _O_BINARY @@ -305,6 +344,6 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " #endif -#endif /* _GL_FCNTL_H */ -#endif /* _GL_FCNTL_H */ +#endif /* _@GUARD_PREFIX@_FCNTL_H */ +#endif /* _@GUARD_PREFIX@_FCNTL_H */ #endif diff --git a/gnu/fd-hook.c b/gnu/fd-hook.c new file mode 100644 index 00000000..ac4423b2 --- /dev/null +++ b/gnu/fd-hook.c @@ -0,0 +1,118 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Hook for making making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2013 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "fd-hook.h" + +#include + +/* Currently, this entire code is only needed for the handling of sockets + on native Windows platforms. */ +#if WINDOWS_SOCKETS + +/* The first and last link in the doubly linked list. + Initially the list is empty. */ +static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL }; + +int +execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary, + int fd) +{ + if (remaining_list == &anchor) + /* End of list reached. */ + return primary (fd); + else + return remaining_list->private_close_fn (remaining_list->private_next, + primary, fd); +} + +int +execute_all_close_hooks (gl_close_fn primary, int fd) +{ + return execute_close_hooks (anchor.private_next, primary, fd); +} + +int +execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary, + int fd, int request, void *arg) +{ + if (remaining_list == &anchor) + /* End of list reached. */ + return primary (fd, request, arg); + else + return remaining_list->private_ioctl_fn (remaining_list->private_next, + primary, fd, request, arg); +} + +int +execute_all_ioctl_hooks (gl_ioctl_fn primary, + int fd, int request, void *arg) +{ + return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg); +} + +void +register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link) +{ + if (close_hook == NULL) + close_hook = execute_close_hooks; + if (ioctl_hook == NULL) + ioctl_hook = execute_ioctl_hooks; + + if (link->private_next == NULL && link->private_prev == NULL) + { + /* Add the link to the doubly linked list. */ + link->private_next = anchor.private_next; + link->private_prev = &anchor; + link->private_close_fn = close_hook; + link->private_ioctl_fn = ioctl_hook; + anchor.private_next->private_prev = link; + anchor.private_next = link; + } + else + { + /* The link is already in use. */ + if (link->private_close_fn != close_hook + || link->private_ioctl_fn != ioctl_hook) + abort (); + } +} + +void +unregister_fd_hook (struct fd_hook *link) +{ + struct fd_hook *next = link->private_next; + struct fd_hook *prev = link->private_prev; + + if (next != NULL && prev != NULL) + { + /* The link is in use. Remove it from the doubly linked list. */ + prev->private_next = next; + next->private_prev = prev; + /* Clear the link, to mark it unused. */ + link->private_next = NULL; + link->private_prev = NULL; + link->private_close_fn = NULL; + link->private_ioctl_fn = NULL; + } +} + +#endif diff --git a/gnu/fd-hook.h b/gnu/fd-hook.h new file mode 100644 index 00000000..5a9d77cd --- /dev/null +++ b/gnu/fd-hook.h @@ -0,0 +1,121 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Hook for making making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + +#ifndef FD_HOOK_H +#define FD_HOOK_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Currently, this entire code is only needed for the handling of sockets + on native Windows platforms. */ +#if WINDOWS_SOCKETS + + +/* Type of function that closes FD. */ +typedef int (*gl_close_fn) (int fd); + +/* Type of function that applies a control request to FD. */ +typedef int (*gl_ioctl_fn) (int fd, int request, void *arg); + +/* An element of the list of file descriptor hooks. + In CLOS (Common Lisp Object System) speak, it consists of an "around" + method for the close() function and an "around" method for the ioctl() + function. + The fields of this structure are considered private. */ +struct fd_hook +{ + /* Doubly linked list. */ + struct fd_hook *private_next; + struct fd_hook *private_prev; + /* Function that treats the types of FD that it knows about and calls + execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback. */ + int (*private_close_fn) (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + /* Function that treats the types of FD that it knows about and calls + execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a + fallback. */ + int (*private_ioctl_fn) (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); +}; + +/* This type of function closes FD, applying special knowledge for the FD + types it knows about, and calls + execute_close_hooks (REMAINING_LIST, PRIMARY, FD) + for the other FD types. + In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, + and PRIMARY is the "primary" method for close(). */ +typedef int (*close_hook_fn) (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + +/* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method. + Return 0 or -1, like close() would do. */ +extern int execute_close_hooks (const struct fd_hook *remaining_list, + gl_close_fn primary, + int fd); + +/* Execute all close hooks, with PRIMARY as "primary" method. + Return 0 or -1, like close() would do. */ +extern int execute_all_close_hooks (gl_close_fn primary, int fd); + +/* This type of function applies a control request to FD, applying special + knowledge for the FD types it knows about, and calls + execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) + for the other FD types. + In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, + and PRIMARY is the "primary" method for ioctl(). */ +typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method. + Return 0 or -1, like ioctl() would do. */ +extern int execute_ioctl_hooks (const struct fd_hook *remaining_list, + gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Execute all ioctl hooks, with PRIMARY as "primary" method. + Return 0 or -1, like ioctl() would do. */ +extern int execute_all_ioctl_hooks (gl_ioctl_fn primary, + int fd, int request, void *arg); + +/* Add a function pair to the list of file descriptor hooks. + CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change. + The LINK variable points to a piece of memory which is guaranteed to be + accessible until the corresponding call to unregister_fd_hook. */ +extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, + struct fd_hook *link); + +/* Removes a hook from the list of file descriptor hooks. */ +extern void unregister_fd_hook (struct fd_hook *link); + + +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* FD_HOOK_H */ diff --git a/gnu/fd-safer.c b/gnu/fd-safer.c index 20df8003..c6d1f50a 100644 --- a/gnu/fd-safer.c +++ b/gnu/fd-safer.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Return a safer copy of a file descriptor. - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 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 diff --git a/gnu/fdopendir.c b/gnu/fdopendir.c index 5c5ac67a..a2fe9882 100644 --- a/gnu/fdopendir.c +++ b/gnu/fdopendir.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a replacement fdopendir function - Copyright (C) 2004-2011 Free Software Foundation, Inc. + Copyright (C) 2004-2013 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 diff --git a/gnu/fdutimensat.c b/gnu/fdutimensat.c index b42d8cc1..b1748d56 100644 --- a/gnu/fdutimensat.c +++ b/gnu/fdutimensat.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set file access and modification times. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/file-has-acl.c b/gnu/file-has-acl.c new file mode 100644 index 00000000..6dca5d9d --- /dev/null +++ b/gnu/file-has-acl.c @@ -0,0 +1,920 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Test whether a file has a nontrivial access control list. + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +/* Without this pragma, gcc 4.7.0 20120126 may suggest that the + file_has_acl function might be candidate for attribute 'const' */ +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wsuggest-attribute=const" +#endif + +#include + +#include "acl.h" + +#include "acl-internal.h" + + +#if USE_ACL && HAVE_ACL_GET_FILE + +# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ + +/* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial. */ +int +acl_extended_nontrivial (acl_t acl) +{ + /* acl is non-trivial if it is non-empty. */ + return (acl_entries (acl) > 0); +} + +# else /* Linux, FreeBSD, IRIX, Tru64 */ + +/* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. + Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. + Return -1 and set errno upon failure to determine it. */ +int +acl_access_nontrivial (acl_t acl) +{ + /* acl is non-trivial if it has some entries other than for "user::", + "group::", and "other::". Normally these three should be present + at least, allowing us to write + return (3 < acl_entries (acl)); + but the following code is more robust. */ +# if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD */ + + acl_entry_t ace; + int got_one; + + for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); + got_one > 0; + got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) + { + acl_tag_t tag; + if (acl_get_tag_type (ace, &tag) < 0) + return -1; + if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) + return 1; + } + return got_one; + +# else /* IRIX, Tru64 */ +# if HAVE_ACL_TO_SHORT_TEXT /* IRIX */ + /* Don't use acl_get_entry: it is undocumented. */ + + int count = acl->acl_cnt; + int i; + + for (i = 0; i < count; i++) + { + acl_entry_t ace = &acl->acl_entry[i]; + acl_tag_t tag = ace->ae_tag; + + if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ + || tag == ACL_OTHER_OBJ)) + return 1; + } + return 0; + +# endif +# if HAVE_ACL_FREE_TEXT /* Tru64 */ + /* Don't use acl_get_entry: it takes only one argument and does not work. */ + + int count = acl->acl_num; + acl_entry_t ace; + + for (ace = acl->acl_first; count > 0; ace = ace->next, count--) + { + acl_tag_t tag; + acl_perm_t perm; + + tag = ace->entry->acl_type; + if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) + return 1; + + perm = ace->entry->acl_perm; + /* On Tru64, perm can also contain non-standard bits such as + PERM_INSERT, PERM_DELETE, PERM_MODIFY, PERM_LOOKUP, ... */ + if ((perm & ~(ACL_READ | ACL_WRITE | ACL_EXECUTE)) != 0) + return 1; + } + return 0; + +# endif +# endif +} + +# endif + + +#elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + +/* Test an ACL retrieved with GETACL. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (int count, aclent_t *entries) +{ + int i; + + for (i = 0; i < count; i++) + { + aclent_t *ace = &entries[i]; + + /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). + If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). + We don't need to check ace->a_id in these cases. */ + if (!(ace->a_type == USER_OBJ + || ace->a_type == GROUP_OBJ + || ace->a_type == OTHER_OBJ + /* Note: Cygwin does not return a CLASS_OBJ ("mask:") entry + sometimes. */ + || ace->a_type == CLASS_OBJ)) + return 1; + } + return 0; +} + +# ifdef ACE_GETACL + +/* A shortcut for a bitmask. */ +# define NEW_ACE_WRITEA_DATA (NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA) + +/* Test an ACL retrieved with ACE_GETACL. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_ace_nontrivial (int count, ace_t *entries) +{ + int i; + + /* The flags in the ace_t structure changed in a binary incompatible way + when ACL_NO_TRIVIAL etc. were introduced in version 1.15. + How to distinguish the two conventions at runtime? + In the old convention, usually three ACEs have a_flags = ACE_OWNER / + ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. In the new + convention, these values are not used. */ + int old_convention = 0; + + for (i = 0; i < count; i++) + if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) + { + old_convention = 1; + break; + } + + if (old_convention) + /* Running on Solaris 10. */ + for (i = 0; i < count; i++) + { + ace_t *ace = &entries[i]; + + /* Note: + If ace->a_flags = ACE_OWNER, ace->a_who is the st_uid from stat(). + If ace->a_flags = ACE_GROUP, ace->a_who is the st_gid from stat(). + We don't need to check ace->a_who in these cases. */ + if (!(ace->a_type == OLD_ALLOW + && (ace->a_flags == OLD_ACE_OWNER + || ace->a_flags == OLD_ACE_GROUP + || ace->a_flags == OLD_ACE_OTHER))) + return 1; + } + else + { + /* Running on Solaris 10 (newer version) or Solaris 11. */ + unsigned int access_masks[6] = + { + 0, /* owner@ deny */ + 0, /* owner@ allow */ + 0, /* group@ deny */ + 0, /* group@ allow */ + 0, /* everyone@ deny */ + 0 /* everyone@ allow */ + }; + + for (i = 0; i < count; i++) + { + ace_t *ace = &entries[i]; + unsigned int index1; + unsigned int index2; + + if (ace->a_type == NEW_ACE_ACCESS_ALLOWED_ACE_TYPE) + index1 = 1; + else if (ace->a_type == NEW_ACE_ACCESS_DENIED_ACE_TYPE) + index1 = 0; + else + return 1; + + if (ace->a_flags == NEW_ACE_OWNER) + index2 = 0; + else if (ace->a_flags == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP)) + index2 = 2; + else if (ace->a_flags == NEW_ACE_EVERYONE) + index2 = 4; + else + return 1; + + access_masks[index1 + index2] |= ace->a_access_mask; + } + + /* The same bit shouldn't be both allowed and denied. */ + if (access_masks[0] & access_masks[1]) + return 1; + if (access_masks[2] & access_masks[3]) + return 1; + if (access_masks[4] & access_masks[5]) + return 1; + + /* Check minimum masks. */ + if ((NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER) + & ~ access_masks[1]) + return 1; + access_masks[1] &= ~(NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER); + if ((NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE) + & ~ access_masks[5]) + return 1; + access_masks[5] &= ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE); + + /* Check the allowed or denied bits. */ + switch ((access_masks[0] | access_masks[1]) + & ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE)) + { + case 0: + case NEW_ACE_READ_DATA: + case NEW_ACE_WRITEA_DATA: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: + case NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + break; + default: + return 1; + } + switch ((access_masks[2] | access_masks[3]) + & ~(NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE)) + { + case 0: + case NEW_ACE_READ_DATA: + case NEW_ACE_WRITEA_DATA: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: + case NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + break; + default: + return 1; + } + switch ((access_masks[4] | access_masks[5]) + & ~(NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER)) + { + case 0: + case NEW_ACE_READ_DATA: + case NEW_ACE_WRITEA_DATA: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: + case NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: + break; + default: + return 1; + } + + /* Check that the NEW_ACE_WRITE_DATA and NEW_ACE_APPEND_DATA bits are + either both allowed or both denied. */ + if (((access_masks[0] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[0] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + if (((access_masks[2] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[2] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + if (((access_masks[4] & NEW_ACE_WRITE_DATA) != 0) + != ((access_masks[4] & NEW_ACE_APPEND_DATA) != 0)) + return 1; + } + + return 0; +} + +# endif + +#elif USE_ACL && HAVE_GETACL /* HP-UX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb) +{ + int i; + + for (i = 0; i < count; i++) + { + struct acl_entry *ace = &entries[i]; + + if (!((ace->uid == sb->st_uid && ace->gid == ACL_NSGROUP) + || (ace->uid == ACL_NSUSER && ace->gid == sb->st_gid) + || (ace->uid == ACL_NSUSER && ace->gid == ACL_NSGROUP))) + return 1; + } + return 0; +} + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +aclv_nontrivial (int count, struct acl *entries) +{ + int i; + + for (i = 0; i < count; i++) + { + struct acl *ace = &entries[i]; + + /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). + If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). + We don't need to check ace->a_id in these cases. */ + if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ + || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ + || ace->a_type == CLASS_OBJ + || ace->a_type == OTHER_OBJ)) + return 1; + } + return 0; +} + +# endif + +#elif USE_ACL && (HAVE_ACLX_GET || HAVE_STATACL) /* AIX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (struct acl *a) +{ + /* The normal way to iterate through an ACL is like this: + struct acl_entry *ace; + for (ace = a->acl_ext; ace != acl_last (a); ace = acl_nxt (ace)) + { + struct ace_id *aei; + switch (ace->ace_type) + { + case ACC_PERMIT: + case ACC_DENY: + case ACC_SPECIFY: + ...; + } + for (aei = ace->ace_id; aei != id_last (ace); aei = id_nxt (aei)) + ... + } + */ + return (acl_last (a) != a->acl_ext ? 1 : 0); +} + +# if HAVE_ACLX_GET && defined ACL_AIX_WIP /* newer AIX */ + +/* Return 1 if the given ACL is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nfs4_nontrivial (nfs4_acl_int_t *a) +{ +# if 1 /* let's try this first */ + return (a->aclEntryN > 0 ? 1 : 0); +# else + int count = a->aclEntryN; + int i; + + for (i = 0; i < count; i++) + { + nfs4_ace_int_t *ace = &a->aclEntry[i]; + + if (!((ace->flags & ACE4_ID_SPECIAL) != 0 + && (ace->aceWho.special_whoid == ACE4_WHO_OWNER + || ace->aceWho.special_whoid == ACE4_WHO_GROUP + || ace->aceWho.special_whoid == ACE4_WHO_EVERYONE) + && ace->aceType == ACE4_ACCESS_ALLOWED_ACE_TYPE + && ace->aceFlags == 0 + && (ace->aceMask & ~(ACE4_READ_DATA | ACE4_LIST_DIRECTORY + | ACE4_WRITE_DATA | ACE4_ADD_FILE + | ACE4_EXECUTE)) == 0)) + return 1; + } + return 0; +# endif +} + +# endif + +#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ + +/* Test an ACL retrieved with ACL_GET. + Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. + Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ +int +acl_nontrivial (int count, struct acl *entries) +{ + int i; + + for (i = 0; i < count; i++) + { + struct acl *ace = &entries[i]; + + /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). + If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). + We don't need to check ace->a_id in these cases. */ + if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ + || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ + || ace->a_type == CLASS_OBJ + || ace->a_type == OTHER_OBJ)) + return 1; + } + return 0; +} + +#endif + + +/* 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 NAME, obtained + through stat() or lstat(). */ + +int +file_has_acl (char const *name, struct stat const *sb) +{ +#if USE_ACL + if (! S_ISLNK (sb->st_mode)) + { +# if HAVE_ACL_GET_FILE + + /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ + /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ + int ret; + + if (HAVE_ACL_EXTENDED_FILE) /* Linux */ + { + /* On Linux, acl_extended_file is an optimized function: It only + makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for + ACL_TYPE_DEFAULT. */ + ret = acl_extended_file (name); + } + else /* FreeBSD, Mac OS X, IRIX, Tru64 */ + { +# if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ + /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) + and acl_get_file (name, ACL_TYPE_DEFAULT) + always return NULL / EINVAL. There is no point in making + these two useless calls. The real ACL is retrieved through + acl_get_file (name, ACL_TYPE_EXTENDED). */ + acl_t acl = acl_get_file (name, ACL_TYPE_EXTENDED); + if (acl) + { + ret = acl_extended_nontrivial (acl); + acl_free (acl); + } + else + ret = -1; +# else /* FreeBSD, IRIX, Tru64 */ + acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS); + if (acl) + { + int saved_errno; + + ret = acl_access_nontrivial (acl); + saved_errno = errno; + acl_free (acl); + errno = saved_errno; +# if HAVE_ACL_FREE_TEXT /* Tru64 */ + /* On OSF/1, acl_get_file (name, ACL_TYPE_DEFAULT) always + returns NULL with errno not set. There is no point in + making this call. */ +# else /* FreeBSD, IRIX */ + /* On Linux, FreeBSD, IRIX, acl_get_file (name, ACL_TYPE_ACCESS) + and acl_get_file (name, ACL_TYPE_DEFAULT) on a directory + either both succeed or both fail; it depends on the + file system. Therefore there is no point in making the second + call if the first one already failed. */ + 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; + } +# endif + } + else + ret = -1; +# endif + } + if (ret < 0) + return - acl_errno_valid (errno); + return ret; + +# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + +# if defined ACL_NO_TRIVIAL + + /* Solaris 10 (newer version), which has additional API declared in + (acl_t) and implemented in libsec (acl_set, acl_trivial, + acl_fromtext, ...). */ + return acl_trivial (name); + +# else /* Solaris, Cygwin, general case */ + + /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions + of Unixware. The acl() call returns the access and default ACL both + at once. */ + { + /* Initially, try to read the entries into a stack-allocated buffer. + Use malloc if it does not fit. */ + enum + { + alloc_init = 4000 / sizeof (aclent_t), /* >= 3 */ + alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (aclent_t)) + }; + aclent_t buf[alloc_init]; + size_t alloc = alloc_init; + aclent_t *entries = buf; + aclent_t *malloced = NULL; + int count; + + for (;;) + { + count = acl (name, GETACL, alloc, entries); + if (count < 0 && errno == ENOSPC) + { + /* Increase the size of the buffer. */ + free (malloced); + if (alloc > alloc_max / 2) + { + errno = ENOMEM; + return -1; + } + alloc = 2 * alloc; /* <= alloc_max */ + entries = malloced = + (aclent_t *) malloc (alloc * sizeof (aclent_t)); + if (entries == NULL) + { + errno = ENOMEM; + return -1; + } + continue; + } + break; + } + if (count < 0) + { + if (errno == ENOSYS || errno == ENOTSUP) + ; + else + { + int saved_errno = errno; + free (malloced); + errno = saved_errno; + return -1; + } + } + else if (count == 0) + ; + else + { + /* Don't use MIN_ACL_ENTRIES: It's set to 4 on Cygwin, but Cygwin + returns only 3 entries for files with no ACL. But this is safe: + If there are more than 4 entries, there cannot be only the + "user::", "group::", "other:", and "mask:" entries. */ + if (count > 4) + { + free (malloced); + return 1; + } + + if (acl_nontrivial (count, entries)) + { + free (malloced); + return 1; + } + } + free (malloced); + } + +# ifdef ACE_GETACL + /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 + file systems (whereas the other ones are used in UFS file systems). */ + { + /* Initially, try to read the entries into a stack-allocated buffer. + Use malloc if it does not fit. */ + enum + { + alloc_init = 4000 / sizeof (ace_t), /* >= 3 */ + alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t)) + }; + ace_t buf[alloc_init]; + size_t alloc = alloc_init; + ace_t *entries = buf; + ace_t *malloced = NULL; + int count; + + for (;;) + { + count = acl (name, ACE_GETACL, alloc, entries); + if (count < 0 && errno == ENOSPC) + { + /* Increase the size of the buffer. */ + free (malloced); + if (alloc > alloc_max / 2) + { + errno = ENOMEM; + return -1; + } + alloc = 2 * alloc; /* <= alloc_max */ + entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t)); + if (entries == NULL) + { + errno = ENOMEM; + return -1; + } + continue; + } + break; + } + if (count < 0) + { + if (errno == ENOSYS || errno == EINVAL) + ; + else + { + int saved_errno = errno; + free (malloced); + errno = saved_errno; + return -1; + } + } + else if (count == 0) + ; + else + { + /* In the old (original Solaris 10) convention: + If there are more than 3 entries, there cannot be only the + ACE_OWNER, ACE_GROUP, ACE_OTHER entries. + In the newer Solaris 10 and Solaris 11 convention: + If there are more than 6 entries, there cannot be only the + ACE_OWNER, ACE_GROUP, ACE_EVERYONE entries, each once with + NEW_ACE_ACCESS_ALLOWED_ACE_TYPE and once with + NEW_ACE_ACCESS_DENIED_ACE_TYPE. */ + if (count > 6) + { + free (malloced); + return 1; + } + + if (acl_ace_nontrivial (count, entries)) + { + free (malloced); + return 1; + } + } + free (malloced); + } +# endif + + return 0; +# endif + +# elif HAVE_GETACL /* HP-UX */ + + { + struct acl_entry entries[NACLENTRIES]; + int count; + + count = getacl (name, NACLENTRIES, entries); + + if (count < 0) + { + /* ENOSYS is seen on newer HP-UX versions. + EOPNOTSUPP is typically seen on NFS mounts. + ENOTSUP was seen on Quantum StorNext file systems (cvfs). */ + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) + ; + else + return -1; + } + else if (count == 0) + return 0; + else /* count > 0 */ + { + if (count > NACLENTRIES) + /* If NACLENTRIES cannot be trusted, use dynamic memory + allocation. */ + abort (); + + /* If there are more than 3 entries, there cannot be only the + (uid,%), (%,gid), (%,%) entries. */ + if (count > 3) + return 1; + + { + struct stat statbuf; + + if (stat (name, &statbuf) < 0) + return -1; + + return acl_nontrivial (count, entries, &statbuf); + } + } + } + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ + + { + struct acl entries[NACLVENTRIES]; + int count; + + count = acl ((char *) name, ACL_GET, NACLVENTRIES, entries); + + if (count < 0) + { + /* EOPNOTSUPP is seen on NFS in HP-UX 11.11, 11.23. + EINVAL is seen on NFS in HP-UX 11.31. */ + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + ; + else + return -1; + } + else if (count == 0) + return 0; + else /* count > 0 */ + { + if (count > NACLVENTRIES) + /* If NACLVENTRIES cannot be trusted, use dynamic memory + allocation. */ + abort (); + + /* If there are more than 4 entries, there cannot be only the + four base ACL entries. */ + if (count > 4) + return 1; + + return aclv_nontrivial (count, entries); + } + } + +# endif + +# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */ + + acl_type_t type; + char aclbuf[1024]; + void *acl = aclbuf; + size_t aclsize = sizeof (aclbuf); + mode_t mode; + + for (;;) + { + /* The docs say that type being 0 is equivalent to ACL_ANY, but it + is not true, in AIX 5.3. */ + type.u64 = ACL_ANY; + if (aclx_get (name, 0, &type, aclbuf, &aclsize, &mode) >= 0) + break; + if (errno == ENOSYS) + return 0; + if (errno != ENOSPC) + { + if (acl != aclbuf) + { + int saved_errno = errno; + free (acl); + errno = saved_errno; + } + return -1; + } + aclsize = 2 * aclsize; + if (acl != aclbuf) + free (acl); + acl = malloc (aclsize); + if (acl == NULL) + { + errno = ENOMEM; + return -1; + } + } + + if (type.u64 == ACL_AIXC) + { + int result = acl_nontrivial ((struct acl *) acl); + if (acl != aclbuf) + free (acl); + return result; + } + else if (type.u64 == ACL_NFS4) + { + int result = acl_nfs4_nontrivial ((nfs4_acl_int_t *) acl); + if (acl != aclbuf) + free (acl); + return result; + } + else + { + /* A newer type of ACL has been introduced in the system. + We should better support it. */ + if (acl != aclbuf) + free (acl); + errno = EINVAL; + return -1; + } + +# elif HAVE_STATACL /* older AIX */ + + union { struct acl a; char room[4096]; } u; + + if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0) + return -1; + + return acl_nontrivial (&u.a); + +# elif HAVE_ACLSORT /* NonStop Kernel */ + + { + struct acl entries[NACLENTRIES]; + int count; + + count = acl ((char *) name, ACL_GET, NACLENTRIES, entries); + + if (count < 0) + { + if (errno == ENOSYS || errno == ENOTSUP) + ; + else + return -1; + } + else if (count == 0) + return 0; + else /* count > 0 */ + { + if (count > NACLENTRIES) + /* If NACLENTRIES cannot be trusted, use dynamic memory + allocation. */ + abort (); + + /* If there are more than 4 entries, there cannot be only the + four base ACL entries. */ + if (count > 4) + return 1; + + return acl_nontrivial (count, entries); + } + } + +# endif + } +#endif + + return 0; +} diff --git a/gnu/fileblocks.c b/gnu/fileblocks.c index 44e0e9b4..17ffe6a1 100644 --- a/gnu/fileblocks.c +++ b/gnu/fileblocks.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert file size to number of blocks on System V-like machines. - Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2011 Free Software + Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/filename.h b/gnu/filename.h new file mode 100644 index 00000000..37e24699 --- /dev/null +++ b/gnu/filename.h @@ -0,0 +1,56 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Basic filename support macros. + Copyright (C) 2001-2004, 2007-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _FILENAME_H +#define _FILENAME_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Pathname support. + ISSLASH(C) tests whether C is a directory separator character. + IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, + it may be concatenated to a directory pathname. + IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. + */ +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + /* Native Windows, Cygwin, OS/2, DOS */ +# define ISSLASH(C) ((C) == '/' || (C) == '\\') +# define HAS_DEVICE(P) \ + ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ + && (P)[1] == ':') +# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) +# define IS_PATH_WITH_DIR(P) \ + (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) +# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) +#else + /* Unix */ +# define ISSLASH(C) ((C) == '/') +# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) +# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +# define FILE_SYSTEM_PREFIX_LEN(P) 0 +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _FILENAME_H */ diff --git a/gnu/filenamecat-lgpl.c b/gnu/filenamecat-lgpl.c index 1969e216..2256630b 100644 --- a/gnu/filenamecat-lgpl.c +++ b/gnu/filenamecat-lgpl.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Concatenate two arbitrary file names. - Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2013 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 @@ -36,7 +36,7 @@ /* Return the longest suffix of F that is a relative file name. If it has no such suffix, return the empty string. */ -static char const * +static char const * _GL_ATTRIBUTE_PURE longest_relative_suffix (char const *f) { for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++) diff --git a/gnu/filenamecat.h b/gnu/filenamecat.h index b3d876a5..d2e1b925 100644 --- a/gnu/filenamecat.h +++ b/gnu/filenamecat.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Concatenate two arbitrary file names. - Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2011 Free Software + Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/float+.h b/gnu/float+.h index 6aab058d..6bc201cf 100644 --- a/gnu/float+.h +++ b/gnu/float+.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Supplemental information about the floating-point formats. - Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #ifndef _FLOATPLUS_H #define _FLOATPLUS_H diff --git a/gnu/float.c b/gnu/float.c new file mode 100644 index 00000000..948c7654 --- /dev/null +++ b/gnu/float.c @@ -0,0 +1,35 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Auxiliary definitions for . + Copyright (C) 2011-2013 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ +const union gl_long_double_union gl_LDBL_MAX = + { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; +#elif defined __i386__ +const union gl_long_double_union gl_LDBL_MAX = + { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; +#else +/* This declaration is solely to ensure that after preprocessing + this file is never empty. */ +typedef int dummy; +#endif diff --git a/gnu/float.in.h b/gnu/float.in.h index ddc3b6c1..c52c500e 100644 --- a/gnu/float.in.h +++ b/gnu/float.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A correct . - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef _GL_FLOAT_H +#ifndef _@GUARD_PREFIX@_FLOAT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -27,10 +27,11 @@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FLOAT_H@ -#ifndef _GL_FLOAT_H -#define _GL_FLOAT_H +#ifndef _@GUARD_PREFIX@_FLOAT_H +#define _@GUARD_PREFIX@_FLOAT_H /* 'long double' properties. */ + #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) /* Number of mantissa units, in base FLT_RADIX. */ # undef LDBL_MANT_DIG @@ -61,5 +62,129 @@ # define LDBL_MAX_10_EXP 4932 #endif -#endif /* _GL_FLOAT_H */ -#endif /* _GL_FLOAT_H */ +/* On FreeBSD/x86 6.4, the 'long double' type really has only 53 bits of + precision in the compiler but 64 bits of precision at runtime. See + . */ +#if defined __i386__ && defined __FreeBSD__ +/* Number of mantissa units, in base FLT_RADIX. */ +# undef LDBL_MANT_DIG +# define LDBL_MANT_DIG 64 +/* Number of decimal digits that is sufficient for representing a number. */ +# undef LDBL_DIG +# define LDBL_DIG 18 +/* x-1 where x is the smallest representable number > 1. */ +# undef LDBL_EPSILON +# define LDBL_EPSILON 1.084202172485504434007452800869941711426e-19L /* 2^-63 */ +/* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP (-16381) +/* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ +# undef LDBL_MAX_EXP +# define LDBL_MAX_EXP 16384 +/* Minimum positive normalized number. */ +# undef LDBL_MIN +# define LDBL_MIN 3.3621031431120935E-4932L /* = 0x1p-16382L */ +/* Maximum representable finite number. */ +# undef LDBL_MAX +/* LDBL_MAX is represented as { 0xFFFFFFFF, 0xFFFFFFFF, 32766 }. + But the largest literal that GCC allows us to write is + 0x0.fffffffffffff8p16384L = { 0xFFFFF800, 0xFFFFFFFF, 32766 }. + So, define it like this through a reference to an external variable + + const unsigned int LDBL_MAX[3] = { 0xFFFFFFFF, 0xFFFFFFFF, 32766 }; + extern const long double LDBL_MAX; + + Unfortunately, this is not a constant expression. */ +union gl_long_double_union + { + struct { unsigned int lo; unsigned int hi; unsigned int exponent; } xd; + long double ld; + }; +extern const union gl_long_double_union gl_LDBL_MAX; +# define LDBL_MAX (gl_LDBL_MAX.ld) +/* Minimum e such that 10^e is in the range of normalized numbers. */ +# undef LDBL_MIN_10_EXP +# define LDBL_MIN_10_EXP (-4931) +/* Maximum e such that 10^e is in the range of representable finite numbers. */ +# undef LDBL_MAX_10_EXP +# define LDBL_MAX_10_EXP 4932 +#endif + +/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are + wrong. + On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ +#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP DBL_MIN_EXP +# undef LDBL_MIN_10_EXP +# define LDBL_MIN_10_EXP DBL_MIN_10_EXP +# undef LDBL_MIN +# define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +#endif +#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ +# undef LDBL_MAX +/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. + It is not easy to define: + #define LDBL_MAX 1.79769313486231580793728971405302307166e308L + is too small, whereas + #define LDBL_MAX 1.79769313486231580793728971405302307167e308L + is too large. Apparently a bug in GCC decimal-to-binary conversion. + Also, I can't get values larger than + #define LDBL63 ((long double) (1ULL << 63)) + #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) + #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) + #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) + #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) + which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. + So, define it like this through a reference to an external variable + + const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; + extern const long double LDBL_MAX; + + or through a pointer cast + + #define LDBL_MAX \ + (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) + + Unfortunately, this is not a constant expression, and the latter expression + does not work well when GCC is optimizing.. */ +union gl_long_double_union + { + struct { double hi; double lo; } dd; + long double ld; + }; +extern const union gl_long_double_union gl_LDBL_MAX; +# define LDBL_MAX (gl_LDBL_MAX.ld) +#endif + +/* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. + On IRIX 6.5, with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_EPSILON + are wrong. */ +#if defined __sgi && (LDBL_MANT_DIG >= 106) +# undef LDBL_MANT_DIG +# define LDBL_MANT_DIG 106 +# if defined __GNUC__ +# undef LDBL_MIN_EXP +# define LDBL_MIN_EXP DBL_MIN_EXP +# undef LDBL_MIN_10_EXP +# define LDBL_MIN_10_EXP DBL_MIN_10_EXP +# undef LDBL_MIN +# define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ +# undef LDBL_EPSILON +# define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ +# endif +#endif + +#if @REPLACE_ITOLD@ +/* Pull in a function that fixes the 'int' to 'long double' conversion + of glibc 2.7. */ +extern +# ifdef __cplusplus +"C" +# endif +void _Qp_itoq (long double *, int); +static void (*_gl_float_fix_itold) (long double *, int) = _Qp_itoq; +#endif + +#endif /* _@GUARD_PREFIX@_FLOAT_H */ +#endif /* _@GUARD_PREFIX@_FLOAT_H */ diff --git a/gnu/fnmatch.c b/gnu/fnmatch.c index ecfc8fb0..d6d63631 100644 --- a/gnu/fnmatch.c +++ b/gnu/fnmatch.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1993, 1996-2007, 2009-2011 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,8 +13,7 @@ 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. */ + along with this program; if not, see . */ #ifndef _LIBC # include @@ -44,7 +43,7 @@ (HAVE_WCTYPE_H && HAVE_BTOWC && HAVE_ISWCTYPE \ && HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY)) -/* For platform which support the ISO C amendement 1 functionality we +/* For platform which support the ISO C amendment 1 functionality we support user defined character classes. */ #if defined _LIBC || WIDE_CHAR_SUPPORT # include @@ -80,7 +79,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags); Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, + program understand 'configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU @@ -94,7 +93,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags); # if defined _LIBC || WIDE_CHAR_SUPPORT /* The GNU C library provides support for user-defined character classes - and the functions from ISO C amendement 1. */ + and the functions from ISO C amendment 1. */ # ifdef CHARCLASS_NAME_MAX # define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX # else @@ -121,7 +120,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags); # endif # else -# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ +# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, 'xdigit'. */ # define IS_CHAR_CLASS(string) \ (STREQ (string, "alpha") || STREQ (string, "upper") \ @@ -170,7 +169,6 @@ static int posixly_correct; # endif # endif # define MEMCHR(S, C, N) memchr (S, C, N) -# define STRCOLL(S1, S2) strcoll (S1, S2) # include "fnmatch_loop.c" @@ -198,7 +196,6 @@ static int posixly_correct; # endif # endif # define MEMCHR(S, C, N) wmemchr (S, C, N) -# define STRCOLL(S1, S2) wcscoll (S1, S2) # define WIDE_CHAR_VERSION 1 # undef IS_CHAR_CLASS diff --git a/gnu/fnmatch.in.h b/gnu/fnmatch.in.h index 6f60fcf7..c8f7132c 100644 --- a/gnu/fnmatch.in.h +++ b/gnu/fnmatch.in.h @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2011 Free +/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,8 +16,7 @@ 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. */ + along with this program; if not, see . */ #ifndef _FNMATCH_H #define _FNMATCH_H 1 @@ -34,23 +33,23 @@ extern "C" { #undef FNM_NOESCAPE #undef FNM_PERIOD -/* Bits set in the FLAGS argument to `fnmatch'. */ -#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ +/* Bits set in the FLAGS argument to 'fnmatch'. */ +#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match '/'. */ #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ -#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ +#define FNM_PERIOD (1 << 2) /* Leading '.' is matched only explicitly. */ #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE # define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ -# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ +# define FNM_LEADING_DIR (1 << 3) /* Ignore '/...' after a match. */ # define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ # define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ #endif -/* Value returned by `fnmatch' if STRING does not match PATTERN. */ +/* Value returned by 'fnmatch' if STRING does not match PATTERN. */ #define FNM_NOMATCH 1 /* This value is returned if the implementation does not support - `fnmatch'. Since this is not the case here it will never be + 'fnmatch'. Since this is not the case here it will never be returned but the conformance test suites still require the symbol to be defined. */ #ifdef _XOPEN_SOURCE diff --git a/gnu/fnmatch_loop.c b/gnu/fnmatch_loop.c index f083cc2c..19955061 100644 --- a/gnu/fnmatch_loop.c +++ b/gnu/fnmatch_loop.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1993, 1996-2006, 2009-2011 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-2006, 2009-2013 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 @@ -14,8 +14,7 @@ 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. */ + along with this program; if not, see . */ /* Match STRING against the file name pattern PATTERN, returning zero if it matches, nonzero if not. */ @@ -202,6 +201,8 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, case L_('['): { /* Nonzero if the sense of the character class is inverted. */ + const CHAR *p_init = p; + const CHAR *n_init = n; register bool not; CHAR cold; UCHAR fn; @@ -216,7 +217,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, return FNM_NOMATCH; if (*n == L_('/') && (flags & FNM_FILE_NAME)) - /* `/' cannot be matched. */ + /* '/' cannot be matched. */ return FNM_NOMATCH; not = (*p == L_('!') || (posixly_correct < 0 && *p == L_('^'))); @@ -382,7 +383,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, { /* We found a table entry. Now see whether the character we are currently at has the same - equivalance class value. */ + equivalence class value. */ int len = weights[idx & 0xffffff]; int32_t idx2; const UCHAR *np = (const UCHAR *) n; @@ -412,8 +413,13 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, } #endif else if (c == L_('\0')) - /* [ (unterminated) loses. */ - return FNM_NOMATCH; + { + /* [ unterminated, treat as normal character. */ + p = p_init; + n = n_init; + c = L_('['); + goto normal_match; + } else { bool is_range = false; @@ -631,7 +637,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, UCHAR cend = *p++; # ifdef WIDE_CHAR_VERSION - /* Search in the `names' array for the characters. */ + /* Search in the 'names' array for the characters. */ fcollseq = __collseq_table_lookup (collseq, fn); if (fcollseq == ~((uint32_t) 0)) /* XXX We don't know anything about the character @@ -834,7 +840,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, #else /* We use a boring value comparison of the character values. This is better than comparing using - `strcoll' since the latter would have surprising + 'strcoll' since the latter would have surprising and sometimes fatal consequences. */ UCHAR cend = *p++; @@ -1151,7 +1157,7 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, case L_('@'): do - /* I cannot believe it but `strcat' is actually acceptable + /* I cannot believe it but 'strcat' is actually acceptable here. Match the entire string with the prefix from the pattern list and the rest of the pattern following the pattern list. */ @@ -1209,7 +1215,6 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, #undef END #undef MEMPCPY #undef MEMCHR -#undef STRCOLL #undef STRLEN #undef STRCAT #undef L_ diff --git a/gnu/fpending.c b/gnu/fpending.c index 2792807c..dcca8378 100644 --- a/gnu/fpending.c +++ b/gnu/fpending.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fpending.c -- return the number of pending output bytes on a stream - Copyright (C) 2000, 2004, 2006-2007, 2009-2011 Free Software Foundation, + Copyright (C) 2000, 2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/fpending.h b/gnu/fpending.h index e3fc1c31..6dfc099a 100644 --- a/gnu/fpending.h +++ b/gnu/fpending.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declare __fpending. - Copyright (C) 2000, 2003, 2005-2006, 2009-2011 Free Software Foundation, + Copyright (C) 2000, 2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -23,10 +23,6 @@ #include #include -#ifndef HAVE_DECL___FPENDING -"this configure-time declaration test was not run" -#endif - #if HAVE_DECL___FPENDING # if HAVE_STDIO_EXT_H # include diff --git a/gnu/fseek.c b/gnu/fseek.c new file mode 100644 index 00000000..cfcc571d --- /dev/null +++ b/gnu/fseek.c @@ -0,0 +1,32 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* An fseek() function that, together with fflush(), is POSIX compliant. + Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* Get off_t. */ +#include + +int +fseek (FILE *fp, long offset, int whence) +{ + /* Use the replacement fseeko function with all its workarounds. */ + return fseeko (fp, (off_t)offset, whence); +} diff --git a/gnu/fseeko.c b/gnu/fseeko.c index 93e400d4..7c1ad9b4 100644 --- a/gnu/fseeko.c +++ b/gnu/fseeko.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An fseeko() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 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 @@ -14,15 +14,14 @@ 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. */ + with this program; if not, see . */ #include /* Specification. */ #include -/* Get off_t and lseek. */ +/* Get off_t, lseek, _POSIX_VERSION. */ #include #include "stdio-impl.h" @@ -34,6 +33,14 @@ fseeko (FILE *fp, off_t offset, int whence) # undef fseek # define fseeko fseek #endif +#if _GL_WINDOWS_64_BIT_OFF_T +# undef fseeko +# if HAVE__FSEEKI64 /* msvc, mingw64 */ +# define fseeko _fseeki64 +# else /* mingw */ +# define fseeko fseeko64 +# endif +#endif { #if LSEEK_PIPE_BROKEN /* mingw gives bogus answers rather than failure on non-seekable files. */ @@ -46,7 +53,7 @@ fseeko (FILE *fp, off_t offset, int whence) if (fp->_IO_read_end == fp->_IO_read_ptr && fp->_IO_write_ptr == fp->_IO_write_base && fp->_IO_save_base == NULL) -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ +#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { @@ -71,6 +78,9 @@ fseeko (FILE *fp, off_t offset, int whence) && fp->_rcount == 0 && fp->_wcount == 0 && fp->_ungetc_count == 0) +#elif defined __minix /* Minix */ + if (fp_->_ptr == fp_->_buf + && (fp_->_ptr == NULL || fp_->_count == 0)) #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0)) @@ -88,21 +98,26 @@ fseeko (FILE *fp, off_t offset, int whence) && fp->__get_limit == fp->__bufp && fp->__put_limit == fp->__bufp && !fp->__pushed_back) +#elif defined EPLAN9 /* Plan9 */ + if (fp->rp == fp->buf + && fp->wp == fp->buf) +#elif FUNC_FFLUSH_STDIN < 0 && 200809 <= _POSIX_VERSION + /* Cross-compiling to some other system advertising conformance to + POSIX.1-2008 or later. Assume fseeko and fflush work as advertised. + If this assumption is incorrect, please report the bug to + bug-gnulib. */ + if (0) #else - #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." + #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib." #endif { - /* We get here when an fflush() call immediately preceded this one. We - know there are no buffers. - POSIX requires us to modify the file descriptor's position. - But we cannot position beyond end of file here. */ - off_t pos = - lseek (fileno (fp), - whence == SEEK_END && offset > 0 ? 0 : offset, - whence); + /* We get here when an fflush() call immediately preceded this one (or + if ftell() has created buffers but no I/O has occurred on a + newly-opened stream). We know there are no buffers. */ + off_t pos = lseek (fileno (fp), offset, whence); if (pos == -1) { -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ +#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ fp_->_flags &= ~__SOFF; #endif return -1; @@ -110,7 +125,8 @@ fseeko (FILE *fp, off_t offset, int whence) #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_flags &= ~_IO_EOF_SEEN; -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp->_offset = pos; +#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __CYGWIN__ /* fp_->_offset is typed as an integer. */ fp_->_offset = pos; @@ -139,10 +155,7 @@ fseeko (FILE *fp, off_t offset, int whence) fp->__offset = pos; fp->__eof = 0; #endif - /* If we were not requested to position beyond end of file, we're - done. */ - if (!(whence == SEEK_END && offset > 0)) - return 0; + return 0; } return fseeko (fp, offset, whence); } diff --git a/gnu/fstat.c b/gnu/fstat.c new file mode 100644 index 00000000..12a8bb63 --- /dev/null +++ b/gnu/fstat.c @@ -0,0 +1,90 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* fstat() replacement. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_fstat doesn't recurse to + rpl_fstat. */ +#define __need_system_sys_stat_h +#include + +/* Get the original definition of fstat. It might be defined as a macro. */ +#include +#include +#if _GL_WINDOWS_64_BIT_ST_SIZE +# undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */ +# define stat _stati64 +# undef fstat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */ +# define fstat _fstati64 +#endif +#undef __need_system_sys_stat_h + +static int +orig_fstat (int fd, struct stat *buf) +{ + return fstat (fd, buf); +} + +/* Specification. */ +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +#include "sys/stat.h" + +#include +#include + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +fstat_nothrow (int fd, struct stat *buf) +{ + int result; + + TRY_MSVC_INVAL + { + result = orig_fstat (fd, buf); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +#else +# define fstat_nothrow orig_fstat +#endif + +int +rpl_fstat (int fd, struct stat *buf) +{ +#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY + /* Handle the case when rpl_open() used a dummy file descriptor to work + around an open() that can't normally visit directories. */ + const char *name = _gl_directory_name (fd); + if (name != NULL) + return stat (name, buf); +#endif + + return fstat_nothrow (fd, buf); +} diff --git a/gnu/fstatat.c b/gnu/fstatat.c index 37c38f0a..c4ab81a6 100644 --- a/gnu/fstatat.c +++ b/gnu/fstatat.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around an fstatat bug on Solaris 9. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,31 +19,56 @@ /* Written by Paul Eggert and Jim Meyering. */ +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_fstatat doesn't recurse to + rpl_fstatat. */ +#define __need_system_sys_stat_h #include +/* Get the original definition of fstatat. It might be defined as a macro. */ +#include #include +#undef __need_system_sys_stat_h + +#if HAVE_FSTATAT +static int +orig_fstatat (int fd, char const *filename, struct stat *buf, int flags) +{ + return fstatat (fd, filename, buf, flags); +} +#endif + +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +#include "sys/stat.h" #include #include #include -#if HAVE_FSTATAT +#if HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG -# undef fstatat +# ifndef LSTAT_FOLLOWS_SLASHED_SYMLINK +# define LSTAT_FOLLOWS_SLASHED_SYMLINK 0 +# endif /* fstatat should always follow symbolic links that end in /, but on Solaris 9 it doesn't if AT_SYMLINK_NOFOLLOW is specified. Likewise, trailing slash on a non-directory should be an error. These are the same problems that lstat.c and stat.c address, so - solve it in a similar way. */ + solve it in a similar way. + + AIX 7.1 fstatat (AT_FDCWD, ..., 0) always fails, which is a bug. + Work around this bug if FSTATAT_AT_FDCWD_0_BROKEN is nonzero. */ int rpl_fstatat (int fd, char const *file, struct stat *st, int flag) { - int result = fstatat (fd, file, st, flag); + int result = orig_fstatat (fd, file, st, flag); size_t len; - if (result != 0) + if (LSTAT_FOLLOWS_SLASHED_SYMLINK || result != 0) return result; len = strlen (file); if (flag & AT_SYMLINK_NOFOLLOW) @@ -56,7 +81,7 @@ rpl_fstatat (int fd, char const *file, struct stat *st, int flag) errno = ENOTDIR; return -1; } - result = fstatat (fd, file, st, flag & ~AT_SYMLINK_NOFOLLOW); + result = orig_fstatat (fd, file, st, flag & ~AT_SYMLINK_NOFOLLOW); } /* Fix stat behavior. */ if (result == 0 && !S_ISDIR (st->st_mode) && file[len - 1] == '/') @@ -67,20 +92,20 @@ rpl_fstatat (int fd, char const *file, struct stat *st, int flag) return result; } -#else /* !HAVE_FSTATAT */ +#else /* ! (HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG) */ -/* On mingw, the gnulib defines `stat' as a function-like +/* On mingw, the gnulib defines 'stat' as a function-like macro; but using it in AT_FUNC_F2 causes compilation failure because the preprocessor sees a use of a macro that requires two arguments but is only given one. Hence, we need an inline forwarder to get past the preprocessor. */ -static inline int +static int stat_func (char const *name, struct stat *st) { return stat (name, st); } -/* Likewise, if there is no native `lstat', then the gnulib +/* Likewise, if there is no native 'lstat', then the gnulib defined it as stat, which also needs adjustment. */ # if !HAVE_LSTAT # undef lstat diff --git a/gnu/full-write.c b/gnu/full-write.c index 9b325a72..b24549e5 100644 --- a/gnu/full-write.c +++ b/gnu/full-write.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to read and write that retries (if necessary) until complete. - Copyright (C) 1993-1994, 1997-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1993-1994, 1997-2006, 2009-2013 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 diff --git a/gnu/full-write.h b/gnu/full-write.h index 840b37ef..059c6a27 100644 --- a/gnu/full-write.h +++ b/gnu/full-write.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to write() that writes all it is asked to write. - Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2003, 2009-2013 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 diff --git a/gnu/futimens.c b/gnu/futimens.c index ac30b035..09c7b777 100644 --- a/gnu/futimens.c +++ b/gnu/futimens.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set the access and modification time of an open fd. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/getcwd-lgpl.c b/gnu/getcwd-lgpl.c new file mode 100644 index 00000000..f197a112 --- /dev/null +++ b/gnu/getcwd-lgpl.c @@ -0,0 +1,128 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Copyright (C) 2011-2013 Free Software Foundation, Inc. + This file is part of gnulib. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification */ +#include + +#include +#include +#include + +#if GNULIB_GETCWD +/* Favor GPL getcwd.c if both getcwd and getcwd-lgpl modules are in use. */ +typedef int dummy; +#else + +/* 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 + (perhaps because the absolute name was longer than PATH_MAX, or + because of missing read/search permissions on parent directories) + or SIZE was too small. If successful, returns BUF. If BUF is + NULL, an array is allocated with 'malloc'; the array is SIZE bytes + long, unless SIZE == 0, in which case it is as big as + necessary. */ + +# undef getcwd +char * +rpl_getcwd (char *buf, size_t size) +{ + char *ptr; + char *result; + + /* Handle single size operations. */ + if (buf) + { + if (!size) + { + errno = EINVAL; + return NULL; + } + return getcwd (buf, size); + } + + if (size) + { + buf = malloc (size); + if (!buf) + { + errno = ENOMEM; + return NULL; + } + result = getcwd (buf, size); + if (!result) + { + int saved_errno = errno; + free (buf); + errno = saved_errno; + } + return result; + } + + /* Flexible sizing requested. Avoid over-allocation for the common + case of a name that fits within a 4k page, minus some space for + local variables, to be sure we don't skip over a guard page. */ + { + char tmp[4032]; + size = sizeof tmp; + ptr = getcwd (tmp, size); + if (ptr) + { + result = strdup (ptr); + if (!result) + errno = ENOMEM; + return result; + } + if (errno != ERANGE) + return NULL; + } + + /* My what a large directory name we have. */ + do + { + size <<= 1; + ptr = realloc (buf, size); + if (ptr == NULL) + { + free (buf); + errno = ENOMEM; + return NULL; + } + buf = ptr; + result = getcwd (buf, size); + } + while (!result && errno == ERANGE); + + if (!result) + { + int saved_errno = errno; + free (buf); + errno = saved_errno; + } + else + { + /* Trim to fit, if possible. */ + result = realloc (buf, strlen (buf) + 1); + if (!result) + result = buf; + } + return result; +} + +#endif diff --git a/gnu/getcwd.c b/gnu/getcwd.c index 011d6417..22ba534e 100644 --- a/gnu/getcwd.c +++ b/gnu/getcwd.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991-1999, 2004-2011 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999, 2004-2013 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 @@ -29,9 +29,10 @@ #include /* For AT_FDCWD on Solaris 9. */ -/* If this host provides the openat function, then enable +/* If this host provides the openat function or if we're using the + gnulib replacement function with a native fdopendir, then enable code below to make getcwd more efficient and robust. */ -#ifdef HAVE_OPENAT +#if defined HAVE_OPENAT || (defined GNULIB_OPENAT && defined HAVE_FDOPENDIR) # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 @@ -59,8 +60,6 @@ # endif #endif -#include - #ifndef MAX # define MAX(a, b) ((a) < (b) ? (b) : (a)) #endif @@ -68,12 +67,12 @@ # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif +#include "pathmax.h" + +/* In this file, PATH_MAX only serves as a threshold for choosing among two + algorithms. */ #ifndef PATH_MAX -# ifdef MAXPATHLEN -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 1024 -# endif +# define PATH_MAX 8192 #endif #if D_INO_IN_DIRENT @@ -102,7 +101,7 @@ /* 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 SIZE was too small. If successful, returns BUF. In GNU, if BUF is - NULL, an array is allocated with `malloc'; the array is SIZE bytes long, + NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ char * @@ -138,7 +137,7 @@ __getcwd (char *buf, size_t size) size_t allocated = size; size_t used; -#if HAVE_RAW_DECL_GETCWD +#if HAVE_MINIMALLY_WORKING_GETCWD /* If AT_FDCWD is not defined, the algorithm below is O(N**2) and this is much slower than the system getcwd (at least on GNU/Linux). So trust the system getcwd's results unless they @@ -146,11 +145,16 @@ __getcwd (char *buf, size_t size) 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. */ + openat-based approach does not. + + But on AIX 5.1..7.1, the system getcwd is not even minimally + working: If the current directory name is slightly longer than + PATH_MAX, it omits the first directory component and returns + this wrong result with errno = 0. */ # undef getcwd dir = getcwd (buf, size); - if (dir) + if (dir || (size && errno == ERANGE)) return dir; /* Solaris getcwd (NULL, 0) fails with errno == EINVAL, but it has @@ -408,7 +412,7 @@ __getcwd (char *buf, size_t size) buf = realloc (dir, used); if (buf == NULL) - /* Either buf was NULL all along, or `realloc' failed but + /* Either buf was NULL all along, or 'realloc' failed but we still have the original string. */ buf = dir; diff --git a/gnu/getdelim.c b/gnu/getdelim.c index 852eb03e..1e92393b 100644 --- a/gnu/getdelim.c +++ b/gnu/getdelim.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getdelim.c --- Implementation of replacement getdelim function. - Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2011 Free Software + Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or @@ -15,18 +15,16 @@ 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. */ + along with this program; if not, see . */ /* Ported from glibc by Simon Josefsson. */ -#include - /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the lineptr == NULL || n == NULL || fp == NULL tests below. */ #define _GL_ARG_NONNULL(params) +#include + #include #include diff --git a/gnu/getdtablesize.c b/gnu/getdtablesize.c index 3258ae10..86cf88c9 100644 --- a/gnu/getdtablesize.c +++ b/gnu/getdtablesize.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getdtablesize() function for platforms that don't have it. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -26,6 +26,29 @@ #include +#include "msvc-inval.h" + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +_setmaxstdio_nothrow (int newmax) +{ + int result; + + TRY_MSVC_INVAL + { + result = _setmaxstdio (newmax); + } + CATCH_MSVC_INVAL + { + result = -1; + } + DONE_MSVC_INVAL; + + return result; +} +# define _setmaxstdio _setmaxstdio_nothrow +#endif + /* Cache for the previous getdtablesize () result. */ static int dtablesize; diff --git a/gnu/getfilecon.c b/gnu/getfilecon.c new file mode 100644 index 00000000..1b9d6729 --- /dev/null +++ b/gnu/getfilecon.c @@ -0,0 +1,88 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* wrap getfilecon, lgetfilecon, and fgetfilecon + Copyright (C) 2009-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +/* written by Jim Meyering */ + +#include + +#include + +#include +#include +#include + +/* FIXME: remove this once there is an errno-gnu module + that guarantees the definition of ENODATA. */ +#ifndef ENODATA +# define ENODATA ENOTSUP +#endif + +#undef getfilecon +#undef lgetfilecon +#undef fgetfilecon +int getfilecon (char const *file, security_context_t *con); +int lgetfilecon (char const *file, security_context_t *con); +int fgetfilecon (int fd, security_context_t *con); + +/* getfilecon, lgetfilecon, and fgetfilecon can all misbehave, be it + via an old version of libselinux where these would return 0 and set the + result context to NULL, or via a modern kernel+lib operating on a file + from a disk whose attributes were set by a kernel from around 2006. + In that latter case, the functions return a length of 10 for the + "unlabeled" context. Map both failures to a return value of -1, and + set errno to ENOTSUP in the first case, and ENODATA in the latter. */ + +static int +map_to_failure (int ret, security_context_t *con) +{ + if (ret == 0) + { + errno = ENOTSUP; + return -1; + } + + if (ret == 10 && strcmp (*con, "unlabeled") == 0) + { + freecon (*con); + errno = ENODATA; + return -1; + } + + return ret; +} + +int +rpl_getfilecon (char const *file, security_context_t *con) +{ + int ret = getfilecon (file, con); + return map_to_failure (ret, con); +} + +int +rpl_lgetfilecon (char const *file, security_context_t *con) +{ + int ret = lgetfilecon (file, con); + return map_to_failure (ret, con); +} + +int +rpl_fgetfilecon (int fd, security_context_t *con) +{ + int ret = fgetfilecon (fd, con); + return map_to_failure (ret, con); +} diff --git a/gnu/getline.c b/gnu/getline.c index ab25df8c..40c40612 100644 --- a/gnu/getline.c +++ b/gnu/getline.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getline.c --- Implementation of replacement getline function. - Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2013 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 @@ -14,9 +14,7 @@ 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. */ + along with this program; if not, see . */ /* Written by Simon Josefsson. */ diff --git a/gnu/getopt.c b/gnu/getopt.c index 91d17dd3..504befd9 100644 --- a/gnu/getopt.c +++ b/gnu/getopt.c @@ -4,7 +4,7 @@ NOTE: getopt is part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! - Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2011 Free Software + Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -43,15 +43,15 @@ # include #endif -/* This version of `getopt' appears to the caller like standard Unix `getopt' +/* This version of 'getopt' appears to the caller like standard Unix 'getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. - As `getopt_long' works, it permutes the elements of ARGV so that, + As 'getopt_long' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. - Using `getopt' or setting the environment variable POSIXLY_CORRECT + Using 'getopt' or setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. @@ -60,24 +60,24 @@ #include "getopt_int.h" -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, +/* For communication from 'getopt' to the caller. + When 'getopt' finds an option that takes an argument, the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, + Also, when 'ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller - and for communication between successive calls to `getopt'. + and for communication between successive calls to 'getopt'. - On entry to `getopt', zero means this is the first call; initialize. + On entry to 'getopt', zero means this is the first call; initialize. - When `getopt' returns -1, this is the index of the first of the + When 'getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. - Otherwise, `optind' communicates from one call to the next + Otherwise, 'optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ @@ -139,7 +139,7 @@ extern char *__getopt_nonoption_flags; The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. - `first_nonopt' and `last_nonopt' are relocated so that they describe + 'first_nonopt' and 'last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ static void @@ -156,7 +156,7 @@ exchange (char **argv, struct _getopt_data *d) but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS - /* First make sure the handling of the `__getopt_nonoption_flags' + /* First make sure the handling of the '__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len) @@ -293,48 +293,48 @@ _getopt_initialize (int argc _GL_UNUSED, If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' + (aside from the initial '-') are option characters. If 'getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can + If 'getopt' finds another option character, it returns that character, + updating 'optind' and 'nextchar' so that the next call to 'getopt' can resume the scan with the following option character or ARGV-element. - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element + If there are no more option characters, 'getopt' returns -1. + Then 'optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to + return '?' after printing an error message. If you set 'opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that + ARGV-element, is returned in 'optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. + it is returned in 'optarg', otherwise 'optarg' is set to zero. - If OPTSTRING starts with `-' or `+', it requests different methods of + If OPTSTRING starts with '-' or '+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - Long-named options begin with `--' instead of `-'. + Long-named options begin with '--' instead of '-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. + from the option name by a '=', or else the in next ARGV-element. + When 'getopt' finds a long-named option, it returns 0 if that option's + 'flag' field is nonzero, the value of the option's 'val' field + if the 'flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. - LONGOPTS is a vector of `struct option' terminated by an + LONGOPTS is a vector of 'struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. @@ -411,7 +411,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, d->__last_nonopt = d->optind; } - /* The special ARGV-element `--' means premature end of options. + /* The special ARGV-element '--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ @@ -481,23 +481,28 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, || !strchr (optstring, argv[d->optind][1]))))) { char *nameend; + unsigned int namelen; const struct option *p; const struct option *pfound = NULL; + struct option_list + { + const struct option *p; + struct option_list *next; + } *ambig_list = NULL; int exact = 0; - int ambig = 0; int indfound = -1; int option_index; for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; + namelen = nameend - d->__nextchar; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) + if (!strncmp (p->name, d->__nextchar, namelen)) { - if ((unsigned int) (nameend - d->__nextchar) - == (unsigned int) strlen (p->name)) + if (namelen == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; @@ -515,35 +520,71 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) - /* Second or later nonexact match found. */ - ambig = 1; + { + /* Second or later nonexact match found. */ + struct option_list *newp = malloc (sizeof (*newp)); + newp->p = p; + newp->next = ambig_list; + ambig_list = newp; + } } - if (ambig && !exact) + if (ambig_list != NULL && !exact) { if (print_errors) { + struct option_list first; + first.p = pfound; + first.next = ambig_list; + ambig_list = &first; + #if defined _LIBC && defined USE_IN_LIBIO - char *buf; + char *buf = NULL; + size_t buflen = 0; - if (__asprintf (&buf, _("%s: option '%s' is ambiguous\n"), - argv[0], argv[d->optind]) >= 0) + FILE *fp = open_memstream (&buf, &buflen); + if (fp != NULL) { - _IO_flockfile (stderr); + fprintf (fp, + _("%s: option '%s' is ambiguous; possibilities:"), + argv[0], argv[d->optind]); - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; + do + { + fprintf (fp, " '--%s'", ambig_list->p->name); + ambig_list = ambig_list->next; + } + while (ambig_list != NULL); - __fxprintf (NULL, "%s", buf); + fputc_unlocked ('\n', fp); - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); + if (__builtin_expect (fclose (fp) != EOF, 1)) + { + _IO_flockfile (stderr); - free (buf); + int old_flags2 = ((_IO_FILE *) stderr)->_flags2; + ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; + + __fxprintf (NULL, "%s", buf); + + ((_IO_FILE *) stderr)->_flags2 = old_flags2; + _IO_funlockfile (stderr); + + free (buf); + } } #else - fprintf (stderr, _("%s: option '%s' is ambiguous\n"), + fprintf (stderr, + _("%s: option '%s' is ambiguous; possibilities:"), argv[0], argv[d->optind]); + do + { + fprintf (stderr, " '--%s'", ambig_list->p->name); + ambig_list = ambig_list->next; + } + while (ambig_list != NULL); + + fputc ('\n', stderr); #endif } d->__nextchar += strlen (d->__nextchar); @@ -552,6 +593,13 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, return '?'; } + while (ambig_list != NULL) + { + struct option_list *pn = ambig_list->next; + free (ambig_list); + ambig_list = pn; + } + if (pfound != NULL) { option_index = indfound; @@ -742,7 +790,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, char c = *d->__nextchar++; const char *temp = strchr (optstring, c); - /* Increment `optind' when we start to process its last character. */ + /* Increment 'optind' when we start to process its last character. */ if (*d->__nextchar == '\0') ++d->optind; @@ -793,6 +841,9 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, int indfound = 0; int option_index; + if (longopts == NULL) + goto no_longs; + /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { @@ -838,7 +889,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, return c; } else - /* We already incremented `d->optind' once; + /* We already incremented 'd->optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; @@ -1000,8 +1051,10 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, } return pfound->val; } - d->__nextchar = NULL; - return 'W'; /* Let the application handle it. */ + + no_longs: + d->__nextchar = NULL; + return 'W'; /* Let the application handle it. */ } if (temp[1] == ':') { @@ -1063,7 +1116,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring, c = '?'; } else - /* We already incremented `optind' once; + /* We already incremented 'optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; d->__nextchar = NULL; @@ -1126,7 +1179,7 @@ __posix_getopt (int argc, char *const *argv, const char *optstring) #ifdef TEST /* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ + the above definition of 'getopt'. */ int main (int argc, char **argv) diff --git a/gnu/getopt.in.h b/gnu/getopt.in.h index b2f2922d..550fe499 100644 --- a/gnu/getopt.in.h +++ b/gnu/getopt.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2011 Free Software + Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef _GL_GETOPT_H +#ifndef _@GUARD_PREFIX@_GETOPT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -34,10 +34,10 @@ # undef _GL_SYSTEM_GETOPT #endif -#ifndef _GL_GETOPT_H +#ifndef _@GUARD_PREFIX@_GETOPT_H #ifndef __need_getopt -# define _GL_GETOPT_H 1 +# define _@GUARD_PREFIX@_GETOPT_H 1 #endif /* Standalone applications should #define __GETOPT_PREFIX to an @@ -51,7 +51,9 @@ linkers. */ #if defined __GETOPT_PREFIX && !defined __need_getopt # if !@HAVE_GETOPT_H@ +# define __need_system_stdlib_h # include +# undef __need_system_stdlib_h # include # include # endif @@ -84,7 +86,7 @@ getopt_long_only can permute argv; this is required for backward compatibility (e.g., for LSB 2.0.1). - This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt', + This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt', but it caused redefinition warnings if both unistd.h and getopt.h were included, since unistd.h includes getopt.h having previously defined __need_getopt. @@ -130,29 +132,29 @@ extern "C" { #endif -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, +/* For communication from 'getopt' to the caller. + When 'getopt' finds an option that takes an argument, the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, + Also, when 'ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller - and for communication between successive calls to `getopt'. + and for communication between successive calls to 'getopt'. - On entry to `getopt', zero means this is the first call; initialize. + On entry to 'getopt', zero means this is the first call; initialize. - When `getopt' returns -1, this is the index of the first of the + When 'getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. - Otherwise, `optind' communicates from one call to the next + Otherwise, 'optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; -/* Callers store zero here to inhibit the error message `getopt' prints +/* Callers store zero here to inhibit the error message 'getopt' prints for unrecognized options. */ extern int opterr; @@ -164,24 +166,24 @@ extern int optopt; #ifndef __need_getopt /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is + of 'struct option' terminated by an element containing a name which is zero. - The field `has_arg' is: + The field 'has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but + If the field 'flag' is not NULL, it points to a variable that is set + to the value given in the field 'val' when the option is found, but left unchanged if the option is not found. - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero + To have a long-named option do something other than set an 'int' to + a compiled-in constant, such as set a value from 'optarg', set the + option's 'flag' field to zero and its 'val' field to a nonzero value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ + one). For long options that have a zero 'flag' field, 'getopt' + returns the contents of the 'val' field. */ # if !GNULIB_defined_struct_option struct option @@ -196,7 +198,7 @@ struct option # define GNULIB_defined_struct_option 1 # endif -/* Names for the values of the `has_arg' field of `struct option'. */ +/* Names for the values of the 'has_arg' field of 'struct option'. */ # define no_argument 0 # define required_argument 1 @@ -210,23 +212,23 @@ struct option Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is + missing arguments, 'optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. + takes an argument, to be placed in 'optarg'. If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. + optional. This behavior is specific to the GNU 'getopt'. - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more + The argument '--' causes premature termination of argument + scanning, explicitly telling 'getopt' that there are no more options. - If OPTS begins with `-', then non-option arguments are treated as + If OPTS begins with '-', then non-option arguments are treated as arguments to the option '\1'. This behavior is specific to the GNU - `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in + 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in the environment, then do not permute arguments. */ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) @@ -251,5 +253,5 @@ extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt -#endif /* getopt.h */ -#endif /* getopt.h */ +#endif /* _@GUARD_PREFIX@_GETOPT_H */ +#endif /* _@GUARD_PREFIX@_GETOPT_H */ diff --git a/gnu/getopt1.c b/gnu/getopt1.c index c7fe745d..043839a0 100644 --- a/gnu/getopt1.c +++ b/gnu/getopt1.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2011 Free Software + Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -143,11 +143,11 @@ main (int argc, char **argv) break; case 'c': - printf ("option c with value `%s'\n", optarg); + printf ("option c with value '%s'\n", optarg); break; case 'd': - printf ("option d with value `%s'\n", optarg); + printf ("option d with value '%s'\n", optarg); break; case '?': diff --git a/gnu/getopt_int.h b/gnu/getopt_int.h index 2ec3a476..5c1a90de 100644 --- a/gnu/getopt_int.h +++ b/gnu/getopt_int.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Internal declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2011 Free Software + Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -42,7 +42,7 @@ extern int _getopt_internal (int ___argc, char **___argv, stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character + variable POSIXLY_CORRECT, or using '+' as the first character of the list of option characters, or by calling getopt. PERMUTE is the default. We permute the contents of ARGV as we @@ -54,12 +54,12 @@ extern int _getopt_internal (int ___argc, char **___argv, written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option - with character code 1. Using `-' as the first character of the + with character code 1. Using '-' as the first character of the list of option characters selects this mode of operation. - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' != ARGC. */ + The special argument '--' forces an end of option-scanning regardless + of the value of 'ordering'. In the case of RETURN_IN_ORDER, only + '--' can cause 'getopt' to return -1 with 'optind' != ARGC. */ enum __ord { @@ -101,8 +101,8 @@ struct _getopt_data /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first - of them; `last_nonopt' is the index after the last of them. */ + been skipped. 'first_nonopt' is the index in ARGV of the first + of them; 'last_nonopt' is the index after the last of them. */ int __first_nonopt; int __last_nonopt; diff --git a/gnu/getpagesize.c b/gnu/getpagesize.c index 377375bf..fcd28ca5 100644 --- a/gnu/getpagesize.c +++ b/gnu/getpagesize.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* getpagesize emulation for systems where it cannot be done in a C macro. - Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2013 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 @@ -24,7 +24,7 @@ /* Specification. */ #include -/* This implementation is only for native Win32 systems. */ +/* This implementation is only for native Windows systems. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN diff --git a/gnu/gettext.h b/gnu/gettext.h index ef044431..b6a070ed 100644 --- a/gnu/gettext.h +++ b/gnu/gettext.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 @@ -186,9 +185,12 @@ npgettext_aux (const char *domain, #include -#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ - (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ - /* || __STDC_VERSION__ >= 199901L */ ) +#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ + /* || __STDC_VERSION__ >= 199901L */ ) +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 +#else +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 +#endif #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS #include diff --git a/gnu/gettime.c b/gnu/gettime.c index 44af4967..168e07bf 100644 --- a/gnu/gettime.c +++ b/gnu/gettime.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* gettime -- get the system clock - Copyright (C) 2002, 2004-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2004-2007, 2009-2013 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 diff --git a/gnu/gettimeofday.c b/gnu/gettimeofday.c index 7532c0c0..693f2faa 100644 --- a/gnu/gettimeofday.c +++ b/gnu/gettimeofday.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide gettimeofday for systems that don't have it or for which it's broken. - Copyright (C) 2001-2003, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ /* written by Jim Meyering */ @@ -112,7 +111,18 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz) struct tm save = *localtime_buffer_addr; # endif +# if defined timeval /* 'struct timeval' overridden by gnulib? */ +# undef timeval + struct timeval otv; + int result = gettimeofday (&otv, (struct timezone *) tz); + if (result == 0) + { + tv->tv_sec = otv.tv_sec; + tv->tv_usec = otv.tv_usec; + } +# else int result = gettimeofday (tv, (struct timezone *) tz); +# endif # if GETTIMEOFDAY_CLOBBERS_LOCALTIME *localtime_buffer_addr = save; diff --git a/gnu/gnulib.mk b/gnu/gnulib.mk new file mode 100644 index 00000000..aab99c0d --- /dev/null +++ b/gnu/gnulib.mk @@ -0,0 +1,3338 @@ +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf + +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects + +SUBDIRS = +noinst_HEADERS = +noinst_LIBRARIES = +noinst_LTLIBRARIES = +EXTRA_DIST = +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +AM_CPPFLAGS = +AM_CFLAGS = + +noinst_LIBRARIES += libgnu.a + +libgnu_a_SOURCES = +libgnu_a_LIBADD = $(gl_LIBOBJS) +libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) +EXTRA_libgnu_a_SOURCES = + +## begin gnulib module acl + +libgnu_a_SOURCES += copy-acl.c set-acl.c + +## end gnulib module acl + +## begin gnulib module alloca + + +libgnu_a_LIBADD += @ALLOCA@ +libgnu_a_DEPENDENCIES += @ALLOCA@ +EXTRA_DIST += alloca.c + +EXTRA_libgnu_a_SOURCES += alloca.c + +## end gnulib module alloca + +## begin gnulib module alloca-opt + +BUILT_SOURCES += $(ALLOCA_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_ALLOCA_H +alloca.h: alloca.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/alloca.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +else +alloca.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += alloca.h alloca.h-t + +EXTRA_DIST += alloca.in.h + +## end gnulib module alloca-opt + +## begin gnulib module allocator + +libgnu_a_SOURCES += allocator.c + +EXTRA_DIST += allocator.h + +## end gnulib module allocator + +## begin gnulib module areadlink + +libgnu_a_SOURCES += areadlink.c + +EXTRA_DIST += areadlink.h + +## end gnulib module areadlink + +## begin gnulib module areadlinkat + +libgnu_a_SOURCES += areadlinkat.c + +EXTRA_DIST += areadlink.h at-func.c + +EXTRA_libgnu_a_SOURCES += at-func.c + +## end gnulib module areadlinkat + +## begin gnulib module argmatch + +libgnu_a_SOURCES += argmatch.c + +EXTRA_DIST += argmatch.h + +## end gnulib module argmatch + +## begin gnulib module argp + +libgnu_a_SOURCES += argp.h argp-ba.c argp-eexst.c \ + argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c argp-help.c \ + argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c argp-pvh.c \ + argp-xinl.c + +## end gnulib module argp + +## begin gnulib module argp-version-etc + +libgnu_a_SOURCES += argp-version-etc.h argp-version-etc.c + +## end gnulib module argp-version-etc + +## begin gnulib module at-internal + + +EXTRA_DIST += openat-priv.h openat-proc.c + +EXTRA_libgnu_a_SOURCES += openat-proc.c + +## end gnulib module at-internal + +## begin gnulib module backupfile + +libgnu_a_SOURCES += backupfile.c + +EXTRA_DIST += backupfile.h + +## end gnulib module backupfile + +## begin gnulib module bitrotate + +libgnu_a_SOURCES += bitrotate.h bitrotate.c + +## end gnulib module bitrotate + +## begin gnulib module btowc + + +EXTRA_DIST += btowc.c + +EXTRA_libgnu_a_SOURCES += btowc.c + +## end gnulib module btowc + +## begin gnulib module c-ctype + +libgnu_a_SOURCES += c-ctype.h c-ctype.c + +## end gnulib module c-ctype + +## begin gnulib module c-strcase + +libgnu_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c + +## end gnulib module c-strcase + +## begin gnulib module c-strcaseeq + + +EXTRA_DIST += c-strcaseeq.h + +## end gnulib module c-strcaseeq + +## begin gnulib module canonicalize-lgpl + + +EXTRA_DIST += canonicalize-lgpl.c + +EXTRA_libgnu_a_SOURCES += canonicalize-lgpl.c + +## end gnulib module canonicalize-lgpl + +## begin gnulib module careadlinkat + +libgnu_a_SOURCES += careadlinkat.c + +EXTRA_DIST += careadlinkat.h + +## end gnulib module careadlinkat + +## begin gnulib module chdir-long + + +EXTRA_DIST += chdir-long.c chdir-long.h + +EXTRA_libgnu_a_SOURCES += chdir-long.c + +## end gnulib module chdir-long + +## begin gnulib module chown + + +EXTRA_DIST += chown.c fchown-stub.c + +EXTRA_libgnu_a_SOURCES += chown.c fchown-stub.c + +## end gnulib module chown + +## begin gnulib module cloexec + +libgnu_a_SOURCES += cloexec.c + +EXTRA_DIST += cloexec.h + +## end gnulib module cloexec + +## begin gnulib module close + + +EXTRA_DIST += close.c + +EXTRA_libgnu_a_SOURCES += close.c + +## end gnulib module close + +## begin gnulib module close-stream + +libgnu_a_SOURCES += close-stream.c + +EXTRA_DIST += close-stream.h + +## end gnulib module close-stream + +## begin gnulib module closedir + + +EXTRA_DIST += closedir.c dirent-private.h + +EXTRA_libgnu_a_SOURCES += closedir.c + +## end gnulib module closedir + +## begin gnulib module closeout + +libgnu_a_SOURCES += closeout.c + +EXTRA_DIST += closeout.h + +## end gnulib module closeout + +## begin gnulib module configmake + +# Listed in the same order as the GNU makefile conventions, and +# provided by autoconf 2.59c+. +# The Automake-defined pkg* macros are appended, in the order +# listed in the Automake 1.10a+ documentation. +configmake.h: Makefile + $(AM_V_GEN)rm -f $@-t && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + echo '#define PREFIX "$(prefix)"'; \ + echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ + echo '#define BINDIR "$(bindir)"'; \ + echo '#define SBINDIR "$(sbindir)"'; \ + echo '#define LIBEXECDIR "$(libexecdir)"'; \ + echo '#define DATAROOTDIR "$(datarootdir)"'; \ + echo '#define DATADIR "$(datadir)"'; \ + echo '#define SYSCONFDIR "$(sysconfdir)"'; \ + echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ + echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ + echo '#define INCLUDEDIR "$(includedir)"'; \ + echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ + echo '#define DOCDIR "$(docdir)"'; \ + echo '#define INFODIR "$(infodir)"'; \ + echo '#define HTMLDIR "$(htmldir)"'; \ + echo '#define DVIDIR "$(dvidir)"'; \ + echo '#define PDFDIR "$(pdfdir)"'; \ + echo '#define PSDIR "$(psdir)"'; \ + echo '#define LIBDIR "$(libdir)"'; \ + echo '#define LISPDIR "$(lispdir)"'; \ + echo '#define LOCALEDIR "$(localedir)"'; \ + echo '#define MANDIR "$(mandir)"'; \ + echo '#define MANEXT "$(manext)"'; \ + echo '#define PKGDATADIR "$(pkgdatadir)"'; \ + echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ + echo '#define PKGLIBDIR "$(pkglibdir)"'; \ + echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ + } | sed '/""/d' > $@-t && \ + mv -f $@-t $@ + +BUILT_SOURCES += configmake.h +CLEANFILES += configmake.h configmake.h-t + +## end gnulib module configmake + +## begin gnulib module dirent + +BUILT_SOURCES += dirent.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ + -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ + -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ + -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ + -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ + -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ + -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ + -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ + -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ + -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ + -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ + -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ + -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/dirent.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += dirent.h dirent.h-t + +EXTRA_DIST += dirent.in.h + +## end gnulib module dirent + +## begin gnulib module dirent-safer + +libgnu_a_SOURCES += opendir-safer.c + +EXTRA_DIST += dirent--.h dirent-safer.h + +## end gnulib module dirent-safer + +## begin gnulib module dirfd + + +EXTRA_DIST += dirfd.c + +EXTRA_libgnu_a_SOURCES += dirfd.c + +## end gnulib module dirfd + +## begin gnulib module dirname + +libgnu_a_SOURCES += dirname.c basename.c + +EXTRA_DIST += stripslash.c + +EXTRA_libgnu_a_SOURCES += stripslash.c + +## end gnulib module dirname + +## begin gnulib module dirname-lgpl + +libgnu_a_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c + +EXTRA_DIST += dirname.h + +## end gnulib module dirname-lgpl + +## begin gnulib module dosname + + +EXTRA_DIST += dosname.h + +## end gnulib module dosname + +## begin gnulib module dup + + +EXTRA_DIST += dup.c + +EXTRA_libgnu_a_SOURCES += dup.c + +## end gnulib module dup + +## begin gnulib module dup2 + + +EXTRA_DIST += dup2.c + +EXTRA_libgnu_a_SOURCES += dup2.c + +## end gnulib module dup2 + +## begin gnulib module errno + +BUILT_SOURCES += $(ERRNO_H) + +# We need the following in order to create when the system +# doesn't have one that is POSIX compliant. +if GL_GENERATE_ERRNO_H +errno.h: errno.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ + -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ + -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ + -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ + -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ + -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ + -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ + < $(srcdir)/errno.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +errno.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += errno.h errno.h-t + +EXTRA_DIST += errno.in.h + +## end gnulib module errno + +## begin gnulib module error + + +EXTRA_DIST += error.c error.h + +EXTRA_libgnu_a_SOURCES += error.c + +## end gnulib module error + +## begin gnulib module exclude + +libgnu_a_SOURCES += exclude.c + +EXTRA_DIST += exclude.h + +## end gnulib module exclude + +## begin gnulib module exitfail + +libgnu_a_SOURCES += exitfail.c + +EXTRA_DIST += exitfail.h + +## end gnulib module exitfail + +## begin gnulib module fchdir + + +EXTRA_DIST += fchdir.c + +EXTRA_libgnu_a_SOURCES += fchdir.c + +## end gnulib module fchdir + +## begin gnulib module fchmodat + +libgnu_a_SOURCES += chmodat.c + +EXTRA_DIST += at-func.c fchmodat.c + +EXTRA_libgnu_a_SOURCES += at-func.c fchmodat.c + +## end gnulib module fchmodat + +## begin gnulib module fchownat + +libgnu_a_SOURCES += chownat.c + +EXTRA_DIST += at-func.c fchownat.c + +EXTRA_libgnu_a_SOURCES += at-func.c fchownat.c + +## end gnulib module fchownat + +## begin gnulib module fcntl + + +EXTRA_DIST += fcntl.c + +EXTRA_libgnu_a_SOURCES += fcntl.c + +## end gnulib module fcntl + +## begin gnulib module fcntl-h + +BUILT_SOURCES += fcntl.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ + -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ + -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ + -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ + -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ + -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ + -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/fcntl.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += fcntl.h fcntl.h-t + +EXTRA_DIST += fcntl.in.h + +## end gnulib module fcntl-h + +## begin gnulib module fd-hook + +libgnu_a_SOURCES += fd-hook.c + +EXTRA_DIST += fd-hook.h + +## end gnulib module fd-hook + +## begin gnulib module fdopendir + + +EXTRA_DIST += fdopendir.c + +EXTRA_libgnu_a_SOURCES += fdopendir.c + +## end gnulib module fdopendir + +## begin gnulib module fdutimensat + +libgnu_a_SOURCES += fdutimensat.c + +EXTRA_DIST += utimens.h + +## end gnulib module fdutimensat + +## begin gnulib module fileblocks + + +EXTRA_DIST += fileblocks.c + +EXTRA_libgnu_a_SOURCES += fileblocks.c + +## end gnulib module fileblocks + +## begin gnulib module filename + + +EXTRA_DIST += filename.h + +## end gnulib module filename + +## begin gnulib module filenamecat-lgpl + +libgnu_a_SOURCES += filenamecat-lgpl.c + +EXTRA_DIST += filenamecat.h + +## end gnulib module filenamecat-lgpl + +## begin gnulib module float + +BUILT_SOURCES += $(FLOAT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_FLOAT_H +float.h: float.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ + -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ + < $(srcdir)/float.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +float.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += float.h float.h-t + +EXTRA_DIST += float.c float.in.h itold.c + +EXTRA_libgnu_a_SOURCES += float.c itold.c + +## end gnulib module float + +## begin gnulib module fnmatch + +BUILT_SOURCES += $(FNMATCH_H) + +# We need the following in order to create when the system +# doesn't have one that supports the required API. +if GL_GENERATE_FNMATCH_H +fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + < $(srcdir)/fnmatch.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +else +fnmatch.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t + +EXTRA_DIST += fnmatch.c fnmatch.in.h fnmatch_loop.c + +EXTRA_libgnu_a_SOURCES += fnmatch.c fnmatch_loop.c + +## end gnulib module fnmatch + +## begin gnulib module fpending + + +EXTRA_DIST += fpending.c fpending.h + +EXTRA_libgnu_a_SOURCES += fpending.c + +## end gnulib module fpending + +## begin gnulib module fseek + + +EXTRA_DIST += fseek.c + +EXTRA_libgnu_a_SOURCES += fseek.c + +## end gnulib module fseek + +## begin gnulib module fseeko + + +EXTRA_DIST += fseeko.c stdio-impl.h + +EXTRA_libgnu_a_SOURCES += fseeko.c + +## end gnulib module fseeko + +## begin gnulib module fstat + + +EXTRA_DIST += fstat.c + +EXTRA_libgnu_a_SOURCES += fstat.c + +## end gnulib module fstat + +## begin gnulib module fstatat + + +EXTRA_DIST += at-func.c fstatat.c + +EXTRA_libgnu_a_SOURCES += at-func.c fstatat.c + +## end gnulib module fstatat + +## begin gnulib module full-write + +libgnu_a_SOURCES += full-write.h full-write.c + +## end gnulib module full-write + +## begin gnulib module futimens + + +EXTRA_DIST += futimens.c + +EXTRA_libgnu_a_SOURCES += futimens.c + +## end gnulib module futimens + +## begin gnulib module getcwd + + +EXTRA_DIST += getcwd.c + +EXTRA_libgnu_a_SOURCES += getcwd.c + +## end gnulib module getcwd + +## begin gnulib module getcwd-lgpl + + +EXTRA_DIST += getcwd-lgpl.c + +EXTRA_libgnu_a_SOURCES += getcwd-lgpl.c + +## end gnulib module getcwd-lgpl + +## begin gnulib module getdelim + + +EXTRA_DIST += getdelim.c + +EXTRA_libgnu_a_SOURCES += getdelim.c + +## end gnulib module getdelim + +## begin gnulib module getdtablesize + + +EXTRA_DIST += getdtablesize.c + +EXTRA_libgnu_a_SOURCES += getdtablesize.c + +## end gnulib module getdtablesize + +## begin gnulib module getline + + +EXTRA_DIST += getline.c + +EXTRA_libgnu_a_SOURCES += getline.c + +## end gnulib module getline + +## begin gnulib module getopt-posix + +BUILT_SOURCES += $(GETOPT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + < $(srcdir)/getopt.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += getopt.h getopt.h-t + +EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h + +EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c + +## end gnulib module getopt-posix + +## begin gnulib module getpagesize + + +EXTRA_DIST += getpagesize.c + +EXTRA_libgnu_a_SOURCES += getpagesize.c + +## end gnulib module getpagesize + +## begin gnulib module gettext + +# If your project uses "gettextize --intl" to put a source-code +# copy of libintl into the package, every Makefile.am needs +# -I$(top_builddir)/intl, so that can be found in this directory. +# Here's one way to do this: +#AM_CPPFLAGS += -I$(top_builddir)/intl +# This option has no effect when the user disables NLS (because then +# the intl directory contains no libintl.h file). This option is not +# enabled by default because the intl directory might not exist if +# your project does not use "gettext --intl", and some compilers +# complain about -I options applied to nonexistent directories. + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module gettext + +## begin gnulib module gettext-h + +libgnu_a_SOURCES += gettext.h + +## end gnulib module gettext-h + +## begin gnulib module gettime + +libgnu_a_SOURCES += gettime.c + +## end gnulib module gettime + +## begin gnulib module gettimeofday + + +EXTRA_DIST += gettimeofday.c + +EXTRA_libgnu_a_SOURCES += gettimeofday.c + +## end gnulib module gettimeofday + +## begin gnulib module gitlog-to-changelog + + +EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog + +## end gnulib module gitlog-to-changelog + +## begin gnulib module hash + +libgnu_a_SOURCES += hash.c + +EXTRA_DIST += hash.h + +## end gnulib module hash + +## begin gnulib module havelib + + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module havelib + +## begin gnulib module human + +libgnu_a_SOURCES += human.c + +EXTRA_DIST += human.h + +## end gnulib module human + +## begin gnulib module intprops + + +EXTRA_DIST += intprops.h + +## end gnulib module intprops + +## begin gnulib module inttostr + +libgnu_a_SOURCES += \ + imaxtostr.c \ + inttostr.c \ + offtostr.c \ + uinttostr.c \ + umaxtostr.c + +EXTRA_DIST += anytostr.c inttostr.h + +EXTRA_libgnu_a_SOURCES += anytostr.c + +## end gnulib module inttostr + +## begin gnulib module inttypes-incomplete + +BUILT_SOURCES += inttypes.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ + -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ + -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/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/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ + -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ + -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ + -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ + -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ + -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ + -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ + -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ + -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ + -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ + -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/inttypes.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += inttypes.h inttypes.h-t + +EXTRA_DIST += inttypes.in.h + +## end gnulib module inttypes-incomplete + +## begin gnulib module iswblank + + +EXTRA_DIST += iswblank.c + +EXTRA_libgnu_a_SOURCES += iswblank.c + +## end gnulib module iswblank + +## begin gnulib module langinfo + +BUILT_SOURCES += langinfo.h + +# We need the following in order to create an empty placeholder for +# when the system doesn't have one. +langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ + -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ + -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ + -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ + -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ + -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ + -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ + -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/langinfo.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += langinfo.h langinfo.h-t + +EXTRA_DIST += langinfo.in.h + +## end gnulib module langinfo + +## begin gnulib module lchown + + +EXTRA_DIST += lchown.c + +EXTRA_libgnu_a_SOURCES += lchown.c + +## end gnulib module lchown + +## begin gnulib module link + + +EXTRA_DIST += link.c + +EXTRA_libgnu_a_SOURCES += link.c + +## end gnulib module link + +## begin gnulib module linkat + + +EXTRA_DIST += at-func2.c linkat.c + +EXTRA_libgnu_a_SOURCES += at-func2.c linkat.c + +## end gnulib module linkat + +## begin gnulib module localcharset + +libgnu_a_SOURCES += localcharset.h localcharset.c + +# We need the following in order to install a simple file in $(libdir) +# which is shared with other installed packages. We use a list of referencing +# packages so that "make uninstall" will remove the file if and only if it +# is not used by another installed package. +# On systems with glibc-2.1 or newer, the file is redundant, therefore we +# avoid installing it. + +all-local: charset.alias ref-add.sed ref-del.sed + +charset_alias = $(DESTDIR)$(libdir)/charset.alias +charset_tmp = $(DESTDIR)$(libdir)/charset.tmp +install-exec-local: install-exec-localcharset +install-exec-localcharset: all-local + if test $(GLIBC21) = no; then \ + case '$(host_os)' in \ + darwin[56]*) \ + need_charset_alias=true ;; \ + darwin* | cygwin* | mingw* | pw32* | cegcc*) \ + need_charset_alias=false ;; \ + *) \ + need_charset_alias=true ;; \ + esac ; \ + else \ + need_charset_alias=false ; \ + fi ; \ + if $$need_charset_alias; then \ + $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ + fi ; \ + if test -f $(charset_alias); then \ + sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ + rm -f $(charset_tmp) ; \ + else \ + if $$need_charset_alias; then \ + sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ + rm -f $(charset_tmp) ; \ + fi ; \ + fi + +uninstall-local: uninstall-localcharset +uninstall-localcharset: all-local + if test -f $(charset_alias); then \ + sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ + if grep '^# Packages using this file: $$' $(charset_tmp) \ + > /dev/null; then \ + rm -f $(charset_alias); \ + else \ + $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ + fi; \ + rm -f $(charset_tmp); \ + fi + +charset.alias: config.charset + $(AM_V_GEN)rm -f t-$@ $@ && \ + $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \ + mv t-$@ $@ + +SUFFIXES += .sed .sin +.sin.sed: + $(AM_V_GEN)rm -f t-$@ $@ && \ + sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ + mv t-$@ $@ + +CLEANFILES += charset.alias ref-add.sed ref-del.sed + +EXTRA_DIST += config.charset ref-add.sin ref-del.sin + +## end gnulib module localcharset + +## begin gnulib module locale + +BUILT_SOURCES += locale.h + +# We need the following in order to create when the system +# doesn't have one that provides all definitions. +locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ + -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ + -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ + -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ + -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ + -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ + -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ + -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/locale.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += locale.h locale.h-t + +EXTRA_DIST += locale.in.h + +## end gnulib module locale + +## begin gnulib module localeconv + + +EXTRA_DIST += localeconv.c + +EXTRA_libgnu_a_SOURCES += localeconv.c + +## end gnulib module localeconv + +## begin gnulib module lseek + + +EXTRA_DIST += lseek.c + +EXTRA_libgnu_a_SOURCES += lseek.c + +## end gnulib module lseek + +## begin gnulib module lstat + + +EXTRA_DIST += lstat.c + +EXTRA_libgnu_a_SOURCES += lstat.c + +## end gnulib module lstat + +## begin gnulib module malloc-gnu + + +EXTRA_DIST += malloc.c + +EXTRA_libgnu_a_SOURCES += malloc.c + +## end gnulib module malloc-gnu + +## begin gnulib module malloc-posix + + +EXTRA_DIST += malloc.c + +EXTRA_libgnu_a_SOURCES += malloc.c + +## end gnulib module malloc-posix + +## begin gnulib module malloca + +libgnu_a_SOURCES += malloca.c + +EXTRA_DIST += malloca.h malloca.valgrind + +## end gnulib module malloca + +## begin gnulib module mbchar + +libgnu_a_SOURCES += mbchar.c + +EXTRA_DIST += mbchar.h + +## end gnulib module mbchar + +## begin gnulib module mbrtowc + + +EXTRA_DIST += mbrtowc.c + +EXTRA_libgnu_a_SOURCES += mbrtowc.c + +## end gnulib module mbrtowc + +## begin gnulib module mbscasecmp + +libgnu_a_SOURCES += mbscasecmp.c + +## end gnulib module mbscasecmp + +## begin gnulib module mbsinit + + +EXTRA_DIST += mbsinit.c + +EXTRA_libgnu_a_SOURCES += mbsinit.c + +## end gnulib module mbsinit + +## begin gnulib module mbsrtowcs + + +EXTRA_DIST += mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c + +EXTRA_libgnu_a_SOURCES += mbsrtowcs-state.c mbsrtowcs.c + +## end gnulib module mbsrtowcs + +## begin gnulib module mbtowc + + +EXTRA_DIST += mbtowc-impl.h mbtowc.c + +EXTRA_libgnu_a_SOURCES += mbtowc.c + +## end gnulib module mbtowc + +## begin gnulib module mbuiter + +libgnu_a_SOURCES += mbuiter.h mbuiter.c + +## end gnulib module mbuiter + +## begin gnulib module memchr + + +EXTRA_DIST += memchr.c memchr.valgrind + +EXTRA_libgnu_a_SOURCES += memchr.c + +## end gnulib module memchr + +## begin gnulib module mempcpy + + +EXTRA_DIST += mempcpy.c + +EXTRA_libgnu_a_SOURCES += mempcpy.c + +## end gnulib module mempcpy + +## begin gnulib module memrchr + + +EXTRA_DIST += memrchr.c + +EXTRA_libgnu_a_SOURCES += memrchr.c + +## end gnulib module memrchr + +## begin gnulib module mkdir + + +EXTRA_DIST += mkdir.c + +EXTRA_libgnu_a_SOURCES += mkdir.c + +## end gnulib module mkdir + +## begin gnulib module mkdirat + + +EXTRA_DIST += at-func.c mkdirat.c + +EXTRA_libgnu_a_SOURCES += at-func.c mkdirat.c + +## end gnulib module mkdirat + +## begin gnulib module mkdtemp + + +EXTRA_DIST += mkdtemp.c + +EXTRA_libgnu_a_SOURCES += mkdtemp.c + +## end gnulib module mkdtemp + +## begin gnulib module mkfifo + + +EXTRA_DIST += mkfifo.c + +EXTRA_libgnu_a_SOURCES += mkfifo.c + +## end gnulib module mkfifo + +## begin gnulib module mkfifoat + + +EXTRA_DIST += at-func.c mkfifoat.c mknodat.c + +EXTRA_libgnu_a_SOURCES += at-func.c mkfifoat.c mknodat.c + +## end gnulib module mkfifoat + +## begin gnulib module mknod + + +EXTRA_DIST += mknod.c + +EXTRA_libgnu_a_SOURCES += mknod.c + +## end gnulib module mknod + +## begin gnulib module mktime + + +EXTRA_DIST += mktime-internal.h mktime.c + +EXTRA_libgnu_a_SOURCES += mktime.c + +## end gnulib module mktime + +## begin gnulib module modechange + +libgnu_a_SOURCES += modechange.c + +EXTRA_DIST += modechange.h + +## end gnulib module modechange + +## begin gnulib module msvc-inval + + +EXTRA_DIST += msvc-inval.c msvc-inval.h + +EXTRA_libgnu_a_SOURCES += msvc-inval.c + +## end gnulib module msvc-inval + +## begin gnulib module msvc-nothrow + + +EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h + +EXTRA_libgnu_a_SOURCES += msvc-nothrow.c + +## end gnulib module msvc-nothrow + +## begin gnulib module nl_langinfo + + +EXTRA_DIST += nl_langinfo.c + +EXTRA_libgnu_a_SOURCES += nl_langinfo.c + +## end gnulib module nl_langinfo + +## begin gnulib module obstack + + +EXTRA_DIST += obstack.c obstack.h + +EXTRA_libgnu_a_SOURCES += obstack.c + +## end gnulib module obstack + +## begin gnulib module open + + +EXTRA_DIST += open.c + +EXTRA_libgnu_a_SOURCES += open.c + +## end gnulib module open + +## begin gnulib module openat + + +EXTRA_DIST += openat.c + +EXTRA_libgnu_a_SOURCES += openat.c + +## end gnulib module openat + +## begin gnulib module openat-die + +libgnu_a_SOURCES += openat-die.c + +## end gnulib module openat-die + +## begin gnulib module openat-h + + +EXTRA_DIST += openat.h + +## end gnulib module openat-h + +## begin gnulib module opendir + + +EXTRA_DIST += dirent-private.h opendir.c + +EXTRA_libgnu_a_SOURCES += opendir.c + +## end gnulib module opendir + +## begin gnulib module parse-datetime + +# This rule overrides the Automake generated .y.c rule, to ensure that the +# parse-datetime.c file gets generated in the source directory, not in the +# build directory. +parse-datetime.c: parse-datetime.y + $(AM_V_GEN)$(SHELL) $(YLWRAP) $(srcdir)/parse-datetime.y \ + y.tab.c parse-datetime.c \ + y.tab.h parse-datetime.h \ + y.output parse-datetime.output \ + -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \ + mv parse-datetime.c parse-datetime.c-t && \ + mv parse-datetime.c-t $(srcdir)/parse-datetime.c +libgnu_a_SOURCES += parse-datetime.y +BUILT_SOURCES += parse-datetime.c +MOSTLYCLEANFILES += parse-datetime.c-t +MAINTAINERCLEANFILES += parse-datetime.c +EXTRA_DIST += parse-datetime.c + +EXTRA_DIST += parse-datetime.h + +## end gnulib module parse-datetime + +## begin gnulib module pathmax + + +EXTRA_DIST += pathmax.h + +## end gnulib module pathmax + +## begin gnulib module priv-set + +libgnu_a_SOURCES += priv-set.c + +EXTRA_DIST += priv-set.h + +## end gnulib module priv-set + +## begin gnulib module progname + +libgnu_a_SOURCES += progname.h progname.c + +## end gnulib module progname + +## begin gnulib module qacl + +libgnu_a_SOURCES += acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c + +EXTRA_DIST += acl-internal.h acl.h acl_entries.c + +EXTRA_libgnu_a_SOURCES += acl_entries.c + +## end gnulib module qacl + +## begin gnulib module quote + + +EXTRA_DIST += quote.h + +## end gnulib module quote + +## begin gnulib module quotearg + +libgnu_a_SOURCES += quotearg.c + +EXTRA_DIST += quote.h quotearg.h + +## end gnulib module quotearg + +## begin gnulib module raise + + +EXTRA_DIST += raise.c + +EXTRA_libgnu_a_SOURCES += raise.c + +## end gnulib module raise + +## begin gnulib module rawmemchr + + +EXTRA_DIST += rawmemchr.c rawmemchr.valgrind + +EXTRA_libgnu_a_SOURCES += rawmemchr.c + +## end gnulib module rawmemchr + +## begin gnulib module read + + +EXTRA_DIST += read.c + +EXTRA_libgnu_a_SOURCES += read.c + +## end gnulib module read + +## begin gnulib module readdir + + +EXTRA_DIST += dirent-private.h readdir.c + +EXTRA_libgnu_a_SOURCES += readdir.c + +## end gnulib module readdir + +## begin gnulib module readlink + + +EXTRA_DIST += readlink.c + +EXTRA_libgnu_a_SOURCES += readlink.c + +## end gnulib module readlink + +## begin gnulib module readlinkat + + +EXTRA_DIST += at-func.c readlinkat.c + +EXTRA_libgnu_a_SOURCES += at-func.c readlinkat.c + +## end gnulib module readlinkat + +## begin gnulib module realloc-posix + + +EXTRA_DIST += realloc.c + +EXTRA_libgnu_a_SOURCES += realloc.c + +## end gnulib module realloc-posix + +## begin gnulib module regex + + +EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c + +EXTRA_libgnu_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c + +## end gnulib module regex + +## begin gnulib module rename + + +EXTRA_DIST += rename.c + +EXTRA_libgnu_a_SOURCES += rename.c + +## end gnulib module rename + +## begin gnulib module renameat + + +EXTRA_DIST += at-func2.c renameat.c + +EXTRA_libgnu_a_SOURCES += at-func2.c renameat.c + +## end gnulib module renameat + +## begin gnulib module rewinddir + + +EXTRA_DIST += dirent-private.h rewinddir.c + +EXTRA_libgnu_a_SOURCES += rewinddir.c + +## end gnulib module rewinddir + +## begin gnulib module rmdir + + +EXTRA_DIST += rmdir.c + +EXTRA_libgnu_a_SOURCES += rmdir.c + +## end gnulib module rmdir + +## begin gnulib module root-uid + + +EXTRA_DIST += root-uid.h + +## end gnulib module root-uid + +## begin gnulib module rpmatch + + +EXTRA_DIST += rpmatch.c + +EXTRA_libgnu_a_SOURCES += rpmatch.c + +## end gnulib module rpmatch + +## begin gnulib module safe-read + +libgnu_a_SOURCES += safe-read.c + +EXTRA_DIST += safe-read.h + +## end gnulib module safe-read + +## begin gnulib module safe-write + +libgnu_a_SOURCES += safe-write.c + +EXTRA_DIST += safe-read.c safe-write.h + +EXTRA_libgnu_a_SOURCES += safe-read.c + +## end gnulib module safe-write + +## begin gnulib module same-inode + + +EXTRA_DIST += same-inode.h + +## end gnulib module same-inode + +## begin gnulib module save-cwd + +libgnu_a_SOURCES += save-cwd.c + +EXTRA_DIST += save-cwd.h + +## end gnulib module save-cwd + +## begin gnulib module savedir + +libgnu_a_SOURCES += savedir.c + +EXTRA_DIST += savedir.h + +## end gnulib module savedir + +## begin gnulib module secure_getenv + + +EXTRA_DIST += secure_getenv.c + +EXTRA_libgnu_a_SOURCES += secure_getenv.c + +## end gnulib module secure_getenv + +## begin gnulib module selinux-at + + +EXTRA_DIST += at-func.c selinux-at.c selinux-at.h + +EXTRA_libgnu_a_SOURCES += at-func.c selinux-at.c + +## end gnulib module selinux-at + +## begin gnulib module selinux-h + +libgnu_a_SOURCES += se-context.in.h se-selinux.in.h se-context.c se-selinux.c + +BUILT_SOURCES += selinux/selinux.h +selinux/selinux.h: se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) + $(AM_V_at)$(MKDIR_P) selinux + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ + -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ + < $(srcdir)/se-selinux.in.h; \ + } > $@-t && \ + chmod a-x $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += selinux/selinux.h selinux/selinux.h-t + +BUILT_SOURCES += $(SELINUX_CONTEXT_H) +if GL_GENERATE_SELINUX_CONTEXT_H +selinux/context.h: se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) + $(AM_V_at)$(MKDIR_P) selinux + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ + < $(srcdir)/se-context.in.h; \ + } > $@-t && \ + chmod a-x $@-t && \ + mv $@-t $@ +else +selinux/context.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += selinux/context.h selinux/context.h-t +MOSTLYCLEANDIRS += selinux + +EXTRA_DIST += getfilecon.c + +EXTRA_libgnu_a_SOURCES += getfilecon.c + +## end gnulib module selinux-h + +## begin gnulib module setenv + + +EXTRA_DIST += setenv.c + +EXTRA_libgnu_a_SOURCES += setenv.c + +## end gnulib module setenv + +## begin gnulib module signal-h + +BUILT_SOURCES += signal.h + +# We need the following in order to create when the system +# doesn't have a complete one. +signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ + -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ + -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ + -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ + -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ + -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ + -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ + -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ + -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ + -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ + -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ + -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ + -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/signal.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += signal.h signal.h-t + +EXTRA_DIST += signal.in.h + +## end gnulib module signal-h + +## begin gnulib module size_max + +libgnu_a_SOURCES += size_max.h + +## end gnulib module size_max + +## begin gnulib module sleep + + +EXTRA_DIST += sleep.c + +EXTRA_libgnu_a_SOURCES += sleep.c + +## end gnulib module sleep + +## begin gnulib module snippet/_Noreturn + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all Makefile.am that +# need it. This is ensured by the applicability 'all' defined above. + +_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h + +## end gnulib module snippet/_Noreturn + +## begin gnulib module snippet/arg-nonnull + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += arg-nonnull.h +# The arg-nonnull.h that gets inserted into generated .h files is the same as +# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut +# off. +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_ARG_NONNULL/,$$p' \ + < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t + +ARG_NONNULL_H=arg-nonnull.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h + +## end gnulib module snippet/arg-nonnull + +## begin gnulib module snippet/c++defs + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += c++defs.h +# The c++defs.h that gets inserted into generated .h files is the same as +# build-aux/snippet/c++defs.h, except that it has the copyright header cut off. +c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/_GL_CXXDEFS/,$$p' \ + < $(top_srcdir)/build-aux/snippet/c++defs.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += c++defs.h c++defs.h-t + +CXXDEFS_H=c++defs.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h + +## end gnulib module snippet/c++defs + +## begin gnulib module snippet/unused-parameter + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += unused-parameter.h +# The unused-parameter.h that gets inserted into generated .h files is the same +# as build-aux/snippet/unused-parameter.h, except that it has the copyright +# header cut off. +unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ + < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t + +UNUSED_PARAMETER_H=unused-parameter.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h + +## end gnulib module snippet/unused-parameter + +## begin gnulib module snippet/warn-on-use + +BUILT_SOURCES += warn-on-use.h +# The warn-on-use.h that gets inserted into generated .h files is the same as +# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut +# off. +warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/^.ifndef/,$$p' \ + < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t + +WARN_ON_USE_H=warn-on-use.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h + +## end gnulib module snippet/warn-on-use + +## begin gnulib module snprintf + + +EXTRA_DIST += snprintf.c + +EXTRA_libgnu_a_SOURCES += snprintf.c + +## end gnulib module snprintf + +## begin gnulib module stat + + +EXTRA_DIST += stat.c + +EXTRA_libgnu_a_SOURCES += stat.c + +## end gnulib module stat + +## begin gnulib module stat-macros + + +EXTRA_DIST += stat-macros.h + +## end gnulib module stat-macros + +## begin gnulib module stat-time + +libgnu_a_SOURCES += stat-time.c + +EXTRA_DIST += stat-time.h + +## end gnulib module stat-time + +## begin gnulib module statat + +libgnu_a_SOURCES += statat.c + +## end gnulib module statat + +## begin gnulib module stdalign + +BUILT_SOURCES += $(STDALIGN_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDALIGN_H +stdalign.h: stdalign.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/stdalign.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdalign.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdalign.h stdalign.h-t + +EXTRA_DIST += stdalign.in.h + +## end gnulib module stdalign + +## begin gnulib module stdarg + +BUILT_SOURCES += $(STDARG_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDARG_H +stdarg.h: stdarg.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ + < $(srcdir)/stdarg.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdarg.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdarg.h stdarg.h-t + +EXTRA_DIST += stdarg.in.h + +## end gnulib module stdarg + +## begin gnulib module stdbool + +BUILT_SOURCES += $(STDBOOL_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDBOOL_H +stdbool.h: stdbool.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdbool.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdbool.h stdbool.h-t + +EXTRA_DIST += stdbool.in.h + +## end gnulib module stdbool + +## begin gnulib module stddef + +BUILT_SOURCES += $(STDDEF_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDDEF_H +stddef.h: stddef.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ + -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ + -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ + < $(srcdir)/stddef.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stddef.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stddef.h stddef.h-t + +EXTRA_DIST += stddef.in.h + +## end gnulib module stddef + +## begin gnulib module stdint + +BUILT_SOURCES += $(STDINT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDINT_H +stdint.h: stdint.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_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_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ + -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/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/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ + -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ + -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ + -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ + -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ + -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ + -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ + -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdint.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdint.h stdint.h-t + +EXTRA_DIST += stdint.in.h + +## end gnulib module stdint + +## begin gnulib module stdio + +BUILT_SOURCES += stdio.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ + -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ + -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ + -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ + -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ + -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ + -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ + -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ + -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ + -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ + -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ + -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ + -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ + -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ + -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ + -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ + -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ + -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ + -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ + -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ + -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ + -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ + -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ + -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ + -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ + -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ + -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ + -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ + -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ + -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ + -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ + -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ + -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ + -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ + -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ + -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ + -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ + -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ + -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/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' \ + < $(srcdir)/stdio.in.h | \ + sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ + -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ + -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ + -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ + -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ + -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ + -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ + -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ + -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ + -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ + -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ + -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \ + -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \ + -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ + -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ + -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ + -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ + -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ + -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ + -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ + -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ + -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ + -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ + -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ + -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ + -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ + -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ + -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ + -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ + -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ + -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ + -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ + -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ + -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ + -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ + -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ + -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ + -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ + -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ + -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \ + -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ + -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ + -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ + -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ + -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ + -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ + -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ + -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ + -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += stdio.h stdio.h-t + +EXTRA_DIST += stdio.in.h + +## end gnulib module stdio + +## begin gnulib module stdlib + +BUILT_SOURCES += stdlib.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ + -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ + -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ + -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ + -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ + -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ + -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ + -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ + -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ + -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ + -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ + -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ + -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ + -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ + -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ + -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ + -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ + -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ + -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ + -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ + -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ + -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ + -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ + < $(srcdir)/stdlib.in.h | \ + sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ + -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ + -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ + -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ + -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ + -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ + -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ + -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ + -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ + -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ + -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ + -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ + -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ + -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ + -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ + -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ + -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ + -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ + -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ + -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ + -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ + -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ + -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ + -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ + -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ + -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ + -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ + -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ + -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ + -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ + -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ + -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ + -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ + -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ + -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ + -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ + -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ + -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _Noreturn/r $(_NORETURN_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += stdlib.h stdlib.h-t + +EXTRA_DIST += stdlib.in.h + +## end gnulib module stdlib + +## begin gnulib module stpcpy + + +EXTRA_DIST += stpcpy.c + +EXTRA_libgnu_a_SOURCES += stpcpy.c + +## end gnulib module stpcpy + +## begin gnulib module strcase + + +EXTRA_DIST += strcasecmp.c strncasecmp.c + +EXTRA_libgnu_a_SOURCES += strcasecmp.c strncasecmp.c + +## end gnulib module strcase + +## begin gnulib module strchrnul + + +EXTRA_DIST += strchrnul.c strchrnul.valgrind + +EXTRA_libgnu_a_SOURCES += strchrnul.c + +## end gnulib module strchrnul + +## begin gnulib module strdup-posix + + +EXTRA_DIST += strdup.c + +EXTRA_libgnu_a_SOURCES += strdup.c + +## end gnulib module strdup-posix + +## begin gnulib module streq + + +EXTRA_DIST += streq.h + +## end gnulib module streq + +## begin gnulib module strerror + + +EXTRA_DIST += strerror.c + +EXTRA_libgnu_a_SOURCES += strerror.c + +## end gnulib module strerror + +## begin gnulib module strerror-override + + +EXTRA_DIST += strerror-override.c strerror-override.h + +EXTRA_libgnu_a_SOURCES += strerror-override.c + +## end gnulib module strerror-override + +## begin gnulib module string + +BUILT_SOURCES += string.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/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_MEMCHR''@/$(GNULIB_MEMCHR)/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_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/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_STRNCAT''@/$(GNULIB_STRNCAT)/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_STRSTR''@/$(GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ + < $(srcdir)/string.in.h | \ + sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ + -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ + -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ + -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|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_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ + -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ + -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ + -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ + -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|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 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ + -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ + -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ + -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ + -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ + -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ + -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ + -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ + -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ + -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ + -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + < $(srcdir)/string.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += string.h string.h-t + +EXTRA_DIST += string.in.h + +## end gnulib module string + +## begin gnulib module strings + +BUILT_SOURCES += strings.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ + -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \ + -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \ + -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ + -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/strings.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += strings.h strings.h-t + +EXTRA_DIST += strings.in.h + +## end gnulib module strings + +## begin gnulib module strndup + + +EXTRA_DIST += strndup.c + +EXTRA_libgnu_a_SOURCES += strndup.c + +## end gnulib module strndup + +## begin gnulib module strnlen + + +EXTRA_DIST += strnlen.c + +EXTRA_libgnu_a_SOURCES += strnlen.c + +## end gnulib module strnlen + +## begin gnulib module strnlen1 + +libgnu_a_SOURCES += strnlen1.h strnlen1.c + +## end gnulib module strnlen1 + +## begin gnulib module strtol + + +EXTRA_DIST += strtol.c + +EXTRA_libgnu_a_SOURCES += strtol.c + +## end gnulib module strtol + +## begin gnulib module strtoul + + +EXTRA_DIST += strtol.c strtoul.c + +EXTRA_libgnu_a_SOURCES += strtol.c strtoul.c + +## end gnulib module strtoul + +## begin gnulib module strtoull + + +EXTRA_DIST += strtol.c strtoul.c strtoull.c + +EXTRA_libgnu_a_SOURCES += strtol.c strtoul.c strtoull.c + +## end gnulib module strtoull + +## begin gnulib module strtoumax + + +EXTRA_DIST += strtoimax.c strtoumax.c + +EXTRA_libgnu_a_SOURCES += strtoimax.c strtoumax.c + +## end gnulib module strtoumax + +## begin gnulib module symlink + + +EXTRA_DIST += symlink.c + +EXTRA_libgnu_a_SOURCES += symlink.c + +## end gnulib module symlink + +## begin gnulib module symlinkat + + +EXTRA_DIST += at-func.c symlinkat.c + +EXTRA_libgnu_a_SOURCES += at-func.c symlinkat.c + +## end gnulib module symlinkat + +## begin gnulib module sys_stat + +BUILT_SOURCES += sys/stat.h + +# We need the following in order to create when the system +# has one that is incomplete. +sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ + -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ + -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ + -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ + -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ + -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ + -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ + -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ + -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ + -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ + -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ + -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ + -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ + -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ + -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ + -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ + -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ + -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ + -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ + -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ + -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ + -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ + -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ + -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ + -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ + -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ + -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ + -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ + -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ + -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ + -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ + -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ + -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ + -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/sys_stat.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t +MOSTLYCLEANDIRS += sys + +EXTRA_DIST += sys_stat.in.h + +## end gnulib module sys_stat + +## begin gnulib module sys_time + +BUILT_SOURCES += sys/time.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ + -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ + -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ + -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ + -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ + -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ + -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/sys_time.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/time.h sys/time.h-t + +EXTRA_DIST += sys_time.in.h + +## end gnulib module sys_time + +## begin gnulib module sys_types + +BUILT_SOURCES += sys/types.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/types.h: sys_types.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + < $(srcdir)/sys_types.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/types.h sys/types.h-t + +EXTRA_DIST += sys_types.in.h + +## end gnulib module sys_types + +## begin gnulib module sysexits + +BUILT_SOURCES += $(SYSEXITS_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_SYSEXITS_H +sysexits.h: sysexits.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \ + < $(srcdir)/sysexits.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +else +sysexits.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += sysexits.h sysexits.h-t + +EXTRA_DIST += sysexits.in.h + +## end gnulib module sysexits + +## begin gnulib module tempname + +libgnu_a_SOURCES += tempname.c + +EXTRA_DIST += tempname.h + +## end gnulib module tempname + +## begin gnulib module time + +BUILT_SOURCES += time.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ + -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ + -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ + -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ + -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ + -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ + -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ + -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ + -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ + -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ + -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ + -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ + -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ + -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|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' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/time.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += time.h time.h-t + +EXTRA_DIST += time.in.h + +## end gnulib module time + +## begin gnulib module time_r + + +EXTRA_DIST += time_r.c + +EXTRA_libgnu_a_SOURCES += time_r.c + +## end gnulib module time_r + +## begin gnulib module timespec + +libgnu_a_SOURCES += timespec.c + +EXTRA_DIST += timespec.h + +## end gnulib module timespec + +## begin gnulib module unistd + +BUILT_SOURCES += unistd.h +libgnu_a_SOURCES += unistd.c + +# We need the following in order to create an empty placeholder for +# when the system doesn't have one. +unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ + -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ + -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ + -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ + -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ + -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ + -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ + -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ + -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ + -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ + -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ + -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ + -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ + -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ + -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ + -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ + -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ + -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ + -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ + -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ + -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ + -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ + -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ + -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ + -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ + -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ + -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ + -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ + -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ + -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ + -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ + -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ + -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ + -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ + -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ + -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ + -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ + -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ + -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ + -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ + -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ + -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ + -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ + < $(srcdir)/unistd.in.h | \ + sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ + -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ + -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ + -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ + -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ + -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ + -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \ + -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ + -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ + -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ + -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ + -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ + -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ + -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ + -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ + -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ + -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ + -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ + -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \ + -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ + -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ + -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ + -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ + -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ + -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \ + -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ + -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ + -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ + -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ + -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ + -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ + -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ + -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ + -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ + -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ + -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ + -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ + -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ + -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ + -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ + -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ + | \ + sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ + -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ + -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ + -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ + -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ + -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ + -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ + -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ + -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ + -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ + -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ + -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ + -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ + -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ + -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ + -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ + -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ + -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ + -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ + -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ + -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ + -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ + -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ + -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ + -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ + -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ + -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ + -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ + -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += unistd.h unistd.h-t + +EXTRA_DIST += unistd.in.h + +## end gnulib module unistd + +## begin gnulib module unistd-safer + +libgnu_a_SOURCES += dup-safer.c fd-safer.c pipe-safer.c + +EXTRA_DIST += unistd--.h unistd-safer.h + +## end gnulib module unistd-safer + +## begin gnulib module unitypes + +BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H) + +unitypes.h: unitypes.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unitypes.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += unitypes.h unitypes.h-t + +EXTRA_DIST += unitypes.in.h + +## end gnulib module unitypes + +## begin gnulib module uniwidth/base + +BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) + +uniwidth.h: uniwidth.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniwidth.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t + +EXTRA_DIST += localcharset.h uniwidth.in.h + +## end gnulib module uniwidth/base + +## begin gnulib module uniwidth/width + +if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH +libgnu_a_SOURCES += uniwidth/width.c +endif + +EXTRA_DIST += uniwidth/cjk.h + +## end gnulib module uniwidth/width + +## begin gnulib module unlink + + +EXTRA_DIST += unlink.c + +EXTRA_libgnu_a_SOURCES += unlink.c + +## end gnulib module unlink + +## begin gnulib module unlinkat + + +EXTRA_DIST += at-func.c unlinkat.c + +EXTRA_libgnu_a_SOURCES += at-func.c unlinkat.c + +## end gnulib module unlinkat + +## begin gnulib module unlinkdir + +libgnu_a_SOURCES += unlinkdir.c + +EXTRA_DIST += unlinkdir.h + +## end gnulib module unlinkdir + +## begin gnulib module unlocked-io + + +EXTRA_DIST += unlocked-io.h + +## end gnulib module unlocked-io + +## begin gnulib module unsetenv + + +EXTRA_DIST += unsetenv.c + +EXTRA_libgnu_a_SOURCES += unsetenv.c + +## end gnulib module unsetenv + +## begin gnulib module utimens + +libgnu_a_SOURCES += utimens.c + +EXTRA_DIST += utimens.h + +## end gnulib module utimens + +## begin gnulib module utimensat + + +EXTRA_DIST += at-func.c utimensat.c + +EXTRA_libgnu_a_SOURCES += at-func.c utimensat.c + +## end gnulib module utimensat + +## begin gnulib module vasnprintf + + +EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h + +EXTRA_libgnu_a_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c + +## end gnulib module vasnprintf + +## begin gnulib module vasprintf + + +EXTRA_DIST += asprintf.c vasprintf.c + +EXTRA_libgnu_a_SOURCES += asprintf.c vasprintf.c + +## end gnulib module vasprintf + +## begin gnulib module verify + + +EXTRA_DIST += verify.h + +## end gnulib module verify + +## begin gnulib module version-etc + +libgnu_a_SOURCES += version-etc.h version-etc.c + +## end gnulib module version-etc + +## begin gnulib module version-etc-fsf + +libgnu_a_SOURCES += version-etc-fsf.c + +## end gnulib module version-etc-fsf + +## begin gnulib module vsnprintf + + +EXTRA_DIST += vsnprintf.c + +EXTRA_libgnu_a_SOURCES += vsnprintf.c + +## end gnulib module vsnprintf + +## begin gnulib module wchar + +BUILT_SOURCES += wchar.h + +# We need the following in order to create when the system +# version does not work standalone. +wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ + -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ + -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ + -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ + < $(srcdir)/wchar.in.h | \ + sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ + -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ + -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ + -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ + -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ + -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ + -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ + -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ + -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ + -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ + -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \ + -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ + -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ + -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ + -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ + -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ + -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ + -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \ + -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \ + -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \ + -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \ + -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \ + -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \ + -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \ + -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \ + -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \ + -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \ + -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \ + -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \ + -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \ + -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \ + -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \ + -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \ + -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \ + -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \ + -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \ + -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \ + -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ + -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ + -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ + | \ + sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ + -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ + -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ + -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ + -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ + -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ + -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ + -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ + -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ + -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ + -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ + -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ + -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += wchar.h wchar.h-t + +EXTRA_DIST += wchar.in.h + +## end gnulib module wchar + +## begin gnulib module wcrtomb + + +EXTRA_DIST += wcrtomb.c + +EXTRA_libgnu_a_SOURCES += wcrtomb.c + +## end gnulib module wcrtomb + +## begin gnulib module wctype-h + +BUILT_SOURCES += wctype.h +libgnu_a_SOURCES += wctype-h.c + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ + -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ + -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ + -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ + -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ + -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ + -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ + -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ + -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ + -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ + -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ + -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ + -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ + -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/wctype.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += wctype.h wctype.h-t + +EXTRA_DIST += wctype.in.h + +## end gnulib module wctype-h + +## begin gnulib module wcwidth + + +EXTRA_DIST += wcwidth.c + +EXTRA_libgnu_a_SOURCES += wcwidth.c + +## end gnulib module wcwidth + +## begin gnulib module write + + +EXTRA_DIST += write.c + +EXTRA_libgnu_a_SOURCES += write.c + +## end gnulib module write + +## begin gnulib module xalloc + +libgnu_a_SOURCES += xmalloc.c + +EXTRA_DIST += xalloc.h + +## end gnulib module xalloc + +## begin gnulib module xalloc-die + +libgnu_a_SOURCES += xalloc-die.c + +## end gnulib module xalloc-die + +## begin gnulib module xalloc-oversized + + +EXTRA_DIST += xalloc-oversized.h + +## end gnulib module xalloc-oversized + +## begin gnulib module xgetcwd + +libgnu_a_SOURCES += xgetcwd.c + +EXTRA_DIST += xgetcwd.h + +## end gnulib module xgetcwd + +## begin gnulib module xsize + +libgnu_a_SOURCES += xsize.h xsize.c + +## end gnulib module xsize + +## begin gnulib module xstrndup + +libgnu_a_SOURCES += xstrndup.h xstrndup.c + +## end gnulib module xstrndup + +## begin gnulib module xstrtol + +libgnu_a_SOURCES += xstrtol.c xstrtoul.c xstrtol-error.c + +EXTRA_DIST += xstrtol.h + +## end gnulib module xstrtol + +## begin gnulib module xstrtoumax + +libgnu_a_SOURCES += xstrtoumax.c + +## end gnulib module xstrtoumax + +## begin gnulib module xvasprintf + +libgnu_a_SOURCES += xvasprintf.h xvasprintf.c xasprintf.c + +EXTRA_DIST += xalloc.h + +## end gnulib module xvasprintf + + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff --git a/gnu/hash.c b/gnu/hash.c index 1b4474ff..8921b4fe 100644 --- a/gnu/hash.c +++ b/gnu/hash.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* hash - hashing table processing. - Copyright (C) 1998-2004, 2006-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1998-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Jim Meyering, 1992. @@ -29,7 +29,7 @@ #include "hash.h" #include "bitrotate.h" -#include "xalloc.h" +#include "xalloc-oversized.h" #include #include @@ -65,7 +65,7 @@ struct hash_table /* Tuning arguments, kept in a physically separate structure. */ const Hash_tuning *tuning; - /* Three functions are given to `hash_initialize', see the documentation + /* Three functions are given to 'hash_initialize', see the documentation block for this function. In a word, HASHER randomizes a user entry into a number up from 0 up to some maximum minus 1; COMPARATOR returns true if two user entries compare equally; and DATA_FREER is the cleanup @@ -89,23 +89,23 @@ struct hash_table some user-provided data (also called a user entry). An entry indistinctly refers to both the internal entry and its associated user entry. A user entry contents may be hashed by a randomization function (the hashing - function, or just `hasher' for short) into a number (or `slot') between 0 + function, or just "hasher" for short) into a number (or "slot") between 0 and the current table size. At each slot position in the hash table, starts a linked chain of entries for which the user data all hash to this slot. A bucket is the collection of all entries hashing to the same slot. - A good `hasher' function will distribute entries rather evenly in buckets. + A good "hasher" function will distribute entries rather evenly in buckets. In the ideal case, the length of each bucket is roughly the number of entries divided by the table size. Finding the slot for a data is usually - done in constant time by the `hasher', and the later finding of a precise + done in constant time by the "hasher", and the later finding of a precise entry is linear in time with the size of the bucket. Consequently, a larger hash table size (that is, a larger number of buckets) is prone to - yielding shorter chains, *given* the `hasher' function behaves properly. + yielding shorter chains, *given* the "hasher" function behaves properly. Long buckets slow down the lookup algorithm. One might use big hash table sizes in hope to reduce the average length of buckets, but this might become inordinate, as unused slots in the hash table take some space. The - best bet is to make sure you are using a good `hasher' function (beware + best bet is to make sure you are using a good "hasher" function (beware that those are not that easy to write! :-), and to use a table size larger than the actual number of entries. */ @@ -115,8 +115,8 @@ struct hash_table 1.0). The growth threshold defaults to 0.8, and the growth factor defaults to 1.414, meaning that the table will have doubled its size every second time 80% of the buckets get used. */ -#define DEFAULT_GROWTH_THRESHOLD 0.8 -#define DEFAULT_GROWTH_FACTOR 1.414 +#define DEFAULT_GROWTH_THRESHOLD 0.8f +#define DEFAULT_GROWTH_FACTOR 1.414f /* If a deletion empties a bucket and causes the ratio of used buckets to table size to become smaller than the shrink threshold (a number between @@ -124,8 +124,8 @@ struct hash_table number greater than the shrink threshold but smaller than 1.0). The shrink threshold and factor default to 0.0 and 1.0, meaning that the table never shrinks. */ -#define DEFAULT_SHRINK_THRESHOLD 0.0 -#define DEFAULT_SHRINK_FACTOR 1.0 +#define DEFAULT_SHRINK_THRESHOLD 0.0f +#define DEFAULT_SHRINK_FACTOR 1.0f /* Use this to initialize or reset a TUNING structure to some sensible values. */ @@ -302,7 +302,7 @@ hash_get_first (const Hash_table *table) } /* Return the user data for the entry following ENTRY, where ENTRY has been - returned by a previous call to either `hash_get_first' or `hash_get_next'. + returned by a previous call to either 'hash_get_first' or 'hash_get_next'. Return NULL if there are no more entries. */ void * @@ -421,9 +421,9 @@ hash_string (const char *string, size_t n_buckets) #else /* not USE_DIFF_HASH */ -/* This one comes from `recode', and performs a bit better than the above as +/* This one comes from 'recode', and performs a bit better than the above as per a few experiments. It is inspired from a hashing routine found in the - very old Cyber `snoop', itself written in typical Greg Mansfield style. + very old Cyber 'snoop', itself written in typical Greg Mansfield style. (By the way, what happened to this excellent man? Is he still alive?) */ size_t @@ -442,7 +442,7 @@ hash_string (const char *string, size_t n_buckets) /* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd number at least equal to 11. */ -static bool +static bool _GL_ATTRIBUTE_CONST is_prime (size_t candidate) { size_t divisor = 3; @@ -461,7 +461,7 @@ is_prime (size_t candidate) /* Round a given CANDIDATE number up to the nearest prime, and return that prime. Primes lower than 10 are merely skipped. */ -static size_t +static size_t _GL_ATTRIBUTE_CONST next_prime (size_t candidate) { /* Skip small primes. */ @@ -542,7 +542,7 @@ check_tuning (Hash_table *table) TUNING, or return 0 if there is no possible way to allocate that many entries. */ -static size_t +static size_t _GL_ATTRIBUTE_PURE compute_bucket_size (size_t candidate, const Hash_tuning *tuning) { if (!tuning->is_n_buckets) @@ -586,9 +586,9 @@ compute_bucket_size (size_t candidate, const Hash_tuning *tuning) The user-supplied DATA_FREER function, when not NULL, may be later called with the user data as an argument, just before the entry containing the - data gets freed. This happens from within `hash_free' or `hash_clear'. + data gets freed. This happens from within 'hash_free' or 'hash_clear'. You should specify this function only if you want these functions to free - all of your `data' data. This is typically the case when your data is + all of your 'data' data. This is typically the case when your data is simply an auxiliary struct that you have malloc'd to aggregate several values. */ @@ -1020,7 +1020,9 @@ hash_rehash (Hash_table *table, size_t candidate) return false; } -/* Return -1 upon memory allocation failure. +/* Insert ENTRY into hash TABLE if there is not already a matching entry. + + Return -1 upon memory allocation failure. Return 1 if insertion succeeded. Return 0 if there is already a matching entry in the table, and in that case, if MATCHED_ENT is non-NULL, set *MATCHED_ENT @@ -1032,10 +1034,11 @@ hash_rehash (Hash_table *table, size_t candidate) hash_insert, the only way to distinguish those cases is to compare the return value and ENTRY. That works only when you can have two different ENTRY values that point to data that compares "equal". Thus, - when the ENTRY value is a simple scalar, you must use hash_insert0. - ENTRY must not be NULL. */ + when the ENTRY value is a simple scalar, you must use + hash_insert_if_absent. ENTRY must not be NULL. */ int -hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) +hash_insert_if_absent (Hash_table *table, void const *entry, + void const **matched_ent) { void *data; struct hash_entry *bucket; @@ -1115,6 +1118,14 @@ hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) return 1; } +/* hash_insert0 is the deprecated name for hash_insert_if_absent. + . */ +int +hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) +{ + return hash_insert_if_absent (table, entry, matched_ent); +} + /* If ENTRY matches an entry already in the hash table, return the pointer to the entry from the table. Otherwise, insert ENTRY and return ENTRY. Return NULL if the storage required for insertion cannot be allocated. @@ -1125,7 +1136,7 @@ void * hash_insert (Hash_table *table, void const *entry) { void const *matched_ent; - int err = hash_insert0 (table, entry, &matched_ent); + int err = hash_insert_if_absent (table, entry, &matched_ent); return (err == -1 ? NULL : (void *) (err == 0 ? matched_ent : entry)); diff --git a/gnu/hash.h b/gnu/hash.h index afe8dd31..02d7e247 100644 --- a/gnu/hash.h +++ b/gnu/hash.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* hash - hashing table processing. - Copyright (C) 1998-1999, 2001, 2003, 2009-2011 Free Software Foundation, + Copyright (C) 1998-1999, 2001, 2003, 2009-2013 Free Software Foundation, Inc. Written by Jim Meyering , 1998. @@ -21,7 +21,7 @@ /* A generic hash table package. */ /* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use - obstacks instead of malloc, and recompile `hash.c' with same setting. */ + obstacks instead of malloc, and recompile 'hash.c' with same setting. */ #ifndef HASH_H_ # define HASH_H_ @@ -37,6 +37,16 @@ # define _GL_ATTRIBUTE_WUR /* empty */ # endif +# ifndef _GL_ATTRIBUTE_DEPRECATED +/* The __attribute__((__deprecated__)) feature + is available in gcc versions 3.1 and newer. */ +# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1) +# define _GL_ATTRIBUTE_DEPRECATED /* empty */ +# else +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +# endif +# endif + typedef size_t (*Hash_hasher) (const void *, size_t); typedef bool (*Hash_comparator) (const void *, const void *); typedef void (*Hash_data_freer) (void *); @@ -44,8 +54,8 @@ typedef bool (*Hash_processor) (void *, void *); struct hash_tuning { - /* This structure is mainly used for `hash_initialize', see the block - documentation of `hash_reset_tuning' for more complete comments. */ + /* This structure is mainly used for 'hash_initialize', see the block + documentation of 'hash_reset_tuning' for more complete comments. */ float shrink_threshold; /* ratio of used buckets to trigger a shrink */ float shrink_factor; /* ratio of new smaller size to original size */ @@ -61,22 +71,22 @@ struct hash_table; typedef struct hash_table Hash_table; /* Information and lookup. */ -size_t hash_get_n_buckets (const Hash_table *); -size_t hash_get_n_buckets_used (const Hash_table *); -size_t hash_get_n_entries (const Hash_table *); -size_t hash_get_max_bucket_length (const Hash_table *); -bool hash_table_ok (const Hash_table *); +size_t hash_get_n_buckets (const Hash_table *) _GL_ATTRIBUTE_PURE; +size_t hash_get_n_buckets_used (const Hash_table *) _GL_ATTRIBUTE_PURE; +size_t hash_get_n_entries (const Hash_table *) _GL_ATTRIBUTE_PURE; +size_t hash_get_max_bucket_length (const Hash_table *) _GL_ATTRIBUTE_PURE; +bool hash_table_ok (const Hash_table *) _GL_ATTRIBUTE_PURE; void hash_print_statistics (const Hash_table *, FILE *); void *hash_lookup (const Hash_table *, const void *); /* Walking. */ -void *hash_get_first (const Hash_table *); +void *hash_get_first (const Hash_table *) _GL_ATTRIBUTE_PURE; void *hash_get_next (const Hash_table *, const void *); size_t hash_get_entries (const Hash_table *, void **, size_t); size_t hash_do_for_each (const Hash_table *, Hash_processor, void *); /* Allocation and clean-up. */ -size_t hash_string (const char *, size_t); +size_t hash_string (const char *, size_t) _GL_ATTRIBUTE_PURE; void hash_reset_tuning (Hash_tuning *); Hash_table *hash_initialize (size_t, const Hash_tuning *, Hash_hasher, Hash_comparator, @@ -87,8 +97,13 @@ void hash_free (Hash_table *); /* Insertion and deletion. */ bool hash_rehash (Hash_table *, size_t) _GL_ATTRIBUTE_WUR; void *hash_insert (Hash_table *, const void *) _GL_ATTRIBUTE_WUR; -int hash_insert0 (Hash_table *table, const void *entry, - const void **matched_ent); + +/* Deprecate this interface. It has been renamed to hash_insert_if_absent. */ +int hash_insert0 (Hash_table *table, /* FIXME: remove in 2013 */ + const void *entry, + const void **matched_ent) _GL_ATTRIBUTE_DEPRECATED; +int hash_insert_if_absent (Hash_table *table, const void *entry, + const void **matched_ent); void *hash_delete (Hash_table *, const void *); #endif diff --git a/gnu/human.c b/gnu/human.c index b2ef3ea8..be90515e 100644 --- a/gnu/human.c +++ b/gnu/human.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* human.c -- print human readable file size - Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2013 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 @@ -74,7 +74,7 @@ adjust_value (int inexact_style, long double value) each byte inserted. Return the starting address of the modified number. - To group the digits, use GROUPING and THOUSANDS_SEP as in `struct + To group the digits, use GROUPING and THOUSANDS_SEP as in 'struct lconv' from . */ static char * @@ -130,7 +130,7 @@ group_number (char *number, size_t numberlen, that cannot be expressed exactly. If (OPTS & human_group_digits), group the thousands digits - according to the locale, e.g., `1,000,000' in an American English + according to the locale, e.g., "1,000,000" in an American English locale. If (OPTS & human_autoscale), deduce the output block size diff --git a/gnu/human.h b/gnu/human.h index a46aaaa3..5c65b4a9 100644 --- a/gnu/human.h +++ b/gnu/human.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* human.h -- print human readable file size - Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1996-2007, 2009-2013 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 @@ -54,7 +54,7 @@ enum /* Round to minus infinity. */ human_floor = 2, - /* Group digits together, e.g. `1,000,000'. This uses the + /* Group digits together, e.g. "1,000,000". This uses the locale-defined grouping; the traditional C locale does not group, so this has effect only if some other locale is in use. */ human_group_digits = 4, diff --git a/gnu/intprops.h b/gnu/intprops.h index 45776063..9c205441 100644 --- a/gnu/intprops.h +++ b/gnu/intprops.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* intprops.h -- properties of integer types - Copyright (C) 2001-2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,70 +19,303 @@ /* Written by Paul Eggert. */ -#ifndef GL_INTPROPS_H -# define GL_INTPROPS_H +#ifndef _GL_INTPROPS_H +#define _GL_INTPROPS_H -# include +#include + +/* Return an integer value, converted to the same type as the integer + expression E after integer type promotion. V is the unconverted value. */ +#define _GL_INT_CONVERT(e, v) (0 * (e) + (v)) + +/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see + . */ +#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v)) /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if the arithmetic type T is an integer type. bool counts as an integer. */ -# define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) +#define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ -# define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) -# define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) -# define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) +#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) +#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) +#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) + +/* True if the signed integer expression E uses two's complement. */ +#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1) /* True if the arithmetic type T is signed. */ -# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) +#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) + +/* Return 1 if the integer expression E, after integer promotion, has + a signed type. */ +#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0) + -/* The maximum and minimum values for the integer type T. These +/* Minimum and maximum values for integer types and expressions. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ -# define TYPE_MINIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) 0 \ - : TYPE_SIGNED_MAGNITUDE (t) \ - ? ~ (t) 0 \ + +/* The maximum and minimum values for the integer type T. */ +#define TYPE_MINIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) 0 \ + : TYPE_SIGNED_MAGNITUDE (t) \ + ? ~ (t) 0 \ : ~ TYPE_MAXIMUM (t))) -# define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ +#define TYPE_MAXIMUM(t) \ + ((t) (! TYPE_SIGNED (t) \ + ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -/* Return zero if T can be determined to be an unsigned type. - Otherwise, return 1. - When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a - tighter bound. Otherwise, it overestimates the true bound by one byte - when applied to unsigned types of size 2, 4, 16, ... bytes. - The symbol signed_type_or_expr__ is private to this header file. */ -# if __GNUC__ >= 2 -# define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t)) -# else -# define signed_type_or_expr__(t) 1 -# endif +/* The maximum and minimum values for the type of the expression E, + after integer promotion. E should not have side effects. */ +#define _GL_INT_MINIMUM(e) \ + (_GL_INT_SIGNED (e) \ + ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e) \ + : _GL_INT_CONVERT (e, 0)) +#define _GL_INT_MAXIMUM(e) \ + (_GL_INT_SIGNED (e) \ + ? _GL_SIGNED_INT_MAXIMUM (e) \ + : _GL_INT_NEGATE_CONVERT (e, 1)) +#define _GL_SIGNED_INT_MAXIMUM(e) \ + (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) + + +/* Return 1 if the __typeof__ keyword works. This could be done by + 'configure', but for now it's easier to do it by hand. */ +#if 2 <= __GNUC__ || defined __IBM__TYPEOF__ || 0x5110 <= __SUNPRO_C +# define _GL_HAVE___TYPEOF__ 1 +#else +# define _GL_HAVE___TYPEOF__ 0 +#endif + +/* Return 1 if the integer type or expression T might be signed. Return 0 + if it is definitely unsigned. This macro does not evaluate its argument, + and expands to an integer constant expression. */ +#if _GL_HAVE___TYPEOF__ +# define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t)) +#else +# define _GL_SIGNED_TYPE_OR_EXPR(t) 1 +#endif /* Bound on length of the string representing an unsigned integer value representable in B bits. log10 (2.0) < 146/485. The smallest value of B where this bound is not tight is 2621. */ -# define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485) +#define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485) /* Bound on length of the string representing an integer type or expression T. Subtract 1 for the sign bit if T is signed, and then add 1 more for - a minus sign if needed. */ -# define INT_STRLEN_BOUND(t) \ - (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) \ - + signed_type_or_expr__ (t)) + a minus sign if needed. + + Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is + signed, this macro may overestimate the true bound by one byte when + applied to unsigned types of size 2, 4, 16, ... bytes. */ +#define INT_STRLEN_BOUND(t) \ + (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ + - _GL_SIGNED_TYPE_OR_EXPR (t)) \ + + _GL_SIGNED_TYPE_OR_EXPR (t)) /* Bound on buffer size needed to represent an integer type or expression T, including the terminating null. */ -# define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) +#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) + + +/* Range overflow checks. + + The INT__RANGE_OVERFLOW macros return 1 if the corresponding C + operators might not yield numerically correct answers due to + arithmetic overflow. They do not rely on undefined or + implementation-defined behavior. Their implementations are simple + and straightforward, but they are a bit harder to use than the + INT__OVERFLOW macros described below. + + Example usage: + + long int i = ...; + long int j = ...; + if (INT_MULTIPLY_RANGE_OVERFLOW (i, j, LONG_MIN, LONG_MAX)) + printf ("multiply would overflow"); + else + printf ("product is %ld", i * j); + + Restrictions on *_RANGE_OVERFLOW macros: + + These macros do not check for all possible numerical problems or + undefined or unspecified behavior: they do not check for division + by zero, for bad shift counts, or for shifting negative numbers. + + These macros may evaluate their arguments zero or multiple times, + so the arguments should not have side effects. The arithmetic + arguments (including the MIN and MAX arguments) must be of the same + integer type after the usual arithmetic conversions, and the type + must have minimum value MIN and maximum MAX. Unsigned types should + use a zero MIN of the proper type. + + These macros are tuned for constant MIN and MAX. For commutative + operations such as A + B, they are also tuned for constant B. */ + +/* Return 1 if A + B would overflow in [MIN,MAX] arithmetic. + See above for restrictions. */ +#define INT_ADD_RANGE_OVERFLOW(a, b, min, max) \ + ((b) < 0 \ + ? (a) < (min) - (b) \ + : (max) - (b) < (a)) + +/* Return 1 if A - B would overflow in [MIN,MAX] arithmetic. + See above for restrictions. */ +#define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max) \ + ((b) < 0 \ + ? (max) + (b) < (a) \ + : (a) < (min) + (b)) + +/* Return 1 if - A would overflow in [MIN,MAX] arithmetic. + See above for restrictions. */ +#define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ + ((min) < 0 \ + ? (a) < - (max) \ + : 0 < (a)) + +/* Return 1 if A * B would overflow in [MIN,MAX] arithmetic. + See above for restrictions. Avoid && and || as they tickle + bugs in Sun C 5.11 2010/08/13 and other compilers; see + . */ +#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \ + ((b) < 0 \ + ? ((a) < 0 \ + ? (a) < (max) / (b) \ + : (b) == -1 \ + ? 0 \ + : (min) / (b) < (a)) \ + : (b) == 0 \ + ? 0 \ + : ((a) < 0 \ + ? (a) < (min) / (b) \ + : (max) / (b) < (a))) + +/* Return 1 if A / B would overflow in [MIN,MAX] arithmetic. + See above for restrictions. Do not check for division by zero. */ +#define INT_DIVIDE_RANGE_OVERFLOW(a, b, min, max) \ + ((min) < 0 && (b) == -1 && (a) < - (max)) + +/* Return 1 if A % B would overflow in [MIN,MAX] arithmetic. + See above for restrictions. Do not check for division by zero. + Mathematically, % should never overflow, but on x86-like hosts + INT_MIN % -1 traps, and the C standard permits this, so treat this + as an overflow too. */ +#define INT_REMAINDER_RANGE_OVERFLOW(a, b, min, max) \ + INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max) + +/* Return 1 if A << B would overflow in [MIN,MAX] arithmetic. + See above for restrictions. Here, MIN and MAX are for A only, and B need + not be of the same type as the other arguments. The C standard says that + behavior is undefined for shifts unless 0 <= B < wordwidth, and that when + A is negative then A << B has undefined behavior and A >> B has + implementation-defined behavior, but do not check these other + restrictions. */ +#define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max) \ + ((a) < 0 \ + ? (a) < (min) >> (b) \ + : (max) >> (b) < (a)) + + +/* The _GL*_OVERFLOW macros have the same restrictions as the + *_RANGE_OVERFLOW macros, except that they do not assume that operands + (e.g., A and B) have the same type as MIN and MAX. Instead, they assume + that the result (e.g., A + B) has that type. */ +#define _GL_ADD_OVERFLOW(a, b, min, max) \ + ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ + : (a) < 0 ? (b) <= (a) + (b) \ + : (b) < 0 ? (a) <= (a) + (b) \ + : (a) + (b) < (b)) +#define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ + ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max) \ + : (a) < 0 ? 1 \ + : (b) < 0 ? (a) - (b) <= (a) \ + : (a) < (b)) +#define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ + (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a)))) \ + || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max)) +#define _GL_DIVIDE_OVERFLOW(a, b, min, max) \ + ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \ + : (a) < 0 ? (b) <= (a) + (b) - 1 \ + : (b) < 0 && (a) + (b) <= (a)) +#define _GL_REMAINDER_OVERFLOW(a, b, min, max) \ + ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \ + : (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b) \ + : (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max)) + +/* Return a nonzero value if A is a mathematical multiple of B, where + A is unsigned, B is negative, and MAX is the maximum value of A's + type. A's type must be the same as (A % B)'s type. Normally (A % + -B == 0) suffices, but things get tricky if -B would overflow. */ +#define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max) \ + (((b) < -_GL_SIGNED_INT_MAXIMUM (b) \ + ? (_GL_SIGNED_INT_MAXIMUM (b) == (max) \ + ? (a) \ + : (a) % (_GL_INT_CONVERT (a, _GL_SIGNED_INT_MAXIMUM (b)) + 1)) \ + : (a) % - (b)) \ + == 0) + + +/* Integer overflow checks. + + The INT__OVERFLOW macros return 1 if the corresponding C operators + might not yield numerically correct answers due to arithmetic overflow. + They work correctly on all known practical hosts, and do not rely + on undefined behavior due to signed arithmetic overflow. + + Example usage: + + long int i = ...; + long int j = ...; + if (INT_MULTIPLY_OVERFLOW (i, j)) + printf ("multiply would overflow"); + else + printf ("product is %ld", i * j); + + These macros do not check for all possible numerical problems or + undefined or unspecified behavior: they do not check for division + by zero, for bad shift counts, or for shifting negative numbers. + + These macros may evaluate their arguments zero or multiple times, so the + arguments should not have side effects. + + These macros are tuned for their last argument being a constant. + + Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, + A % B, and A << B would overflow, respectively. */ + +#define INT_ADD_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) +#define INT_SUBTRACT_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) +#define INT_NEGATE_OVERFLOW(a) \ + INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) +#define INT_MULTIPLY_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW) +#define INT_DIVIDE_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW) +#define INT_REMAINDER_OVERFLOW(a, b) \ + _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW) +#define INT_LEFT_SHIFT_OVERFLOW(a, b) \ + INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, \ + _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) + +/* Return 1 if the expression A B would overflow, + where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test, + assuming MIN and MAX are the minimum and maximum for the result type. + Arguments should be free of side effects. */ +#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \ + op_result_overflow (a, b, \ + _GL_INT_MINIMUM (0 * (b) + (a)), \ + _GL_INT_MAXIMUM (0 * (b) + (a))) -#endif /* GL_INTPROPS_H */ +#endif /* _GL_INTPROPS_H */ diff --git a/gnu/inttostr.h b/gnu/inttostr.h index 937ec365..a65c6abb 100644 --- a/gnu/inttostr.h +++ b/gnu/inttostr.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* inttostr.h -- convert integers to printable strings - Copyright (C) 2001-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2006, 2009-2013 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 diff --git a/gnu/inttypes.in.h b/gnu/inttypes.in.h index 6f05803c..ba060dc4 100644 --- a/gnu/inttypes.in.h +++ b/gnu/inttypes.in.h @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2006-2011 Free Software Foundation, Inc. +/* Copyright (C) 2006-2013 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. @@ -33,6 +33,12 @@ The include_next requires a split double-inclusion guard. */ #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H # if @HAVE_INTTYPES_H@ + + /* Some pre-C++11 implementations need this. */ +# if defined __cplusplus && ! defined __STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS 1 +# endif + # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ # endif #endif @@ -52,994 +58,992 @@ # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to ." #endif +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* 7.8.1 Macros for format specifiers */ -#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS - -# if defined _TNS_R_TARGET +#if defined _TNS_R_TARGET /* Tandem NonStop R series and compatible platforms released before July 2005 support %Ld but not %lld. */ -# define _LONG_LONG_FORMAT_PREFIX "L" -# else -# define _LONG_LONG_FORMAT_PREFIX "ll" -# endif +# define _LONG_LONG_FORMAT_PREFIX "L" +#else +# define _LONG_LONG_FORMAT_PREFIX "ll" +#endif -# if !defined PRId8 || @PRI_MACROS_BROKEN@ -# undef PRId8 -# ifdef INT8_MAX -# define PRId8 "d" -# endif +#if !defined PRId8 || @PRI_MACROS_BROKEN@ +# undef PRId8 +# ifdef INT8_MAX +# define PRId8 "d" # endif -# if !defined PRIi8 || @PRI_MACROS_BROKEN@ -# undef PRIi8 -# ifdef INT8_MAX -# define PRIi8 "i" -# endif +#endif +#if !defined PRIi8 || @PRI_MACROS_BROKEN@ +# undef PRIi8 +# ifdef INT8_MAX +# define PRIi8 "i" # endif -# if !defined PRIo8 || @PRI_MACROS_BROKEN@ -# undef PRIo8 -# ifdef UINT8_MAX -# define PRIo8 "o" -# endif +#endif +#if !defined PRIo8 || @PRI_MACROS_BROKEN@ +# undef PRIo8 +# ifdef UINT8_MAX +# define PRIo8 "o" # endif -# if !defined PRIu8 || @PRI_MACROS_BROKEN@ -# undef PRIu8 -# ifdef UINT8_MAX -# define PRIu8 "u" -# endif +#endif +#if !defined PRIu8 || @PRI_MACROS_BROKEN@ +# undef PRIu8 +# ifdef UINT8_MAX +# define PRIu8 "u" # endif -# if !defined PRIx8 || @PRI_MACROS_BROKEN@ -# undef PRIx8 -# ifdef UINT8_MAX -# define PRIx8 "x" -# endif +#endif +#if !defined PRIx8 || @PRI_MACROS_BROKEN@ +# undef PRIx8 +# ifdef UINT8_MAX +# define PRIx8 "x" # endif -# if !defined PRIX8 || @PRI_MACROS_BROKEN@ -# undef PRIX8 -# ifdef UINT8_MAX -# define PRIX8 "X" -# endif +#endif +#if !defined PRIX8 || @PRI_MACROS_BROKEN@ +# undef PRIX8 +# ifdef UINT8_MAX +# define PRIX8 "X" # endif -# if !defined PRId16 || @PRI_MACROS_BROKEN@ -# undef PRId16 -# ifdef INT16_MAX -# define PRId16 "d" -# endif +#endif +#if !defined PRId16 || @PRI_MACROS_BROKEN@ +# undef PRId16 +# ifdef INT16_MAX +# define PRId16 "d" # endif -# if !defined PRIi16 || @PRI_MACROS_BROKEN@ -# undef PRIi16 -# ifdef INT16_MAX -# define PRIi16 "i" -# endif +#endif +#if !defined PRIi16 || @PRI_MACROS_BROKEN@ +# undef PRIi16 +# ifdef INT16_MAX +# define PRIi16 "i" # endif -# if !defined PRIo16 || @PRI_MACROS_BROKEN@ -# undef PRIo16 -# ifdef UINT16_MAX -# define PRIo16 "o" -# endif +#endif +#if !defined PRIo16 || @PRI_MACROS_BROKEN@ +# undef PRIo16 +# ifdef UINT16_MAX +# define PRIo16 "o" # endif -# if !defined PRIu16 || @PRI_MACROS_BROKEN@ -# undef PRIu16 -# ifdef UINT16_MAX -# define PRIu16 "u" -# endif +#endif +#if !defined PRIu16 || @PRI_MACROS_BROKEN@ +# undef PRIu16 +# ifdef UINT16_MAX +# define PRIu16 "u" # endif -# if !defined PRIx16 || @PRI_MACROS_BROKEN@ -# undef PRIx16 -# ifdef UINT16_MAX -# define PRIx16 "x" -# endif +#endif +#if !defined PRIx16 || @PRI_MACROS_BROKEN@ +# undef PRIx16 +# ifdef UINT16_MAX +# define PRIx16 "x" # endif -# if !defined PRIX16 || @PRI_MACROS_BROKEN@ -# undef PRIX16 -# ifdef UINT16_MAX -# define PRIX16 "X" -# endif +#endif +#if !defined PRIX16 || @PRI_MACROS_BROKEN@ +# undef PRIX16 +# ifdef UINT16_MAX +# define PRIX16 "X" # endif -# if !defined PRId32 || @PRI_MACROS_BROKEN@ -# undef PRId32 -# ifdef INT32_MAX -# define PRId32 "d" -# endif +#endif +#if !defined PRId32 || @PRI_MACROS_BROKEN@ +# undef PRId32 +# ifdef INT32_MAX +# define PRId32 "d" # endif -# if !defined PRIi32 || @PRI_MACROS_BROKEN@ -# undef PRIi32 -# ifdef INT32_MAX -# define PRIi32 "i" -# endif +#endif +#if !defined PRIi32 || @PRI_MACROS_BROKEN@ +# undef PRIi32 +# ifdef INT32_MAX +# define PRIi32 "i" # endif -# if !defined PRIo32 || @PRI_MACROS_BROKEN@ -# undef PRIo32 -# ifdef UINT32_MAX -# define PRIo32 "o" -# endif +#endif +#if !defined PRIo32 || @PRI_MACROS_BROKEN@ +# undef PRIo32 +# ifdef UINT32_MAX +# define PRIo32 "o" # endif -# if !defined PRIu32 || @PRI_MACROS_BROKEN@ -# undef PRIu32 -# ifdef UINT32_MAX -# define PRIu32 "u" -# endif +#endif +#if !defined PRIu32 || @PRI_MACROS_BROKEN@ +# undef PRIu32 +# ifdef UINT32_MAX +# define PRIu32 "u" # endif -# if !defined PRIx32 || @PRI_MACROS_BROKEN@ -# undef PRIx32 -# ifdef UINT32_MAX -# define PRIx32 "x" -# endif +#endif +#if !defined PRIx32 || @PRI_MACROS_BROKEN@ +# undef PRIx32 +# ifdef UINT32_MAX +# define PRIx32 "x" # endif -# if !defined PRIX32 || @PRI_MACROS_BROKEN@ -# undef PRIX32 -# ifdef UINT32_MAX -# define PRIX32 "X" -# endif +#endif +#if !defined PRIX32 || @PRI_MACROS_BROKEN@ +# undef PRIX32 +# ifdef UINT32_MAX +# define PRIX32 "X" # endif -# ifdef INT64_MAX -# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) -# define _PRI64_PREFIX "l" -# elif defined _MSC_VER || defined __MINGW32__ -# define _PRI64_PREFIX "I64" -# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX -# endif -# if !defined PRId64 || @PRI_MACROS_BROKEN@ -# undef PRId64 -# define PRId64 _PRI64_PREFIX "d" -# endif -# if !defined PRIi64 || @PRI_MACROS_BROKEN@ -# undef PRIi64 -# define PRIi64 _PRI64_PREFIX "i" -# endif +#endif +#ifdef INT64_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) +# define _PRI64_PREFIX "l" +# elif defined _MSC_VER || defined __MINGW32__ +# define _PRI64_PREFIX "I64" +# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined PRId64 || @PRI_MACROS_BROKEN@ +# undef PRId64 +# define PRId64 _PRI64_PREFIX "d" +# endif +# if !defined PRIi64 || @PRI_MACROS_BROKEN@ +# undef PRIi64 +# define PRIi64 _PRI64_PREFIX "i" # endif -# ifdef UINT64_MAX -# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) -# define _PRIu64_PREFIX "l" -# elif defined _MSC_VER || defined __MINGW32__ -# define _PRIu64_PREFIX "I64" -# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX -# endif -# if !defined PRIo64 || @PRI_MACROS_BROKEN@ -# undef PRIo64 -# define PRIo64 _PRIu64_PREFIX "o" -# endif -# if !defined PRIu64 || @PRI_MACROS_BROKEN@ -# undef PRIu64 -# define PRIu64 _PRIu64_PREFIX "u" -# endif -# if !defined PRIx64 || @PRI_MACROS_BROKEN@ -# undef PRIx64 -# define PRIx64 _PRIu64_PREFIX "x" -# endif -# if !defined PRIX64 || @PRI_MACROS_BROKEN@ -# undef PRIX64 -# define PRIX64 _PRIu64_PREFIX "X" -# endif +#endif +#ifdef UINT64_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) +# define _PRIu64_PREFIX "l" +# elif defined _MSC_VER || defined __MINGW32__ +# define _PRIu64_PREFIX "I64" +# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined PRIo64 || @PRI_MACROS_BROKEN@ +# undef PRIo64 +# define PRIo64 _PRIu64_PREFIX "o" +# endif +# if !defined PRIu64 || @PRI_MACROS_BROKEN@ +# undef PRIu64 +# define PRIu64 _PRIu64_PREFIX "u" +# endif +# if !defined PRIx64 || @PRI_MACROS_BROKEN@ +# undef PRIx64 +# define PRIx64 _PRIu64_PREFIX "x" +# endif +# if !defined PRIX64 || @PRI_MACROS_BROKEN@ +# undef PRIX64 +# define PRIX64 _PRIu64_PREFIX "X" # endif +#endif -# if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST8 -# define PRIdLEAST8 "d" -# endif -# if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST8 -# define PRIiLEAST8 "i" -# endif -# if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST8 -# define PRIoLEAST8 "o" -# endif -# if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST8 -# define PRIuLEAST8 "u" -# endif -# if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST8 -# define PRIxLEAST8 "x" -# endif -# if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST8 -# define PRIXLEAST8 "X" -# endif -# if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST16 -# define PRIdLEAST16 "d" -# endif -# if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST16 -# define PRIiLEAST16 "i" -# endif -# if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST16 -# define PRIoLEAST16 "o" -# endif -# if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST16 -# define PRIuLEAST16 "u" -# endif -# if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST16 -# define PRIxLEAST16 "x" -# endif -# if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST16 -# define PRIXLEAST16 "X" -# endif -# if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST32 -# define PRIdLEAST32 "d" -# endif -# if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST32 -# define PRIiLEAST32 "i" -# endif -# if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST32 -# define PRIoLEAST32 "o" -# endif -# if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST32 -# define PRIuLEAST32 "u" -# endif -# if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST32 -# define PRIxLEAST32 "x" -# endif -# if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST32 -# define PRIXLEAST32 "X" -# endif -# ifdef INT64_MAX -# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIdLEAST64 -# define PRIdLEAST64 PRId64 -# endif -# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIiLEAST64 -# define PRIiLEAST64 PRIi64 -# endif +#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ +# undef PRIdLEAST8 +# define PRIdLEAST8 "d" +#endif +#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ +# undef PRIiLEAST8 +# define PRIiLEAST8 "i" +#endif +#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ +# undef PRIoLEAST8 +# define PRIoLEAST8 "o" +#endif +#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ +# undef PRIuLEAST8 +# define PRIuLEAST8 "u" +#endif +#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ +# undef PRIxLEAST8 +# define PRIxLEAST8 "x" +#endif +#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ +# undef PRIXLEAST8 +# define PRIXLEAST8 "X" +#endif +#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ +# undef PRIdLEAST16 +# define PRIdLEAST16 "d" +#endif +#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ +# undef PRIiLEAST16 +# define PRIiLEAST16 "i" +#endif +#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ +# undef PRIoLEAST16 +# define PRIoLEAST16 "o" +#endif +#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ +# undef PRIuLEAST16 +# define PRIuLEAST16 "u" +#endif +#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ +# undef PRIxLEAST16 +# define PRIxLEAST16 "x" +#endif +#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ +# undef PRIXLEAST16 +# define PRIXLEAST16 "X" +#endif +#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ +# undef PRIdLEAST32 +# define PRIdLEAST32 "d" +#endif +#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ +# undef PRIiLEAST32 +# define PRIiLEAST32 "i" +#endif +#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ +# undef PRIoLEAST32 +# define PRIoLEAST32 "o" +#endif +#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ +# undef PRIuLEAST32 +# define PRIuLEAST32 "u" +#endif +#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ +# undef PRIxLEAST32 +# define PRIxLEAST32 "x" +#endif +#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ +# undef PRIXLEAST32 +# define PRIXLEAST32 "X" +#endif +#ifdef INT64_MAX +# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ +# undef PRIdLEAST64 +# define PRIdLEAST64 PRId64 # endif -# ifdef UINT64_MAX -# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIoLEAST64 -# define PRIoLEAST64 PRIo64 -# endif -# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIuLEAST64 -# define PRIuLEAST64 PRIu64 -# endif -# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIxLEAST64 -# define PRIxLEAST64 PRIx64 -# endif -# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ -# undef PRIXLEAST64 -# define PRIXLEAST64 PRIX64 -# endif +# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ +# undef PRIiLEAST64 +# define PRIiLEAST64 PRIi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ +# undef PRIoLEAST64 +# define PRIoLEAST64 PRIo64 +# endif +# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ +# undef PRIuLEAST64 +# define PRIuLEAST64 PRIu64 +# endif +# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ +# undef PRIxLEAST64 +# define PRIxLEAST64 PRIx64 # endif +# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ +# undef PRIXLEAST64 +# define PRIXLEAST64 PRIX64 +# endif +#endif -# if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST8 -# if INT_FAST8_MAX > INT32_MAX -# define PRIdFAST8 PRId64 -# else -# define PRIdFAST8 "d" -# endif +#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ +# undef PRIdFAST8 +# if INT_FAST8_MAX > INT32_MAX +# define PRIdFAST8 PRId64 +# else +# define PRIdFAST8 "d" # endif -# if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST8 -# if INT_FAST8_MAX > INT32_MAX -# define PRIiFAST8 PRIi64 -# else -# define PRIiFAST8 "i" -# endif +#endif +#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ +# undef PRIiFAST8 +# if INT_FAST8_MAX > INT32_MAX +# define PRIiFAST8 PRIi64 +# else +# define PRIiFAST8 "i" # endif -# if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define PRIoFAST8 PRIo64 -# else -# define PRIoFAST8 "o" -# endif +#endif +#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ +# undef PRIoFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIoFAST8 PRIo64 +# else +# define PRIoFAST8 "o" # endif -# if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define PRIuFAST8 PRIu64 -# else -# define PRIuFAST8 "u" -# endif +#endif +#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ +# undef PRIuFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIuFAST8 PRIu64 +# else +# define PRIuFAST8 "u" # endif -# if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define PRIxFAST8 PRIx64 -# else -# define PRIxFAST8 "x" -# endif +#endif +#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ +# undef PRIxFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIxFAST8 PRIx64 +# else +# define PRIxFAST8 "x" # endif -# if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define PRIXFAST8 PRIX64 -# else -# define PRIXFAST8 "X" -# endif +#endif +#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ +# undef PRIXFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define PRIXFAST8 PRIX64 +# else +# define PRIXFAST8 "X" # endif -# if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST16 -# if INT_FAST16_MAX > INT32_MAX -# define PRIdFAST16 PRId64 -# else -# define PRIdFAST16 "d" -# endif +#endif +#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ +# undef PRIdFAST16 +# if INT_FAST16_MAX > INT32_MAX +# define PRIdFAST16 PRId64 +# else +# define PRIdFAST16 "d" # endif -# if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST16 -# if INT_FAST16_MAX > INT32_MAX -# define PRIiFAST16 PRIi64 -# else -# define PRIiFAST16 "i" -# endif +#endif +#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ +# undef PRIiFAST16 +# if INT_FAST16_MAX > INT32_MAX +# define PRIiFAST16 PRIi64 +# else +# define PRIiFAST16 "i" # endif -# if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define PRIoFAST16 PRIo64 -# else -# define PRIoFAST16 "o" -# endif +#endif +#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ +# undef PRIoFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIoFAST16 PRIo64 +# else +# define PRIoFAST16 "o" # endif -# if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define PRIuFAST16 PRIu64 -# else -# define PRIuFAST16 "u" -# endif +#endif +#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ +# undef PRIuFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIuFAST16 PRIu64 +# else +# define PRIuFAST16 "u" # endif -# if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define PRIxFAST16 PRIx64 -# else -# define PRIxFAST16 "x" -# endif +#endif +#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ +# undef PRIxFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIxFAST16 PRIx64 +# else +# define PRIxFAST16 "x" # endif -# if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define PRIXFAST16 PRIX64 -# else -# define PRIXFAST16 "X" -# endif +#endif +#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ +# undef PRIXFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define PRIXFAST16 PRIX64 +# else +# define PRIXFAST16 "X" # endif -# if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST32 -# if INT_FAST32_MAX > INT32_MAX -# define PRIdFAST32 PRId64 -# else -# define PRIdFAST32 "d" -# endif +#endif +#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ +# undef PRIdFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define PRIdFAST32 PRId64 +# else +# define PRIdFAST32 "d" # endif -# if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST32 -# if INT_FAST32_MAX > INT32_MAX -# define PRIiFAST32 PRIi64 -# else -# define PRIiFAST32 "i" -# endif +#endif +#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ +# undef PRIiFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define PRIiFAST32 PRIi64 +# else +# define PRIiFAST32 "i" # endif -# if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define PRIoFAST32 PRIo64 -# else -# define PRIoFAST32 "o" -# endif +#endif +#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ +# undef PRIoFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIoFAST32 PRIo64 +# else +# define PRIoFAST32 "o" # endif -# if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define PRIuFAST32 PRIu64 -# else -# define PRIuFAST32 "u" -# endif +#endif +#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ +# undef PRIuFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIuFAST32 PRIu64 +# else +# define PRIuFAST32 "u" # endif -# if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define PRIxFAST32 PRIx64 -# else -# define PRIxFAST32 "x" -# endif +#endif +#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ +# undef PRIxFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIxFAST32 PRIx64 +# else +# define PRIxFAST32 "x" # endif -# if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define PRIXFAST32 PRIX64 -# else -# define PRIXFAST32 "X" -# endif +#endif +#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ +# undef PRIXFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define PRIXFAST32 PRIX64 +# else +# define PRIXFAST32 "X" # endif -# ifdef INT64_MAX -# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIdFAST64 -# define PRIdFAST64 PRId64 -# endif -# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIiFAST64 -# define PRIiFAST64 PRIi64 -# endif +#endif +#ifdef INT64_MAX +# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ +# undef PRIdFAST64 +# define PRIdFAST64 PRId64 # endif -# ifdef UINT64_MAX -# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIoFAST64 -# define PRIoFAST64 PRIo64 -# endif -# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIuFAST64 -# define PRIuFAST64 PRIu64 -# endif -# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIxFAST64 -# define PRIxFAST64 PRIx64 -# endif -# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ -# undef PRIXFAST64 -# define PRIXFAST64 PRIX64 -# endif +# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ +# undef PRIiFAST64 +# define PRIiFAST64 PRIi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ +# undef PRIoFAST64 +# define PRIoFAST64 PRIo64 +# endif +# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ +# undef PRIuFAST64 +# define PRIuFAST64 PRIu64 +# endif +# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ +# undef PRIxFAST64 +# define PRIxFAST64 PRIx64 # endif +# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ +# undef PRIXFAST64 +# define PRIXFAST64 PRIX64 +# endif +#endif -# if !defined PRIdMAX || @PRI_MACROS_BROKEN@ -# undef PRIdMAX -# if @INT32_MAX_LT_INTMAX_MAX@ -# define PRIdMAX PRId64 -# else -# define PRIdMAX "ld" -# endif +#if !defined PRIdMAX || @PRI_MACROS_BROKEN@ +# undef PRIdMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define PRIdMAX PRId64 +# else +# define PRIdMAX "ld" # endif -# if !defined PRIiMAX || @PRI_MACROS_BROKEN@ -# undef PRIiMAX -# if @INT32_MAX_LT_INTMAX_MAX@ -# define PRIiMAX PRIi64 -# else -# define PRIiMAX "li" -# endif +#endif +#if !defined PRIiMAX || @PRI_MACROS_BROKEN@ +# undef PRIiMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define PRIiMAX PRIi64 +# else +# define PRIiMAX "li" # endif -# if !defined PRIoMAX || @PRI_MACROS_BROKEN@ -# undef PRIoMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define PRIoMAX PRIo64 -# else -# define PRIoMAX "lo" -# endif +#endif +#if !defined PRIoMAX || @PRI_MACROS_BROKEN@ +# undef PRIoMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIoMAX PRIo64 +# else +# define PRIoMAX "lo" # endif -# if !defined PRIuMAX || @PRI_MACROS_BROKEN@ -# undef PRIuMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define PRIuMAX PRIu64 -# else -# define PRIuMAX "lu" -# endif +#endif +#if !defined PRIuMAX || @PRI_MACROS_BROKEN@ +# undef PRIuMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIuMAX PRIu64 +# else +# define PRIuMAX "lu" # endif -# if !defined PRIxMAX || @PRI_MACROS_BROKEN@ -# undef PRIxMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define PRIxMAX PRIx64 -# else -# define PRIxMAX "lx" -# endif +#endif +#if !defined PRIxMAX || @PRI_MACROS_BROKEN@ +# undef PRIxMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIxMAX PRIx64 +# else +# define PRIxMAX "lx" # endif -# if !defined PRIXMAX || @PRI_MACROS_BROKEN@ -# undef PRIXMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define PRIXMAX PRIX64 -# else -# define PRIXMAX "lX" -# endif +#endif +#if !defined PRIXMAX || @PRI_MACROS_BROKEN@ +# undef PRIXMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define PRIXMAX PRIX64 +# else +# define PRIXMAX "lX" # endif +#endif -# if !defined PRIdPTR || @PRI_MACROS_BROKEN@ -# undef PRIdPTR -# ifdef INTPTR_MAX -# define PRIdPTR @PRIPTR_PREFIX@ "d" -# endif +#if !defined PRIdPTR || @PRI_MACROS_BROKEN@ +# undef PRIdPTR +# ifdef INTPTR_MAX +# define PRIdPTR @PRIPTR_PREFIX@ "d" # endif -# if !defined PRIiPTR || @PRI_MACROS_BROKEN@ -# undef PRIiPTR -# ifdef INTPTR_MAX -# define PRIiPTR @PRIPTR_PREFIX@ "i" -# endif +#endif +#if !defined PRIiPTR || @PRI_MACROS_BROKEN@ +# undef PRIiPTR +# ifdef INTPTR_MAX +# define PRIiPTR @PRIPTR_PREFIX@ "i" # endif -# if !defined PRIoPTR || @PRI_MACROS_BROKEN@ -# undef PRIoPTR -# ifdef UINTPTR_MAX -# define PRIoPTR @PRIPTR_PREFIX@ "o" -# endif +#endif +#if !defined PRIoPTR || @PRI_MACROS_BROKEN@ +# undef PRIoPTR +# ifdef UINTPTR_MAX +# define PRIoPTR @PRIPTR_PREFIX@ "o" # endif -# if !defined PRIuPTR || @PRI_MACROS_BROKEN@ -# undef PRIuPTR -# ifdef UINTPTR_MAX -# define PRIuPTR @PRIPTR_PREFIX@ "u" -# endif +#endif +#if !defined PRIuPTR || @PRI_MACROS_BROKEN@ +# undef PRIuPTR +# ifdef UINTPTR_MAX +# define PRIuPTR @PRIPTR_PREFIX@ "u" # endif -# if !defined PRIxPTR || @PRI_MACROS_BROKEN@ -# undef PRIxPTR -# ifdef UINTPTR_MAX -# define PRIxPTR @PRIPTR_PREFIX@ "x" -# endif +#endif +#if !defined PRIxPTR || @PRI_MACROS_BROKEN@ +# undef PRIxPTR +# ifdef UINTPTR_MAX +# define PRIxPTR @PRIPTR_PREFIX@ "x" # endif -# if !defined PRIXPTR || @PRI_MACROS_BROKEN@ -# undef PRIXPTR -# ifdef UINTPTR_MAX -# define PRIXPTR @PRIPTR_PREFIX@ "X" -# endif +#endif +#if !defined PRIXPTR || @PRI_MACROS_BROKEN@ +# undef PRIXPTR +# ifdef UINTPTR_MAX +# define PRIXPTR @PRIPTR_PREFIX@ "X" # endif +#endif -# if !defined SCNd8 || @PRI_MACROS_BROKEN@ -# undef SCNd8 -# ifdef INT8_MAX -# define SCNd8 "hhd" -# endif +#if !defined SCNd8 || @PRI_MACROS_BROKEN@ +# undef SCNd8 +# ifdef INT8_MAX +# define SCNd8 "hhd" # endif -# if !defined SCNi8 || @PRI_MACROS_BROKEN@ -# undef SCNi8 -# ifdef INT8_MAX -# define SCNi8 "hhi" -# endif +#endif +#if !defined SCNi8 || @PRI_MACROS_BROKEN@ +# undef SCNi8 +# ifdef INT8_MAX +# define SCNi8 "hhi" # endif -# if !defined SCNo8 || @PRI_MACROS_BROKEN@ -# undef SCNo8 -# ifdef UINT8_MAX -# define SCNo8 "hho" -# endif +#endif +#if !defined SCNo8 || @PRI_MACROS_BROKEN@ +# undef SCNo8 +# ifdef UINT8_MAX +# define SCNo8 "hho" # endif -# if !defined SCNu8 || @PRI_MACROS_BROKEN@ -# undef SCNu8 -# ifdef UINT8_MAX -# define SCNu8 "hhu" -# endif +#endif +#if !defined SCNu8 || @PRI_MACROS_BROKEN@ +# undef SCNu8 +# ifdef UINT8_MAX +# define SCNu8 "hhu" # endif -# if !defined SCNx8 || @PRI_MACROS_BROKEN@ -# undef SCNx8 -# ifdef UINT8_MAX -# define SCNx8 "hhx" -# endif +#endif +#if !defined SCNx8 || @PRI_MACROS_BROKEN@ +# undef SCNx8 +# ifdef UINT8_MAX +# define SCNx8 "hhx" # endif -# if !defined SCNd16 || @PRI_MACROS_BROKEN@ -# undef SCNd16 -# ifdef INT16_MAX -# define SCNd16 "hd" -# endif +#endif +#if !defined SCNd16 || @PRI_MACROS_BROKEN@ +# undef SCNd16 +# ifdef INT16_MAX +# define SCNd16 "hd" # endif -# if !defined SCNi16 || @PRI_MACROS_BROKEN@ -# undef SCNi16 -# ifdef INT16_MAX -# define SCNi16 "hi" -# endif +#endif +#if !defined SCNi16 || @PRI_MACROS_BROKEN@ +# undef SCNi16 +# ifdef INT16_MAX +# define SCNi16 "hi" # endif -# if !defined SCNo16 || @PRI_MACROS_BROKEN@ -# undef SCNo16 -# ifdef UINT16_MAX -# define SCNo16 "ho" -# endif +#endif +#if !defined SCNo16 || @PRI_MACROS_BROKEN@ +# undef SCNo16 +# ifdef UINT16_MAX +# define SCNo16 "ho" # endif -# if !defined SCNu16 || @PRI_MACROS_BROKEN@ -# undef SCNu16 -# ifdef UINT16_MAX -# define SCNu16 "hu" -# endif +#endif +#if !defined SCNu16 || @PRI_MACROS_BROKEN@ +# undef SCNu16 +# ifdef UINT16_MAX +# define SCNu16 "hu" # endif -# if !defined SCNx16 || @PRI_MACROS_BROKEN@ -# undef SCNx16 -# ifdef UINT16_MAX -# define SCNx16 "hx" -# endif +#endif +#if !defined SCNx16 || @PRI_MACROS_BROKEN@ +# undef SCNx16 +# ifdef UINT16_MAX +# define SCNx16 "hx" # endif -# if !defined SCNd32 || @PRI_MACROS_BROKEN@ -# undef SCNd32 -# ifdef INT32_MAX -# define SCNd32 "d" -# endif +#endif +#if !defined SCNd32 || @PRI_MACROS_BROKEN@ +# undef SCNd32 +# ifdef INT32_MAX +# define SCNd32 "d" # endif -# if !defined SCNi32 || @PRI_MACROS_BROKEN@ -# undef SCNi32 -# ifdef INT32_MAX -# define SCNi32 "i" -# endif +#endif +#if !defined SCNi32 || @PRI_MACROS_BROKEN@ +# undef SCNi32 +# ifdef INT32_MAX +# define SCNi32 "i" # endif -# if !defined SCNo32 || @PRI_MACROS_BROKEN@ -# undef SCNo32 -# ifdef UINT32_MAX -# define SCNo32 "o" -# endif +#endif +#if !defined SCNo32 || @PRI_MACROS_BROKEN@ +# undef SCNo32 +# ifdef UINT32_MAX +# define SCNo32 "o" # endif -# if !defined SCNu32 || @PRI_MACROS_BROKEN@ -# undef SCNu32 -# ifdef UINT32_MAX -# define SCNu32 "u" -# endif +#endif +#if !defined SCNu32 || @PRI_MACROS_BROKEN@ +# undef SCNu32 +# ifdef UINT32_MAX +# define SCNu32 "u" # endif -# if !defined SCNx32 || @PRI_MACROS_BROKEN@ -# undef SCNx32 -# ifdef UINT32_MAX -# define SCNx32 "x" -# endif +#endif +#if !defined SCNx32 || @PRI_MACROS_BROKEN@ +# undef SCNx32 +# ifdef UINT32_MAX +# define SCNx32 "x" # endif -# ifdef INT64_MAX -# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) -# define _SCN64_PREFIX "l" -# elif defined _MSC_VER || defined __MINGW32__ -# define _SCN64_PREFIX "I64" -# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX -# endif -# if !defined SCNd64 || @PRI_MACROS_BROKEN@ -# undef SCNd64 -# define SCNd64 _SCN64_PREFIX "d" -# endif -# if !defined SCNi64 || @PRI_MACROS_BROKEN@ -# undef SCNi64 -# define SCNi64 _SCN64_PREFIX "i" -# endif +#endif +#ifdef INT64_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) +# define _SCN64_PREFIX "l" +# elif defined _MSC_VER || defined __MINGW32__ +# define _SCN64_PREFIX "I64" +# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined SCNd64 || @PRI_MACROS_BROKEN@ +# undef SCNd64 +# define SCNd64 _SCN64_PREFIX "d" +# endif +# if !defined SCNi64 || @PRI_MACROS_BROKEN@ +# undef SCNi64 +# define SCNi64 _SCN64_PREFIX "i" # endif -# ifdef UINT64_MAX -# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) -# define _SCNu64_PREFIX "l" -# elif defined _MSC_VER || defined __MINGW32__ -# define _SCNu64_PREFIX "I64" -# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX -# endif -# if !defined SCNo64 || @PRI_MACROS_BROKEN@ -# undef SCNo64 -# define SCNo64 _SCNu64_PREFIX "o" -# endif -# if !defined SCNu64 || @PRI_MACROS_BROKEN@ -# undef SCNu64 -# define SCNu64 _SCNu64_PREFIX "u" -# endif -# if !defined SCNx64 || @PRI_MACROS_BROKEN@ -# undef SCNx64 -# define SCNx64 _SCNu64_PREFIX "x" -# endif +#endif +#ifdef UINT64_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) +# define _SCNu64_PREFIX "l" +# elif defined _MSC_VER || defined __MINGW32__ +# define _SCNu64_PREFIX "I64" +# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX +# endif +# if !defined SCNo64 || @PRI_MACROS_BROKEN@ +# undef SCNo64 +# define SCNo64 _SCNu64_PREFIX "o" +# endif +# if !defined SCNu64 || @PRI_MACROS_BROKEN@ +# undef SCNu64 +# define SCNu64 _SCNu64_PREFIX "u" +# endif +# if !defined SCNx64 || @PRI_MACROS_BROKEN@ +# undef SCNx64 +# define SCNx64 _SCNu64_PREFIX "x" # endif +#endif -# if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST8 -# define SCNdLEAST8 "hhd" -# endif -# if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST8 -# define SCNiLEAST8 "hhi" -# endif -# if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST8 -# define SCNoLEAST8 "hho" -# endif -# if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST8 -# define SCNuLEAST8 "hhu" -# endif -# if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST8 -# define SCNxLEAST8 "hhx" -# endif -# if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST16 -# define SCNdLEAST16 "hd" -# endif -# if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST16 -# define SCNiLEAST16 "hi" -# endif -# if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST16 -# define SCNoLEAST16 "ho" -# endif -# if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST16 -# define SCNuLEAST16 "hu" -# endif -# if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST16 -# define SCNxLEAST16 "hx" -# endif -# if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST32 -# define SCNdLEAST32 "d" -# endif -# if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST32 -# define SCNiLEAST32 "i" -# endif -# if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST32 -# define SCNoLEAST32 "o" -# endif -# if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST32 -# define SCNuLEAST32 "u" -# endif -# if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST32 -# define SCNxLEAST32 "x" -# endif -# ifdef INT64_MAX -# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNdLEAST64 -# define SCNdLEAST64 SCNd64 -# endif -# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNiLEAST64 -# define SCNiLEAST64 SCNi64 -# endif +#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ +# undef SCNdLEAST8 +# define SCNdLEAST8 "hhd" +#endif +#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ +# undef SCNiLEAST8 +# define SCNiLEAST8 "hhi" +#endif +#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ +# undef SCNoLEAST8 +# define SCNoLEAST8 "hho" +#endif +#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ +# undef SCNuLEAST8 +# define SCNuLEAST8 "hhu" +#endif +#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ +# undef SCNxLEAST8 +# define SCNxLEAST8 "hhx" +#endif +#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ +# undef SCNdLEAST16 +# define SCNdLEAST16 "hd" +#endif +#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ +# undef SCNiLEAST16 +# define SCNiLEAST16 "hi" +#endif +#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ +# undef SCNoLEAST16 +# define SCNoLEAST16 "ho" +#endif +#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ +# undef SCNuLEAST16 +# define SCNuLEAST16 "hu" +#endif +#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ +# undef SCNxLEAST16 +# define SCNxLEAST16 "hx" +#endif +#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ +# undef SCNdLEAST32 +# define SCNdLEAST32 "d" +#endif +#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ +# undef SCNiLEAST32 +# define SCNiLEAST32 "i" +#endif +#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ +# undef SCNoLEAST32 +# define SCNoLEAST32 "o" +#endif +#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ +# undef SCNuLEAST32 +# define SCNuLEAST32 "u" +#endif +#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ +# undef SCNxLEAST32 +# define SCNxLEAST32 "x" +#endif +#ifdef INT64_MAX +# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ +# undef SCNdLEAST64 +# define SCNdLEAST64 SCNd64 # endif -# ifdef UINT64_MAX -# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNoLEAST64 -# define SCNoLEAST64 SCNo64 -# endif -# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNuLEAST64 -# define SCNuLEAST64 SCNu64 -# endif -# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ -# undef SCNxLEAST64 -# define SCNxLEAST64 SCNx64 -# endif +# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ +# undef SCNiLEAST64 +# define SCNiLEAST64 SCNi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ +# undef SCNoLEAST64 +# define SCNoLEAST64 SCNo64 +# endif +# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ +# undef SCNuLEAST64 +# define SCNuLEAST64 SCNu64 +# endif +# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ +# undef SCNxLEAST64 +# define SCNxLEAST64 SCNx64 # endif +#endif -# if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST8 -# if INT_FAST8_MAX > INT32_MAX -# define SCNdFAST8 SCNd64 -# elif INT_FAST8_MAX == 0x7fff -# define SCNdFAST8 "hd" -# elif INT_FAST8_MAX == 0x7f -# define SCNdFAST8 "hhd" -# else -# define SCNdFAST8 "d" -# endif +#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ +# undef SCNdFAST8 +# if INT_FAST8_MAX > INT32_MAX +# define SCNdFAST8 SCNd64 +# elif INT_FAST8_MAX == 0x7fff +# define SCNdFAST8 "hd" +# elif INT_FAST8_MAX == 0x7f +# define SCNdFAST8 "hhd" +# else +# define SCNdFAST8 "d" # endif -# if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST8 -# if INT_FAST8_MAX > INT32_MAX -# define SCNiFAST8 SCNi64 -# elif INT_FAST8_MAX == 0x7fff -# define SCNiFAST8 "hi" -# elif INT_FAST8_MAX == 0x7f -# define SCNiFAST8 "hhi" -# else -# define SCNiFAST8 "i" -# endif +#endif +#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ +# undef SCNiFAST8 +# if INT_FAST8_MAX > INT32_MAX +# define SCNiFAST8 SCNi64 +# elif INT_FAST8_MAX == 0x7fff +# define SCNiFAST8 "hi" +# elif INT_FAST8_MAX == 0x7f +# define SCNiFAST8 "hhi" +# else +# define SCNiFAST8 "i" # endif -# if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define SCNoFAST8 SCNo64 -# elif UINT_FAST8_MAX == 0xffff -# define SCNoFAST8 "ho" -# elif UINT_FAST8_MAX == 0xff -# define SCNoFAST8 "hho" -# else -# define SCNoFAST8 "o" -# endif +#endif +#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ +# undef SCNoFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define SCNoFAST8 SCNo64 +# elif UINT_FAST8_MAX == 0xffff +# define SCNoFAST8 "ho" +# elif UINT_FAST8_MAX == 0xff +# define SCNoFAST8 "hho" +# else +# define SCNoFAST8 "o" # endif -# if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define SCNuFAST8 SCNu64 -# elif UINT_FAST8_MAX == 0xffff -# define SCNuFAST8 "hu" -# elif UINT_FAST8_MAX == 0xff -# define SCNuFAST8 "hhu" -# else -# define SCNuFAST8 "u" -# endif +#endif +#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ +# undef SCNuFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define SCNuFAST8 SCNu64 +# elif UINT_FAST8_MAX == 0xffff +# define SCNuFAST8 "hu" +# elif UINT_FAST8_MAX == 0xff +# define SCNuFAST8 "hhu" +# else +# define SCNuFAST8 "u" # endif -# if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST8 -# if UINT_FAST8_MAX > UINT32_MAX -# define SCNxFAST8 SCNx64 -# elif UINT_FAST8_MAX == 0xffff -# define SCNxFAST8 "hx" -# elif UINT_FAST8_MAX == 0xff -# define SCNxFAST8 "hhx" -# else -# define SCNxFAST8 "x" -# endif +#endif +#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ +# undef SCNxFAST8 +# if UINT_FAST8_MAX > UINT32_MAX +# define SCNxFAST8 SCNx64 +# elif UINT_FAST8_MAX == 0xffff +# define SCNxFAST8 "hx" +# elif UINT_FAST8_MAX == 0xff +# define SCNxFAST8 "hhx" +# else +# define SCNxFAST8 "x" # endif -# if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST16 -# if INT_FAST16_MAX > INT32_MAX -# define SCNdFAST16 SCNd64 -# elif INT_FAST16_MAX == 0x7fff -# define SCNdFAST16 "hd" -# else -# define SCNdFAST16 "d" -# endif +#endif +#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ +# undef SCNdFAST16 +# if INT_FAST16_MAX > INT32_MAX +# define SCNdFAST16 SCNd64 +# elif INT_FAST16_MAX == 0x7fff +# define SCNdFAST16 "hd" +# else +# define SCNdFAST16 "d" # endif -# if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST16 -# if INT_FAST16_MAX > INT32_MAX -# define SCNiFAST16 SCNi64 -# elif INT_FAST16_MAX == 0x7fff -# define SCNiFAST16 "hi" -# else -# define SCNiFAST16 "i" -# endif +#endif +#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ +# undef SCNiFAST16 +# if INT_FAST16_MAX > INT32_MAX +# define SCNiFAST16 SCNi64 +# elif INT_FAST16_MAX == 0x7fff +# define SCNiFAST16 "hi" +# else +# define SCNiFAST16 "i" # endif -# if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define SCNoFAST16 SCNo64 -# elif UINT_FAST16_MAX == 0xffff -# define SCNoFAST16 "ho" -# else -# define SCNoFAST16 "o" -# endif +#endif +#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ +# undef SCNoFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define SCNoFAST16 SCNo64 +# elif UINT_FAST16_MAX == 0xffff +# define SCNoFAST16 "ho" +# else +# define SCNoFAST16 "o" # endif -# if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define SCNuFAST16 SCNu64 -# elif UINT_FAST16_MAX == 0xffff -# define SCNuFAST16 "hu" -# else -# define SCNuFAST16 "u" -# endif +#endif +#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ +# undef SCNuFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define SCNuFAST16 SCNu64 +# elif UINT_FAST16_MAX == 0xffff +# define SCNuFAST16 "hu" +# else +# define SCNuFAST16 "u" # endif -# if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST16 -# if UINT_FAST16_MAX > UINT32_MAX -# define SCNxFAST16 SCNx64 -# elif UINT_FAST16_MAX == 0xffff -# define SCNxFAST16 "hx" -# else -# define SCNxFAST16 "x" -# endif +#endif +#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ +# undef SCNxFAST16 +# if UINT_FAST16_MAX > UINT32_MAX +# define SCNxFAST16 SCNx64 +# elif UINT_FAST16_MAX == 0xffff +# define SCNxFAST16 "hx" +# else +# define SCNxFAST16 "x" # endif -# if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST32 -# if INT_FAST32_MAX > INT32_MAX -# define SCNdFAST32 SCNd64 -# else -# define SCNdFAST32 "d" -# endif +#endif +#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ +# undef SCNdFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define SCNdFAST32 SCNd64 +# else +# define SCNdFAST32 "d" # endif -# if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST32 -# if INT_FAST32_MAX > INT32_MAX -# define SCNiFAST32 SCNi64 -# else -# define SCNiFAST32 "i" -# endif +#endif +#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ +# undef SCNiFAST32 +# if INT_FAST32_MAX > INT32_MAX +# define SCNiFAST32 SCNi64 +# else +# define SCNiFAST32 "i" # endif -# if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define SCNoFAST32 SCNo64 -# else -# define SCNoFAST32 "o" -# endif +#endif +#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ +# undef SCNoFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define SCNoFAST32 SCNo64 +# else +# define SCNoFAST32 "o" # endif -# if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define SCNuFAST32 SCNu64 -# else -# define SCNuFAST32 "u" -# endif +#endif +#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ +# undef SCNuFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define SCNuFAST32 SCNu64 +# else +# define SCNuFAST32 "u" # endif -# if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST32 -# if UINT_FAST32_MAX > UINT32_MAX -# define SCNxFAST32 SCNx64 -# else -# define SCNxFAST32 "x" -# endif +#endif +#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ +# undef SCNxFAST32 +# if UINT_FAST32_MAX > UINT32_MAX +# define SCNxFAST32 SCNx64 +# else +# define SCNxFAST32 "x" # endif -# ifdef INT64_MAX -# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNdFAST64 -# define SCNdFAST64 SCNd64 -# endif -# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNiFAST64 -# define SCNiFAST64 SCNi64 -# endif +#endif +#ifdef INT64_MAX +# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ +# undef SCNdFAST64 +# define SCNdFAST64 SCNd64 # endif -# ifdef UINT64_MAX -# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNoFAST64 -# define SCNoFAST64 SCNo64 -# endif -# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNuFAST64 -# define SCNuFAST64 SCNu64 -# endif -# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ -# undef SCNxFAST64 -# define SCNxFAST64 SCNx64 -# endif +# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ +# undef SCNiFAST64 +# define SCNiFAST64 SCNi64 +# endif +#endif +#ifdef UINT64_MAX +# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ +# undef SCNoFAST64 +# define SCNoFAST64 SCNo64 # endif +# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ +# undef SCNuFAST64 +# define SCNuFAST64 SCNu64 +# endif +# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ +# undef SCNxFAST64 +# define SCNxFAST64 SCNx64 +# endif +#endif -# if !defined SCNdMAX || @PRI_MACROS_BROKEN@ -# undef SCNdMAX -# if @INT32_MAX_LT_INTMAX_MAX@ -# define SCNdMAX SCNd64 -# else -# define SCNdMAX "ld" -# endif +#if !defined SCNdMAX || @PRI_MACROS_BROKEN@ +# undef SCNdMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define SCNdMAX SCNd64 +# else +# define SCNdMAX "ld" # endif -# if !defined SCNiMAX || @PRI_MACROS_BROKEN@ -# undef SCNiMAX -# if @INT32_MAX_LT_INTMAX_MAX@ -# define SCNiMAX SCNi64 -# else -# define SCNiMAX "li" -# endif +#endif +#if !defined SCNiMAX || @PRI_MACROS_BROKEN@ +# undef SCNiMAX +# if @INT32_MAX_LT_INTMAX_MAX@ +# define SCNiMAX SCNi64 +# else +# define SCNiMAX "li" # endif -# if !defined SCNoMAX || @PRI_MACROS_BROKEN@ -# undef SCNoMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define SCNoMAX SCNo64 -# else -# define SCNoMAX "lo" -# endif +#endif +#if !defined SCNoMAX || @PRI_MACROS_BROKEN@ +# undef SCNoMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define SCNoMAX SCNo64 +# else +# define SCNoMAX "lo" # endif -# if !defined SCNuMAX || @PRI_MACROS_BROKEN@ -# undef SCNuMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define SCNuMAX SCNu64 -# else -# define SCNuMAX "lu" -# endif +#endif +#if !defined SCNuMAX || @PRI_MACROS_BROKEN@ +# undef SCNuMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define SCNuMAX SCNu64 +# else +# define SCNuMAX "lu" # endif -# if !defined SCNxMAX || @PRI_MACROS_BROKEN@ -# undef SCNxMAX -# if @UINT32_MAX_LT_UINTMAX_MAX@ -# define SCNxMAX SCNx64 -# else -# define SCNxMAX "lx" -# endif +#endif +#if !defined SCNxMAX || @PRI_MACROS_BROKEN@ +# undef SCNxMAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ +# define SCNxMAX SCNx64 +# else +# define SCNxMAX "lx" # endif +#endif -# if !defined SCNdPTR || @PRI_MACROS_BROKEN@ -# undef SCNdPTR -# ifdef INTPTR_MAX -# define SCNdPTR @PRIPTR_PREFIX@ "d" -# endif +#if !defined SCNdPTR || @PRI_MACROS_BROKEN@ +# undef SCNdPTR +# ifdef INTPTR_MAX +# define SCNdPTR @PRIPTR_PREFIX@ "d" # endif -# if !defined SCNiPTR || @PRI_MACROS_BROKEN@ -# undef SCNiPTR -# ifdef INTPTR_MAX -# define SCNiPTR @PRIPTR_PREFIX@ "i" -# endif +#endif +#if !defined SCNiPTR || @PRI_MACROS_BROKEN@ +# undef SCNiPTR +# ifdef INTPTR_MAX +# define SCNiPTR @PRIPTR_PREFIX@ "i" # endif -# if !defined SCNoPTR || @PRI_MACROS_BROKEN@ -# undef SCNoPTR -# ifdef UINTPTR_MAX -# define SCNoPTR @PRIPTR_PREFIX@ "o" -# endif +#endif +#if !defined SCNoPTR || @PRI_MACROS_BROKEN@ +# undef SCNoPTR +# ifdef UINTPTR_MAX +# define SCNoPTR @PRIPTR_PREFIX@ "o" # endif -# if !defined SCNuPTR || @PRI_MACROS_BROKEN@ -# undef SCNuPTR -# ifdef UINTPTR_MAX -# define SCNuPTR @PRIPTR_PREFIX@ "u" -# endif +#endif +#if !defined SCNuPTR || @PRI_MACROS_BROKEN@ +# undef SCNuPTR +# ifdef UINTPTR_MAX +# define SCNuPTR @PRIPTR_PREFIX@ "u" # endif -# if !defined SCNxPTR || @PRI_MACROS_BROKEN@ -# undef SCNxPTR -# ifdef UINTPTR_MAX -# define SCNxPTR @PRIPTR_PREFIX@ "x" -# endif +#endif +#if !defined SCNxPTR || @PRI_MACROS_BROKEN@ +# undef SCNxPTR +# ifdef UINTPTR_MAX +# define SCNxPTR @PRIPTR_PREFIX@ "x" # endif - #endif /* 7.8.2 Functions for greatest-width integer types */ @@ -1077,9 +1081,23 @@ _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " #endif #if @GNULIB_STRTOIMAX@ -# if !@HAVE_DECL_STRTOIMAX@ -extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1)); +# if @REPLACE_STRTOIMAX@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef strtoimax +# define strtoimax rpl_strtoimax +# endif +_GL_FUNCDECL_RPL (strtoimax, intmax_t, + (const char *, char **, int) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int)); +# else +# if !@HAVE_DECL_STRTOIMAX@ +# undef strtoimax +_GL_FUNCDECL_SYS (strtoimax, intmax_t, + (const char *, char **, int) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int)); # endif +_GL_CXXALIASWARN (strtoimax); #elif defined GNULIB_POSIXCHECK # undef strtoimax # if HAVE_RAW_DECL_STRTOIMAX @@ -1090,8 +1108,12 @@ _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " #if @GNULIB_STRTOUMAX@ # if !@HAVE_DECL_STRTOUMAX@ -extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1)); +# undef strtoumax +_GL_FUNCDECL_SYS (strtoumax, uintmax_t, + (const char *, char **, int) _GL_ARG_NONNULL ((1))); # endif +_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); +_GL_CXXALIASWARN (strtoumax); #elif defined GNULIB_POSIXCHECK # undef strtoumax # if HAVE_RAW_DECL_STRTOUMAX diff --git a/gnu/iswblank.c b/gnu/iswblank.c index 38d53637..13f0f0bf 100644 --- a/gnu/iswblank.c +++ b/gnu/iswblank.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test wide character for being blank. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ #include diff --git a/gnu/itold.c b/gnu/itold.c new file mode 100644 index 00000000..406763e5 --- /dev/null +++ b/gnu/itold.c @@ -0,0 +1,30 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Replacement for 'int' to 'long double' conversion routine. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +void +_Qp_itoq (long double *result, int a) +{ + /* Convert from 'int' to 'double', then from 'double' to 'long double'. */ + *result = (double) a; +} diff --git a/gnu/langinfo.in.h b/gnu/langinfo.in.h index cd94d251..782a8fa4 100644 --- a/gnu/langinfo.in.h +++ b/gnu/langinfo.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 @@ -14,15 +14,14 @@ 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. */ + along with this program; if not, see . */ /* * POSIX for platforms that lack it or have an incomplete one. * */ -#ifndef _GL_LANGINFO_H +#ifndef _@GUARD_PREFIX@_LANGINFO_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -34,8 +33,8 @@ # @INCLUDE_NEXT@ @NEXT_LANGINFO_H@ #endif -#ifndef _GL_LANGINFO_H -#define _GL_LANGINFO_H +#ifndef _@GUARD_PREFIX@_LANGINFO_H +#define _@GUARD_PREFIX@_LANGINFO_H #if !@HAVE_LANGINFO_H@ @@ -175,5 +174,5 @@ _GL_WARN_ON_USE (nl_langinfo, "nl_langinfo is not portable - " #endif -#endif /* _GL_LANGINFO_H */ -#endif /* _GL_LANGINFO_H */ +#endif /* _@GUARD_PREFIX@_LANGINFO_H */ +#endif /* _@GUARD_PREFIX@_LANGINFO_H */ diff --git a/gnu/lchown.c b/gnu/lchown.c index fae44964..99c794c3 100644 --- a/gnu/lchown.c +++ b/gnu/lchown.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a stub lchown function for systems that lack it. - Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2011 Free Software + Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/link.c b/gnu/link.c index acbaec44..f715846b 100644 --- a/gnu/link.c +++ b/gnu/link.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Emulate link on platforms that lack it, namely native Windows platforms. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #include @@ -157,9 +156,20 @@ link (const char *file1, const char *file2) int rpl_link (char const *file1, char const *file2) { + size_t len1; + size_t len2; + struct stat st; + + /* Don't allow IRIX to dereference dangling file2 symlink. */ + if (!lstat (file2, &st)) + { + errno = EEXIST; + return -1; + } + /* Reject trailing slashes on non-directories. */ - size_t len1 = strlen (file1); - size_t len2 = strlen (file2); + len1 = strlen (file1); + len2 = strlen (file2); if ((len1 && file1[len1 - 1] == '/') || (len2 && file2[len2 - 1] == '/')) { @@ -167,7 +177,6 @@ rpl_link (char const *file1, char const *file2) If stat() fails, then link() should fail for the same reason (although on Solaris 9, link("file/","oops") mistakenly succeeds); if stat() succeeds, require a directory. */ - struct stat st; if (stat (file1, &st)) return -1; if (!S_ISDIR (st.st_mode)) @@ -180,7 +189,6 @@ rpl_link (char const *file1, char const *file2) { /* Fix Cygwin 1.5.x bug where link("a","b/.") creates file "b". */ char *dir = strdup (file2); - struct stat st; char *p; if (!dir) return -1; diff --git a/gnu/linkat.c b/gnu/linkat.c index a8e3a4e8..5a5770c8 100644 --- a/gnu/linkat.c +++ b/gnu/linkat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a hard link relative to open directories. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include diff --git a/gnu/localcharset.c b/gnu/localcharset.c index d8b5953c..4f56dfa2 100644 --- a/gnu/localcharset.c +++ b/gnu/localcharset.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ /* Written by Bruno Haible . */ @@ -32,11 +31,11 @@ #include #if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET -# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */ +# define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */ #endif #if defined _WIN32 || defined __WIN32__ -# define WIN32_NATIVE +# define WINDOWS_NATIVE #endif #if defined __EMX__ @@ -46,7 +45,7 @@ # endif #endif -#if !defined WIN32_NATIVE +#if !defined WINDOWS_NATIVE # include # if HAVE_LANGINFO_CODESET # include @@ -59,7 +58,7 @@ # define WIN32_LEAN_AND_MEAN # include # endif -#elif defined WIN32_NATIVE +#elif defined WINDOWS_NATIVE # define WIN32_LEAN_AND_MEAN # include #endif @@ -85,7 +84,7 @@ #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ - /* Win32, Cygwin, OS/2, DOS */ + /* Native Windows, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif @@ -125,7 +124,7 @@ get_charset_aliases (void) cp = charset_aliases; if (cp == NULL) { -#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) +#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__) const char *dir; const char *base = "charset.alias"; char *file_name; @@ -310,7 +309,7 @@ get_charset_aliases (void) "DECKOREAN" "\0" "EUC-KR" "\0"; # endif -# if defined WIN32_NATIVE || defined __CYGWIN__ +# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ @@ -362,7 +361,7 @@ locale_charset (void) const char *codeset; const char *aliases; -#if !(defined WIN32_NATIVE || defined OS2) +#if !(defined WINDOWS_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET @@ -409,10 +408,10 @@ locale_charset (void) } } - /* Woe32 has a function returning the locale's codepage as a number: - GetACP(). This encoding is used by Cygwin, unless the user has set - the environment variable CYGWIN=codepage:oem (which very few people - do). + /* The Windows API has a function returning the locale's codepage as a + number: GetACP(). This encoding is used by Cygwin, unless the user + has set the environment variable CYGWIN=codepage:oem (which very few + people do). Output directed to console windows needs to be converted (to GetOEMCP() if the console is using a raster font, or to GetConsoleOutputCP() if it is using a TrueType font). Cygwin does @@ -455,12 +454,12 @@ locale_charset (void) # endif -#elif defined WIN32_NATIVE +#elif defined WINDOWS_NATIVE static char buf[2 + 10 + 1]; - /* Woe32 has a function returning the locale's codepage as a number: - GetACP(). + /* The Windows API has a function returning the locale's codepage as a + number: GetACP(). When the output goes to a console window, it needs to be provided in GetOEMCP() encoding if the console is using a raster font, or in GetConsoleOutputCP() encoding if it is using a TrueType font. @@ -545,5 +544,12 @@ locale_charset (void) if (codeset[0] == '\0') codeset = "ASCII"; +#ifdef DARWIN7 + /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8" + (the default codeset) does not work when MB_CUR_MAX is 1. */ + if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1) + codeset = "ASCII"; +#endif + return codeset; } diff --git a/gnu/localcharset.h b/gnu/localcharset.h index 53c8a948..eacfd66b 100644 --- a/gnu/localcharset.h +++ b/gnu/localcharset.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H diff --git a/gnu/locale.in.h b/gnu/locale.in.h new file mode 100644 index 00000000..0e9272f7 --- /dev/null +++ b/gnu/locale.in.h @@ -0,0 +1,218 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* A POSIX . + Copyright (C) 2007-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#ifdef _GL_ALREADY_INCLUDING_LOCALE_H + +/* Special invocation conventions to handle Solaris header files + (through Solaris 10) when combined with gettext's libintl.h. */ + +#@INCLUDE_NEXT@ @NEXT_LOCALE_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _@GUARD_PREFIX@_LOCALE_H + +#define _GL_ALREADY_INCLUDING_LOCALE_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_LOCALE_H@ + +#undef _GL_ALREADY_INCLUDING_LOCALE_H + +#ifndef _@GUARD_PREFIX@_LOCALE_H +#define _@GUARD_PREFIX@_LOCALE_H + +/* NetBSD 5.0 mis-defines NULL. */ +#include + +/* Mac OS X 10.5 defines the locale_t type in . */ +#if @HAVE_XLOCALE_H@ +# include +#endif + +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + +/* The definition of _GL_ARG_NONNULL is copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ + +/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C. + On systems that don't define it, use the same value as GNU libintl. */ +#if !defined LC_MESSAGES +# define LC_MESSAGES 1729 +#endif + +/* Bionic libc's 'struct lconv' is just a dummy. */ +#if @REPLACE_STRUCT_LCONV@ +# define lconv rpl_lconv +struct lconv +{ + /* All 'char *' are actually 'const char *'. */ + + /* Members that depend on the LC_NUMERIC category of the locale. See + */ + + /* Symbol used as decimal point. */ + char *decimal_point; + /* Symbol used to separate groups of digits to the left of the decimal + point. */ + char *thousands_sep; + /* Definition of the size of groups of digits to the left of the decimal + point. */ + char *grouping; + + /* Members that depend on the LC_MONETARY category of the locale. See + */ + + /* Symbol used as decimal point. */ + char *mon_decimal_point; + /* Symbol used to separate groups of digits to the left of the decimal + point. */ + char *mon_thousands_sep; + /* Definition of the size of groups of digits to the left of the decimal + point. */ + char *mon_grouping; + /* Sign used to indicate a value >= 0. */ + char *positive_sign; + /* Sign used to indicate a value < 0. */ + char *negative_sign; + + /* For formatting local currency. */ + /* Currency symbol (3 characters) followed by separator (1 character). */ + char *currency_symbol; + /* Number of digits after the decimal point. */ + char frac_digits; + /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char p_cs_precedes; + /* For values >= 0: Position of the sign. */ + char p_sign_posn; + /* For values >= 0: Placement of spaces between currency symbol, sign, and + number. */ + char p_sep_by_space; + /* For values < 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char n_cs_precedes; + /* For values < 0: Position of the sign. */ + char n_sign_posn; + /* For values < 0: Placement of spaces between currency symbol, sign, and + number. */ + char n_sep_by_space; + + /* For formatting international currency. */ + /* Currency symbol (3 characters) followed by separator (1 character). */ + char *int_curr_symbol; + /* Number of digits after the decimal point. */ + char int_frac_digits; + /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char int_p_cs_precedes; + /* For values >= 0: Position of the sign. */ + char int_p_sign_posn; + /* For values >= 0: Placement of spaces between currency symbol, sign, and + number. */ + char int_p_sep_by_space; + /* For values < 0: 1 if the currency symbol precedes the number, 0 if it + comes after the number. */ + char int_n_cs_precedes; + /* For values < 0: Position of the sign. */ + char int_n_sign_posn; + /* For values < 0: Placement of spaces between currency symbol, sign, and + number. */ + char int_n_sep_by_space; +}; +#endif + +#if @GNULIB_LOCALECONV@ +# if @REPLACE_LOCALECONV@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef localeconv +# define localeconv rpl_localeconv +# endif +_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void)); +_GL_CXXALIAS_RPL (localeconv, struct lconv *, (void)); +# else +_GL_CXXALIAS_SYS (localeconv, struct lconv *, (void)); +# endif +_GL_CXXALIASWARN (localeconv); +#elif @REPLACE_STRUCT_LCONV@ +# undef localeconv +# define localeconv localeconv_used_without_requesting_gnulib_module_localeconv +#elif defined GNULIB_POSIXCHECK +# undef localeconv +# if HAVE_RAW_DECL_LOCALECONV +_GL_WARN_ON_USE (localeconv, + "localeconv returns too few information on some platforms - " + "use gnulib module localeconv for portability"); +# endif +#endif + +#if @GNULIB_SETLOCALE@ +# if @REPLACE_SETLOCALE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef setlocale +# define setlocale rpl_setlocale +# define GNULIB_defined_setlocale 1 +# endif +_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale)); +_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale)); +# else +_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale)); +# endif +_GL_CXXALIASWARN (setlocale); +#elif defined GNULIB_POSIXCHECK +# undef setlocale +# if HAVE_RAW_DECL_SETLOCALE +_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - " + "use gnulib module setlocale for portability"); +# endif +#endif + +#if @GNULIB_DUPLOCALE@ +# if @REPLACE_DUPLOCALE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef duplocale +# define duplocale rpl_duplocale +# endif +_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale)); +# else +# if @HAVE_DUPLOCALE@ +_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale)); +# endif +# endif +# if @HAVE_DUPLOCALE@ +_GL_CXXALIASWARN (duplocale); +# endif +#elif defined GNULIB_POSIXCHECK +# undef duplocale +# if HAVE_RAW_DECL_DUPLOCALE +_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - " + "use gnulib module duplocale for portability"); +# endif +#endif + +#endif /* _@GUARD_PREFIX@_LOCALE_H */ +#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */ +#endif /* _@GUARD_PREFIX@_LOCALE_H */ diff --git a/gnu/localeconv.c b/gnu/localeconv.c new file mode 100644 index 00000000..c7aa1a82 --- /dev/null +++ b/gnu/localeconv.c @@ -0,0 +1,105 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Query locale dependent information for formatting numbers. + Copyright (C) 2012-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if HAVE_STRUCT_LCONV_DECIMAL_POINT + +/* Override for platforms where 'struct lconv' lacks the int_p_*, int_n_* + members. */ + +struct lconv * +localeconv (void) +{ + static struct lconv result; +# undef lconv +# undef localeconv + struct lconv *sys_result = localeconv (); + + result.decimal_point = sys_result->decimal_point; + result.thousands_sep = sys_result->thousands_sep; + result.grouping = sys_result->grouping; + result.mon_decimal_point = sys_result->mon_decimal_point; + result.mon_thousands_sep = sys_result->mon_thousands_sep; + result.mon_grouping = sys_result->mon_grouping; + result.positive_sign = sys_result->positive_sign; + result.negative_sign = sys_result->negative_sign; + result.currency_symbol = sys_result->currency_symbol; + result.frac_digits = sys_result->frac_digits; + result.p_cs_precedes = sys_result->p_cs_precedes; + result.p_sign_posn = sys_result->p_sign_posn; + result.p_sep_by_space = sys_result->p_sep_by_space; + result.n_cs_precedes = sys_result->n_cs_precedes; + result.n_sign_posn = sys_result->n_sign_posn; + result.n_sep_by_space = sys_result->n_sep_by_space; + result.int_curr_symbol = sys_result->int_curr_symbol; + result.int_frac_digits = sys_result->int_frac_digits; + result.int_p_cs_precedes = sys_result->p_cs_precedes; + result.int_p_sign_posn = sys_result->p_sign_posn; + result.int_p_sep_by_space = sys_result->p_sep_by_space; + result.int_n_cs_precedes = sys_result->n_cs_precedes; + result.int_n_sign_posn = sys_result->n_sign_posn; + result.int_n_sep_by_space = sys_result->n_sep_by_space; + + return &result; +} + +#else + +/* Override for platforms where 'struct lconv' is a dummy. */ + +# include + +struct lconv * +localeconv (void) +{ + static /*const*/ struct lconv result = + { + /* decimal_point */ ".", + /* thousands_sep */ "", + /* grouping */ "", + /* mon_decimal_point */ "", + /* mon_thousands_sep */ "", + /* mon_grouping */ "", + /* positive_sign */ "", + /* negative_sign */ "", + /* currency_symbol */ "", + /* frac_digits */ CHAR_MAX, + /* p_cs_precedes */ CHAR_MAX, + /* p_sign_posn */ CHAR_MAX, + /* p_sep_by_space */ CHAR_MAX, + /* n_cs_precedes */ CHAR_MAX, + /* n_sign_posn */ CHAR_MAX, + /* n_sep_by_space */ CHAR_MAX, + /* int_curr_symbol */ "", + /* int_frac_digits */ CHAR_MAX, + /* int_p_cs_precedes */ CHAR_MAX, + /* int_p_sign_posn */ CHAR_MAX, + /* int_p_sep_by_space */ CHAR_MAX, + /* int_n_cs_precedes */ CHAR_MAX, + /* int_n_sign_posn */ CHAR_MAX, + /* int_n_sep_by_space */ CHAR_MAX + }; + + return &result; +} + +#endif diff --git a/gnu/lseek.c b/gnu/lseek.c index b33a7568..b5fdcca0 100644 --- a/gnu/lseek.c +++ b/gnu/lseek.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An lseek() function that detects pipes. - Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ #include @@ -26,6 +25,8 @@ /* Windows platforms. */ /* Get GetFileType. */ # include +/* Get _get_osfhandle. */ +# include "msvc-nothrow.h" #else # include #endif @@ -60,5 +61,9 @@ rpl_lseek (int fd, off_t offset, int whence) return -1; } #endif +#if _GL_WINDOWS_64_BIT_OFF_T + return _lseeki64 (fd, offset, whence); +#else return lseek (fd, offset, whence); +#endif } diff --git a/gnu/lstat.c b/gnu/lstat.c index 1e0499f0..8314b277 100644 --- a/gnu/lstat.c +++ b/gnu/lstat.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around a bug of lstat on some systems - Copyright (C) 1997-2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 1997-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,10 @@ /* written by Jim Meyering */ +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_lstat doesn't recurse to + rpl_lstat. */ +#define __need_system_sys_stat_h #include #if !HAVE_LSTAT @@ -29,29 +33,31 @@ typedef int dummy; #else /* HAVE_LSTAT */ /* Get the original definition of lstat. It might be defined as a macro. */ -# define __need_system_sys_stat_h # include # include # undef __need_system_sys_stat_h -static inline int +static int orig_lstat (const char *filename, struct stat *buf) { return lstat (filename, buf); } /* Specification. */ -# include +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +# include "sys/stat.h" # include # include /* lstat works differently on Linux and Solaris systems. POSIX (see - `pathname resolution' in the glossary) requires that programs like - `ls' take into consideration the fact that FILE has a trailing slash + "pathname resolution" in the glossary) requires that programs like + 'ls' take into consideration the fact that FILE has a trailing slash when FILE is a symbolic link. On Linux and Solaris 10 systems, the lstat function already has the desired semantics (in treating - `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)', + 'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)', but on Solaris 9 and earlier it does not. If FILE has a trailing slash and specifies a symbolic link, diff --git a/gnu/malloc.c b/gnu/malloc.c index f4c36e24..88792e0e 100644 --- a/gnu/malloc.c +++ b/gnu/malloc.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* malloc() function that is glibc compatible. - Copyright (C) 1997-1998, 2006-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,11 +15,11 @@ 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. */ + along with this program; if not, see . */ /* written by Jim Meyering and Bruno Haible */ +#define _GL_USE_STDLIB_ALLOC 1 #include /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ #ifdef malloc @@ -30,14 +30,10 @@ # define NEED_MALLOC_GNU 1 #endif -/* Specification. */ #include #include -/* Call the system's malloc below. */ -#undef malloc - /* Allocate an N-byte block of memory from the heap. If N is zero, allocate a 1-byte block. */ diff --git a/gnu/malloca.c b/gnu/malloca.c index 64ca9875..b6b223d6 100644 --- a/gnu/malloca.c +++ b/gnu/malloca.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Safe automatic memory allocation. - Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify @@ -15,18 +15,17 @@ 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. */ + along with this program; if not, see . */ +#define _GL_USE_STDLIB_ALLOC 1 #include /* Specification. */ #include "malloca.h" -#include "verify.h" +#include -/* Use the system functions, not the gnulib overrides in this file. */ -#undef malloc +#include "verify.h" /* The speed critical point in this file is freea() applied to an alloca() result: it must be fast, to match the speed of alloca(). The speed of @@ -52,12 +51,18 @@ #define MAGIC_SIZE sizeof (int) /* This is how the header info would look like without any alignment considerations. */ -struct preliminary_header { void *next; char room[MAGIC_SIZE]; }; +struct preliminary_header { void *next; int magic; }; /* But the header's size must be a multiple of sa_alignment_max. */ #define HEADER_SIZE \ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max) -struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; }; -verify (HEADER_SIZE == sizeof (struct header)); +union header { + void *next; + struct { + char room[HEADER_SIZE - MAGIC_SIZE]; + int word; + } magic; +}; +verify (HEADER_SIZE == sizeof (union header)); /* We make the hash table quite big, so that during lookups the probability of empty hash buckets is quite high. There is no need to make the hash table resizable, because when the hash table gets filled so much that the @@ -77,20 +82,21 @@ mmalloca (size_t n) if (nplus >= n) { - char *p = (char *) malloc (nplus); + void *p = malloc (nplus); if (p != NULL) { size_t slot; + union header *h = p; - p += HEADER_SIZE; + p = h + 1; /* Put a magic number into the indicator word. */ - ((int *) p)[-1] = MAGIC_NUMBER; + h->magic.word = MAGIC_NUMBER; /* Enter p into the hash table. */ - slot = (unsigned long) p % HASH_TABLE_SIZE; - ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot]; + slot = (uintptr_t) p % HASH_TABLE_SIZE; + h->next = mmalloca_results[slot]; mmalloca_results[slot] = p; return p; @@ -122,19 +128,21 @@ freea (void *p) { /* Looks like a mmalloca() result. To see whether it really is one, perform a lookup in the hash table. */ - size_t slot = (unsigned long) p % HASH_TABLE_SIZE; + size_t slot = (uintptr_t) p % HASH_TABLE_SIZE; void **chain = &mmalloca_results[slot]; for (; *chain != NULL;) { + union header *h = p; if (*chain == p) { /* Found it. Remove it from the hash table and free it. */ - char *p_begin = (char *) p - HEADER_SIZE; - *chain = ((struct header *) p_begin)->next; + union header *p_begin = h - 1; + *chain = p_begin->next; free (p_begin); return; } - chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next; + h = *chain; + chain = &h[-1].next; } } /* At this point, we know it was not a mmalloca() result. */ diff --git a/gnu/malloca.h b/gnu/malloca.h index 933fa7ec..82568898 100644 --- a/gnu/malloca.h +++ b/gnu/malloca.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Safe automatic memory allocation. - Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #ifndef _MALLOCA_H #define _MALLOCA_H @@ -45,7 +44,7 @@ extern "C" { and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. - This must be a macro, not an inline function. */ + This must be a macro, not a function. */ # define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL) #else # define safe_alloca(N) ((void) (N), NULL) @@ -95,7 +94,7 @@ extern void * nmalloca (size_t n, size_t s); /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ -#if defined __GNUC__ +#if defined __GNUC__ || defined __IBM__ALIGNOF__ # define sa_alignof __alignof__ #elif defined __cplusplus template struct sa_alignof_helper { char __slot1; type __slot2; }; diff --git a/gnu/mbchar.c b/gnu/mbchar.c index 0abf8cc1..2ec35224 100644 --- a/gnu/mbchar.c +++ b/gnu/mbchar.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2001, 2006, 2009-2011 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2006, 2009-2013 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 @@ -18,6 +18,8 @@ #include +#define MBCHAR_INLINE _GL_EXTERN_INLINE + #include #include "mbchar.h" diff --git a/gnu/mbchar.h b/gnu/mbchar.h index 2a8140f5..cadf1576 100644 --- a/gnu/mbchar.h +++ b/gnu/mbchar.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Multibyte character data type. - Copyright (C) 2001, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2005-2007, 2009-2013 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 @@ -158,6 +158,11 @@ #include #include +_GL_INLINE_HEADER_BEGIN +#ifndef MBCHAR_INLINE +# define MBCHAR_INLINE _GL_INLINE +#endif + #define MBCHAR_BUF_SIZE 24 struct mbchar @@ -237,7 +242,7 @@ typedef struct mbchar mbchar_t; /* Unprintable characters appear as a small box of width 1. */ #define MB_UNPRINTABLE_WIDTH 1 -static inline int +MBCHAR_INLINE int mb_width_aux (wint_t wc) { int w = wcwidth (wc); @@ -258,7 +263,7 @@ mb_width_aux (wint_t wc) (mbc)->wc = (mbc)->buf[0] = (sc)) /* Copying a character. */ -static inline void +MBCHAR_INLINE void mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc) { if (old_mbc->ptr == &old_mbc->buf[0]) @@ -306,7 +311,7 @@ mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc) extern const unsigned int is_basic_table[]; -static inline bool +MBCHAR_INLINE bool is_basic (char c) { return (is_basic_table [(unsigned char) c >> 5] >> ((unsigned char) c & 31)) @@ -315,7 +320,7 @@ is_basic (char c) #else -static inline bool +MBCHAR_INLINE bool is_basic (char c) { switch (c) @@ -349,4 +354,6 @@ is_basic (char c) #endif +_GL_INLINE_HEADER_END + #endif /* _MBCHAR_H */ diff --git a/gnu/mbrtowc.c b/gnu/mbrtowc.c index 19f51591..22022f39 100644 --- a/gnu/mbrtowc.c +++ b/gnu/mbrtowc.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2011 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -130,7 +130,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { const char *encoding = locale_charset (); - if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) + if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) { /* Cf. unistr/u8-mblen.c. */ unsigned char c = (unsigned char) p[0]; @@ -187,7 +187,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) /* As a reference for this code, you can use the GNU libiconv implementation. Look for uses of the RET_TOOFEW macro. */ - if (STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)) + if (STREQ_OPT (encoding, + "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)) { if (m == 1) { @@ -210,9 +211,12 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) } goto invalid; } - if (STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) - || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) - || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)) + if (STREQ_OPT (encoding, + "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) + || STREQ_OPT (encoding, + "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) + || STREQ_OPT (encoding, + "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)) { if (m == 1) { @@ -223,7 +227,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) } goto invalid; } - if (STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)) + if (STREQ_OPT (encoding, + "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)) { if (m == 1) { @@ -241,7 +246,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) } goto invalid; } - if (STREQ (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0)) + if (STREQ_OPT (encoding, + "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0)) { if (m == 1) { @@ -274,7 +280,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) } goto invalid; } - if (STREQ (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0)) + if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0)) { if (m == 1) { @@ -337,7 +343,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { static mbstate_t internal_state; - /* Override mbrtowc's internal state. We can not call mbsinit() on the + /* Override mbrtowc's internal state. We cannot call mbsinit() on the hidden internal state, but we can call it on our variable. */ if (ps == NULL) ps = &internal_state; diff --git a/gnu/mbscasecmp.c b/gnu/mbscasecmp.c index 88441295..15f6b0d8 100644 --- a/gnu/mbscasecmp.c +++ b/gnu/mbscasecmp.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2011 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2005, based on earlier glibc code. diff --git a/gnu/mbsinit.c b/gnu/mbsinit.c index d3b3f200..5db59b67 100644 --- a/gnu/mbsinit.c +++ b/gnu/mbsinit.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test for initial conversion state. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbsrtowcs-impl.h b/gnu/mbsrtowcs-impl.h index a68df83b..a73fedff 100644 --- a/gnu/mbsrtowcs-impl.h +++ b/gnu/mbsrtowcs-impl.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string to wide string. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbsrtowcs-state.c b/gnu/mbsrtowcs-state.c index 7d29674b..cb5b164b 100644 --- a/gnu/mbsrtowcs-state.c +++ b/gnu/mbsrtowcs-state.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string to wide string. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -24,7 +24,7 @@ /* Internal state used by the functions mbsrtowcs() and mbsnrtowcs(). */ mbstate_t _gl_mbsrtowcs_state /* The state must initially be in the "initial state"; so, zero-initialize it. - On most systems, putting it into BSS is sufficient. Not so on MacOS X 10.3, + On most systems, putting it into BSS is sufficient. Not so on Mac OS X 10.3, see . When it needs an initializer, use 0 or {0} as initializer? 0 only works when mbstate_t is a scalar type (such as when gnulib defines it, or on diff --git a/gnu/mbsrtowcs.c b/gnu/mbsrtowcs.c index 108c7812..8b265f58 100644 --- a/gnu/mbsrtowcs.c +++ b/gnu/mbsrtowcs.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string to wide string. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbtowc-impl.h b/gnu/mbtowc-impl.h index 3e6653f3..e8ea2122 100644 --- a/gnu/mbtowc-impl.h +++ b/gnu/mbtowc-impl.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert multibyte character to wide character. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbtowc.c b/gnu/mbtowc.c index 06a29d07..9019b98d 100644 --- a/gnu/mbtowc.c +++ b/gnu/mbtowc.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert multibyte character to wide character. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify diff --git a/gnu/mbuiter.c b/gnu/mbuiter.c new file mode 100644 index 00000000..3be645fc --- /dev/null +++ b/gnu/mbuiter.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define MBUITER_INLINE _GL_EXTERN_INLINE +#include "mbuiter.h" diff --git a/gnu/mbuiter.h b/gnu/mbuiter.h index 7897d12a..1dd87f71 100644 --- a/gnu/mbuiter.h +++ b/gnu/mbuiter.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Iterating through multibyte strings: macros for multi-byte encodings. - Copyright (C) 2001, 2005, 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2007, 2009-2013 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 @@ -57,9 +57,9 @@ initializes the iterator, starting at startptr. mbui_avail (iter) - returns true if there are more multibyte chracters available before + returns true if there are more multibyte characters available before the end of string is reached. In this case, mbui_cur (iter) is - initialized to the next multibyte chracter. + initialized to the next multibyte character. mbui_advance (iter) advances the iterator by one multibyte character. @@ -108,6 +108,11 @@ #include "mbchar.h" #include "strnlen1.h" +_GL_INLINE_HEADER_BEGIN +#ifndef MBUITER_INLINE +# define MBUITER_INLINE _GL_INLINE +#endif + struct mbuiter_multi { bool in_shift; /* true if next byte may not be interpreted as ASCII */ @@ -122,7 +127,7 @@ struct mbuiter_multi */ }; -static inline void +MBUITER_INLINE void mbuiter_multi_next (struct mbuiter_multi *iter) { if (iter->next_done) @@ -183,13 +188,13 @@ mbuiter_multi_next (struct mbuiter_multi *iter) iter->next_done = true; } -static inline void +MBUITER_INLINE void mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff) { iter->cur.ptr += ptrdiff; } -static inline void +MBUITER_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)) @@ -221,4 +226,6 @@ typedef struct mbuiter_multi mbui_iterator_t; /* Copying an iterator. */ #define mbui_copy mbuiter_multi_copy +_GL_INLINE_HEADER_END + #endif /* _MBUITER_H */ diff --git a/gnu/memchr.c b/gnu/memchr.c index 1bc3f998..a623ba5e 100644 --- a/gnu/memchr.c +++ b/gnu/memchr.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2011 +/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), diff --git a/gnu/mempcpy.c b/gnu/mempcpy.c index 02ed5662..db99441e 100644 --- a/gnu/mempcpy.c +++ b/gnu/mempcpy.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Copy memory area and return pointer after last written byte. - Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2007, 2009-2013 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 @@ -14,8 +14,7 @@ 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. */ + along with this program; if not, see . */ #include diff --git a/gnu/memrchr.c b/gnu/memrchr.c index 98b60802..984ad520 100644 --- a/gnu/memrchr.c +++ b/gnu/memrchr.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* memrchr -- find the last occurrence of a byte in a memory block - Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2011 Free Software + Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2013 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), diff --git a/gnu/mkdir.c b/gnu/mkdir.c index 69d253a8..e3816d63 100644 --- a/gnu/mkdir.c +++ b/gnu/mkdir.c @@ -3,7 +3,7 @@ /* On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. On those systems, this wrapper removes the trailing slash. - Copyright (C) 2001, 2003, 2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2006, 2008-2013 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 diff --git a/gnu/mkdirat.c b/gnu/mkdirat.c index 08ab19f7..89755305 100644 --- a/gnu/mkdirat.c +++ b/gnu/mkdirat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* fd-relative mkdir - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 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 diff --git a/gnu/mkdtemp.c b/gnu/mkdtemp.c index d4b7d82b..f5ae4d44 100644 --- a/gnu/mkdtemp.c +++ b/gnu/mkdtemp.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2011 Free Software +/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/mkfifo.c b/gnu/mkfifo.c index 1c27a257..5c3b4976 100644 --- a/gnu/mkfifo.c +++ b/gnu/mkfifo.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a named fifo. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/mkfifoat.c b/gnu/mkfifoat.c index 3ae8aef1..5c0b8c5b 100644 --- a/gnu/mkfifoat.c +++ b/gnu/mkfifoat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a named fifo relative to an open directory. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/mknod.c b/gnu/mknod.c index 7d811a35..ff25d897 100644 --- a/gnu/mknod.c +++ b/gnu/mknod.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a device inode. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/mknodat.c b/gnu/mknodat.c index 384315a4..f5d0e479 100644 --- a/gnu/mknodat.c +++ b/gnu/mknodat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create an inode relative to an open directory. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/mktime.c b/gnu/mktime.c index 9b4d1f14..e703cd29 100644 --- a/gnu/mktime.c +++ b/gnu/mktime.c @@ -1,23 +1,23 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Convert a `struct tm' to a time_t value. - Copyright (C) 1993-1999, 2002-2007, 2009-2011 Free Software Foundation, Inc. +/* Convert a 'struct tm' to a time_t value. + Copyright (C) 1993-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Paul Eggert . - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ /* Define this to have a standalone program to test this implementation of mktime. */ @@ -27,26 +27,8 @@ # include #endif -/* Some of the code in this file assumes that signed integer overflow - silently wraps around. This assumption can't easily be programmed - around, nor can it be checked for portably at compile-time or - easily eliminated at run-time. - - Define WRAPV to 1 if the assumption is valid. Otherwise, define it - to 0; this forces the use of slower code that, while not guaranteed - by the C Standard, works on all production platforms that we know - about. */ -#ifndef WRAPV -# if (__GNUC__ == 4 && 4 <= __GNUC_MINOR__) || 4 < __GNUC__ -# pragma GCC optimize ("wrapv") -# define WRAPV 1 -# else -# define WRAPV 0 -# endif -#endif - /* Assume that leap seconds are possible, unless told otherwise. - If the host has a `zic' command with a `-L leapsecondfilename' option, + If the host has a 'zic' command with a '-L leapsecondfilename' option, then it supports leap seconds; otherwise it probably doesn't. */ #ifndef LEAP_SECONDS_POSSIBLE # define LEAP_SECONDS_POSSIBLE 1 @@ -56,7 +38,7 @@ #include -#include /* For the real memcpy prototype. */ +#include /* For the real memcpy prototype. */ #if DEBUG # include @@ -66,6 +48,28 @@ # define mktime my_mktime #endif /* DEBUG */ +/* Some of the code in this file assumes that signed integer overflow + silently wraps around. This assumption can't easily be programmed + around, nor can it be checked for portably at compile-time or + easily eliminated at run-time. + + Define WRAPV to 1 if the assumption is valid and if + #pragma GCC optimize ("wrapv") + does not trigger GCC bug 51793 + . + Otherwise, define it to 0; this forces the use of slower code that, + while not guaranteed by the C Standard, works on all production + platforms that we know about. */ +#ifndef WRAPV +# if (((__GNUC__ == 4 && 4 <= __GNUC_MINOR__) || 4 < __GNUC__) \ + && defined __GLIBC__) +# pragma GCC optimize ("wrapv") +# define WRAPV 1 +# else +# define WRAPV 0 +# endif +#endif + /* Verify a requirement at compile-time (unlike assert, which is runtime). */ #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; } @@ -114,12 +118,12 @@ verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2); your host. */ #define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ - ? (t) 0 \ - : ~ TYPE_MAXIMUM (t))) + ? (t) 0 \ + : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) #ifndef TIME_T_MIN # define TIME_T_MIN TYPE_MINIMUM (time_t) @@ -131,16 +135,16 @@ verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2); verify (time_t_is_integer, TYPE_IS_INTEGER (time_t)); verify (twos_complement_arithmetic, - (TYPE_TWOS_COMPLEMENT (int) - && TYPE_TWOS_COMPLEMENT (long_int) - && TYPE_TWOS_COMPLEMENT (time_t))); + (TYPE_TWOS_COMPLEMENT (int) + && TYPE_TWOS_COMPLEMENT (long_int) + && TYPE_TWOS_COMPLEMENT (time_t))); #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0); /* Return 1 if YEAR + TM_YEAR_BASE is a leap year. */ -static inline int +static int leapyear (long_int year) { /* Don't add YEAR to TM_YEAR_BASE, as that might overflow. @@ -148,7 +152,7 @@ leapyear (long_int year) return ((year & 3) == 0 && (year % 100 != 0 - || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3))); + || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3))); } /* How many days come before each month (0-12). */ @@ -180,7 +184,7 @@ const unsigned short int __mon_yday[2][13] = static int isdst_differ (int a, int b) { - return (!a != !b) & (0 <= a) & (0 <= b); + return (!a != !b) && (0 <= a) && (0 <= b); } /* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) - @@ -194,9 +198,9 @@ isdst_differ (int a, int b) The result may overflow. It is the caller's responsibility to detect overflow. */ -static inline time_t +static time_t ydhms_diff (long_int year1, long_int yday1, int hour1, int min1, int sec1, - int year0, int yday0, int hour0, int min0, int sec0) + int year0, int yday0, int hour0, int min0, int sec0) { verify (C99_integer_division, -1 / 2 == 0); @@ -277,15 +281,15 @@ time_t_int_add_ok (time_t a, int b) yield a value equal to *T. */ static time_t guess_time_tm (long_int year, long_int yday, int hour, int min, int sec, - const time_t *t, const struct tm *tp) + const time_t *t, const struct tm *tp) { if (tp) { time_t d = ydhms_diff (year, yday, hour, min, sec, - tp->tm_year, tp->tm_yday, - tp->tm_hour, tp->tm_min, tp->tm_sec); + tp->tm_year, tp->tm_yday, + tp->tm_hour, tp->tm_min, tp->tm_sec); if (time_t_add_ok (*t, d)) - return *t + d; + return *t + d; } /* Overflow occurred one way or another. Return the nearest result @@ -294,8 +298,8 @@ guess_time_tm (long_int year, long_int yday, int hour, int min, int sec, match; and don't oscillate between two values, as that would confuse the spring-forward gap detector. */ return (*t < TIME_T_MIDPOINT - ? (*t <= TIME_T_MIN + 1 ? *t + 1 : TIME_T_MIN) - : (TIME_T_MAX - 1 <= *t ? *t - 1 : TIME_T_MAX)); + ? (*t <= TIME_T_MIN + 1 ? *t + 1 : TIME_T_MIN) + : (TIME_T_MAX - 1 <= *t ? *t - 1 : TIME_T_MAX)); } /* Use CONVERT to convert *T to a broken down time in *TP. @@ -303,7 +307,7 @@ guess_time_tm (long_int year, long_int yday, int hour, int min, int sec, it is the nearest in-range value and then convert that. */ static struct tm * ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), - time_t *t, struct tm *tp) + time_t *t, struct tm *tp) { struct tm *r = convert (t, tp); @@ -313,25 +317,25 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), time_t ok = 0; /* BAD is a known unconvertible time_t, and OK is a known good one. - Use binary search to narrow the range between BAD and OK until - they differ by 1. */ + Use binary search to narrow the range between BAD and OK until + they differ by 1. */ while (bad != ok + (bad < 0 ? -1 : 1)) - { - time_t mid = *t = time_t_avg (ok, bad); - r = convert (t, tp); - if (r) - ok = mid; - else - bad = mid; - } + { + time_t mid = *t = time_t_avg (ok, bad); + r = convert (t, tp); + if (r) + ok = mid; + else + bad = mid; + } if (!r && ok) - { - /* The last conversion attempt failed; - revert to the most recent successful attempt. */ - *t = ok; - r = convert (t, tp); - } + { + /* The last conversion attempt failed; + revert to the most recent successful attempt. */ + *t = ok; + r = convert (t, tp); + } } return r; @@ -346,8 +350,8 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), This function is external because it is used also by timegm.c. */ time_t __mktime_internal (struct tm *tp, - struct tm *(*convert) (const time_t *, struct tm *), - time_t *offset) + struct tm *(*convert) (const time_t *, struct tm *), + time_t *offset) { time_t t, gt, t0, t1, t2; struct tm tm; @@ -386,8 +390,8 @@ __mktime_internal (struct tm *tp, /* Calculate day of year from year, month, and day of month. The result need not be in range. */ int mon_yday = ((__mon_yday[leapyear (year)] - [mon_remainder + 12 * negative_mon_remainder]) - - 1); + [mon_remainder + 12 * negative_mon_remainder]) + - 1); long_int lmday = mday; long_int yday = mon_yday + lmday; @@ -398,33 +402,33 @@ __mktime_internal (struct tm *tp, if (LEAP_SECONDS_POSSIBLE) { /* Handle out-of-range seconds specially, - since ydhms_tm_diff assumes every minute has 60 seconds. */ + since ydhms_tm_diff assumes every minute has 60 seconds. */ if (sec < 0) - sec = 0; + sec = 0; if (59 < sec) - sec = 59; + sec = 59; } /* Invert CONVERT by probing. First assume the same offset as last time. */ t0 = ydhms_diff (year, yday, hour, min, sec, - EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset); + EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset); if (TIME_T_MAX / INT_MAX / 366 / 24 / 60 / 60 < 3) { /* time_t isn't large enough to rule out overflows, so check - for major overflows. A gross check suffices, since if t0 - has overflowed, it is off by a multiple of TIME_T_MAX - - TIME_T_MIN + 1. So ignore any component of the difference - that is bounded by a small value. */ + for major overflows. A gross check suffices, since if t0 + has overflowed, it is off by a multiple of TIME_T_MAX - + TIME_T_MIN + 1. So ignore any component of the difference + that is bounded by a small value. */ /* Approximate log base 2 of the number of time units per - biennium. A biennium is 2 years; use this unit instead of - years to avoid integer overflow. For example, 2 average - Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds, - which is 63113904 seconds, and rint (log2 (63113904)) is - 26. */ + biennium. A biennium is 2 years; use this unit instead of + years to avoid integer overflow. For example, 2 average + Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds, + which is 63113904 seconds, and rint (log2 (63113904)) is + 26. */ int ALOG2_SECONDS_PER_BIENNIUM = 26; int ALOG2_MINUTES_PER_BIENNIUM = 20; int ALOG2_HOURS_PER_BIENNIUM = 14; @@ -432,64 +436,64 @@ __mktime_internal (struct tm *tp, int LOG2_YEARS_PER_BIENNIUM = 1; int approx_requested_biennia = - (SHR (year_requested, LOG2_YEARS_PER_BIENNIUM) - - SHR (EPOCH_YEAR - TM_YEAR_BASE, LOG2_YEARS_PER_BIENNIUM) - + SHR (mday, ALOG2_DAYS_PER_BIENNIUM) - + SHR (hour, ALOG2_HOURS_PER_BIENNIUM) - + SHR (min, ALOG2_MINUTES_PER_BIENNIUM) - + (LEAP_SECONDS_POSSIBLE - ? 0 - : SHR (sec, ALOG2_SECONDS_PER_BIENNIUM))); + (SHR (year_requested, LOG2_YEARS_PER_BIENNIUM) + - SHR (EPOCH_YEAR - TM_YEAR_BASE, LOG2_YEARS_PER_BIENNIUM) + + SHR (mday, ALOG2_DAYS_PER_BIENNIUM) + + SHR (hour, ALOG2_HOURS_PER_BIENNIUM) + + SHR (min, ALOG2_MINUTES_PER_BIENNIUM) + + (LEAP_SECONDS_POSSIBLE + ? 0 + : SHR (sec, ALOG2_SECONDS_PER_BIENNIUM))); int approx_biennia = SHR (t0, ALOG2_SECONDS_PER_BIENNIUM); int diff = approx_biennia - approx_requested_biennia; - int abs_diff = diff < 0 ? -1 - diff : diff; + int approx_abs_diff = diff < 0 ? -1 - diff : diff; /* IRIX 4.0.5 cc miscalculates TIME_T_MIN / 3: it erroneously - gives a positive value of 715827882. Setting a variable - first then doing math on it seems to work. - (ghazi@caip.rutgers.edu) */ + gives a positive value of 715827882. Setting a variable + first then doing math on it seems to work. + (ghazi@caip.rutgers.edu) */ time_t time_t_max = TIME_T_MAX; time_t time_t_min = TIME_T_MIN; time_t overflow_threshold = - (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM; - - if (overflow_threshold < abs_diff) - { - /* Overflow occurred. Try repairing it; this might work if - the time zone offset is enough to undo the overflow. */ - time_t repaired_t0 = -1 - t0; - approx_biennia = SHR (repaired_t0, ALOG2_SECONDS_PER_BIENNIUM); - diff = approx_biennia - approx_requested_biennia; - abs_diff = diff < 0 ? -1 - diff : diff; - if (overflow_threshold < abs_diff) - return -1; - guessed_offset += repaired_t0 - t0; - t0 = repaired_t0; - } + (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM; + + if (overflow_threshold < approx_abs_diff) + { + /* Overflow occurred. Try repairing it; this might work if + the time zone offset is enough to undo the overflow. */ + time_t repaired_t0 = -1 - t0; + approx_biennia = SHR (repaired_t0, ALOG2_SECONDS_PER_BIENNIUM); + diff = approx_biennia - approx_requested_biennia; + approx_abs_diff = diff < 0 ? -1 - diff : diff; + if (overflow_threshold < approx_abs_diff) + return -1; + guessed_offset += repaired_t0 - t0; + t0 = repaired_t0; + } } /* Repeatedly use the error to improve the guess. */ for (t = t1 = t2 = t0, dst2 = 0; (gt = guess_time_tm (year, yday, hour, min, sec, &t, - ranged_convert (convert, &t, &tm)), - t != gt); + ranged_convert (convert, &t, &tm)), + t != gt); t1 = t2, t2 = t, t = gt, dst2 = tm.tm_isdst != 0) if (t == t1 && t != t2 - && (tm.tm_isdst < 0 - || (isdst < 0 - ? dst2 <= (tm.tm_isdst != 0) - : (isdst != 0) != (tm.tm_isdst != 0)))) + && (tm.tm_isdst < 0 + || (isdst < 0 + ? dst2 <= (tm.tm_isdst != 0) + : (isdst != 0) != (tm.tm_isdst != 0)))) /* We can't possibly find a match, as we are oscillating - between two values. The requested time probably falls - within a spring-forward gap of size GT - T. Follow the common - practice in this case, which is to return a time that is GT - T - away from the requested time, preferring a time whose - tm_isdst differs from the requested value. (If no tm_isdst - was requested and only one of the two values has a nonzero - tm_isdst, prefer that value.) In practice, this is more - useful than returning -1. */ + between two values. The requested time probably falls + within a spring-forward gap of size GT - T. Follow the common + practice in this case, which is to return a time that is GT - T + away from the requested time, preferring a time whose + tm_isdst differs from the requested value. (If no tm_isdst + was requested and only one of the two values has a nonzero + tm_isdst, prefer that value.) In practice, this is more + useful than returning -1. */ goto offset_found; else if (--remaining_probes == 0) return -1; @@ -499,50 +503,50 @@ __mktime_internal (struct tm *tp, if (isdst_differ (isdst, tm.tm_isdst)) { /* tm.tm_isdst has the wrong value. Look for a neighboring - time with the right value, and use its UTC offset. + time with the right value, and use its UTC offset. - Heuristic: probe the adjacent timestamps in both directions, - looking for the desired isdst. This should work for all real - time zone histories in the tz database. */ + Heuristic: probe the adjacent timestamps in both directions, + looking for the desired isdst. This should work for all real + time zone histories in the tz database. */ /* Distance between probes when looking for a DST boundary. In - tzdata2003a, the shortest period of DST is 601200 seconds - (e.g., America/Recife starting 2000-10-08 01:00), and the - shortest period of non-DST surrounded by DST is 694800 - seconds (Africa/Tunis starting 1943-04-17 01:00). Use the - minimum of these two values, so we don't miss these short - periods when probing. */ + tzdata2003a, the shortest period of DST is 601200 seconds + (e.g., America/Recife starting 2000-10-08 01:00), and the + shortest period of non-DST surrounded by DST is 694800 + seconds (Africa/Tunis starting 1943-04-17 01:00). Use the + minimum of these two values, so we don't miss these short + periods when probing. */ int stride = 601200; /* The longest period of DST in tzdata2003a is 536454000 seconds - (e.g., America/Jujuy starting 1946-10-01 01:00). The longest - period of non-DST is much longer, but it makes no real sense - to search for more than a year of non-DST, so use the DST - max. */ + (e.g., America/Jujuy starting 1946-10-01 01:00). The longest + period of non-DST is much longer, but it makes no real sense + to search for more than a year of non-DST, so use the DST + max. */ int duration_max = 536454000; /* Search in both directions, so the maximum distance is half - the duration; add the stride to avoid off-by-1 problems. */ + the duration; add the stride to avoid off-by-1 problems. */ int delta_bound = duration_max / 2 + stride; int delta, direction; for (delta = stride; delta < delta_bound; delta += stride) - for (direction = -1; direction <= 1; direction += 2) - if (time_t_int_add_ok (t, delta * direction)) - { - time_t ot = t + delta * direction; - struct tm otm; - ranged_convert (convert, &ot, &otm); - if (! isdst_differ (isdst, otm.tm_isdst)) - { - /* We found the desired tm_isdst. - Extrapolate back to the desired time. */ - t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm); - ranged_convert (convert, &t, &tm); - goto offset_found; - } - } + for (direction = -1; direction <= 1; direction += 2) + if (time_t_int_add_ok (t, delta * direction)) + { + time_t ot = t + delta * direction; + struct tm otm; + ranged_convert (convert, &ot, &otm); + if (! isdst_differ (isdst, otm.tm_isdst)) + { + /* We found the desired tm_isdst. + Extrapolate back to the desired time. */ + t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm); + ranged_convert (convert, &t, &tm); + goto offset_found; + } + } } offset_found: @@ -551,16 +555,16 @@ __mktime_internal (struct tm *tp, if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec) { /* Adjust time to reflect the tm_sec requested, not the normalized value. - Also, repair any damage from a false match due to a leap second. */ + Also, repair any damage from a false match due to a leap second. */ int sec_adjustment = (sec == 0 && tm.tm_sec == 60) - sec; if (! time_t_int_add_ok (t, sec_requested)) - return -1; + return -1; t1 = t + sec_requested; if (! time_t_int_add_ok (t1, sec_adjustment)) - return -1; + return -1; t2 = t1 + sec_adjustment; if (! convert (&t2, &tm)) - return -1; + return -1; t = t2; } @@ -581,7 +585,7 @@ mktime (struct tm *tp) { #ifdef _LIBC /* POSIX.1 8.1.1 requires that whenever mktime() is called, the - time zone names contained in the external variable `tzname' shall + time zone names contained in the external variable 'tzname' shall be set as if the tzset() function had been called. */ __tzset (); #endif @@ -604,13 +608,13 @@ static int not_equal_tm (const struct tm *a, const struct tm *b) { return ((a->tm_sec ^ b->tm_sec) - | (a->tm_min ^ b->tm_min) - | (a->tm_hour ^ b->tm_hour) - | (a->tm_mday ^ b->tm_mday) - | (a->tm_mon ^ b->tm_mon) - | (a->tm_year ^ b->tm_year) - | (a->tm_yday ^ b->tm_yday) - | isdst_differ (a->tm_isdst, b->tm_isdst)); + | (a->tm_min ^ b->tm_min) + | (a->tm_hour ^ b->tm_hour) + | (a->tm_mday ^ b->tm_mday) + | (a->tm_mon ^ b->tm_mon) + | (a->tm_year ^ b->tm_year) + | (a->tm_yday ^ b->tm_yday) + | isdst_differ (a->tm_isdst, b->tm_isdst)); } static void @@ -618,9 +622,9 @@ print_tm (const struct tm *tp) { if (tp) printf ("%04d-%02d-%02d %02d:%02d:%02d yday %03d wday %d isdst %d", - tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday, - tp->tm_hour, tp->tm_min, tp->tm_sec, - tp->tm_yday, tp->tm_wday, tp->tm_isdst); + tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday, + tp->tm_hour, tp->tm_min, tp->tm_sec, + tp->tm_yday, tp->tm_wday, tp->tm_isdst); else printf ("0"); } @@ -652,11 +656,11 @@ main (int argc, char **argv) if ((argc == 3 || argc == 4) && (sscanf (argv[1], "%d-%d-%d%c", - &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer) - == 3) + &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer) + == 3) && (sscanf (argv[2], "%d:%d:%d%c", - &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer) - == 3)) + &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer) + == 3)) { tm.tm_year -= TM_YEAR_BASE; tm.tm_mon--; @@ -665,10 +669,10 @@ main (int argc, char **argv) tl = mktime (&tmk); lt = localtime (&tl); if (lt) - { - tml = *lt; - lt = &tml; - } + { + tml = *lt; + lt = &tml; + } printf ("mktime returns %ld == ", (long int) tl); print_tm (&tmk); printf ("\n"); @@ -681,51 +685,51 @@ main (int argc, char **argv) time_t to = atol (argv[3]); if (argc == 4) - for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) - { - lt = localtime (&tl); - if (lt) - { - tmk = tml = *lt; - tk = mktime (&tmk); - status |= check_result (tk, tmk, tl, &tml); - } - else - { - printf ("localtime (%ld) yields 0\n", (long int) tl); - status = 1; - } - tl1 = tl + by; - if ((tl1 < tl) != (by < 0)) - break; - } + for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) + { + lt = localtime (&tl); + if (lt) + { + tmk = tml = *lt; + tk = mktime (&tmk); + status |= check_result (tk, tmk, tl, &tml); + } + else + { + printf ("localtime (%ld) yields 0\n", (long int) tl); + status = 1; + } + tl1 = tl + by; + if ((tl1 < tl) != (by < 0)) + break; + } else - for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) - { - /* Null benchmark. */ - lt = localtime (&tl); - if (lt) - { - tmk = tml = *lt; - tk = tl; - status |= check_result (tk, tmk, tl, &tml); - } - else - { - printf ("localtime (%ld) yields 0\n", (long int) tl); - status = 1; - } - tl1 = tl + by; - if ((tl1 < tl) != (by < 0)) - break; - } + for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) + { + /* Null benchmark. */ + lt = localtime (&tl); + if (lt) + { + tmk = tml = *lt; + tk = tl; + status |= check_result (tk, tmk, tl, &tml); + } + else + { + printf ("localtime (%ld) yields 0\n", (long int) tl); + status = 1; + } + tl1 = tl + by; + if ((tl1 < tl) != (by < 0)) + break; + } } else printf ("Usage:\ \t%s YYYY-MM-DD HH:MM:SS [ISDST] # Test given time.\n\ \t%s FROM BY TO # Test values FROM, FROM+BY, ..., TO.\n\ \t%s FROM BY TO - # Do not test those values (for benchmark).\n", - argv[0], argv[0], argv[0]); + argv[0], argv[0], argv[0]); return status; } diff --git a/gnu/modechange.c b/gnu/modechange.c index 97a8d1a5..4d003c0a 100644 --- a/gnu/modechange.c +++ b/gnu/modechange.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* modechange.c -- file mode manipulation - Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2011 Free Software + Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -20,7 +20,7 @@ /* Written by David MacKenzie */ -/* The ASCII mode string is compiled into an array of `struct +/* The ASCII mode string is compiled into an array of 'struct modechange', which can then be applied to each file to be changed. We do this instead of re-parsing the ASCII string for each file because the compiled form requires less computation to use; when @@ -92,7 +92,7 @@ enum /* Instead of the typical case, copy some existing permissions for u, g, or o onto the other two. Which of u, g, or o is copied - is determined by which bits are set in the `value' field. */ + is determined by which bits are set in the 'value' field. */ MODE_COPY_EXISTING }; @@ -106,8 +106,8 @@ struct mode_change mode_t mentioned; /* Bits explicitly mentioned. */ }; -/* Return a mode_change array with the specified `=ddd'-style - mode change operation, where NEW_MODE is `ddd' and MENTIONED +/* Return a mode_change array with the specified "=ddd"-style + mode change operation, where NEW_MODE is "ddd" and MENTIONED contains the bits explicitly mentioned in the mode are MENTIONED. */ static struct mode_change * @@ -129,7 +129,7 @@ make_node_op_equals (mode_t new_mode, mode_t mentioned) the form: [ugoa...][[+-=][rwxXstugo...]...][,...] - Return NULL if `mode_string' does not contain a valid + Return NULL if 'mode_string' does not contain a valid representation of file mode change operations. */ struct mode_change * @@ -138,6 +138,7 @@ mode_compile (char const *mode_string) /* The array of mode-change directives to be returned. */ struct mode_change *mc; size_t used = 0; + char const *p; if ('0' <= *mode_string && *mode_string < '8') { @@ -145,40 +146,43 @@ mode_compile (char const *mode_string) mode_t mode; mode_t mentioned; + p = mode_string; do { - octal_mode = 8 * octal_mode + *mode_string++ - '0'; + octal_mode = 8 * octal_mode + *p++ - '0'; if (ALLM < octal_mode) return NULL; } - while ('0' <= *mode_string && *mode_string < '8'); + while ('0' <= *p && *p < '8'); - if (*mode_string) + if (*p) return NULL; mode = octal_to_mode (octal_mode); - mentioned = (mode & (S_ISUID | S_ISGID)) | S_ISVTX | S_IRWXUGO; + mentioned = (p - mode_string < 5 + ? (mode & (S_ISUID | S_ISGID)) | S_ISVTX | S_IRWXUGO + : CHMOD_MODE_BITS); return make_node_op_equals (mode, mentioned); } /* Allocate enough space to hold the result. */ { size_t needed = 1; - char const *p; for (p = mode_string; *p; p++) needed += (*p == '=' || *p == '+' || *p == '-'); mc = xnmalloc (needed, sizeof *mc); } - /* One loop iteration for each `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'. */ - for (;; mode_string++) + /* One loop iteration for each + '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. */ + for (p = mode_string; ; p++) { /* Which bits in the mode are operated on. */ mode_t affected = 0; - /* Turn on all the bits in `affected' for each group given. */ - for (;; mode_string++) - switch (*mode_string) + /* Turn on all the bits in 'affected' for each group given. */ + for (;; p++) + switch (*p) { default: goto invalid; @@ -201,35 +205,60 @@ mode_compile (char const *mode_string) do { - char op = *mode_string++; + char op = *p++; mode_t value; + mode_t mentioned = 0; char flag = MODE_COPY_EXISTING; struct mode_change *change; - switch (*mode_string++) + switch (*p) { + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + { + unsigned int octal_mode = 0; + + do + { + octal_mode = 8 * octal_mode + *p++ - '0'; + if (ALLM < octal_mode) + return NULL; + } + while ('0' <= *p && *p < '8'); + + if (affected || (*p && *p != ',')) + return NULL; + affected = mentioned = CHMOD_MODE_BITS; + value = octal_to_mode (octal_mode); + flag = MODE_ORDINARY_CHANGE; + break; + } + case 'u': - /* Set the affected bits to the value of the `u' bits + /* Set the affected bits to the value of the "u" bits on the same file. */ value = S_IRWXU; + p++; break; case 'g': - /* Set the affected bits to the value of the `g' bits + /* Set the affected bits to the value of the "g" bits on the same file. */ value = S_IRWXG; + p++; break; case 'o': - /* Set the affected bits to the value of the `o' bits + /* Set the affected bits to the value of the "o" bits on the same file. */ value = S_IRWXO; + p++; break; default: value = 0; flag = MODE_ORDINARY_CHANGE; - for (mode_string--;; mode_string++) - switch (*mode_string) + for (;; p++) + switch (*p) { case 'r': value |= S_IRUSR | S_IRGRP | S_IROTH; @@ -244,11 +273,11 @@ mode_compile (char const *mode_string) flag = MODE_X_IF_ANY_X; break; case 's': - /* Set the setuid/gid bits if `u' or `g' is selected. */ + /* Set the setuid/gid bits if 'u' or 'g' is selected. */ value |= S_ISUID | S_ISGID; break; case 't': - /* Set the "save text image" bit if `o' is selected. */ + /* Set the "save text image" bit if 'o' is selected. */ value |= S_ISVTX; break; default: @@ -262,16 +291,16 @@ mode_compile (char const *mode_string) change->flag = flag; change->affected = affected; change->value = value; - change->mentioned = (affected ? affected & value : value); + change->mentioned = + (mentioned ? mentioned : affected ? affected & value : value); } - while (*mode_string == '=' || *mode_string == '+' - || *mode_string == '-'); + while (*p == '=' || *p == '+' || *p == '-'); - if (*mode_string != ',') + if (*p != ',') break; } - if (*mode_string == 0) + if (*p == 0) { mc[used].flag = MODE_DONE; return mc; @@ -331,7 +360,7 @@ mode_adjust (mode_t oldmode, bool dir, mode_t umask_value, break; case MODE_COPY_EXISTING: - /* Isolate in `value' the bits in `newmode' to copy. */ + /* Isolate in 'value' the bits in 'newmode' to copy. */ value &= newmode; /* Copy the isolated bits to the other two parts. */ diff --git a/gnu/modechange.h b/gnu/modechange.h index bad2e474..3efc6440 100644 --- a/gnu/modechange.h +++ b/gnu/modechange.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* modechange.h -- definitions for file mode manipulation - Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2011 Free Software + Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/msvc-inval.c b/gnu/msvc-inval.c new file mode 100644 index 00000000..9efed19f --- /dev/null +++ b/gnu/msvc-inval.c @@ -0,0 +1,131 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +#include + +/* Specification. */ +#include "msvc-inval.h" + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) + +/* Get _invalid_parameter_handler type and _set_invalid_parameter_handler + declaration. */ +# include + +# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING + +static void __cdecl +gl_msvc_invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t dummy) +{ +} + +# else + +/* Get declarations of the native Windows API functions. */ +# define WIN32_LEAN_AND_MEAN +# include + +# if defined _MSC_VER + +static void __cdecl +gl_msvc_invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t dummy) +{ + RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL); +} + +# else + +/* An index to thread-local storage. */ +static DWORD tls_index; +static int tls_initialized /* = 0 */; + +/* Used as a fallback only. */ +static struct gl_msvc_inval_per_thread not_per_thread; + +struct gl_msvc_inval_per_thread * +gl_msvc_inval_current (void) +{ + if (!tls_initialized) + { + tls_index = TlsAlloc (); + tls_initialized = 1; + } + if (tls_index == TLS_OUT_OF_INDEXES) + /* TlsAlloc had failed. */ + return ¬_per_thread; + else + { + struct gl_msvc_inval_per_thread *pointer = + (struct gl_msvc_inval_per_thread *) TlsGetValue (tls_index); + if (pointer == NULL) + { + /* First call. Allocate a new 'struct gl_msvc_inval_per_thread'. */ + pointer = + (struct gl_msvc_inval_per_thread *) + malloc (sizeof (struct gl_msvc_inval_per_thread)); + if (pointer == NULL) + /* Could not allocate memory. Use the global storage. */ + pointer = ¬_per_thread; + TlsSetValue (tls_index, pointer); + } + return pointer; + } +} + +static void __cdecl +gl_msvc_invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, + unsigned int line, + uintptr_t dummy) +{ + struct gl_msvc_inval_per_thread *current = gl_msvc_inval_current (); + if (current->restart_valid) + longjmp (current->restart, 1); + else + /* An invalid parameter notification from outside the gnulib code. + Give the caller a chance to intervene. */ + RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL); +} + +# endif + +# endif + +static int gl_msvc_inval_initialized /* = 0 */; + +void +gl_msvc_inval_ensure_handler (void) +{ + if (gl_msvc_inval_initialized == 0) + { + _set_invalid_parameter_handler (gl_msvc_invalid_parameter_handler); + gl_msvc_inval_initialized = 1; + } +} + +#endif diff --git a/gnu/msvc-inval.h b/gnu/msvc-inval.h new file mode 100644 index 00000000..e47789f1 --- /dev/null +++ b/gnu/msvc-inval.h @@ -0,0 +1,224 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +#ifndef _MSVC_INVAL_H +#define _MSVC_INVAL_H + +/* With MSVC runtime libraries with the "invalid parameter handler" concept, + functions like fprintf(), dup2(), or close() crash when the caller passes + an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF) + instead. + This file defines macros that turn such an invalid parameter notification + into a non-local exit. An error code can then be produced at the target + of this exit. You can thus write code like + + TRY_MSVC_INVAL + { + + } + CATCH_MSVC_INVAL + { + + } + DONE_MSVC_INVAL; + + This entire block expands to a single statement. + + The handling of invalid parameters can be done in three ways: + + * The default way, which is reasonable for programs (not libraries): + AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [DEFAULT_HANDLING]) + + * The way for libraries that make "hairy" calls (like close(-1), or + fclose(fp) where fileno(fp) is closed, or simply getdtablesize()): + AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [HAIRY_LIBRARY_HANDLING]) + + * The way for libraries that make no "hairy" calls: + AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING]) + */ + +#define DEFAULT_HANDLING 0 +#define HAIRY_LIBRARY_HANDLING 1 +#define SANE_LIBRARY_HANDLING 2 + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ + && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) +/* A native Windows platform with the "invalid parameter handler" concept, + and either DEFAULT_HANDLING or HAIRY_LIBRARY_HANDLING. */ + +# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING +/* Default handling. */ + +# ifdef __cplusplus +extern "C" { +# endif + +/* Ensure that the invalid parameter handler in installed that just returns. + Because we assume no other part of the program installs a different + invalid parameter handler, this solution is multithread-safe. */ +extern void gl_msvc_inval_ensure_handler (void); + +# ifdef __cplusplus +} +# endif + +# define TRY_MSVC_INVAL \ + do \ + { \ + gl_msvc_inval_ensure_handler (); \ + if (1) +# define CATCH_MSVC_INVAL \ + else +# define DONE_MSVC_INVAL \ + } \ + while (0) + +# else +/* Handling for hairy libraries. */ + +# include + +/* Gnulib can define its own status codes, as described in the page + "Raising Software Exceptions" on microsoft.com + . + Our status codes are composed of + - 0xE0000000, mandatory for all user-defined status codes, + - 0x474E550, a API identifier ("GNU"), + - 0, 1, 2, ..., used to distinguish different status codes from the + same API. */ +# define STATUS_GNULIB_INVALID_PARAMETER (0xE0000000 + 0x474E550 + 0) + +# if defined _MSC_VER +/* A compiler that supports __try/__except, as described in the page + "try-except statement" on microsoft.com + . + With __try/__except, we can use the multithread-safe exception handling. */ + +# ifdef __cplusplus +extern "C" { +# endif + +/* Ensure that the invalid parameter handler in installed that raises a + software exception with code STATUS_GNULIB_INVALID_PARAMETER. + Because we assume no other part of the program installs a different + invalid parameter handler, this solution is multithread-safe. */ +extern void gl_msvc_inval_ensure_handler (void); + +# ifdef __cplusplus +} +# endif + +# define TRY_MSVC_INVAL \ + do \ + { \ + gl_msvc_inval_ensure_handler (); \ + __try +# define CATCH_MSVC_INVAL \ + __except (GetExceptionCode () == STATUS_GNULIB_INVALID_PARAMETER \ + ? EXCEPTION_EXECUTE_HANDLER \ + : EXCEPTION_CONTINUE_SEARCH) +# define DONE_MSVC_INVAL \ + } \ + while (0) + +# else +/* Any compiler. + We can only use setjmp/longjmp. */ + +# include + +# ifdef __cplusplus +extern "C" { +# endif + +struct gl_msvc_inval_per_thread +{ + /* The restart that will resume execution at the code between + CATCH_MSVC_INVAL and DONE_MSVC_INVAL. It is enabled only between + TRY_MSVC_INVAL and CATCH_MSVC_INVAL. */ + jmp_buf restart; + + /* Tells whether the contents of restart is valid. */ + int restart_valid; +}; + +/* Ensure that the invalid parameter handler in installed that passes + control to the gl_msvc_inval_restart if it is valid, or raises a + software exception with code STATUS_GNULIB_INVALID_PARAMETER otherwise. + Because we assume no other part of the program installs a different + invalid parameter handler, this solution is multithread-safe. */ +extern void gl_msvc_inval_ensure_handler (void); + +/* Return a pointer to the per-thread data for the current thread. */ +extern struct gl_msvc_inval_per_thread *gl_msvc_inval_current (void); + +# ifdef __cplusplus +} +# endif + +# define TRY_MSVC_INVAL \ + do \ + { \ + struct gl_msvc_inval_per_thread *msvc_inval_current; \ + gl_msvc_inval_ensure_handler (); \ + msvc_inval_current = gl_msvc_inval_current (); \ + /* First, initialize gl_msvc_inval_restart. */ \ + if (setjmp (msvc_inval_current->restart) == 0) \ + { \ + /* Then, mark it as valid. */ \ + msvc_inval_current->restart_valid = 1; +# define CATCH_MSVC_INVAL \ + /* Execution completed. \ + Mark gl_msvc_inval_restart as invalid. */ \ + msvc_inval_current->restart_valid = 0; \ + } \ + else \ + { \ + /* Execution triggered an invalid parameter notification. \ + Mark gl_msvc_inval_restart as invalid. */ \ + msvc_inval_current->restart_valid = 0; +# define DONE_MSVC_INVAL \ + } \ + } \ + while (0) + +# endif + +# endif + +#else +/* A platform that does not need to the invalid parameter handler, + or when SANE_LIBRARY_HANDLING is desired. */ + +/* The braces here avoid GCC warnings like + "warning: suggest explicit braces to avoid ambiguous 'else'". */ +# define TRY_MSVC_INVAL \ + do \ + { \ + if (1) +# define CATCH_MSVC_INVAL \ + else +# define DONE_MSVC_INVAL \ + } \ + while (0) + +#endif + +#endif /* _MSVC_INVAL_H */ diff --git a/gnu/msvc-nothrow.c b/gnu/msvc-nothrow.c new file mode 100644 index 00000000..84f13551 --- /dev/null +++ b/gnu/msvc-nothrow.c @@ -0,0 +1,51 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Wrappers that don't throw invalid parameter notifications + with MSVC runtime libraries. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +#include + +/* Specification. */ +#include "msvc-nothrow.h" + +/* Get declarations of the native Windows API functions. */ +#define WIN32_LEAN_AND_MEAN +#include + +#include "msvc-inval.h" + +#undef _get_osfhandle + +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +intptr_t +_gl_nothrow_get_osfhandle (int fd) +{ + intptr_t result; + + TRY_MSVC_INVAL + { + result = _get_osfhandle (fd); + } + CATCH_MSVC_INVAL + { + result = (intptr_t) INVALID_HANDLE_VALUE; + } + DONE_MSVC_INVAL; + + return result; +} +#endif diff --git a/gnu/msvc-nothrow.h b/gnu/msvc-nothrow.h new file mode 100644 index 00000000..d8e2bcb3 --- /dev/null +++ b/gnu/msvc-nothrow.h @@ -0,0 +1,45 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Wrappers that don't throw invalid parameter notifications + with MSVC runtime libraries. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +#ifndef _MSVC_NOTHROW_H +#define _MSVC_NOTHROW_H + +/* With MSVC runtime libraries with the "invalid parameter handler" concept, + functions like fprintf(), dup2(), or close() crash when the caller passes + an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF) + instead. + This file defines wrappers that turn such an invalid parameter notification + into an error code. */ + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +/* Get original declaration of _get_osfhandle. */ +# include + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER + +/* Override _get_osfhandle. */ +extern intptr_t _gl_nothrow_get_osfhandle (int fd); +# define _get_osfhandle _gl_nothrow_get_osfhandle + +# endif + +#endif + +#endif /* _MSVC_NOTHROW_H */ diff --git a/gnu/nl_langinfo.c b/gnu/nl_langinfo.c index aef5e202..bf3aa8ff 100644 --- a/gnu/nl_langinfo.c +++ b/gnu/nl_langinfo.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* nl_langinfo() replacement: query locale dependent information. - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 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 @@ -143,7 +143,8 @@ nl_langinfo (nl_item item) { static char buf[2 + 10 + 1]; - /* Woe32 has a function returning the locale's codepage as a number. */ + /* The Windows API has a function returning the locale's codepage as + a number. */ sprintf (buf, "CP%u", GetACP ()); return buf; } diff --git a/gnu/obstack.c b/gnu/obstack.c index dea57e15..e2b80b68 100644 --- a/gnu/obstack.c +++ b/gnu/obstack.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* obstack.c - subroutines used implicitly by object stack macros - Copyright (C) 1988-1994, 1996-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1988-1994, 1996-2006, 2009-2013 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 @@ -36,7 +36,7 @@ C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object + program understand 'configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #include /* Random thing to get __GNU_LIBRARY__. */ @@ -76,23 +76,23 @@ enum /* When we copy a long block of data, this is the unit to do it with. On some machines, copying successive ints does not work; - in such a case, redefine COPYING_UNIT to `long' (if that works) - or `char' as a last resort. */ + in such a case, redefine COPYING_UNIT to 'long' (if that works) + or 'char' as a last resort. */ # ifndef COPYING_UNIT # define COPYING_UNIT int # endif -/* The functions allocating more room by calling `obstack_chunk_alloc' - jump to the handler pointed to by `obstack_alloc_failed_handler'. +/* The functions allocating more room by calling 'obstack_chunk_alloc' + jump to the handler pointed to by 'obstack_alloc_failed_handler'. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't return. This variable by default points to the internal function - `print_and_abort'. */ -static void print_and_abort (void); + 'print_and_abort'. */ +static _Noreturn void print_and_abort (void); void (*obstack_alloc_failed_handler) (void) = print_and_abort; -/* Exit value used when `print_and_abort' is used. */ +/* Exit value used when 'print_and_abort' is used. */ # include # ifdef _LIBC int obstack_exit_failure = EXIT_FAILURE; @@ -403,15 +403,7 @@ _obstack_memory_used (struct obstack *h) # include # endif -# ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -# endif - -static void -__attribute__ ((noreturn)) +static _Noreturn void print_and_abort (void) { /* Don't change any of these strings. Yes, it would be possible to add diff --git a/gnu/obstack.h b/gnu/obstack.h index 19d4429a..b5f0bb4f 100644 --- a/gnu/obstack.h +++ b/gnu/obstack.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* obstack.h - object stack macros - Copyright (C) 1988-1994, 1996-1999, 2003-2006, 2009-2011 Free Software + Copyright (C) 1988-1994, 1996-1999, 2003-2006, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -34,11 +34,11 @@ stack" is typically an immature growing object, while the rest of the stack is of mature, fixed size and fixed address objects. These routines grab large chunks of memory, using a function you -supply, called `obstack_chunk_alloc'. On occasion, they free chunks, -by calling `obstack_chunk_free'. You must define them and declare +supply, called 'obstack_chunk_alloc'. On occasion, they free chunks, +by calling 'obstack_chunk_free'. You must define them and declare them before using any obstack macros. -Each independent stack is represented by a `struct obstack'. +Each independent stack is represented by a 'struct obstack'. Each of the obstack macros expects a pointer to such a structure as the first argument. @@ -95,7 +95,7 @@ Summary: Exactly one object is growing in an obstack at any one time. You can run one obstack per control block. You may have as many control blocks as you dare. - Because of the way we do it, you can `unwind' an obstack + Because of the way we do it, you can "unwind" an obstack back to a previous state. (You may remove objects much as you would with a stack.) */ @@ -124,7 +124,7 @@ Summary: #define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A))) -/* Similiar to _BPTR_ALIGN (B, P, A), except optimize the common case +/* Similar to _BPTR_ALIGN (B, P, A), except optimize the common case where pointers can be converted to integers, aligned as integers, and converted back again. If PTR_INT_TYPE is narrower than a pointer (e.g., the AS/400), play it safe and compute the alignment @@ -161,7 +161,7 @@ struct obstack /* control current object in current chunk */ void *tempptr; } temp; /* Temporary for some macros. */ int alignment_mask; /* Mask of alignment for each object. */ - /* These prototypes vary based on `use_extra_arg', and we use + /* These prototypes vary based on 'use_extra_arg', and we use casts to the prototypeless function type in all assignments, but having prototypes here quiets -Wstrict-prototypes. */ struct _obstack_chunk *(*chunkfun) (void *, long); @@ -195,13 +195,13 @@ extern int _obstack_memory_used (struct obstack *); extern void __obstack_free (struct obstack *obstack, void *block); -/* Error handler called when `obstack_chunk_alloc' failed to allocate +/* Error handler called when 'obstack_chunk_alloc' failed to allocate more memory. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't return. The default action is to print a message and abort. */ extern void (*obstack_alloc_failed_handler) (void); -/* Exit value used when `print_and_abort' is used. */ +/* Exit value used when 'print_and_abort' is used. */ extern int obstack_exit_failure; /* Pointer to beginning of object being allocated or to be allocated next. @@ -255,7 +255,7 @@ extern int obstack_exit_failure; #define obstack_memory_used(h) _obstack_memory_used (h) -#if defined __GNUC__ && defined __STDC__ && __STDC__ +#if defined __GNUC__ /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and does not implement __extension__. But that compiler doesn't define __GNUC_MINOR__. */ @@ -266,7 +266,7 @@ extern int obstack_exit_failure; /* For GNU C, if not -traditional, we can define these macros to compute all args only once without using a global variable. - Also, we can avoid using the `temp' slot, to make faster code. */ + Also, we can avoid using the 'temp' slot, to make faster code. */ # define obstack_object_size(OBSTACK) \ __extension__ \ @@ -344,14 +344,16 @@ __extension__ \ # define obstack_ptr_grow_fast(OBSTACK,aptr) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ - *(const void **) __o1->next_free = (aptr); \ + void *__p1 = __o1->next_free; \ + *(const void **) __p1 = (aptr); \ __o1->next_free += sizeof (const void *); \ (void) 0; }) # define obstack_int_grow_fast(OBSTACK,aint) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ - *(int *) __o1->next_free = (aint); \ + void *__p1 = __o1->next_free; \ + *(int *) __p1 = (aint); \ __o1->next_free += sizeof (int); \ (void) 0; }) @@ -407,7 +409,7 @@ __extension__ \ __o->next_free = __o->object_base = (char *)__obj; \ else (__obstack_free) (__o, __obj); }) -#else /* not __GNUC__ or not __STDC__ */ +#else /* not __GNUC__ */ # define obstack_object_size(h) \ (unsigned) ((h)->next_free - (h)->object_base) @@ -505,7 +507,7 @@ __extension__ \ = (h)->temp.tempint + (char *) (h)->chunk) \ : (((__obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0), 0))) -#endif /* not __GNUC__ or not __STDC__ */ +#endif /* not __GNUC__ */ #ifdef __cplusplus } /* C++ */ diff --git a/gnu/open.c b/gnu/open.c index 98c20fcb..61a950f3 100644 --- a/gnu/open.c +++ b/gnu/open.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Open a descriptor to a file. - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 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 @@ -18,22 +18,27 @@ /* Written by Bruno Haible , 2007. */ +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_open doesn't recurse to + rpl_open. */ +#define __need_system_fcntl_h #include /* Get the original definition of open. It might be defined as a macro. */ -#define __need_system_fcntl_h #include -#undef __need_system_fcntl_h #include +#undef __need_system_fcntl_h -static inline int +static int orig_open (const char *filename, int flags, mode_t mode) { return open (filename, flags, mode); } /* Specification. */ -#include +/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "fcntl.h" #include #include @@ -65,6 +70,15 @@ open (const char *filename, int flags, ...) va_end (arg); } +#if GNULIB_defined_O_NONBLOCK + /* The only known platform that lacks O_NONBLOCK is mingw, but it + also lacks named pipes and Unix sockets, which are the only two + file types that require non-blocking handling in open(). + Therefore, it is safe to ignore O_NONBLOCK here. It is handy + that mingw also lacks openat(), so that is also covered here. */ + flags &= ~O_NONBLOCK; +#endif + #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ if (strcmp (filename, "/dev/null") == 0) filename = "NUL"; diff --git a/gnu/openat-die.c b/gnu/openat-die.c index 5f642ac6..b06472a2 100644 --- a/gnu/openat-die.c +++ b/gnu/openat-die.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Report a save- or restore-cwd failure in our openat replacement and then exit. - Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2008-2013 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 @@ -39,7 +39,7 @@ openat_save_fail (int errnum) error (exit_failure, errnum, _("unable to record current working directory")); #endif - /* The `noreturn' attribute cannot be applied to error, since it returns + /* _Noreturn cannot be applied to error, since it returns when its first argument is 0. To help compilers understand that this function does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ diff --git a/gnu/openat-priv.h b/gnu/openat-priv.h index 71ea882e..26983e18 100644 --- a/gnu/openat-priv.h +++ b/gnu/openat-priv.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Internals for openat-like functions. - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 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 diff --git a/gnu/openat-proc.c b/gnu/openat-proc.c index 5e0d9d79..a5837fc9 100644 --- a/gnu/openat-proc.c +++ b/gnu/openat-proc.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create /proc/self/fd-related names for subfiles of open directories. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,7 +33,6 @@ #include #include "intprops.h" -#include "same-inode.h" /* The results of open() in this file are not used with fchdir, and we do not leak fds to any single-threaded code that could use stdio, @@ -77,20 +76,20 @@ openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file) problem is exhibited on code that built on Solaris 8 and running on Solaris 10. */ - int proc_self_fd = open ("/proc/self/fd", O_SEARCH); + int proc_self_fd = open ("/proc/self/fd", + O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); if (proc_self_fd < 0) proc_status = -1; else { - struct stat proc_self_fd_dotdot_st; - struct stat proc_self_st; - char dotdot_buf[PROC_SELF_FD_NAME_SIZE_BOUND (sizeof ".." - 1)]; - sprintf (dotdot_buf, PROC_SELF_FD_FORMAT, proc_self_fd, ".."); - proc_status = - ((stat (dotdot_buf, &proc_self_fd_dotdot_st) == 0 - && stat ("/proc/self", &proc_self_st) == 0 - && SAME_INODE (proc_self_fd_dotdot_st, proc_self_st)) - ? 1 : -1); + /* Detect whether /proc/self/fd/%i/../fd exists, where %i is the + number of a file descriptor open on /proc/self/fd. On Linux, + that name resolves to /proc/self/fd, which was opened above. + However, on Solaris, it may resolve to /proc/self/fd/fd, which + cannot exist, since all names in /proc/self/fd are numeric. */ + char dotdot_buf[PROC_SELF_FD_NAME_SIZE_BOUND (sizeof "../fd" - 1)]; + sprintf (dotdot_buf, PROC_SELF_FD_FORMAT, proc_self_fd, "../fd"); + proc_status = access (dotdot_buf, F_OK) ? -1 : 1; close (proc_self_fd); } } diff --git a/gnu/openat.c b/gnu/openat.c index b01972a8..cea1b472 100644 --- a/gnu/openat.c +++ b/gnu/openat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a replacement openat function - Copyright (C) 2004-2011 Free Software Foundation, Inc. + Copyright (C) 2004-2013 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 @@ -18,23 +18,40 @@ /* written by Jim Meyering */ +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_openat doesn't recurse to + rpl_openat. */ +#define __need_system_fcntl_h #include +/* Get the original definition of open. It might be defined as a macro. */ +#include +#include +#undef __need_system_fcntl_h + +#if HAVE_OPENAT +static int +orig_openat (int fd, char const *filename, int flags, mode_t mode) +{ + return openat (fd, filename, flags, mode); +} +#endif + +/* Write "fcntl.h" here, not , otherwise OSF/1 5.1 DTK cc eliminates + this include because of the preliminary #include above. */ +#include "fcntl.h" + #include "openat.h" #include +#include #include #include #include - -#include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ -#include "openat-priv.h" -#include "save-cwd.h" +#include #if HAVE_OPENAT -# undef openat - /* Like openat, but work around Solaris 9 bugs with trailing slash. */ int rpl_openat (int dfd, char const *filename, int flags, ...) @@ -88,7 +105,7 @@ rpl_openat (int dfd, char const *filename, int flags, ...) } # endif - fd = openat (dfd, filename, flags, mode); + fd = orig_openat (dfd, filename, flags, mode); # if OPEN_TRAILING_SLASH_BUG /* If the filename ends in a slash and fd does not refer to a directory, @@ -126,6 +143,10 @@ rpl_openat (int dfd, char const *filename, int flags, ...) #else /* !HAVE_OPENAT */ +# include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ +# include "openat-priv.h" +# include "save-cwd.h" + /* Replacement for Solaris' openat function. First, try to simulate it via open ("/proc/self/fd/FD/FILE"). @@ -161,7 +182,7 @@ openat (int fd, char const *file, int flags, ...) directory argument. If a previous attempt to restore the current working directory - failed, then we must not even try to access a `.'-relative name. + failed, then we must not even try to access a '.'-relative name. It is the caller's responsibility not to call this function in that case. */ diff --git a/gnu/openat.h b/gnu/openat.h index aaf53924..4143e9ce 100644 --- a/gnu/openat.h +++ b/gnu/openat.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* provide a replacement openat function - Copyright (C) 2004-2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2004-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,15 +25,10 @@ #include #include -#include #include #include -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8) -# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -#else -# define _GL_ATTRIBUTE_NORETURN /* empty */ -#endif +_GL_INLINE_HEADER_BEGIN #if !HAVE_OPENAT @@ -49,52 +44,79 @@ bool openat_needs_fchdir (void); #endif -void openat_restore_fail (int) _GL_ATTRIBUTE_NORETURN; -void openat_save_fail (int) _GL_ATTRIBUTE_NORETURN; +_Noreturn void openat_restore_fail (int); +_Noreturn void openat_save_fail (int); /* Using these function names makes application code slightly more readable than it would be with fchownat (..., 0) or fchownat (..., AT_SYMLINK_NOFOLLOW). */ -static inline int + +#if GNULIB_FCHOWNAT + +# ifndef FCHOWNAT_INLINE +# define FCHOWNAT_INLINE _GL_INLINE +# endif + +FCHOWNAT_INLINE int chownat (int fd, char const *file, uid_t owner, gid_t group) { return fchownat (fd, file, owner, group, 0); } -static inline int +FCHOWNAT_INLINE int lchownat (int fd, char const *file, uid_t owner, gid_t group) { return fchownat (fd, file, owner, group, AT_SYMLINK_NOFOLLOW); } -static inline int +#endif + +#if GNULIB_FCHMODAT + +# ifndef FCHMODAT_INLINE +# define FCHMODAT_INLINE _GL_INLINE +# endif + +FCHMODAT_INLINE int chmodat (int fd, char const *file, mode_t mode) { return fchmodat (fd, file, mode, 0); } -static inline int +FCHMODAT_INLINE int lchmodat (int fd, char const *file, mode_t mode) { return fchmodat (fd, file, mode, AT_SYMLINK_NOFOLLOW); } -static inline int +#endif + +#if GNULIB_STATAT + +# ifndef STATAT_INLINE +# define STATAT_INLINE _GL_INLINE +# endif + +STATAT_INLINE int statat (int fd, char const *name, struct stat *st) { return fstatat (fd, name, st, 0); } -static inline int +STATAT_INLINE int lstatat (int fd, char const *name, struct stat *st) { return fstatat (fd, name, st, AT_SYMLINK_NOFOLLOW); } +#endif + /* For now, there are no wrappers named laccessat or leuidaccessat, since gnulib doesn't support faccessat(,AT_SYMLINK_NOFOLLOW) and since access rights on symlinks are of limited utility. Likewise, wrappers are not provided for accessat or euidaccessat, so as to avoid dragging in -lgen on some platforms. */ +_GL_INLINE_HEADER_END + #endif /* _GL_HEADER_OPENAT */ diff --git a/gnu/opendir-safer.c b/gnu/opendir-safer.c index 3d8007ab..98272f4b 100644 --- a/gnu/opendir-safer.c +++ b/gnu/opendir-safer.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke opendir, but avoid some glitches. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,10 +52,18 @@ opendir_safer (char const *name) int e; #if HAVE_FDOPENDIR || GNULIB_FDOPENDIR int f = dup_safer (fd); - newdp = fdopendir (f); - e = errno; - if (! newdp) - close (f); + if (f < 0) + { + e = errno; + newdp = NULL; + } + else + { + newdp = fdopendir (f); + e = errno; + if (! newdp) + close (f); + } #else /* !FDOPENDIR */ newdp = opendir_safer (name); e = errno; diff --git a/gnu/opendir.c b/gnu/opendir.c new file mode 100644 index 00000000..a9677825 --- /dev/null +++ b/gnu/opendir.c @@ -0,0 +1,150 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Start reading the entries of a directory. + Copyright (C) 2006-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#include + +#if HAVE_OPENDIR + +/* Override opendir(), to keep track of the open file descriptors. + Needed because there is a function dirfd(). */ + +#else + +# include + +# include "dirent-private.h" +# include "filename.h" + +#endif + +#if REPLACE_FCHDIR +# include +#endif + +DIR * +opendir (const char *dir_name) +{ +#if HAVE_OPENDIR +# undef opendir + DIR *dirp; + + dirp = opendir (dir_name); + if (dirp == NULL) + return NULL; + +#else + + char dir_name_mask[MAX_PATH + 1 + 1 + 1]; + int status; + HANDLE current; + WIN32_FIND_DATA entry; + struct gl_directory *dirp; + + if (dir_name[0] == '\0') + { + errno = ENOENT; + return NULL; + } + + /* Make the dir_name absolute, so that we continue reading the same + directory if the current directory changed between this opendir() + call and a subsequent rewinddir() call. */ + if (!GetFullPathName (dir_name, MAX_PATH, dir_name_mask, NULL)) + { + errno = EINVAL; + return NULL; + } + + /* Append the mask. + "*" and "*.*" appear to be equivalent. */ + { + char *p; + + p = dir_name_mask + strlen (dir_name_mask); + if (p > dir_name_mask && !ISSLASH (p[-1])) + *p++ = '\\'; + *p++ = '*'; + *p = '\0'; + } + + /* Start searching the directory. */ + status = -1; + current = FindFirstFile (dir_name_mask, &entry); + if (current == INVALID_HANDLE_VALUE) + { + switch (GetLastError ()) + { + case ERROR_FILE_NOT_FOUND: + status = -2; + break; + case ERROR_PATH_NOT_FOUND: + errno = ENOENT; + return NULL; + case ERROR_DIRECTORY: + errno = ENOTDIR; + return NULL; + case ERROR_ACCESS_DENIED: + errno = EACCES; + return NULL; + default: + errno = EIO; + return NULL; + } + } + + /* Allocate the result. */ + dirp = + (struct gl_directory *) + malloc (offsetof (struct gl_directory, dir_name_mask[0]) + + strlen (dir_name_mask) + 1); + if (dirp == NULL) + { + if (current != INVALID_HANDLE_VALUE) + FindClose (current); + errno = ENOMEM; + return NULL; + } + dirp->status = status; + dirp->current = current; + if (status == -1) + memcpy (&dirp->entry, &entry, sizeof (WIN32_FIND_DATA)); + strcpy (dirp->dir_name_mask, dir_name_mask); + +#endif + +#if REPLACE_FCHDIR + { + int fd = dirfd (dirp); + if (0 <= fd && _gl_register_fd (fd, dir_name) != fd) + { + int saved_errno = errno; + closedir (dirp); + errno = saved_errno; + return NULL; + } + } +#endif + + return dirp; +} diff --git a/gnu/parse-datetime.c b/gnu/parse-datetime.c index 3a77713f..972632eb 100644 --- a/gnu/parse-datetime.c +++ b/gnu/parse-datetime.c @@ -1,24 +1,21 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made by GNU Bison 2.5.1. */ -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2012 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. - + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -29,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -47,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.3" +#define YYBISON_VERSION "2.5.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -55,70 +52,25 @@ /* Pure parsers. */ #define YYPURE 1 -/* Using locations. */ -#define YYLSP_NEEDED 0 - - +/* Push parsers. */ +#define YYPUSH 0 -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tAGO = 258, - tDST = 259, - tYEAR_UNIT = 260, - tMONTH_UNIT = 261, - tHOUR_UNIT = 262, - tMINUTE_UNIT = 263, - tSEC_UNIT = 264, - tDAY_UNIT = 265, - tDAY_SHIFT = 266, - tDAY = 267, - tDAYZONE = 268, - tLOCAL_ZONE = 269, - tMERIDIAN = 270, - tMONTH = 271, - tORDINAL = 272, - tZONE = 273, - tSNUMBER = 274, - tUNUMBER = 275, - tSDECIMAL_NUMBER = 276, - tUDECIMAL_NUMBER = 277 - }; -#endif -/* Tokens. */ -#define tAGO 258 -#define tDST 259 -#define tYEAR_UNIT 260 -#define tMONTH_UNIT 261 -#define tHOUR_UNIT 262 -#define tMINUTE_UNIT 263 -#define tSEC_UNIT 264 -#define tDAY_UNIT 265 -#define tDAY_SHIFT 266 -#define tDAY 267 -#define tDAYZONE 268 -#define tLOCAL_ZONE 269 -#define tMERIDIAN 270 -#define tMONTH 271 -#define tORDINAL 272 -#define tZONE 273 -#define tSNUMBER 274 -#define tUNUMBER 275 -#define tSDECIMAL_NUMBER 276 -#define tUDECIMAL_NUMBER 277 +/* Pull parsers. */ +#define YYPULL 1 +/* Using locations. */ +#define YYLSP_NEEDED 0 /* Copy the first part of user declarations. */ -#line 1 "parse-datetime.y" + +/* Line 268 of yacc.c */ +#line 1 "./parse-datetime.y" /* Parse a string into an internal time stamp. - Copyright (C) 1999-2000, 2002-2011 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2013 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 @@ -199,7 +151,7 @@ - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition - of `digit' even when the host does not conform to POSIX. */ + of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Shift A right by B bits portably, by dividing A by 2**B and @@ -230,6 +182,11 @@ typedef long int long_time_t; typedef time_t long_time_t; #endif +/* Convert a possibly-signed character to an unsigned character. This is + a bit safer than casting to unsigned char, since it catches some type + errors that the cast doesn't. */ +static unsigned char to_uchar (char ch) { return ch; } + /* Lots of this code assumes time_t and time_t-like values fit into long_time_t. */ verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t) @@ -321,7 +278,7 @@ typedef struct size_t times_seen; size_t zones_seen; - /* Table of local time zone abbrevations, terminated by a null entry. */ + /* Table of local time zone abbreviations, terminated by a null entry. */ table local_time_zone_table[3]; } parser_control; @@ -396,6 +353,17 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, +/* Line 268 of yacc.c */ +#line 358 "parse-datetime.c" + +# ifndef YY_NULL +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULL nullptr +# else +# define YY_NULL 0 +# endif +# endif + /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -414,30 +382,88 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, # define YYTOKEN_TABLE 0 #endif + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + tAGO = 258, + tDST = 259, + tYEAR_UNIT = 260, + tMONTH_UNIT = 261, + tHOUR_UNIT = 262, + tMINUTE_UNIT = 263, + tSEC_UNIT = 264, + tDAY_UNIT = 265, + tDAY_SHIFT = 266, + tDAY = 267, + tDAYZONE = 268, + tLOCAL_ZONE = 269, + tMERIDIAN = 270, + tMONTH = 271, + tORDINAL = 272, + tZONE = 273, + tSNUMBER = 274, + tUNUMBER = 275, + tSDECIMAL_NUMBER = 276, + tUDECIMAL_NUMBER = 277 + }; +#endif +/* Tokens. */ +#define tAGO 258 +#define tDST 259 +#define tYEAR_UNIT 260 +#define tMONTH_UNIT 261 +#define tHOUR_UNIT 262 +#define tMINUTE_UNIT 263 +#define tSEC_UNIT 264 +#define tDAY_UNIT 265 +#define tDAY_SHIFT 266 +#define tDAY 267 +#define tDAYZONE 268 +#define tLOCAL_ZONE 269 +#define tMERIDIAN 270 +#define tMONTH 271 +#define tORDINAL 272 +#define tZONE 273 +#define tSNUMBER 274 +#define tUNUMBER 275 +#define tSDECIMAL_NUMBER 276 +#define tUDECIMAL_NUMBER 277 + + + + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 292 "parse-datetime.y" { + +/* Line 295 of yacc.c */ +#line 297 "./parse-datetime.y" + long int intval; textint textintval; struct timespec timespec; relative_time rel; -} -/* Line 187 of yacc.c. */ -#line 428 "parse-datetime.c" - YYSTYPE; + + + +/* Line 295 of yacc.c */ +#line 455 "parse-datetime.c" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif - /* Copy the second part of user declarations. */ -/* Line 216 of yacc.c. */ -#line 441 "parse-datetime.c" +/* Line 345 of yacc.c */ +#line 467 "parse-datetime.c" #ifdef short # undef short @@ -487,7 +513,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -512,14 +538,14 @@ typedef short int yytype_int16; #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int i) +YYID (int yyi) #else static int -YYID (i) - int i; +YYID (yyi) + int yyi; #endif { - return i; + return yyi; } #endif @@ -540,11 +566,12 @@ YYID (i) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # endif @@ -567,24 +594,24 @@ YYID (i) # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# if (defined __cplusplus && ! defined _STDLIB_H \ +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif @@ -600,9 +627,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss; - YYSTYPE yyvs; - }; + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -613,35 +640,19 @@ union yyalloc ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif +# define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack) \ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ @@ -649,19 +660,39 @@ union yyalloc #endif +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + /* YYFINAL -- State number of the termination state. */ #define YYFINAL 12 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 98 +#define YYLAST 112 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 27 +#define YYNTOKENS 28 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 21 +#define YYNNTS 26 /* YYNRULES -- Number of rules. */ -#define YYNRULES 82 +#define YYNRULES 91 /* YYNRULES -- Number of states. */ -#define YYNSTATES 100 +#define YYNSTATES 114 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -677,11 +708,11 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 25, 2, 2, 26, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 24, 2, + 2, 2, 2, 2, 26, 2, 2, 27, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 25, 2, 2, 2, 2, 2, 23, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 24, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -709,57 +740,61 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 7, 10, 11, 14, 16, 18, - 20, 22, 24, 26, 28, 30, 33, 38, 44, 51, - 59, 61, 64, 66, 69, 73, 75, 78, 80, 83, - 86, 89, 93, 99, 103, 107, 111, 114, 119, 122, - 126, 129, 131, 133, 136, 139, 141, 144, 147, 149, - 152, 155, 157, 160, 163, 165, 168, 171, 173, 176, - 179, 182, 185, 187, 189, 192, 195, 198, 201, 204, - 207, 209, 211, 213, 215, 217, 219, 221, 223, 226, - 227, 230, 231 + 20, 22, 24, 26, 28, 30, 32, 34, 38, 41, + 46, 53, 55, 58, 63, 70, 71, 73, 76, 78, + 81, 83, 85, 88, 91, 95, 97, 100, 102, 105, + 108, 111, 115, 121, 125, 129, 132, 137, 140, 144, + 146, 150, 153, 155, 157, 160, 163, 165, 168, 171, + 173, 176, 179, 181, 184, 187, 189, 192, 195, 197, + 200, 203, 206, 209, 211, 213, 216, 219, 222, 225, + 228, 231, 233, 235, 237, 239, 241, 243, 245, 247, + 250, 251 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 28, 0, -1, 29, -1, 30, -1, 23, 41, -1, - -1, 30, 31, -1, 32, -1, 33, -1, 34, -1, - 36, -1, 35, -1, 37, -1, 44, -1, 45, -1, - 20, 15, -1, 20, 24, 20, 47, -1, 20, 24, - 20, 19, 46, -1, 20, 24, 20, 24, 43, 47, - -1, 20, 24, 20, 24, 43, 19, 46, -1, 14, - -1, 14, 4, -1, 18, -1, 18, 39, -1, 18, - 19, 46, -1, 13, -1, 18, 4, -1, 12, -1, - 12, 25, -1, 17, 12, -1, 20, 12, -1, 20, - 26, 20, -1, 20, 26, 20, 26, 20, -1, 20, - 19, 19, -1, 20, 16, 19, -1, 16, 19, 19, - -1, 16, 20, -1, 16, 20, 25, 20, -1, 20, - 16, -1, 20, 16, 20, -1, 38, 3, -1, 38, - -1, 40, -1, 17, 5, -1, 20, 5, -1, 5, - -1, 17, 6, -1, 20, 6, -1, 6, -1, 17, - 10, -1, 20, 10, -1, 10, -1, 17, 7, -1, - 20, 7, -1, 7, -1, 17, 8, -1, 20, 8, - -1, 8, -1, 17, 9, -1, 20, 9, -1, 21, - 9, -1, 22, 9, -1, 9, -1, 39, -1, 19, - 5, -1, 19, 6, -1, 19, 10, -1, 19, 7, - -1, 19, 8, -1, 19, 9, -1, 11, -1, 42, - -1, 43, -1, 21, -1, 19, -1, 22, -1, 20, - -1, 20, -1, 20, 39, -1, -1, 24, 20, -1, - -1, 15, -1 + 29, 0, -1, 30, -1, 31, -1, 23, 48, -1, + -1, 31, 32, -1, 33, -1, 35, -1, 39, -1, + 40, -1, 42, -1, 41, -1, 44, -1, 51, -1, + 52, -1, 34, -1, 43, 24, 36, -1, 20, 15, + -1, 20, 25, 20, 15, -1, 20, 25, 20, 25, + 50, 15, -1, 36, -1, 20, 38, -1, 20, 25, + 20, 37, -1, 20, 25, 20, 25, 50, 37, -1, + -1, 38, -1, 19, 53, -1, 14, -1, 14, 4, + -1, 18, -1, 24, -1, 18, 46, -1, 24, 46, + -1, 18, 19, 53, -1, 13, -1, 18, 4, -1, + 12, -1, 12, 26, -1, 17, 12, -1, 20, 12, + -1, 20, 27, 20, -1, 20, 27, 20, 27, 20, + -1, 20, 16, 19, -1, 16, 19, 19, -1, 16, + 20, -1, 16, 20, 26, 20, -1, 20, 16, -1, + 20, 16, 20, -1, 43, -1, 20, 19, 19, -1, + 45, 3, -1, 45, -1, 47, -1, 17, 5, -1, + 20, 5, -1, 5, -1, 17, 6, -1, 20, 6, + -1, 6, -1, 17, 10, -1, 20, 10, -1, 10, + -1, 17, 7, -1, 20, 7, -1, 7, -1, 17, + 8, -1, 20, 8, -1, 8, -1, 17, 9, -1, + 20, 9, -1, 21, 9, -1, 22, 9, -1, 9, + -1, 46, -1, 19, 5, -1, 19, 6, -1, 19, + 10, -1, 19, 7, -1, 19, 8, -1, 19, 9, + -1, 11, -1, 49, -1, 50, -1, 21, -1, 19, + -1, 22, -1, 20, -1, 20, -1, 20, 46, -1, + -1, 25, 20, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 318, 318, 319, 323, 330, 332, 336, 338, 340, - 342, 344, 346, 347, 348, 352, 357, 362, 369, 374, - 384, 389, 397, 399, 402, 404, 406, 411, 416, 421, - 426, 434, 439, 459, 466, 474, 482, 487, 493, 498, - 507, 509, 511, 516, 518, 520, 522, 524, 526, 528, - 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, - 550, 552, 554, 556, 560, 562, 564, 566, 568, 570, - 575, 579, 579, 582, 583, 588, 589, 594, 599, 610, - 611, 617, 618 + 0, 324, 324, 325, 329, 336, 338, 342, 344, 346, + 348, 350, 352, 354, 355, 356, 360, 364, 368, 373, + 378, 383, 387, 392, 397, 404, 406, 410, 418, 423, + 433, 435, 437, 440, 443, 445, 447, 452, 457, 462, + 467, 475, 480, 500, 508, 516, 521, 527, 532, 538, + 542, 552, 554, 556, 561, 563, 565, 567, 569, 571, + 573, 575, 577, 579, 581, 583, 585, 587, 589, 591, + 593, 595, 597, 599, 601, 605, 607, 609, 611, 613, + 615, 620, 624, 624, 627, 628, 633, 634, 639, 644, + 655, 656 }; #endif @@ -772,11 +807,12 @@ static const char *const yytname[] = "tMONTH_UNIT", "tHOUR_UNIT", "tMINUTE_UNIT", "tSEC_UNIT", "tDAY_UNIT", "tDAY_SHIFT", "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH", "tORDINAL", "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER", - "tUDECIMAL_NUMBER", "'@'", "':'", "','", "'/'", "$accept", "spec", - "timespec", "items", "item", "time", "local_zone", "zone", "day", "date", - "rel", "relunit", "relunit_snumber", "dayshift", "seconds", - "signed_seconds", "unsigned_seconds", "number", "hybrid", - "o_colon_minutes", "o_merid", 0 + "tUDECIMAL_NUMBER", "'@'", "'T'", "':'", "','", "'/'", "$accept", "spec", + "timespec", "items", "item", "datetime", "iso_8601_datetime", "time", + "iso_8601_time", "o_zone_offset", "zone_offset", "local_zone", "zone", + "day", "date", "iso_8601_date", "rel", "relunit", "relunit_snumber", + "dayshift", "seconds", "signed_seconds", "unsigned_seconds", "number", + "hybrid", "o_colon_minutes", YY_NULL }; #endif @@ -787,135 +823,152 @@ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 64, 58, 44, 47 + 275, 276, 277, 64, 84, 58, 44, 47 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 27, 28, 28, 29, 30, 30, 31, 31, 31, - 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, - 33, 33, 34, 34, 34, 34, 34, 35, 35, 35, - 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, - 40, 41, 41, 42, 42, 43, 43, 44, 45, 46, - 46, 47, 47 + 0, 28, 29, 29, 30, 31, 31, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 33, 34, 35, 35, + 35, 35, 36, 36, 36, 37, 37, 38, 39, 39, + 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, + 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 43, 44, 44, 44, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, + 46, 47, 48, 48, 49, 49, 50, 50, 51, 52, + 53, 53 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 2, 0, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 4, 5, 6, 7, - 1, 2, 1, 2, 3, 1, 2, 1, 2, 2, - 2, 3, 5, 3, 3, 3, 2, 4, 2, 3, - 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, - 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, - 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 2, 0, 1 + 1, 1, 1, 1, 1, 1, 1, 3, 2, 4, + 6, 1, 2, 4, 6, 0, 1, 2, 1, 2, + 1, 1, 2, 2, 3, 1, 2, 1, 2, 2, + 2, 3, 5, 3, 3, 2, 4, 2, 3, 1, + 3, 2, 1, 1, 2, 2, 1, 2, 2, 1, + 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, + 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 0, 2 }; -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero +/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { - 5, 0, 0, 2, 3, 74, 76, 73, 75, 4, - 71, 72, 1, 45, 48, 54, 57, 62, 51, 70, - 27, 25, 20, 0, 0, 22, 0, 77, 0, 0, - 6, 7, 8, 9, 11, 10, 12, 41, 63, 42, - 13, 14, 28, 21, 0, 36, 43, 46, 52, 55, - 58, 49, 29, 26, 79, 23, 64, 65, 67, 68, - 69, 66, 44, 47, 53, 56, 59, 50, 30, 15, - 38, 0, 0, 0, 78, 60, 61, 40, 35, 0, - 0, 24, 34, 39, 33, 81, 31, 37, 80, 82, - 79, 0, 16, 0, 17, 81, 32, 79, 18, 19 + 5, 0, 0, 2, 3, 85, 87, 84, 86, 4, + 82, 83, 1, 56, 59, 65, 68, 73, 62, 81, + 37, 35, 28, 0, 0, 30, 0, 88, 0, 0, + 31, 6, 7, 16, 8, 21, 9, 10, 12, 11, + 49, 13, 52, 74, 53, 14, 15, 38, 29, 0, + 45, 54, 57, 63, 66, 69, 60, 39, 36, 90, + 32, 75, 76, 78, 79, 80, 77, 55, 58, 64, + 67, 70, 61, 40, 18, 47, 90, 0, 0, 22, + 89, 71, 72, 33, 0, 51, 44, 0, 0, 34, + 43, 48, 50, 27, 25, 41, 0, 17, 46, 91, + 19, 90, 0, 23, 26, 0, 0, 25, 42, 25, + 20, 24, 0, 25 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 2, 3, 4, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 9, 10, 11, 40, 41, 81, - 92 + -1, 2, 3, 4, 31, 32, 33, 34, 35, 103, + 104, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 9, 10, 11, 45, 46, 93 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -82 +#define YYPACT_NINF -93 static const yytype_int8 yypact[] = { - -17, 56, 15, -82, 26, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - 36, -82, 68, 10, 50, 9, 59, -5, 72, 73, - -82, -82, -82, -82, -82, -82, -82, 80, -82, -82, - -82, -82, -82, -82, 65, 61, -82, -82, -82, -82, - -82, -82, -82, -82, 17, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - 60, 44, 67, 69, -82, -82, -82, -82, -82, 70, - 71, -82, -82, -82, -82, -7, 62, -82, -82, -82, - 74, -2, -82, 75, -82, 55, -82, 74, -82, -82 + 38, 27, 77, -93, 46, -93, -93, -93, -93, -93, + -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, + 62, -93, 82, -3, 66, 3, 74, -4, 83, 84, + 75, -93, -93, -93, -93, -93, -93, -93, -93, -93, + 71, -93, 93, -93, -93, -93, -93, -93, -93, 78, + 72, -93, -93, -93, -93, -93, -93, -93, -93, 25, + -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, + -93, -93, -93, -93, -93, 21, 19, 79, 80, -93, + -93, -93, -93, -93, 81, -93, -93, 85, 86, -93, + -93, -93, -93, -93, -6, 76, 17, -93, -93, -93, + -93, 87, 69, -93, -93, 88, 89, -1, -93, 18, + -93, -93, 69, 91 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, 46, -82, -82, -82, -6, -82, -82, -81, - -3 + -93, -93, -93, -93, -93, -93, -93, -93, 20, -68, + -27, -93, -93, -93, -93, -93, -93, -93, 60, -93, + -93, -93, -92, -93, -93, 43 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ + number is the opposite. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { - 62, 63, 64, 65, 66, 67, 1, 68, 89, 94, - 69, 70, 90, 53, 71, 12, 99, 91, 6, 72, - 8, 73, 56, 57, 58, 59, 60, 61, 54, 44, - 45, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 80, 23, 24, 25, 26, 27, 28, 29, 56, - 57, 58, 59, 60, 61, 46, 47, 48, 49, 50, - 51, 42, 52, 84, 56, 57, 58, 59, 60, 61, - 89, 55, 43, 74, 97, 5, 6, 7, 8, 82, - 83, 75, 76, 77, 78, 95, 79, 85, 93, 86, - 87, 88, 98, 0, 0, 96, 0, 0, 80 + 79, 67, 68, 69, 70, 71, 72, 58, 73, 100, + 107, 74, 75, 101, 110, 76, 49, 50, 101, 102, + 113, 77, 59, 78, 61, 62, 63, 64, 65, 66, + 61, 62, 63, 64, 65, 66, 101, 101, 92, 111, + 90, 91, 106, 112, 88, 111, 5, 6, 7, 8, + 88, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 1, 23, 24, 25, 26, 27, 28, 29, 79, + 30, 51, 52, 53, 54, 55, 56, 12, 57, 61, + 62, 63, 64, 65, 66, 60, 48, 80, 47, 6, + 83, 8, 81, 82, 26, 84, 85, 86, 87, 94, + 95, 96, 89, 105, 97, 98, 99, 0, 108, 109, + 101, 0, 88 }; +#define yypact_value_is_default(yystate) \ + ((yystate) == (-93)) + +#define yytable_value_is_error(yytable_value) \ + YYID (0) + static const yytype_int8 yycheck[] = { - 5, 6, 7, 8, 9, 10, 23, 12, 15, 90, - 15, 16, 19, 4, 19, 0, 97, 24, 20, 24, - 22, 26, 5, 6, 7, 8, 9, 10, 19, 19, - 20, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 24, 16, 17, 18, 19, 20, 21, 22, 5, - 6, 7, 8, 9, 10, 5, 6, 7, 8, 9, - 10, 25, 12, 19, 5, 6, 7, 8, 9, 10, - 15, 25, 4, 27, 19, 19, 20, 21, 22, 19, - 20, 9, 9, 3, 19, 91, 25, 20, 26, 20, - 20, 20, 95, -1, -1, 20, -1, -1, 24 + 27, 5, 6, 7, 8, 9, 10, 4, 12, 15, + 102, 15, 16, 19, 15, 19, 19, 20, 19, 25, + 112, 25, 19, 27, 5, 6, 7, 8, 9, 10, + 5, 6, 7, 8, 9, 10, 19, 19, 19, 107, + 19, 20, 25, 25, 25, 113, 19, 20, 21, 22, + 25, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 23, 16, 17, 18, 19, 20, 21, 22, 96, + 24, 5, 6, 7, 8, 9, 10, 0, 12, 5, + 6, 7, 8, 9, 10, 25, 4, 27, 26, 20, + 30, 22, 9, 9, 19, 24, 3, 19, 26, 20, + 20, 20, 59, 27, 84, 20, 20, -1, 20, 20, + 19, -1, 25 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 23, 28, 29, 30, 19, 20, 21, 22, 41, - 42, 43, 0, 5, 6, 7, 8, 9, 10, 11, + 0, 23, 29, 30, 31, 19, 20, 21, 22, 48, + 49, 50, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 44, 45, 25, 4, 19, 20, 5, 6, 7, 8, - 9, 10, 12, 4, 19, 39, 5, 6, 7, 8, - 9, 10, 5, 6, 7, 8, 9, 10, 12, 15, - 16, 19, 24, 26, 39, 9, 9, 3, 19, 25, - 24, 46, 19, 20, 19, 20, 20, 20, 20, 15, - 19, 24, 47, 26, 46, 43, 20, 19, 47, 46 + 24, 32, 33, 34, 35, 36, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 51, 52, 26, 4, 19, + 20, 5, 6, 7, 8, 9, 10, 12, 4, 19, + 46, 5, 6, 7, 8, 9, 10, 5, 6, 7, + 8, 9, 10, 12, 15, 16, 19, 25, 27, 38, + 46, 9, 9, 46, 24, 3, 19, 26, 25, 53, + 19, 20, 19, 53, 20, 20, 20, 36, 20, 20, + 15, 19, 25, 37, 38, 27, 25, 50, 20, 20, + 15, 37, 25, 50 }; #define yyerrok (yyerrstatus = 0) @@ -930,24 +983,33 @@ static const yytype_uint8 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ + Once GCC version 2 has supplanted version 1, this can go. However, + YYFAIL appears to be in use. Nevertheless, it is formally deprecated + in Bison 2.4.2's NEWS entry, where a plan to phase it out is + discussed. */ #define YYFAIL goto yyerrlab +#if defined YYFAIL + /* This is here to suppress warnings from the GCC cpp's + -Wunused-macros. Normally we don't worry about that warning, but + some users do, and we want to make it easy for users to remove + YYFAIL uses, which will produce warnings from Bison 2.5. */ +#endif #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ yyerror (pc, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ @@ -984,19 +1046,10 @@ while (YYID (0)) #endif -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ +/* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif @@ -1052,6 +1105,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc) parser_control *pc; #endif { + FILE *yyo = yyoutput; + YYUSE (yyo); if (!yyvaluep) return; YYUSE (pc); @@ -1103,17 +1158,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, pc) #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; +yy_stack_print (yybottom, yytop) + yytype_int16 *yybottom; + yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } YYFPRINTF (stderr, "\n"); } @@ -1148,11 +1206,11 @@ yy_reduce_print (yyvsp, yyrule, pc) /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); + YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) , pc); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, "\n"); } } @@ -1189,7 +1247,6 @@ int yydebug; # define YYMAXDEPTH 10000 #endif - #if YYERROR_VERBOSE @@ -1292,115 +1349,142 @@ yytnamerr (char *yyres, const char *yystr) } # endif -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ - int yyn = yypact[yystate]; +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) +{ + YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULL; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - Assume YYFAIL is not used. It's too flawed to consider. See + + for details. YYERROR is fine as it does not invoke this + function. + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; + switch (yycount) + { +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } - if (yysize_overflow) - return YYSIZE_MAXIMUM; + yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; } #endif /* YYERROR_VERBOSE */ - /*-----------------------------------------------. | Release the memory associated to this symbol. | @@ -1434,10 +1518,9 @@ yydestruct (yymsg, yytype, yyvaluep, pc) break; } } - -/* Prevent warnings from -Wmissing-prototypes. */ +/* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); @@ -1453,10 +1536,6 @@ int yyparse (); #endif /* ! YYPARSE_PARAM */ - - - - /*----------. | yyparse. | `----------*/ @@ -1483,74 +1562,75 @@ yyparse (pc) #endif #endif { - /* The look-ahead symbol. */ +/* The lookahead symbol. */ int yychar; -/* The semantic value of the look-ahead symbol. */ +/* The semantic value of the lookahead symbol. */ YYSTYPE yylval; -/* Number of syntax errors so far. */ -int yynerrs; + /* Number of syntax errors so far. */ + int yynerrs; - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. + /* The stacks and their tools: + `yyss': related to states. + `yyvs': related to semantic values. - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; - - - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; - YYSIZE_T yystacksize = YYINITDEPTH; + YYSIZE_T yystacksize; + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; + yytoken = 0; + yyss = yyssa; + yyvs = yyvsa; + yystacksize = YYINITDEPTH; + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ + yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; yyvsp = yyvs; @@ -1580,7 +1660,6 @@ int yynerrs; YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; - /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might @@ -1588,7 +1667,6 @@ int yynerrs; yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); yyss = yyss1; @@ -1611,9 +1689,8 @@ int yynerrs; (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -1624,7 +1701,6 @@ int yynerrs; yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); @@ -1634,6 +1710,9 @@ int yynerrs; YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + if (yystate == YYFINAL) + YYACCEPT; + goto yybackup; /*-----------. @@ -1642,16 +1721,16 @@ int yynerrs; yybackup: /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ + lookahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to look-ahead token. */ + /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yypact_value_is_default (yyn)) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -1677,26 +1756,22 @@ yybackup: yyn = yytable[yyn]; if (yyn <= 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; + if (yytable_value_is_error (yyn)) + goto yyerrlab; yyn = -yyn; goto yyreduce; } - if (yyn == YYFINAL) - YYACCEPT; - /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the look-ahead token. */ + /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; + /* Discard the shifted token. */ + yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; @@ -1736,7 +1811,9 @@ yyreduce: switch (yyn) { case 4: -#line 324 "parse-datetime.y" + +/* Line 1810 of yacc.c */ +#line 330 "./parse-datetime.y" { pc->seconds = (yyvsp[(2) - (2)].timespec); pc->timespec_seen = true; @@ -1744,158 +1821,242 @@ yyreduce: break; case 7: -#line 337 "parse-datetime.y" - { pc->times_seen++; } + +/* Line 1810 of yacc.c */ +#line 343 "./parse-datetime.y" + { pc->times_seen++; pc->dates_seen++; } break; case 8: -#line 339 "parse-datetime.y" - { pc->local_zones_seen++; } + +/* Line 1810 of yacc.c */ +#line 345 "./parse-datetime.y" + { pc->times_seen++; } break; case 9: -#line 341 "parse-datetime.y" - { pc->zones_seen++; } + +/* Line 1810 of yacc.c */ +#line 347 "./parse-datetime.y" + { pc->local_zones_seen++; } break; case 10: -#line 343 "parse-datetime.y" - { pc->dates_seen++; } + +/* Line 1810 of yacc.c */ +#line 349 "./parse-datetime.y" + { pc->zones_seen++; } break; case 11: -#line 345 "parse-datetime.y" + +/* Line 1810 of yacc.c */ +#line 351 "./parse-datetime.y" + { pc->dates_seen++; } + break; + + case 12: + +/* Line 1810 of yacc.c */ +#line 353 "./parse-datetime.y" { pc->days_seen++; } break; - case 15: -#line 353 "parse-datetime.y" + case 18: + +/* Line 1810 of yacc.c */ +#line 369 "./parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0); pc->meridian = (yyvsp[(2) - (2)].intval); } break; - case 16: -#line 358 "parse-datetime.y" + case 19: + +/* Line 1810 of yacc.c */ +#line 374 "./parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0); pc->meridian = (yyvsp[(4) - (4)].intval); } break; - case 17: -#line 363 "parse-datetime.y" + case 20: + +/* Line 1810 of yacc.c */ +#line 379 "./parse-datetime.y" { - set_hhmmss (pc, (yyvsp[(1) - (5)].textintval).value, (yyvsp[(3) - (5)].textintval).value, 0, 0); + set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec); + pc->meridian = (yyvsp[(6) - (6)].intval); + } + break; + + case 22: + +/* Line 1810 of yacc.c */ +#line 388 "./parse-datetime.y" + { + set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0); pc->meridian = MER24; - pc->zones_seen++; - pc->time_zone = time_zone_hhmm (pc, (yyvsp[(4) - (5)].textintval), (yyvsp[(5) - (5)].intval)); } break; - case 18: -#line 370 "parse-datetime.y" + case 23: + +/* Line 1810 of yacc.c */ +#line 393 "./parse-datetime.y" { - set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec); - pc->meridian = (yyvsp[(6) - (6)].intval); + set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0); + pc->meridian = MER24; } break; - case 19: -#line 375 "parse-datetime.y" + case 24: + +/* Line 1810 of yacc.c */ +#line 398 "./parse-datetime.y" { - set_hhmmss (pc, (yyvsp[(1) - (7)].textintval).value, (yyvsp[(3) - (7)].textintval).value, (yyvsp[(5) - (7)].timespec).tv_sec, (yyvsp[(5) - (7)].timespec).tv_nsec); + set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec); pc->meridian = MER24; + } + break; + + case 27: + +/* Line 1810 of yacc.c */ +#line 411 "./parse-datetime.y" + { pc->zones_seen++; - pc->time_zone = time_zone_hhmm (pc, (yyvsp[(6) - (7)].textintval), (yyvsp[(7) - (7)].intval)); + pc->time_zone = time_zone_hhmm (pc, (yyvsp[(1) - (2)].textintval), (yyvsp[(2) - (2)].intval)); } break; - case 20: -#line 385 "parse-datetime.y" + case 28: + +/* Line 1810 of yacc.c */ +#line 419 "./parse-datetime.y" { pc->local_isdst = (yyvsp[(1) - (1)].intval); pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval)); } break; - case 21: -#line 390 "parse-datetime.y" + case 29: + +/* Line 1810 of yacc.c */ +#line 424 "./parse-datetime.y" { pc->local_isdst = 1; pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1; } break; - case 22: -#line 398 "parse-datetime.y" + case 30: + +/* Line 1810 of yacc.c */ +#line 434 "./parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (1)].intval); } break; - case 23: -#line 400 "parse-datetime.y" + case 31: + +/* Line 1810 of yacc.c */ +#line 436 "./parse-datetime.y" + { pc->time_zone = HOUR(7); } + break; + + case 32: + +/* Line 1810 of yacc.c */ +#line 438 "./parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (2)].intval); apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); } break; - case 24: -#line 403 "parse-datetime.y" + case 33: + +/* Line 1810 of yacc.c */ +#line 441 "./parse-datetime.y" + { pc->time_zone = HOUR(7); + apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); } + break; + + case 34: + +/* Line 1810 of yacc.c */ +#line 444 "./parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm (pc, (yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); } break; - case 25: -#line 405 "parse-datetime.y" + case 35: + +/* Line 1810 of yacc.c */ +#line 446 "./parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; } break; - case 26: -#line 407 "parse-datetime.y" + case 36: + +/* Line 1810 of yacc.c */ +#line 448 "./parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; } break; - case 27: -#line 412 "parse-datetime.y" + case 37: + +/* Line 1810 of yacc.c */ +#line 453 "./parse-datetime.y" { pc->day_ordinal = 0; pc->day_number = (yyvsp[(1) - (1)].intval); } break; - case 28: -#line 417 "parse-datetime.y" + case 38: + +/* Line 1810 of yacc.c */ +#line 458 "./parse-datetime.y" { pc->day_ordinal = 0; pc->day_number = (yyvsp[(1) - (2)].intval); } break; - case 29: -#line 422 "parse-datetime.y" + case 39: + +/* Line 1810 of yacc.c */ +#line 463 "./parse-datetime.y" { pc->day_ordinal = (yyvsp[(1) - (2)].intval); pc->day_number = (yyvsp[(2) - (2)].intval); } break; - case 30: -#line 427 "parse-datetime.y" + case 40: + +/* Line 1810 of yacc.c */ +#line 468 "./parse-datetime.y" { pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value; pc->day_number = (yyvsp[(2) - (2)].intval); } break; - case 31: -#line 435 "parse-datetime.y" + case 41: + +/* Line 1810 of yacc.c */ +#line 476 "./parse-datetime.y" { pc->month = (yyvsp[(1) - (3)].textintval).value; pc->day = (yyvsp[(3) - (3)].textintval).value; } break; - case 32: -#line 440 "parse-datetime.y" + case 42: + +/* Line 1810 of yacc.c */ +#line 481 "./parse-datetime.y" { /* Interpret as YYYY/MM/DD if the first value has 4 or more digits, otherwise as MM/DD/YY. @@ -1917,18 +2078,10 @@ yyreduce: } break; - case 33: -#line 460 "parse-datetime.y" - { - /* ISO 8601 format. YYYY-MM-DD. */ - pc->year = (yyvsp[(1) - (3)].textintval); - pc->month = -(yyvsp[(2) - (3)].textintval).value; - pc->day = -(yyvsp[(3) - (3)].textintval).value; - } - break; + case 43: - case 34: -#line 467 "parse-datetime.y" +/* Line 1810 of yacc.c */ +#line 501 "./parse-datetime.y" { /* e.g. 17-JUN-1992. */ pc->day = (yyvsp[(1) - (3)].textintval).value; @@ -1938,8 +2091,10 @@ yyreduce: } break; - case 35: -#line 475 "parse-datetime.y" + case 44: + +/* Line 1810 of yacc.c */ +#line 509 "./parse-datetime.y" { /* e.g. JUN-17-1992. */ pc->month = (yyvsp[(1) - (3)].intval); @@ -1949,16 +2104,20 @@ yyreduce: } break; - case 36: -#line 483 "parse-datetime.y" + case 45: + +/* Line 1810 of yacc.c */ +#line 517 "./parse-datetime.y" { pc->month = (yyvsp[(1) - (2)].intval); pc->day = (yyvsp[(2) - (2)].textintval).value; } break; - case 37: -#line 488 "parse-datetime.y" + case 46: + +/* Line 1810 of yacc.c */ +#line 522 "./parse-datetime.y" { pc->month = (yyvsp[(1) - (4)].intval); pc->day = (yyvsp[(2) - (4)].textintval).value; @@ -1966,16 +2125,20 @@ yyreduce: } break; - case 38: -#line 494 "parse-datetime.y" + case 47: + +/* Line 1810 of yacc.c */ +#line 528 "./parse-datetime.y" { pc->day = (yyvsp[(1) - (2)].textintval).value; pc->month = (yyvsp[(2) - (2)].intval); } break; - case 39: -#line 499 "parse-datetime.y" + case 48: + +/* Line 1810 of yacc.c */ +#line 533 "./parse-datetime.y" { pc->day = (yyvsp[(1) - (3)].textintval).value; pc->month = (yyvsp[(2) - (3)].intval); @@ -1983,173 +2146,253 @@ yyreduce: } break; - case 40: -#line 508 "parse-datetime.y" - { apply_relative_time (pc, (yyvsp[(1) - (2)].rel), -1); } + case 50: + +/* Line 1810 of yacc.c */ +#line 543 "./parse-datetime.y" + { + /* ISO 8601 format. YYYY-MM-DD. */ + pc->year = (yyvsp[(1) - (3)].textintval); + pc->month = -(yyvsp[(2) - (3)].textintval).value; + pc->day = -(yyvsp[(3) - (3)].textintval).value; + } break; - case 41: -#line 510 "parse-datetime.y" + case 51: + +/* Line 1810 of yacc.c */ +#line 553 "./parse-datetime.y" + { apply_relative_time (pc, (yyvsp[(1) - (2)].rel), (yyvsp[(2) - (2)].intval)); } + break; + + case 52: + +/* Line 1810 of yacc.c */ +#line 555 "./parse-datetime.y" { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); } break; - case 42: -#line 512 "parse-datetime.y" + case 53: + +/* Line 1810 of yacc.c */ +#line 557 "./parse-datetime.y" { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); } break; - case 43: -#line 517 "parse-datetime.y" + case 54: + +/* Line 1810 of yacc.c */ +#line 562 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); } break; - case 44: -#line 519 "parse-datetime.y" + case 55: + +/* Line 1810 of yacc.c */ +#line 564 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; } break; - case 45: -#line 521 "parse-datetime.y" + case 56: + +/* Line 1810 of yacc.c */ +#line 566 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; } break; - case 46: -#line 523 "parse-datetime.y" + case 57: + +/* Line 1810 of yacc.c */ +#line 568 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); } break; - case 47: -#line 525 "parse-datetime.y" + case 58: + +/* Line 1810 of yacc.c */ +#line 570 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; } break; - case 48: -#line 527 "parse-datetime.y" + case 59: + +/* Line 1810 of yacc.c */ +#line 572 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; } break; - case 49: -#line 529 "parse-datetime.y" + case 60: + +/* Line 1810 of yacc.c */ +#line 574 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); } break; - case 50: -#line 531 "parse-datetime.y" + case 61: + +/* Line 1810 of yacc.c */ +#line 576 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); } break; - case 51: -#line 533 "parse-datetime.y" + case 62: + +/* Line 1810 of yacc.c */ +#line 578 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); } break; - case 52: -#line 535 "parse-datetime.y" + case 63: + +/* Line 1810 of yacc.c */ +#line 580 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); } break; - case 53: -#line 537 "parse-datetime.y" + case 64: + +/* Line 1810 of yacc.c */ +#line 582 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; } break; - case 54: -#line 539 "parse-datetime.y" + case 65: + +/* Line 1810 of yacc.c */ +#line 584 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; } break; - case 55: -#line 541 "parse-datetime.y" + case 66: + +/* Line 1810 of yacc.c */ +#line 586 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); } break; - case 56: -#line 543 "parse-datetime.y" + case 67: + +/* Line 1810 of yacc.c */ +#line 588 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; } break; - case 57: -#line 545 "parse-datetime.y" + case 68: + +/* Line 1810 of yacc.c */ +#line 590 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; } break; - case 58: -#line 547 "parse-datetime.y" + case 69: + +/* Line 1810 of yacc.c */ +#line 592 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); } break; - case 59: -#line 549 "parse-datetime.y" + case 70: + +/* Line 1810 of yacc.c */ +#line 594 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; } break; - case 60: -#line 551 "parse-datetime.y" + case 71: + +/* Line 1810 of yacc.c */ +#line 596 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; } break; - case 61: -#line 553 "parse-datetime.y" + case 72: + +/* Line 1810 of yacc.c */ +#line 598 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; } break; - case 62: -#line 555 "parse-datetime.y" + case 73: + +/* Line 1810 of yacc.c */ +#line 600 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; } break; - case 64: -#line 561 "parse-datetime.y" + case 75: + +/* Line 1810 of yacc.c */ +#line 606 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; } break; - case 65: -#line 563 "parse-datetime.y" + case 76: + +/* Line 1810 of yacc.c */ +#line 608 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; } break; - case 66: -#line 565 "parse-datetime.y" + case 77: + +/* Line 1810 of yacc.c */ +#line 610 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); } break; - case 67: -#line 567 "parse-datetime.y" + case 78: + +/* Line 1810 of yacc.c */ +#line 612 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; } break; - case 68: -#line 569 "parse-datetime.y" + case 79: + +/* Line 1810 of yacc.c */ +#line 614 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; } break; - case 69: -#line 571 "parse-datetime.y" + case 80: + +/* Line 1810 of yacc.c */ +#line 616 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; } break; - case 70: -#line 576 "parse-datetime.y" + case 81: + +/* Line 1810 of yacc.c */ +#line 621 "./parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); } break; - case 74: -#line 584 "parse-datetime.y" + case 85: + +/* Line 1810 of yacc.c */ +#line 629 "./parse-datetime.y" { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; } break; - case 76: -#line 590 "parse-datetime.y" + case 87: + +/* Line 1810 of yacc.c */ +#line 635 "./parse-datetime.y" { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; } break; - case 77: -#line 595 "parse-datetime.y" + case 88: + +/* Line 1810 of yacc.c */ +#line 640 "./parse-datetime.y" { digits_to_date_time (pc, (yyvsp[(1) - (1)].textintval)); } break; - case 78: -#line 600 "parse-datetime.y" + case 89: + +/* Line 1810 of yacc.c */ +#line 645 "./parse-datetime.y" { /* Hybrid all-digit and relative offset, so that we accept e.g., "YYYYMMDD +N days" as well as "YYYYMMDD N days". */ @@ -2158,31 +2401,37 @@ yyreduce: } break; - case 79: -#line 610 "parse-datetime.y" + case 90: + +/* Line 1810 of yacc.c */ +#line 655 "./parse-datetime.y" { (yyval.intval) = -1; } break; - case 80: -#line 612 "parse-datetime.y" - { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; } - break; + case 91: - case 81: -#line 617 "parse-datetime.y" - { (yyval.intval) = MER24; } +/* Line 1810 of yacc.c */ +#line 657 "./parse-datetime.y" + { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; } break; - case 82: -#line 619 "parse-datetime.y" - { (yyval.intval) = (yyvsp[(1) - (1)].intval); } - break; -/* Line 1267 of yacc.c. */ -#line 2184 "parse-datetime.c" +/* Line 1810 of yacc.c */ +#line 2422 "parse-datetime.c" default: break; } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); @@ -2191,7 +2440,6 @@ yyreduce: *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -2211,6 +2459,10 @@ yyreduce: | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { @@ -2218,37 +2470,36 @@ yyerrlab: #if ! YYERROR_VERBOSE yyerror (pc, YY_("syntax error")); #else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (pc, yymsg); - } - else - { - yyerror (pc, YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (pc, yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; } +# undef YYSYNTAX_ERROR #endif } @@ -2256,7 +2507,7 @@ yyerrlab: if (yyerrstatus == 3) { - /* If just tried and failed to reuse look-ahead token after an + /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) @@ -2273,7 +2524,7 @@ yyerrlab: } } - /* Else will try to reuse look-ahead token after shifting the error + /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; @@ -2307,7 +2558,7 @@ yyerrlab1: for (;;) { yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) + if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) @@ -2330,9 +2581,6 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } - if (yyn == YYFINAL) - YYACCEPT; - *++yyvsp = yylval; @@ -2357,7 +2605,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow +#if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2368,9 +2616,14 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval, pc); + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval, pc); + } /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); @@ -2394,7 +2647,9 @@ yyreturn: } -#line 622 "parse-datetime.y" + +/* Line 2071 of yacc.c */ +#line 660 "./parse-datetime.y" static table const meridian_table[] = @@ -2477,7 +2732,8 @@ static table const relative_time_table[] = { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, - { "AGO", tAGO, 1 }, + { "AGO", tAGO, -1 }, + { "HENCE", tAGO, 1 }, { NULL, 0, 0 } }; @@ -2496,7 +2752,7 @@ static table const universal_time_zone_table[] = zone abbreviations are ambiguous; e.g. Australians interpret "EST" as Eastern time in Australia, not as US Eastern Standard Time. You cannot rely on parse_datetime to handle arbitrary time zone - abbreviations; use numeric abbreviations like `-0500' instead. */ + abbreviations; use numeric abbreviations like "-0500" instead. */ static table const time_zone_table[] = { { "WET", tZONE, HOUR ( 0) }, /* Western European */ @@ -2549,7 +2805,10 @@ static table const time_zone_table[] = { NULL, 0, 0 } }; -/* Military time zone table. */ +/* Military time zone table. + + Note 'T' is a special case, as it is used as the separator in ISO + 8601 date and time of day representation. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, @@ -2570,7 +2829,7 @@ static table const military_table[] = { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, - { "T", tZONE, HOUR ( 7) }, + { "T", 'T', 0 }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, @@ -2644,7 +2903,7 @@ to_year (textint textyear) return year; } -static table const * +static table const * _GL_ATTRIBUTE_PURE lookup_zone (parser_control const *pc, char const *name) { table const *tp; @@ -2895,7 +3154,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc) do { - if (p < buff + sizeof buff - 1) + if (p - buff < sizeof buff - 1) *p++ = c; c = *++pc->input; } @@ -2910,7 +3169,8 @@ yylex (YYSTYPE *lvalp, parser_control *pc) } if (c != '(') - return *pc->input++; + return to_uchar (*pc->input++); + count = 0; do { @@ -3133,7 +3393,7 @@ parse_datetime (struct timespec *result, char const *p, && ! strcmp (pc.local_time_zone_table[0].name, pc.local_time_zone_table[1].name)) { - /* This locale uses the same abbrevation for standard and + /* This locale uses the same abbreviation for standard and daylight times. So if we see that abbreviation, we don't know whether it's daylight time. */ pc.local_time_zone_table[0].value = -1; @@ -3205,7 +3465,7 @@ parse_datetime (struct timespec *result, char const *p, + sizeof pc.time_zone * CHAR_BIT / 3]; if (!tz_was_altered) tz0 = get_tz (tz0buf); - sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0), + sprintf (tz1buf, "XXX%s%ld:%02d", &"-"[time_zone < 0], abs_time_zone_hour, abs_time_zone_min); if (setenv ("TZ", tz1buf, 1) != 0) goto fail; diff --git a/gnu/parse-datetime.h b/gnu/parse-datetime.h index 39371429..47fe4dee 100644 --- a/gnu/parse-datetime.h +++ b/gnu/parse-datetime.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Parse a string into an internal time stamp. - Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2011 Free Software + Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/parse-datetime.y b/gnu/parse-datetime.y index d77955f4..4dce7fa6 100644 --- a/gnu/parse-datetime.y +++ b/gnu/parse-datetime.y @@ -1,7 +1,7 @@ %{ /* Parse a string into an internal time stamp. - Copyright (C) 1999-2000, 2002-2011 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2013 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 @@ -82,7 +82,7 @@ - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition - of `digit' even when the host does not conform to POSIX. */ + of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Shift A right by B bits portably, by dividing A by 2**B and @@ -113,6 +113,11 @@ typedef long int long_time_t; typedef time_t long_time_t; #endif +/* Convert a possibly-signed character to an unsigned character. This is + a bit safer than casting to unsigned char, since it catches some type + errors that the cast doesn't. */ +static unsigned char to_uchar (char ch) { return ch; } + /* Lots of this code assumes time_t and time_t-like values fit into long_time_t. */ verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t) @@ -204,7 +209,7 @@ typedef struct size_t times_seen; size_t zones_seen; - /* Table of local time zone abbrevations, terminated by a null entry. */ + /* Table of local time zone abbreviations, terminated by a null entry. */ table local_time_zone_table[3]; } parser_control; @@ -285,8 +290,8 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, %parse-param { parser_control *pc } %lex-param { parser_control *pc } -/* This grammar has 20 shift/reduce conflicts. */ -%expect 20 +/* This grammar has 31 shift/reduce conflicts. */ +%expect 31 %union { @@ -296,7 +301,8 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, relative_time rel; } -%token tAGO tDST +%token tAGO +%token tDST %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT %token tDAY_UNIT tDAY_SHIFT @@ -307,7 +313,7 @@ set_hhmmss (parser_control *pc, long int hour, long int minutes, %token tSNUMBER tUNUMBER %token tSDECIMAL_NUMBER tUDECIMAL_NUMBER -%type o_colon_minutes o_merid +%type o_colon_minutes %type seconds signed_seconds unsigned_seconds %type relunit relunit_snumber dayshift @@ -333,7 +339,9 @@ items: ; item: - time + datetime + { pc->times_seen++; pc->dates_seen++; } + | time { pc->times_seen++; } | local_zone { pc->local_zones_seen++; } @@ -348,35 +356,61 @@ item: | hybrid ; +datetime: + iso_8601_datetime + ; + +iso_8601_datetime: + iso_8601_date 'T' iso_8601_time + ; + time: tUNUMBER tMERIDIAN { set_hhmmss (pc, $1.value, 0, 0, 0); pc->meridian = $2; } - | tUNUMBER ':' tUNUMBER o_merid + | tUNUMBER ':' tUNUMBER tMERIDIAN { set_hhmmss (pc, $1.value, $3.value, 0, 0); pc->meridian = $4; } - | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes + | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN { - set_hhmmss (pc, $1.value, $3.value, 0, 0); + set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); + pc->meridian = $6; + } + | iso_8601_time + ; + +iso_8601_time: + tUNUMBER zone_offset + { + set_hhmmss (pc, $1.value, 0, 0, 0); pc->meridian = MER24; - pc->zones_seen++; - pc->time_zone = time_zone_hhmm (pc, $4, $5); } - | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid + | tUNUMBER ':' tUNUMBER o_zone_offset { - set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); - pc->meridian = $6; + set_hhmmss (pc, $1.value, $3.value, 0, 0); + pc->meridian = MER24; } - | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes + | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset { set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); pc->meridian = MER24; + } + ; + +o_zone_offset: + /* empty */ + | zone_offset + ; + +zone_offset: + tSNUMBER o_colon_minutes + { pc->zones_seen++; - pc->time_zone = time_zone_hhmm (pc, $6, $7); + pc->time_zone = time_zone_hhmm (pc, $1, $2); } ; @@ -393,12 +427,19 @@ local_zone: } ; +/* Note 'T' is a special case, as it is used as the separator in ISO + 8601 date and time of day representation. */ zone: tZONE { pc->time_zone = $1; } + | 'T' + { pc->time_zone = HOUR(7); } | tZONE relunit_snumber { pc->time_zone = $1; apply_relative_time (pc, $2, 1); } + | 'T' relunit_snumber + { pc->time_zone = HOUR(7); + apply_relative_time (pc, $2, 1); } | tZONE tSNUMBER o_colon_minutes { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); } | tDAYZONE @@ -456,13 +497,6 @@ date: pc->year = $5; } } - | tUNUMBER tSNUMBER tSNUMBER - { - /* ISO 8601 format. YYYY-MM-DD. */ - pc->year = $1; - pc->month = -$2.value; - pc->day = -$3.value; - } | tUNUMBER tMONTH tSNUMBER { /* e.g. 17-JUN-1992. */ @@ -501,11 +535,22 @@ date: pc->month = $2; pc->year = $3; } + | iso_8601_date + ; + +iso_8601_date: + tUNUMBER tSNUMBER tSNUMBER + { + /* ISO 8601 format. YYYY-MM-DD. */ + pc->year = $1; + pc->month = -$2.value; + pc->day = -$3.value; + } ; rel: relunit tAGO - { apply_relative_time (pc, $1, -1); } + { apply_relative_time (pc, $1, $2); } | relunit { apply_relative_time (pc, $1, 1); } | dayshift @@ -612,13 +657,6 @@ o_colon_minutes: { $$ = $2.value; } ; -o_merid: - /* empty */ - { $$ = MER24; } - | tMERIDIAN - { $$ = $1; } - ; - %% static table const meridian_table[] = @@ -701,7 +739,8 @@ static table const relative_time_table[] = { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, - { "AGO", tAGO, 1 }, + { "AGO", tAGO, -1 }, + { "HENCE", tAGO, 1 }, { NULL, 0, 0 } }; @@ -720,7 +759,7 @@ static table const universal_time_zone_table[] = zone abbreviations are ambiguous; e.g. Australians interpret "EST" as Eastern time in Australia, not as US Eastern Standard Time. You cannot rely on parse_datetime to handle arbitrary time zone - abbreviations; use numeric abbreviations like `-0500' instead. */ + abbreviations; use numeric abbreviations like "-0500" instead. */ static table const time_zone_table[] = { { "WET", tZONE, HOUR ( 0) }, /* Western European */ @@ -773,7 +812,10 @@ static table const time_zone_table[] = { NULL, 0, 0 } }; -/* Military time zone table. */ +/* Military time zone table. + + Note 'T' is a special case, as it is used as the separator in ISO + 8601 date and time of day representation. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, @@ -794,7 +836,7 @@ static table const military_table[] = { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, - { "T", tZONE, HOUR ( 7) }, + { "T", 'T', 0 }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, @@ -868,7 +910,7 @@ to_year (textint textyear) return year; } -static table const * +static table const * _GL_ATTRIBUTE_PURE lookup_zone (parser_control const *pc, char const *name) { table const *tp; @@ -1119,7 +1161,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc) do { - if (p < buff + sizeof buff - 1) + if (p - buff < sizeof buff - 1) *p++ = c; c = *++pc->input; } @@ -1134,7 +1176,8 @@ yylex (YYSTYPE *lvalp, parser_control *pc) } if (c != '(') - return *pc->input++; + return to_uchar (*pc->input++); + count = 0; do { @@ -1357,7 +1400,7 @@ parse_datetime (struct timespec *result, char const *p, && ! strcmp (pc.local_time_zone_table[0].name, pc.local_time_zone_table[1].name)) { - /* This locale uses the same abbrevation for standard and + /* This locale uses the same abbreviation for standard and daylight times. So if we see that abbreviation, we don't know whether it's daylight time. */ pc.local_time_zone_table[0].value = -1; @@ -1429,7 +1472,7 @@ parse_datetime (struct timespec *result, char const *p, + sizeof pc.time_zone * CHAR_BIT / 3]; if (!tz_was_altered) tz0 = get_tz (tz0buf); - sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0), + sprintf (tz1buf, "XXX%s%ld:%02d", &"-"[time_zone < 0], abs_time_zone_hour, abs_time_zone_min); if (setenv ("TZ", tz1buf, 1) != 0) goto fail; diff --git a/gnu/pathmax.h b/gnu/pathmax.h index 0445cd92..1ca0efda 100644 --- a/gnu/pathmax.h +++ b/gnu/pathmax.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Define PATH_MAX somehow. Requires sys/types.h. - Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2011 Free Software + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -15,12 +15,32 @@ 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. */ + along with this program; if not, see . */ #ifndef _PATHMAX_H # define _PATHMAX_H +/* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename, + including the terminating NUL byte. + + PATH_MAX is not defined on systems which have no limit on filename length, + such as GNU/Hurd. + + This file does *not* define PATH_MAX always. Programs that use this file + can handle the GNU/Hurd case in several ways: + - Either with a package-wide handling, or with a per-file handling, + - Either through a + #ifdef PATH_MAX + or through a fallback like + #ifndef PATH_MAX + # define PATH_MAX 8192 + #endif + or through a fallback like + #ifndef PATH_MAX + # define PATH_MAX pathconf ("/", _PC_PATH_MAX) + #endif + */ + # include # include @@ -29,11 +49,6 @@ # define _POSIX_PATH_MAX 256 # endif -# if !defined PATH_MAX && defined _PC_PATH_MAX && defined HAVE_PATHCONF -# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \ - : pathconf ("/", _PC_PATH_MAX)) -# endif - /* Don't include sys/param.h if it already has been. */ # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include @@ -43,8 +58,28 @@ # define PATH_MAX MAXPATHLEN # endif -# ifndef PATH_MAX -# define PATH_MAX _POSIX_PATH_MAX +# ifdef __hpux +/* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename, + *not* including the terminating NUL byte, and is set to 1023. + Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is + not defined at all any more. */ +# undef PATH_MAX +# define PATH_MAX 1024 +# endif + +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com, + section "Maximum Path Length Limitation", + + explains that the maximum size of a filename, including the terminating + NUL byte, is 260 = 3 + 256 + 1. + This is the same value as + - FILENAME_MAX in , + - _MAX_PATH in , + - MAX_PATH in . + Undefine the original value, because mingw's gets it wrong. */ +# undef PATH_MAX +# define PATH_MAX 260 # endif #endif /* _PATHMAX_H */ diff --git a/gnu/pipe-safer.c b/gnu/pipe-safer.c index 03a98ba0..68c01cd4 100644 --- a/gnu/pipe-safer.c +++ b/gnu/pipe-safer.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke pipe, but avoid some glitches. - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 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 diff --git a/gnu/printf-args.c b/gnu/printf-args.c index 2e5a39de..cb6a93dd 100644 --- a/gnu/printf-args.c +++ b/gnu/printf-args.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2011 Free Software + Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. diff --git a/gnu/printf-args.h b/gnu/printf-args.h index 90c88f83..1ed8ebd2 100644 --- a/gnu/printf-args.h +++ b/gnu/printf-args.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003, 2006-2007, 2011 Free Software + Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H diff --git a/gnu/printf-parse.c b/gnu/printf-parse.c index 326a0ef4..1320fcd1 100644 --- a/gnu/printf-parse.c +++ b/gnu/printf-parse.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999-2000, 2002-2003, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1999-2000, 2002-2003, 2006-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ /* This file can be parametrized with the following macros: CHAR_T The element type of the format string. @@ -404,7 +403,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) cp++; } #if defined __APPLE__ && defined __MACH__ - /* On MacOS X 10.3, PRIdMAX is defined as "qd". + /* On Mac OS X 10.3, PRIdMAX is defined as "qd". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ else if (*cp == 'q') @@ -423,7 +422,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) } #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* On native Win32, PRIdMAX is defined as "I64d". + /* On native Windows, PRIdMAX is defined as "I64d". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4') diff --git a/gnu/printf-parse.h b/gnu/printf-parse.h index 6cbe68e7..ab412132 100644 --- a/gnu/printf-parse.h +++ b/gnu/printf-parse.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Parse printf format string. - Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2011 Free Software + Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H diff --git a/gnu/priv-set.c b/gnu/priv-set.c index 064d95c8..c09fb0eb 100644 --- a/gnu/priv-set.c +++ b/gnu/priv-set.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Query, remove, or restore a Solaris privilege. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,6 +20,9 @@ Written by David Bartley. */ #include + +#define PRIV_SET_INLINE _GL_EXTERN_INLINE + #include "priv-set.h" #if HAVE_GETPPRIV && HAVE_PRIV_H diff --git a/gnu/priv-set.h b/gnu/priv-set.h index 574d9a0a..44afc8d7 100644 --- a/gnu/priv-set.h +++ b/gnu/priv-set.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Query, remove, or restore a Solaris privilege. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,11 @@ Written by David Bartley. */ +_GL_INLINE_HEADER_BEGIN +#ifndef PRIV_SET_INLINE +# define PRIV_SET_INLINE _GL_INLINE +#endif + #if HAVE_GETPPRIV && HAVE_PRIV_H # include @@ -27,26 +32,32 @@ int priv_set_ismember (const char *priv); int priv_set_remove (const char *priv); int priv_set_restore (const char *priv); -static inline int priv_set_remove_linkdir (void) +PRIV_SET_INLINE int +priv_set_remove_linkdir (void) { return priv_set_remove (PRIV_SYS_LINKDIR); } -static inline int priv_set_restore_linkdir (void) +PRIV_SET_INLINE int +priv_set_restore_linkdir (void) { return priv_set_restore (PRIV_SYS_LINKDIR); } #else -static inline int priv_set_remove_linkdir (void) +PRIV_SET_INLINE int +priv_set_remove_linkdir (void) { return -1; } -static inline int priv_set_restore_linkdir (void) +PRIV_SET_INLINE int +priv_set_restore_linkdir (void) { return -1; } #endif + +_GL_INLINE_HEADER_END diff --git a/gnu/progname.c b/gnu/progname.c index fc40d276..1401a841 100644 --- a/gnu/progname.c +++ b/gnu/progname.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Program name management. - Copyright (C) 2001-2003, 2005-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify diff --git a/gnu/progname.h b/gnu/progname.h index 83066cbc..ecf83fd4 100644 --- a/gnu/progname.h +++ b/gnu/progname.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Program name management. - Copyright (C) 2001-2004, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify diff --git a/gnu/qcopy-acl.c b/gnu/qcopy-acl.c new file mode 100644 index 00000000..7ef09388 --- /dev/null +++ b/gnu/qcopy-acl.c @@ -0,0 +1,585 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* copy-acl.c - copy access control list from one file to another file + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ + +#include + +#include "acl.h" + +#include "acl-internal.h" + + +/* Copy access control lists from one file to another. If SOURCE_DESC is + a valid file descriptor, use file descriptor operations, else use + filename based operations on SRC_NAME. Likewise for DEST_DESC and + DST_NAME. + If access control lists are not available, fchmod the target file to + MODE. Also sets the non-permission bits of the destination file + (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set. + Return 0 if successful. + Return -2 and set errno for an error relating to the source file. + Return -1 and set errno for an error relating to the destination file. */ + +int +qcopy_acl (const char *src_name, int source_desc, const char *dst_name, + int dest_desc, mode_t mode) +{ +#if USE_ACL && HAVE_ACL_GET_FILE + /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ + /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ +# if !HAVE_ACL_TYPE_EXTENDED + /* Linux, FreeBSD, IRIX, Tru64 */ + + acl_t acl; + int ret; + + if (HAVE_ACL_GET_FD && source_desc != -1) + acl = acl_get_fd (source_desc); + else + acl = acl_get_file (src_name, ACL_TYPE_ACCESS); + if (acl == NULL) + { + if (! acl_errno_valid (errno)) + return qset_acl (dst_name, dest_desc, mode); + else + return -2; + } + + if (HAVE_ACL_SET_FD && dest_desc != -1) + ret = acl_set_fd (dest_desc, acl); + else + ret = acl_set_file (dst_name, ACL_TYPE_ACCESS, acl); + if (ret != 0) + { + int saved_errno = errno; + + if (! acl_errno_valid (errno) && !acl_access_nontrivial (acl)) + { + acl_free (acl); + return chmod_or_fchmod (dst_name, dest_desc, mode); + } + else + { + acl_free (acl); + chmod_or_fchmod (dst_name, dest_desc, mode); + errno = saved_errno; + return -1; + } + } + else + acl_free (acl); + + if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) + { + /* We did not call chmod so far, and either the mode and the ACL are + separate or special bits are to be set which don't fit into ACLs. */ + + if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) + return -1; + } + + if (S_ISDIR (mode)) + { + acl = acl_get_file (src_name, ACL_TYPE_DEFAULT); + if (acl == NULL) + return -2; + + if (acl_set_file (dst_name, ACL_TYPE_DEFAULT, acl)) + { + int saved_errno = errno; + + acl_free (acl); + errno = saved_errno; + return -1; + } + else + acl_free (acl); + } + return 0; + +# else /* HAVE_ACL_TYPE_EXTENDED */ + /* Mac OS X */ + + /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) + and acl_get_file (name, ACL_TYPE_DEFAULT) + always return NULL / EINVAL. You have to use + acl_get_file (name, ACL_TYPE_EXTENDED) + or acl_get_fd (open (name, ...)) + to retrieve an ACL. + On the other hand, + acl_set_file (name, ACL_TYPE_ACCESS, acl) + and acl_set_file (name, ACL_TYPE_DEFAULT, acl) + have the same effect as + acl_set_file (name, ACL_TYPE_EXTENDED, acl): + Each of these calls sets the file's ACL. */ + + acl_t acl; + int ret; + + if (HAVE_ACL_GET_FD && source_desc != -1) + acl = acl_get_fd (source_desc); + else + acl = acl_get_file (src_name, ACL_TYPE_EXTENDED); + if (acl == NULL) + { + if (!acl_errno_valid (errno)) + return qset_acl (dst_name, dest_desc, mode); + else + return -2; + } + + if (HAVE_ACL_SET_FD && dest_desc != -1) + ret = acl_set_fd (dest_desc, acl); + else + ret = acl_set_file (dst_name, ACL_TYPE_EXTENDED, acl); + if (ret != 0) + { + int saved_errno = errno; + + if (!acl_errno_valid (saved_errno) && !acl_extended_nontrivial (acl)) + { + acl_free (acl); + return chmod_or_fchmod (dst_name, dest_desc, mode); + } + else + { + acl_free (acl); + chmod_or_fchmod (dst_name, dest_desc, mode); + errno = saved_errno; + return -1; + } + } + else + acl_free (acl); + + /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */ + return chmod_or_fchmod (dst_name, dest_desc, mode); + +# endif + +#elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + + /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions + of Unixware. The acl() call returns the access and default ACL both + at once. */ +# ifdef ACE_GETACL + int ace_count; + ace_t *ace_entries; +# endif + int count; + aclent_t *entries; + int did_chmod; + int saved_errno; + int ret; + +# ifdef ACE_GETACL + /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 + file systems (whereas the other ones are used in UFS file systems). + There is an API + pathconf (name, _PC_ACL_ENABLED) + fpathconf (desc, _PC_ACL_ENABLED) + that allows to determine which of the two kinds of ACLs is supported + for the given file. But some file systems may implement this call + incorrectly, so better not use it. + When fetching the source ACL, we simply fetch both ACL types. + When setting the destination ACL, we try either ACL types, assuming + that the kernel will translate the ACL from one form to the other. + (See in + the description of ENOTSUP.) */ + for (;;) + { + ace_count = (source_desc != -1 + ? facl (source_desc, ACE_GETACLCNT, 0, NULL) + : acl (src_name, ACE_GETACLCNT, 0, NULL)); + + if (ace_count < 0) + { + if (errno == ENOSYS || errno == EINVAL) + { + ace_count = 0; + ace_entries = NULL; + break; + } + else + return -2; + } + + if (ace_count == 0) + { + ace_entries = NULL; + break; + } + + ace_entries = (ace_t *) malloc (ace_count * sizeof (ace_t)); + if (ace_entries == NULL) + { + errno = ENOMEM; + return -2; + } + + ret = (source_desc != -1 + ? facl (source_desc, ACE_GETACL, ace_count, ace_entries) + : acl (src_name, ACE_GETACL, ace_count, ace_entries)); + if (ret < 0) + { + free (ace_entries); + if (errno == ENOSYS || errno == EINVAL) + { + ace_count = 0; + ace_entries = NULL; + break; + } + else + return -2; + } + if (ret == ace_count) + break; + /* Huh? The number of ACL entries changed since the last call. + Repeat. */ + } +# endif + + for (;;) + { + count = (source_desc != -1 + ? facl (source_desc, GETACLCNT, 0, NULL) + : acl (src_name, GETACLCNT, 0, NULL)); + + if (count < 0) + { + if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP) + { + count = 0; + entries = NULL; + break; + } + else + return -2; + } + + if (count == 0) + { + entries = NULL; + break; + } + + entries = (aclent_t *) malloc (count * sizeof (aclent_t)); + if (entries == NULL) + { + errno = ENOMEM; + return -2; + } + + if ((source_desc != -1 + ? facl (source_desc, GETACL, count, entries) + : acl (src_name, GETACL, count, entries)) + == count) + break; + /* Huh? The number of ACL entries changed since the last call. + Repeat. */ + } + + /* Is there an ACL of either kind? */ +# ifdef ACE_GETACL + if (ace_count == 0) +# endif + if (count == 0) + return qset_acl (dst_name, dest_desc, mode); + + did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */ + saved_errno = 0; /* the first non-ignorable error code */ + + if (!MODE_INSIDE_ACL) + { + /* On Cygwin, it is necessary to call chmod before acl, because + chmod can change the contents of the ACL (in ways that don't + change the allowed accesses, but still visible). */ + if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) + saved_errno = errno; + did_chmod = 1; + } + + /* If both ace_entries and entries are available, try SETACL before + ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL + can. */ + + if (count > 0) + { + ret = (dest_desc != -1 + ? facl (dest_desc, SETACL, count, entries) + : acl (dst_name, SETACL, count, entries)); + if (ret < 0 && saved_errno == 0) + { + saved_errno = errno; + if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + && !acl_nontrivial (count, entries)) + saved_errno = 0; + } + else + did_chmod = 1; + } + free (entries); + +# ifdef ACE_GETACL + if (ace_count > 0) + { + ret = (dest_desc != -1 + ? facl (dest_desc, ACE_SETACL, ace_count, ace_entries) + : acl (dst_name, ACE_SETACL, ace_count, ace_entries)); + if (ret < 0 && saved_errno == 0) + { + saved_errno = errno; + if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP) + && !acl_ace_nontrivial (ace_count, ace_entries)) + saved_errno = 0; + } + } + free (ace_entries); +# endif + + if (MODE_INSIDE_ACL + && did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0)) + { + /* We did not call chmod so far, and either the mode and the ACL are + separate or special bits are to be set which don't fit into ACLs. */ + + if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) + { + if (saved_errno == 0) + saved_errno = errno; + } + } + + if (saved_errno) + { + errno = saved_errno; + return -1; + } + return 0; + +#elif USE_ACL && HAVE_GETACL /* HP-UX */ + + struct acl_entry entries[NACLENTRIES]; + int count; +# if HAVE_ACLV_H + struct acl aclv_entries[NACLVENTRIES]; + int aclv_count; +# endif + int did_chmod; + int saved_errno; + int ret; + + count = (source_desc != -1 + ? fgetacl (source_desc, NACLENTRIES, entries) + : getacl (src_name, NACLENTRIES, entries)); + + if (count < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) + count = 0; + else + return -2; + } + else if (count > 0) + { + if (count > NACLENTRIES) + /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ + abort (); + } + +# if HAVE_ACLV_H + aclv_count = acl ((char *) src_name, ACL_GET, NACLVENTRIES, aclv_entries); + + if (aclv_count < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + count = 0; + else + return -2; + } + else if (aclv_count > 0) + { + if (aclv_count > NACLVENTRIES) + /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation. */ + abort (); + } +# endif + + if (count == 0) +# if HAVE_ACLV_H + if (aclv_count == 0) +# endif + return qset_acl (dst_name, dest_desc, mode); + + did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */ + saved_errno = 0; /* the first non-ignorable error code */ + + if (count > 0) + { + ret = (dest_desc != -1 + ? fsetacl (dest_desc, count, entries) + : setacl (dst_name, count, entries)); + if (ret < 0 && saved_errno == 0) + { + saved_errno = errno; + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) + { + struct stat source_statbuf; + + if ((source_desc != -1 + ? fstat (source_desc, &source_statbuf) + : stat (src_name, &source_statbuf)) == 0) + { + if (!acl_nontrivial (count, entries, &source_statbuf)) + saved_errno = 0; + } + else + saved_errno = errno; + } + } + else + did_chmod = 1; + } + +# if HAVE_ACLV_H + if (aclv_count > 0) + { + ret = acl ((char *) dst_name, ACL_SET, aclv_count, aclv_entries); + if (ret < 0 && saved_errno == 0) + { + saved_errno = errno; + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + { + if (!aclv_nontrivial (aclv_count, aclv_entries)) + saved_errno = 0; + } + } + else + did_chmod = 1; + } +# endif + + if (did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0)) + { + /* We did not call chmod so far, and special bits are to be set which + don't fit into ACLs. */ + + if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) + { + if (saved_errno == 0) + saved_errno = errno; + } + } + + if (saved_errno) + { + errno = saved_errno; + return -1; + } + return 0; + +#elif USE_ACL && HAVE_ACLX_GET && 0 /* AIX */ + + /* TODO */ + +#elif USE_ACL && HAVE_STATACL /* older AIX */ + + union { struct acl a; char room[4096]; } u; + int ret; + + if ((source_desc != -1 + ? fstatacl (source_desc, STX_NORMAL, &u.a, sizeof (u)) + : statacl (src_name, STX_NORMAL, &u.a, sizeof (u))) + < 0) + return -2; + + ret = (dest_desc != -1 + ? fchacl (dest_desc, &u.a, u.a.acl_len) + : chacl (dst_name, &u.a, u.a.acl_len)); + if (ret < 0) + { + int saved_errno = errno; + + chmod_or_fchmod (dst_name, dest_desc, mode); + errno = saved_errno; + return -1; + } + + /* No need to call chmod_or_fchmod at this point, since the mode bits + S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL. */ + + return 0; + +#elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ + + struct acl entries[NACLENTRIES]; + int count; + int ret; + + count = acl ((char *) src_name, ACL_GET, NACLENTRIES, entries); + + if (count < 0) + { + if (0) + count = 0; + else + return -2; + } + else if (count > 0) + { + if (count > NACLENTRIES) + /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ + abort (); + } + + if (count == 0) + return qset_acl (dst_name, dest_desc, mode); + + ret = acl ((char *) dst_name, ACL_SET, count, entries); + if (ret < 0) + { + int saved_errno = errno; + + if (0) + { + if (!acl_nontrivial (count, entries)) + return chmod_or_fchmod (dst_name, dest_desc, mode); + } + + chmod_or_fchmod (dst_name, dest_desc, mode); + errno = saved_errno; + return -1; + } + + if (mode & (S_ISUID | S_ISGID | S_ISVTX)) + { + /* We did not call chmod so far, and either the mode and the ACL are + separate or special bits are to be set which don't fit into ACLs. */ + + return chmod_or_fchmod (dst_name, dest_desc, mode); + } + return 0; + +#else + + return qset_acl (dst_name, dest_desc, mode); + +#endif +} diff --git a/gnu/qset-acl.c b/gnu/qset-acl.c new file mode 100644 index 00000000..2bef3934 --- /dev/null +++ b/gnu/qset-acl.c @@ -0,0 +1,678 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* qset-acl.c - set access control list equivalent to a mode + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert and Andreas Gruenbacher, and Bruno Haible. */ + +#include + +#define ACL_INTERNAL_INLINE _GL_EXTERN_INLINE + +#include "acl.h" + +#include "acl-internal.h" + + +/* If DESC is a valid file descriptor use fchmod to change the + file's mode to MODE on systems that have fchmod. On systems + that don't have fchmod and if DESC is invalid, use chmod on + NAME instead. + Return 0 if successful. Return -1 and set errno upon failure. */ + +int +chmod_or_fchmod (const char *name, int desc, mode_t mode) +{ + if (HAVE_FCHMOD && desc != -1) + return fchmod (desc, mode); + else + return chmod (name, mode); +} + +/* Set the access control lists of a file. If DESC is a valid file + descriptor, use file descriptor operations where available, else use + filename based operations on NAME. If access control lists are not + available, fchmod the target file to MODE. Also sets the + non-permission bits of the destination file (S_ISUID, S_ISGID, S_ISVTX) + to those from MODE if any are set. + Return 0 if successful. Return -1 and set errno upon failure. */ + +int +qset_acl (char const *name, int desc, mode_t mode) +{ +#if USE_ACL +# if HAVE_ACL_GET_FILE + /* POSIX 1003.1e draft 17 (abandoned) specific version. */ + /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ +# if !HAVE_ACL_TYPE_EXTENDED + /* Linux, FreeBSD, IRIX, Tru64 */ + + /* We must also have acl_from_text and acl_delete_def_file. + (acl_delete_def_file could be emulated with acl_init followed + by acl_set_file, but acl_set_file with an empty acl is + unspecified.) */ + +# ifndef HAVE_ACL_FROM_TEXT +# error Must have acl_from_text (see POSIX 1003.1e draft 17). +# endif +# ifndef HAVE_ACL_DELETE_DEF_FILE +# error Must have acl_delete_def_file (see POSIX 1003.1e draft 17). +# endif + + acl_t acl; + int ret; + + if (HAVE_ACL_FROM_MODE) /* Linux */ + { + acl = acl_from_mode (mode); + if (!acl) + return -1; + } + else /* FreeBSD, IRIX, Tru64 */ + { + /* If we were to create the ACL using the functions acl_init(), + acl_create_entry(), acl_set_tag_type(), acl_set_qualifier(), + acl_get_permset(), acl_clear_perm[s](), acl_add_perm(), we + would need to create a qualifier. I don't know how to do this. + So create it using acl_from_text(). */ + +# if HAVE_ACL_FREE_TEXT /* Tru64 */ + char acl_text[] = "u::---,g::---,o::---,"; +# else /* FreeBSD, IRIX */ + char acl_text[] = "u::---,g::---,o::---"; +# endif + + if (mode & S_IRUSR) acl_text[ 3] = 'r'; + if (mode & S_IWUSR) acl_text[ 4] = 'w'; + if (mode & S_IXUSR) acl_text[ 5] = 'x'; + if (mode & S_IRGRP) acl_text[10] = 'r'; + if (mode & S_IWGRP) acl_text[11] = 'w'; + if (mode & S_IXGRP) acl_text[12] = 'x'; + if (mode & S_IROTH) acl_text[17] = 'r'; + if (mode & S_IWOTH) acl_text[18] = 'w'; + if (mode & S_IXOTH) acl_text[19] = 'x'; + + acl = acl_from_text (acl_text); + if (!acl) + return -1; + } + if (HAVE_ACL_SET_FD && desc != -1) + ret = acl_set_fd (desc, acl); + else + ret = acl_set_file (name, ACL_TYPE_ACCESS, acl); + if (ret != 0) + { + int saved_errno = errno; + acl_free (acl); + if (! acl_errno_valid (errno)) + return chmod_or_fchmod (name, desc, mode); + errno = saved_errno; + return -1; + } + else + acl_free (acl); + + if (S_ISDIR (mode) && acl_delete_def_file (name)) + return -1; + + if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) + { + /* We did not call chmod so far, and either the mode and the ACL are + separate or special bits are to be set which don't fit into ACLs. */ + return chmod_or_fchmod (name, desc, mode); + } + return 0; + +# else /* HAVE_ACL_TYPE_EXTENDED */ + /* Mac OS X */ + + /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) + and acl_get_file (name, ACL_TYPE_DEFAULT) + always return NULL / EINVAL. You have to use + acl_get_file (name, ACL_TYPE_EXTENDED) + or acl_get_fd (open (name, ...)) + to retrieve an ACL. + On the other hand, + acl_set_file (name, ACL_TYPE_ACCESS, acl) + and acl_set_file (name, ACL_TYPE_DEFAULT, acl) + have the same effect as + acl_set_file (name, ACL_TYPE_EXTENDED, acl): + Each of these calls sets the file's ACL. */ + + acl_t acl; + int ret; + + /* Remove the ACL if the file has ACLs. */ + if (HAVE_ACL_GET_FD && desc != -1) + acl = acl_get_fd (desc); + else + acl = acl_get_file (name, ACL_TYPE_EXTENDED); + if (acl) + { + acl_free (acl); + + acl = acl_init (0); + if (acl) + { + if (HAVE_ACL_SET_FD && desc != -1) + ret = acl_set_fd (desc, acl); + else + ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl); + if (ret != 0) + { + int saved_errno = errno; + acl_free (acl); + if (! acl_errno_valid (saved_errno)) + return chmod_or_fchmod (name, desc, mode); + errno = saved_errno; + return -1; + } + acl_free (acl); + } + } + + /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */ + return chmod_or_fchmod (name, desc, mode); +# endif + +# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ + + int done_setacl = 0; + +# ifdef ACE_GETACL + /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 + file systems (whereas the other ones are used in UFS file systems). */ + + /* The flags in the ace_t structure changed in a binary incompatible way + when ACL_NO_TRIVIAL etc. were introduced in version 1.15. + How to distinguish the two conventions at runtime? + We fetch the existing ACL. In the old convention, usually three ACEs have + a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. + In the new convention, these values are not used. */ + int convention; + + { + /* Initially, try to read the entries into a stack-allocated buffer. + Use malloc if it does not fit. */ + enum + { + alloc_init = 4000 / sizeof (ace_t), /* >= 3 */ + alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t)) + }; + ace_t buf[alloc_init]; + size_t alloc = alloc_init; + ace_t *entries = buf; + ace_t *malloced = NULL; + int count; + + for (;;) + { + count = (desc != -1 + ? facl (desc, ACE_GETACL, alloc, entries) + : acl (name, ACE_GETACL, alloc, entries)); + if (count < 0 && errno == ENOSPC) + { + /* Increase the size of the buffer. */ + free (malloced); + if (alloc > alloc_max / 2) + { + errno = ENOMEM; + return -1; + } + alloc = 2 * alloc; /* <= alloc_max */ + entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t)); + if (entries == NULL) + { + errno = ENOMEM; + return -1; + } + continue; + } + break; + } + + if (count <= 0) + convention = -1; + else + { + int i; + + convention = 0; + for (i = 0; i < count; i++) + if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) + { + convention = 1; + break; + } + } + free (malloced); + } + + if (convention >= 0) + { + ace_t entries[6]; + int count; + int ret; + + if (convention) + { + /* Running on Solaris 10. */ + entries[0].a_type = OLD_ALLOW; + entries[0].a_flags = OLD_ACE_OWNER; + entries[0].a_who = 0; /* irrelevant */ + entries[0].a_access_mask = (mode >> 6) & 7; + entries[1].a_type = OLD_ALLOW; + entries[1].a_flags = OLD_ACE_GROUP; + entries[1].a_who = 0; /* irrelevant */ + entries[1].a_access_mask = (mode >> 3) & 7; + entries[2].a_type = OLD_ALLOW; + entries[2].a_flags = OLD_ACE_OTHER; + entries[2].a_who = 0; + entries[2].a_access_mask = mode & 7; + count = 3; + } + else + { + /* Running on Solaris 10 (newer version) or Solaris 11. + The details here were found through "/bin/ls -lvd somefiles". */ + entries[0].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[0].a_flags = NEW_ACE_OWNER; + entries[0].a_who = 0; /* irrelevant */ + entries[0].a_access_mask = 0; + entries[1].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[1].a_flags = NEW_ACE_OWNER; + entries[1].a_who = 0; /* irrelevant */ + entries[1].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER; + if (mode & 0400) + entries[1].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[0].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0200) + entries[1].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[0].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0100) + entries[1].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[0].a_access_mask |= NEW_ACE_EXECUTE; + entries[2].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[2].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[2].a_who = 0; /* irrelevant */ + entries[2].a_access_mask = 0; + entries[3].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[3].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; + entries[3].a_who = 0; /* irrelevant */ + entries[3].a_access_mask = 0; + if (mode & 0040) + entries[3].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[2].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0020) + entries[3].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[2].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0010) + entries[3].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[2].a_access_mask |= NEW_ACE_EXECUTE; + entries[4].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; + entries[4].a_flags = NEW_ACE_EVERYONE; + entries[4].a_who = 0; + entries[4].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS + | NEW_ACE_WRITE_ATTRIBUTES + | NEW_ACE_WRITE_ACL + | NEW_ACE_WRITE_OWNER; + entries[5].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; + entries[5].a_flags = NEW_ACE_EVERYONE; + entries[5].a_who = 0; + entries[5].a_access_mask = NEW_ACE_READ_NAMED_ATTRS + | NEW_ACE_READ_ATTRIBUTES + | NEW_ACE_READ_ACL + | NEW_ACE_SYNCHRONIZE; + if (mode & 0004) + entries[5].a_access_mask |= NEW_ACE_READ_DATA; + else + entries[4].a_access_mask |= NEW_ACE_READ_DATA; + if (mode & 0002) + entries[5].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + else + entries[4].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; + if (mode & 0001) + entries[5].a_access_mask |= NEW_ACE_EXECUTE; + else + entries[4].a_access_mask |= NEW_ACE_EXECUTE; + count = 6; + } + if (desc != -1) + ret = facl (desc, ACE_SETACL, count, entries); + else + ret = acl (name, ACE_SETACL, count, entries); + if (ret < 0 && errno != EINVAL && errno != ENOTSUP) + { + if (errno == ENOSYS) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + if (ret == 0) + done_setacl = 1; + } +# endif + + if (!done_setacl) + { + aclent_t entries[3]; + int ret; + + entries[0].a_type = USER_OBJ; + entries[0].a_id = 0; /* irrelevant */ + entries[0].a_perm = (mode >> 6) & 7; + entries[1].a_type = GROUP_OBJ; + entries[1].a_id = 0; /* irrelevant */ + entries[1].a_perm = (mode >> 3) & 7; + entries[2].a_type = OTHER_OBJ; + entries[2].a_id = 0; + entries[2].a_perm = mode & 7; + + if (desc != -1) + ret = facl (desc, SETACL, + sizeof (entries) / sizeof (aclent_t), entries); + else + ret = acl (name, SETACL, + sizeof (entries) / sizeof (aclent_t), entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + } + + if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) + { + /* We did not call chmod so far, so the special bits have not yet + been set. */ + return chmod_or_fchmod (name, desc, mode); + } + return 0; + +# elif HAVE_GETACL /* HP-UX */ + + struct stat statbuf; + int ret; + + if (desc != -1) + ret = fstat (desc, &statbuf); + else + ret = stat (name, &statbuf); + if (ret < 0) + return -1; + + { + struct acl_entry entries[3]; + + entries[0].uid = statbuf.st_uid; + entries[0].gid = ACL_NSGROUP; + entries[0].mode = (mode >> 6) & 7; + entries[1].uid = ACL_NSUSER; + entries[1].gid = statbuf.st_gid; + entries[1].mode = (mode >> 3) & 7; + entries[2].uid = ACL_NSUSER; + entries[2].gid = ACL_NSGROUP; + entries[2].mode = mode & 7; + + if (desc != -1) + ret = fsetacl (desc, sizeof (entries) / sizeof (struct acl_entry), entries); + else + ret = setacl (name, sizeof (entries) / sizeof (struct acl_entry), entries); + } + if (ret < 0) + { + if (!(errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)) + return -1; + +# if HAVE_ACLV_H /* HP-UX >= 11.11 */ + { + struct acl entries[4]; + + entries[0].a_type = USER_OBJ; + entries[0].a_id = 0; /* irrelevant */ + entries[0].a_perm = (mode >> 6) & 7; + entries[1].a_type = GROUP_OBJ; + entries[1].a_id = 0; /* irrelevant */ + entries[1].a_perm = (mode >> 3) & 7; + entries[2].a_type = CLASS_OBJ; + entries[2].a_id = 0; + entries[2].a_perm = (mode >> 3) & 7; + entries[3].a_type = OTHER_OBJ; + entries[3].a_id = 0; + entries[3].a_perm = mode & 7; + + ret = aclsort (sizeof (entries) / sizeof (struct acl), 1, entries); + if (ret > 0) + abort (); + if (ret < 0) + { + if (0) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + + ret = acl ((char *) name, ACL_SET, + sizeof (entries) / sizeof (struct acl), entries); + if (ret < 0) + { + if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + } +# else + return chmod_or_fchmod (name, desc, mode); +# endif + } + + if (mode & (S_ISUID | S_ISGID | S_ISVTX)) + { + /* We did not call chmod so far, so the special bits have not yet + been set. */ + return chmod_or_fchmod (name, desc, mode); + } + return 0; + +# elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */ + + acl_type_list_t types; + size_t types_size = sizeof (types); + acl_type_t type; + + if (aclx_gettypes (name, &types, &types_size) < 0 + || types.num_entries == 0) + return chmod_or_fchmod (name, desc, mode); + + /* XXX Do we need to clear all types of ACLs for the given file, or is it + sufficient to clear the first one? */ + type = types.entries[0]; + if (type.u64 == ACL_AIXC) + { + union { struct acl a; char room[128]; } u; + int ret; + + u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */ + u.a.acl_mode = mode & ~(S_IXACL | 0777); + u.a.u_access = (mode >> 6) & 7; + u.a.g_access = (mode >> 3) & 7; + u.a.o_access = mode & 7; + + if (desc != -1) + ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.acl_len, mode); + else + ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.acl_len, mode); + if (!(ret < 0 && errno == ENOSYS)) + return ret; + } + else if (type.u64 == ACL_NFS4) + { + union { nfs4_acl_int_t a; char room[128]; } u; + nfs4_ace_int_t *ace; + int ret; + + u.a.aclVersion = NFS4_ACL_INT_STRUCT_VERSION; + u.a.aclEntryN = 0; + ace = &u.a.aclEntry[0]; + { + ace->flags = ACE4_ID_SPECIAL; + ace->aceWho.special_whoid = ACE4_WHO_OWNER; + ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; + ace->aceFlags = 0; + ace->aceMask = + (mode & 0400 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) + | (mode & 0200 + ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA + | ACE4_ADD_SUBDIRECTORY + : 0) + | (mode & 0100 ? ACE4_EXECUTE : 0); + ace->aceWhoString[0] = '\0'; + ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; + ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; + u.a.aclEntryN++; + } + { + ace->flags = ACE4_ID_SPECIAL; + ace->aceWho.special_whoid = ACE4_WHO_GROUP; + ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; + ace->aceFlags = 0; + ace->aceMask = + (mode & 0040 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) + | (mode & 0020 + ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA + | ACE4_ADD_SUBDIRECTORY + : 0) + | (mode & 0010 ? ACE4_EXECUTE : 0); + ace->aceWhoString[0] = '\0'; + ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; + ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; + u.a.aclEntryN++; + } + { + ace->flags = ACE4_ID_SPECIAL; + ace->aceWho.special_whoid = ACE4_WHO_EVERYONE; + ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; + ace->aceFlags = 0; + ace->aceMask = + (mode & 0004 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) + | (mode & 0002 + ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA + | ACE4_ADD_SUBDIRECTORY + : 0) + | (mode & 0001 ? ACE4_EXECUTE : 0); + ace->aceWhoString[0] = '\0'; + ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; + ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; + u.a.aclEntryN++; + } + u.a.aclLength = (char *) ace - (char *) &u.a; + + if (desc != -1) + ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.aclLength, mode); + else + ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS, + type, &u.a, u.a.aclLength, mode); + if (!(ret < 0 && errno == ENOSYS)) + return ret; + } + + return chmod_or_fchmod (name, desc, mode); + +# elif HAVE_STATACL /* older AIX */ + + union { struct acl a; char room[128]; } u; + int ret; + + u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */ + u.a.acl_mode = mode & ~(S_IXACL | 0777); + u.a.u_access = (mode >> 6) & 7; + u.a.g_access = (mode >> 3) & 7; + u.a.o_access = mode & 7; + + if (desc != -1) + ret = fchacl (desc, &u.a, u.a.acl_len); + else + ret = chacl (name, &u.a, u.a.acl_len); + + if (ret < 0 && errno == ENOSYS) + return chmod_or_fchmod (name, desc, mode); + + return ret; + +# elif HAVE_ACLSORT /* NonStop Kernel */ + + struct acl entries[4]; + int ret; + + entries[0].a_type = USER_OBJ; + entries[0].a_id = 0; /* irrelevant */ + entries[0].a_perm = (mode >> 6) & 7; + entries[1].a_type = GROUP_OBJ; + entries[1].a_id = 0; /* irrelevant */ + entries[1].a_perm = (mode >> 3) & 7; + entries[2].a_type = CLASS_OBJ; + entries[2].a_id = 0; + entries[2].a_perm = (mode >> 3) & 7; + entries[3].a_type = OTHER_OBJ; + entries[3].a_id = 0; + entries[3].a_perm = mode & 7; + + ret = aclsort (sizeof (entries) / sizeof (struct acl), 1, entries); + if (ret > 0) + abort (); + if (ret < 0) + { + if (0) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + + ret = acl ((char *) name, ACL_SET, + sizeof (entries) / sizeof (struct acl), entries); + if (ret < 0) + { + if (0) + return chmod_or_fchmod (name, desc, mode); + return -1; + } + + if (mode & (S_ISUID | S_ISGID | S_ISVTX)) + { + /* We did not call chmod so far, so the special bits have not yet + been set. */ + return chmod_or_fchmod (name, desc, mode); + } + return 0; + +# else /* Unknown flavor of ACLs */ + return chmod_or_fchmod (name, desc, mode); +# endif +#else /* !USE_ACL */ + return chmod_or_fchmod (name, desc, mode); +#endif +} diff --git a/gnu/quote.h b/gnu/quote.h index 794fc8b0..c25a1aba 100644 --- a/gnu/quote.h +++ b/gnu/quote.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* quote.h - prototypes for quote.c - Copyright (C) 1998-2001, 2003, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1998-2001, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,6 +17,32 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#ifndef QUOTE_H_ +# define QUOTE_H_ 1 -char const *quote_n (int n, char const *name); -char const *quote (char const *name); +# include + +/* The quoting options used by quote_n and quote. Its type is incomplete, + so it's useful only in expressions like '"e_quoting_options'. */ +extern struct quoting_options quote_quoting_options; + +/* Return an unambiguous printable representation of ARG (of size + ARGSIZE), allocated in slot N, suitable for diagnostics. If + ARGSIZE is SIZE_MAX, use the string length of the argument for + ARGSIZE. */ +char const *quote_n_mem (int n, char const *arg, size_t argsize); + +/* Return an unambiguous printable representation of ARG (of size + ARGSIZE), suitable for diagnostics. If ARGSIZE is SIZE_MAX, use + the string length of the argument for ARGSIZE. */ +char const *quote_mem (char const *arg, size_t argsize); + +/* Return an unambiguous printable representation of ARG, allocated in + slot N, suitable for diagnostics. */ +char const *quote_n (int n, char const *arg); + +/* Return an unambiguous printable representation of ARG, suitable for + diagnostics. */ +char const *quote (char const *arg); + +#endif /* !QUOTE_H_ */ diff --git a/gnu/quotearg.c b/gnu/quotearg.c index a0aa14f8..9c0648f6 100644 --- a/gnu/quotearg.c +++ b/gnu/quotearg.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* quotearg.c - quote arguments for output - Copyright (C) 1998-2002, 2004-2011 Free Software Foundation, Inc. + Copyright (C) 1998-2002, 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,11 +19,21 @@ /* Written by Paul Eggert */ +/* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that + the quoting_options_from_style function might be candidate for + attribute 'pure' */ +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +#endif + #include #include "quotearg.h" +#include "quote.h" #include "xalloc.h" +#include "c-strcaseeq.h" +#include "localcharset.h" #include #include @@ -167,25 +177,54 @@ set_custom_quoting (struct quoting_options *o, } /* Return quoting options for STYLE, with no extra quoting. */ -static struct quoting_options +static struct quoting_options /* NOT PURE!! */ quoting_options_from_style (enum quoting_style style) { - struct quoting_options o; + struct quoting_options o = { 0, 0, { 0 }, NULL, NULL }; + if (style == custom_quoting_style) + abort (); o.style = style; - o.flags = 0; - memset (o.quote_these_too, 0, sizeof o.quote_these_too); return o; } /* MSGID approximates a quotation mark. Return its translation if it - has one; otherwise, return either it or "\"", depending on S. */ + has one; otherwise, return either it or "\"", depending on S. + + S is either clocale_quoting_style or locale_quoting_style. */ static char const * gettext_quote (char const *msgid, enum quoting_style s) { char const *translation = _(msgid); - if (translation == msgid && s == clocale_quoting_style) - translation = "\""; - return translation; + char const *locale_code; + + if (translation != msgid) + return translation; + + /* For UTF-8 and GB-18030, use single quotes U+2018 and U+2019. + Here is a list of other locales that include U+2018 and U+2019: + + ISO-8859-7 0xA1 KOI8-T 0x91 + CP869 0x8B CP874 0x91 + CP932 0x81 0x65 CP936 0xA1 0xAE + CP949 0xA1 0xAE CP950 0xA1 0xA5 + CP1250 0x91 CP1251 0x91 + CP1252 0x91 CP1253 0x91 + CP1254 0x91 CP1255 0x91 + CP1256 0x91 CP1257 0x91 + EUC-JP 0xA1 0xC6 EUC-KR 0xA1 0xAE + EUC-TW 0xA1 0xE4 BIG5 0xA1 0xA5 + BIG5-HKSCS 0xA1 0xA5 EUC-CN 0xA1 0xAE + GBK 0xA1 0xAE Georgian-PS 0x91 + PT154 0x91 + + None of these is still in wide use; using iconv is overkill. */ + locale_code = locale_charset (); + if (STRCASEEQ (locale_code, "UTF-8", 'U','T','F','-','8',0,0,0,0)) + return msgid[0] == '`' ? "\xe2\x80\x98": "\xe2\x80\x99"; + if (STRCASEEQ (locale_code, "GB18030", 'G','B','1','8','0','3','0',0,0)) + return msgid[0] == '`' ? "\xa1\ae": "\xa1\xaf"; + + return (s == clocale_quoting_style ? "\"" : "'"); } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of @@ -253,22 +292,24 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize, { /* TRANSLATORS: Get translations for open and closing quotation marks. - The message catalog should translate "`" to a left quotation mark suitable for the locale, and similarly for - "'". If the catalog has no translation, - locale_quoting_style quotes `like this', and - clocale_quoting_style quotes "like this". - - For example, an American English Unicode locale should - translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and - should translate "'" to U+201D (RIGHT DOUBLE QUOTATION - MARK). A British English Unicode locale should instead - translate these to U+2018 (LEFT SINGLE QUOTATION MARK) - and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. + "'". For example, a French Unicode local should translate + these to U+00AB (LEFT-POINTING DOUBLE ANGLE + QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE + QUOTATION MARK), respectively. + + If the catalog has no translation, we will try to + use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and + Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the + current locale is not Unicode, locale_quoting_style + will quote 'like this', and clocale_quoting_style will + quote "like this". You should always include translations + for "`" and "'" even if U+2018 and U+2019 are appropriate + for your locale. If you don't know what to put here, please see - + and use glyphs suitable for your language. */ left_quote = gettext_quote (N_("`"), quoting_style); right_quote = gettext_quote (N_("'"), quoting_style); @@ -309,7 +350,12 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize, if (backslash_escapes && quote_string_len - && i + quote_string_len <= argsize + && (i + quote_string_len + <= (argsize == SIZE_MAX && 1 < quote_string_len + /* Use strlen only if we must: when argsize is SIZE_MAX, + and when the quote string is more than 1 byte long. + If we do call strlen, save the result. */ + ? (argsize = strlen (arg)) : argsize)) && memcmp (arg + i, quote_string, quote_string_len) == 0) { if (elide_outer_quotes) @@ -732,7 +778,7 @@ quotearg_n_options (int n, char const *arg, size_t argsize, if (nslots <= n0) { - /* FIXME: technically, the type of n1 should be `unsigned int', + /* FIXME: technically, the type of n1 should be 'unsigned int', but that evokes an unsuppressible warning from gcc-4.0.1 and older. If gcc ever provides an option to suppress that warning, revert to the original type, so that the test in xalloc_oversized @@ -888,3 +934,37 @@ quotearg_custom_mem (char const *left_quote, char const *right_quote, return quotearg_n_custom_mem (0, left_quote, right_quote, arg, argsize); } + + +/* The quoting option used by the functions of quote.h. */ +struct quoting_options quote_quoting_options = + { + locale_quoting_style, + 0, + { 0 }, + NULL, NULL + }; + +char const * +quote_n_mem (int n, char const *arg, size_t argsize) +{ + return quotearg_n_options (n, arg, argsize, "e_quoting_options); +} + +char const * +quote_mem (char const *arg, size_t argsize) +{ + return quote_n_mem (0, arg, argsize); +} + +char const * +quote_n (int n, char const *arg) +{ + return quote_n_mem (n, arg, SIZE_MAX); +} + +char const * +quote (char const *arg) +{ + return quote_n (0, arg); +} diff --git a/gnu/quotearg.h b/gnu/quotearg.h index e901914e..44dff4e9 100644 --- a/gnu/quotearg.h +++ b/gnu/quotearg.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* quotearg.h - quote arguments for output - Copyright (C) 1998-2002, 2004, 2006, 2008-2011 Free Software Foundation, + Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -114,8 +114,10 @@ enum quoting_style */ escape_quoting_style, - /* Like clocale_quoting_style, but quote `like this' instead of - "like this" in the default C locale (ls --quoting-style=locale). + /* Like clocale_quoting_style, but use single quotes in the + default C locale or if the program does not use gettext + (ls --quoting-style=locale). For UTF-8 locales, quote + characters will use Unicode. LC_MESSAGES=C quotearg_buffer: diff --git a/gnu/raise.c b/gnu/raise.c new file mode 100644 index 00000000..97295dd0 --- /dev/null +++ b/gnu/raise.c @@ -0,0 +1,81 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Provide a non-threads replacement for the POSIX raise function. + + Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering and Bruno Haible */ + +#include + +/* Specification. */ +#include + +#if HAVE_RAISE +/* Native Windows platform. */ + +# include + +# include "msvc-inval.h" + +# undef raise + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static int +raise_nothrow (int sig) +{ + int result; + + TRY_MSVC_INVAL + { + result = raise (sig); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EINVAL; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define raise_nothrow raise +# endif + +#else +/* An old Unix platform. */ + +# include + +# define rpl_raise raise + +#endif + +int +rpl_raise (int sig) +{ +#if GNULIB_defined_signal_blocking && GNULIB_defined_SIGPIPE + if (sig == SIGPIPE) + return _gl_raise_SIGPIPE (); +#endif + +#if HAVE_RAISE + return raise_nothrow (sig); +#else + return kill (getpid (), sig); +#endif +} diff --git a/gnu/rawmemchr.c b/gnu/rawmemchr.c index f36cac6d..cddc6e69 100644 --- a/gnu/rawmemchr.c +++ b/gnu/rawmemchr.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Searching in a string. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 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 diff --git a/gnu/read.c b/gnu/read.c new file mode 100644 index 00000000..13e4d44a --- /dev/null +++ b/gnu/read.c @@ -0,0 +1,87 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* POSIX compatible read() function. + Copyright (C) 2008-2013 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +# include +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# include "msvc-inval.h" +# include "msvc-nothrow.h" + +# undef read + +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static ssize_t +read_nothrow (int fd, void *buf, size_t count) +{ + ssize_t result; + + TRY_MSVC_INVAL + { + result = read (fd, buf, count); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define read_nothrow read +# endif + +ssize_t +rpl_read (int fd, void *buf, size_t count) +{ + ssize_t ret = read_nothrow (fd, buf, count); + +# if GNULIB_NONBLOCKING + if (ret < 0 + && GetLastError () == ERROR_NO_DATA) + { + HANDLE h = (HANDLE) _get_osfhandle (fd); + if (GetFileType (h) == FILE_TYPE_PIPE) + { + /* h is a pipe or socket. */ + DWORD state; + if (GetNamedPipeHandleState (h, &state, NULL, NULL, NULL, NULL, 0) + && (state & PIPE_NOWAIT) != 0) + /* h is a pipe in non-blocking mode. + Change errno from EINVAL to EAGAIN. */ + errno = EAGAIN; + } + } +# endif + + return ret; +} + +#endif diff --git a/gnu/readdir.c b/gnu/readdir.c new file mode 100644 index 00000000..ab14942a --- /dev/null +++ b/gnu/readdir.c @@ -0,0 +1,100 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Read the next entry of a directory. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include +#include + +#include "dirent-private.h" + +struct dirent * +readdir (DIR *dirp) +{ + char type; + struct dirent *result; + + /* There is no need to add code to produce entries for "." and "..". + According to the POSIX:2008 section "4.12 Pathname Resolution" + + "." and ".." are syntactic entities. + POSIX also says: + "If entries for dot or dot-dot exist, one entry shall be returned + for dot and one entry shall be returned for dot-dot; otherwise, + they shall not be returned." */ + + switch (dirp->status) + { + case -2: + /* End of directory already reached. */ + return NULL; + case -1: + break; + case 0: + if (!FindNextFile (dirp->current, &dirp->entry)) + { + switch (GetLastError ()) + { + case ERROR_NO_MORE_FILES: + dirp->status = -2; + return NULL; + default: + errno = EIO; + return NULL; + } + } + break; + default: + errno = dirp->status; + return NULL; + } + + dirp->status = 0; + + if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + type = DT_DIR; + else if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) + type = DT_LNK; + else if ((dirp->entry.dwFileAttributes + & ~(FILE_ATTRIBUTE_READONLY + | FILE_ATTRIBUTE_HIDDEN + | FILE_ATTRIBUTE_SYSTEM + | FILE_ATTRIBUTE_ARCHIVE + | FILE_ATTRIBUTE_NORMAL + | FILE_ATTRIBUTE_TEMPORARY + | FILE_ATTRIBUTE_SPARSE_FILE + | FILE_ATTRIBUTE_COMPRESSED + | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED + | FILE_ATTRIBUTE_ENCRYPTED)) == 0) + /* Devices like COM1, LPT1, NUL would also have the attributes 0x20 but + they cannot occur here. */ + type = DT_REG; + else + type = DT_UNKNOWN; + + /* Reuse the memory of dirp->entry for the result. */ + result = + (struct dirent *) + ((char *) dirp->entry.cFileName - offsetof (struct dirent, d_name[0])); + result->d_type = type; + + return result; +} diff --git a/gnu/readlink.c b/gnu/readlink.c index 479db3d5..dd8c1241 100644 --- a/gnu/readlink.c +++ b/gnu/readlink.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Stub for readlink(). - Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003-2007, 2009-2013 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 diff --git a/gnu/readlinkat.c b/gnu/readlinkat.c index 151c76d6..6cdf778d 100644 --- a/gnu/readlinkat.c +++ b/gnu/readlinkat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Read a symlink relative to an open directory. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/realloc.c b/gnu/realloc.c index a035721d..3a4fe285 100644 --- a/gnu/realloc.c +++ b/gnu/realloc.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* realloc() function that is glibc compatible. - Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2011 Free Software + Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -20,6 +20,7 @@ /* written by Jim Meyering and Bruno Haible */ +#define _GL_USE_STDLIB_ALLOC 1 #include /* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ @@ -36,23 +37,10 @@ # define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 #endif -/* Below we want to call the system's malloc and realloc. - Undefine the symbols here so that including provides a - declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ -#undef malloc -#undef realloc - -/* Specification. */ #include #include -/* Below we want to call the system's malloc and realloc. - Undefine the symbols, if they were defined by gnulib's - replacement. */ -#undef malloc -#undef realloc - /* Change the size of an allocated block of memory P to N bytes, with error checking. If N is zero, change it to 1. If P is NULL, use malloc. */ diff --git a/gnu/ref-add.sin b/gnu/ref-add.sin index a57eaef6..112bcdc6 100644 --- a/gnu/ref-add.sin +++ b/gnu/ref-add.sin @@ -1,6 +1,6 @@ # Add this package to a list of references stored in a text file. # -# Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,8 +13,7 @@ # 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. +# with this program; if not, see . # # Written by Bruno Haible . # diff --git a/gnu/ref-del.sin b/gnu/ref-del.sin index e23097db..6f738684 100644 --- a/gnu/ref-del.sin +++ b/gnu/ref-del.sin @@ -1,6 +1,6 @@ # Remove this package from a list of references stored in a text file. # -# Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,8 +13,7 @@ # 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. +# with this program; if not, see . # # Written by Bruno Haible . # diff --git a/gnu/regcomp.c b/gnu/regcomp.c index f39d3298..447262f2 100644 --- a/gnu/regcomp.c +++ b/gnu/regcomp.c @@ -1,23 +1,23 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax); @@ -96,20 +96,20 @@ static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, - const unsigned char *class_name, + const char *class_name, reg_syntax_t syntax); #else /* not RE_ENABLE_I18N */ static reg_errcode_t build_equiv_class (bitset_t sbcset, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, - const unsigned char *class_name, + const char *class_name, reg_syntax_t syntax); #endif /* not RE_ENABLE_I18N */ static bin_tree_t *build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, - const unsigned char *class_name, - const unsigned char *extra, + const char *class_name, + const char *extra, bool non_match, reg_errcode_t *err); static bin_tree_t *create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, @@ -208,7 +208,7 @@ static const size_t __re_error_msgid_idx[] = compiles PATTERN (of length LENGTH) and puts the result in BUFP. Returns 0 if the pattern was valid, otherwise an error string. - Assumes the `allocated' (and perhaps `buffer') and `translate' fields + Assumes the 'allocated' (and perhaps 'buffer') and 'translate' fields are set in BUFP on entry. */ #ifdef _LIBC @@ -243,7 +243,7 @@ re_compile_pattern (const char *pattern, size_t length, weak_alias (__re_compile_pattern, re_compile_pattern) #endif -/* Set by `re_set_syntax' to the current regexp syntax to recognize. Can +/* Set by 're_set_syntax' to the current regexp syntax to recognize. Can also be assigned to arbitrarily: each pattern buffer stores its own syntax, so it can be changed between regex compilations. */ /* This has no initializer because initialized variables in Emacs @@ -275,7 +275,7 @@ int re_compile_fastmap (bufp) struct re_pattern_buffer *bufp; { - re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; + re_dfa_t *dfa = bufp->buffer; char *fastmap = bufp->fastmap; memset (fastmap, '\0', sizeof (char) * SBC_MAX); @@ -294,7 +294,7 @@ weak_alias (__re_compile_fastmap, re_compile_fastmap) #endif static inline void -__attribute ((always_inline)) +__attribute__ ((always_inline)) re_set_fastmap (char *fastmap, bool icase, int ch) { fastmap[ch] = 1; @@ -309,7 +309,7 @@ static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap) { - re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; + re_dfa_t *dfa = bufp->buffer; Idx node_cnt; bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) @@ -441,15 +441,15 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, PREG is a regex_t *. We do not expect any fields to be initialized, since POSIX says we shouldn't. Thus, we set - `buffer' to the compiled pattern; - `used' to the length of the compiled pattern; - `syntax' to RE_SYNTAX_POSIX_EXTENDED if the + 'buffer' to the compiled pattern; + 'used' to the length of the compiled pattern; + 'syntax' to RE_SYNTAX_POSIX_EXTENDED if the REG_EXTENDED bit in CFLAGS is set; otherwise, to RE_SYNTAX_POSIX_BASIC; - `newline_anchor' to REG_NEWLINE being set in CFLAGS; - `fastmap' to an allocated space for the fastmap; - `fastmap_accurate' to zero; - `re_nsub' to the number of subexpressions in PATTERN. + 'newline_anchor' to REG_NEWLINE being set in CFLAGS; + 'fastmap' to an allocated space for the fastmap; + 'fastmap_accurate' to zero; + 're_nsub' to the number of subexpressions in PATTERN. PATTERN is the address of the pattern string. @@ -588,19 +588,23 @@ weak_alias (__regerror, regerror) static const bitset_t utf8_sb_map = { /* Set the first 128 bits. */ -# if 4 * BITSET_WORD_BITS < ASCII_CHARS -# error "bitset_word_t is narrower than 32 bits" -# elif 3 * BITSET_WORD_BITS < ASCII_CHARS +# if defined __GNUC__ && !defined __STRICT_ANSI__ + [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX +# else +# if 4 * BITSET_WORD_BITS < ASCII_CHARS +# error "bitset_word_t is narrower than 32 bits" +# elif 3 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, -# elif 2 * BITSET_WORD_BITS < ASCII_CHARS +# elif 2 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, -# elif 1 * BITSET_WORD_BITS < ASCII_CHARS +# elif 1 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, -# endif +# endif (BITSET_WORD_MAX >> (SBC_MAX % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) +# endif }; #endif @@ -659,9 +663,12 @@ void regfree (preg) regex_t *preg; { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; if (BE (dfa != NULL, 1)) - free_dfa_content (dfa); + { + lock_fini (dfa->lock); + free_dfa_content (dfa); + } preg->buffer = NULL; preg->allocated = 0; @@ -720,7 +727,7 @@ re_comp (s) + __re_error_msgid_idx[(int) REG_ESPACE]); } - /* Since `re_exec' always passes NULL for the `regs' argument, we + /* Since 're_exec' always passes NULL for the 'regs' argument, we don't need to initialize the pattern buffer fields which affect it. */ /* Match anchors at newlines. */ @@ -731,7 +738,7 @@ re_comp (s) if (!ret) return NULL; - /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */ + /* Yes, we're discarding 'const' here if !HAVE_LIBINTL. */ return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } @@ -766,7 +773,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length, preg->regs_allocated = REGS_UNALLOCATED; /* Initialize the dfa. */ - dfa = (re_dfa_t *) preg->buffer; + dfa = preg->buffer; if (BE (preg->allocated < sizeof (re_dfa_t), 0)) { /* If zero allocated, but buffer is non-null, try to realloc @@ -777,11 +784,13 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length, if (dfa == NULL) return REG_ESPACE; preg->allocated = sizeof (re_dfa_t); - preg->buffer = (unsigned char *) dfa; + preg->buffer = dfa; } preg->used = sizeof (re_dfa_t); err = init_dfa (dfa, length); + if (BE (err == REG_NOERROR && lock_init (dfa->lock) != 0, 0)) + err = REG_ESPACE; if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); @@ -795,8 +804,6 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length, strncpy (dfa->re_str, pattern, length + 1); #endif - __libc_lock_init (dfa->lock); - err = re_string_construct (®exp, pattern, length, preg->translate, (syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) @@ -804,6 +811,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length, re_compile_internal_free_return: free_workarea_compile (preg); re_string_destruct (®exp); + lock_fini (dfa->lock); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; @@ -836,6 +844,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length, if (BE (err != REG_NOERROR, 0)) { + lock_fini (dfa->lock); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; @@ -852,7 +861,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) { __re_size_t table_size; #ifndef _LIBC - char *codeset_name; + const char *codeset_name; #endif #ifdef RE_ENABLE_I18N size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); @@ -875,7 +884,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) calculation below, and for similar doubling calculations elsewhere. And it's <= rather than <, because some of the doubling calculations add 1 afterwards. */ - if (BE (SIZE_MAX / max_object_size / 2 <= pat_len, 0)) + if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0)) return REG_ESPACE; dfa->nodes_alloc = pat_len + 1; @@ -898,8 +907,10 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) != 0); #else codeset_name = nl_langinfo (CODESET); - if (strcasecmp (codeset_name, "UTF-8") == 0 - || strcasecmp (codeset_name, "UTF8") == 0) + if ((codeset_name[0] == 'U' || codeset_name[0] == 'u') + && (codeset_name[1] == 'T' || codeset_name[1] == 't') + && (codeset_name[2] == 'F' || codeset_name[2] == 'f') + && strcmp (codeset_name + 3 + (codeset_name[3] == '-'), "8") == 0) dfa->is_utf8 = 1; /* We check exhaustively in the loop below if this charset is a @@ -949,9 +960,43 @@ static void internal_function init_word_char (re_dfa_t *dfa) { - int i, j, ch; + int i = 0; + int j; + int ch = 0; dfa->word_ops_used = 1; - for (i = 0, ch = 0; i < BITSET_WORDS; ++i) + if (BE (dfa->map_notascii == 0, 1)) + { + bitset_word_t bits0 = 0x00000000; + bitset_word_t bits1 = 0x03ff0000; + bitset_word_t bits2 = 0x87fffffe; + bitset_word_t bits3 = 0x07fffffe; + if (BITSET_WORD_BITS == 64) + { + dfa->word_char[0] = bits1 << 31 << 1 | bits0; + dfa->word_char[1] = bits3 << 31 << 1 | bits2; + i = 2; + } + else if (BITSET_WORD_BITS == 32) + { + dfa->word_char[0] = bits0; + dfa->word_char[1] = bits1; + dfa->word_char[2] = bits2; + dfa->word_char[3] = bits3; + i = 4; + } + else + goto general_case; + ch = 128; + + if (BE (dfa->is_utf8, 1)) + { + memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8); + return; + } + } + + general_case: + for (; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (isalnum (ch) || ch == '_') dfa->word_char[i] |= (bitset_word_t) 1 << j; @@ -962,7 +1007,7 @@ init_word_char (re_dfa_t *dfa) static void free_workarea_compile (regex_t *preg) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; bin_tree_storage_t *storage, *next; for (storage = dfa->str_tree_storage; storage; storage = next) { @@ -1146,7 +1191,7 @@ optimize_utf8 (re_dfa_t *dfa) static reg_errcode_t analyze (regex_t *preg) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; reg_errcode_t ret; /* Allocate arrays. */ @@ -1327,7 +1372,7 @@ lower_subexps (void *extra, bin_tree_t *node) static bin_tree_t * lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; bin_tree_t *body = node->left; bin_tree_t *op, *cls, *tree1, *tree; @@ -1661,7 +1706,7 @@ calc_eclosure (re_dfa_t *dfa) /* If we have already calculated, skip it. */ if (dfa->eclosures[node_idx].nelem != 0) continue; - /* Calculate epsilon closure of `node_idx'. */ + /* Calculate epsilon closure of 'node_idx'. */ err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true); if (BE (err != REG_NOERROR, 0)) return err; @@ -1711,14 +1756,14 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root) { re_node_set eclosure_elem; Idx edest = dfa->edests[node].elems[i]; - /* If calculating the epsilon closure of `edest' is in progress, + /* If calculating the epsilon closure of 'edest' is in progress, return intermediate result. */ if (dfa->eclosures[edest].nelem == REG_MISSING) { incomplete = true; continue; } - /* If we haven't calculated the epsilon closure of `edest' yet, + /* If we haven't calculated the epsilon closure of 'edest' yet, calculate now. Otherwise use calculated epsilon closure. */ if (dfa->eclosures[edest].nelem == 0) { @@ -1728,11 +1773,11 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root) } else eclosure_elem = dfa->eclosures[edest]; - /* Merge the epsilon closure of `edest'. */ + /* Merge the epsilon closure of 'edest'. */ err = re_node_set_merge (&eclosure, &eclosure_elem); if (BE (err != REG_NOERROR, 0)) return err; - /* If the epsilon closure of `edest' is incomplete, + /* If the epsilon closure of 'edest' is incomplete, the epsilon closure of this node is also incomplete. */ if (dfa->eclosures[edest].nelem == 0) { @@ -2094,7 +2139,7 @@ peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) /* Entry point of the parser. Parse the regular expression REGEXP and return the structure tree. - If an error is occured, ERR is set by error code, and return NULL. + If an error occurs, ERR is set by error code, and return NULL. This function build the following tree, from regular expression : CAT / \ @@ -2108,7 +2153,7 @@ static bin_tree_t * parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; bin_tree_t *tree, *eor, *root; re_token_t current_token; dfa->syntax = syntax; @@ -2136,13 +2181,13 @@ parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, / \ - ALT means alternative, which represents the operator `|'. */ + ALT means alternative, which represents the operator '|'. */ static bin_tree_t * parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; bin_tree_t *tree, *branch = NULL; tree = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) @@ -2184,7 +2229,7 @@ parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { bin_tree_t *tree, *expr; - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; tree = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; @@ -2195,16 +2240,21 @@ parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, expr = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && expr == NULL, 0)) { + if (tree != NULL) + postorder (tree, free_tree, NULL); return NULL; } if (tree != NULL && expr != NULL) { - tree = create_tree (dfa, tree, expr, CONCAT); - if (tree == NULL) + bin_tree_t *newtree = create_tree (dfa, tree, expr, CONCAT); + if (newtree == NULL) { + postorder (expr, free_tree, NULL); + postorder (tree, free_tree, NULL); *err = REG_ESPACE; return NULL; } + tree = newtree; } else if (tree == NULL) tree = expr; @@ -2223,7 +2273,7 @@ static bin_tree_t * parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; bin_tree_t *tree; switch (token->type) { @@ -2379,8 +2429,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, case OP_WORD: case OP_NOTWORD: tree = build_charclass_op (dfa, regexp->trans, - (const unsigned char *) "alnum", - (const unsigned char *) "_", + "alnum", + "_", token->type == OP_NOTWORD, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; @@ -2388,8 +2438,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, case OP_SPACE: case OP_NOTSPACE: tree = build_charclass_op (dfa, regexp->trans, - (const unsigned char *) "space", - (const unsigned char *) "", + "space", + "", token->type == OP_NOTSPACE, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; @@ -2439,7 +2489,7 @@ static bin_tree_t * parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; + re_dfa_t *dfa = preg->buffer; bin_tree_t *tree; size_t cur_nsub; cur_nsub = preg->re_nsub++; @@ -2453,7 +2503,11 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, { tree = parse_reg_exp (regexp, preg, token, syntax, nest, err); if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) - *err = REG_EPAREN; + { + if (tree != NULL) + postorder (tree, free_tree, NULL); + *err = REG_EPAREN; + } if (BE (*err != REG_NOERROR, 0)) return NULL; } @@ -2531,6 +2585,12 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, *err = REG_BADBR; return NULL; } + + if (BE (RE_DUP_MAX < (end == REG_MISSING ? start : end), 0)) + { + *err = REG_ESIZE; + return NULL; + } } else { @@ -2571,7 +2631,10 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, old_tree = NULL; if (elem->token.type == SUBEXP) - postorder (elem, mark_opt_subexp, (void *) (long) elem->token.opr.idx); + { + uintptr_t subidx = elem->token.opr.idx; + postorder (elem, mark_opt_subexp, (void *) subidx); + } tree = create_tree (dfa, elem, NULL, (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT)); @@ -2617,7 +2680,7 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and - mbcset->range_ends, is a pointer argument sinse we may + mbcset->range_ends, is a pointer argument since we may update it. */ static reg_errcode_t @@ -2656,7 +2719,6 @@ build_range_exp (const reg_syntax_t syntax, wchar_t wc; wint_t start_wc; wint_t end_wc; - wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] @@ -2670,11 +2732,7 @@ build_range_exp (const reg_syntax_t syntax, ? __btowc (end_ch) : end_elem->opr.wch); if (start_wc == WEOF || end_wc == WEOF) return REG_ECOLLATE; - cmp_buf[0] = start_wc; - cmp_buf[4] = end_wc; - - if (BE ((syntax & RE_NO_EMPTY_RANGES) - && wcscoll (cmp_buf, cmp_buf + 4) > 0, 0)) + else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. @@ -2715,9 +2773,7 @@ build_range_exp (const reg_syntax_t syntax, /* Build the table for single byte characters. */ for (wc = 0; wc < SBC_MAX; ++wc) { - cmp_buf[2] = wc; - if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 - && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) + if (start_wc <= wc && wc <= end_wc) bitset_set (sbcset, wc); } } @@ -2751,11 +2807,12 @@ build_range_exp (const reg_syntax_t syntax, static reg_errcode_t internal_function -build_collating_symbol (bitset_t sbcset, # ifdef RE_ENABLE_I18N - re_charset_t *mbcset, Idx *coll_sym_alloc, -# endif - const unsigned char *name) +build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, + Idx *coll_sym_alloc, const unsigned char *name) +# else /* not RE_ENABLE_I18N */ +build_collating_symbol (bitset_t sbcset, const unsigned char *name) +# endif /* not RE_ENABLE_I18N */ { size_t name_len = strlen ((const char *) name); if (BE (name_len != 1, 0)) @@ -2783,42 +2840,31 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, const int32_t *symb_table; const unsigned char *extra; - /* Local function for parse_bracket_exp used in _LIBC environement. - Seek the collating symbol entry correspondings to NAME. - Return the index of the symbol in the SYMB_TABLE. */ + /* Local function for parse_bracket_exp used in _LIBC environment. + Seek the collating symbol entry corresponding to NAME. + Return the index of the symbol in the SYMB_TABLE, + or -1 if not found. */ auto inline int32_t - __attribute ((always_inline)) - seek_collating_symbol_entry (name, name_len) - const unsigned char *name; - size_t name_len; + __attribute__ ((always_inline)) + seek_collating_symbol_entry (const unsigned char *name, size_t name_len) { - int32_t hash = elem_hash ((const char *) name, name_len); - int32_t elem = hash % table_size; - if (symb_table[2 * elem] != 0) - { - int32_t second = hash % (table_size - 2) + 1; + int32_t elem; - do - { - /* First compare the hashing value. */ - if (symb_table[2 * elem] == hash - /* Compare the length of the name. */ - && name_len == extra[symb_table[2 * elem + 1]] - /* Compare the name. */ - && memcmp (name, &extra[symb_table[2 * elem + 1] + 1], - name_len) == 0) - { - /* Yep, this is the entry. */ - break; - } - - /* Next entry. */ - elem += second; - } - while (symb_table[2 * elem] != 0); - } - return elem; + for (elem = 0; elem < table_size; elem++) + if (symb_table[2 * elem] != 0) + { + int32_t idx = symb_table[2 * elem + 1]; + /* Skip the name of collating element name. */ + idx += 1 + extra[idx]; + if (/* Compare the length of the name. */ + name_len == extra[idx] + /* Compare the name. */ + && memcmp (name, &extra[idx + 1], name_len) == 0) + /* Yep, this is the entry. */ + return elem; + } + return -1; } /* Local function for parse_bracket_exp used in _LIBC environment. @@ -2826,9 +2872,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, Return the value if succeeded, UINT_MAX otherwise. */ auto inline unsigned int - __attribute ((always_inline)) - lookup_collation_sequence_value (br_elem) - bracket_elem_t *br_elem; + __attribute__ ((always_inline)) + lookup_collation_sequence_value (bracket_elem_t *br_elem) { if (br_elem->type == SB_CHAR) { @@ -2856,7 +2901,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, int32_t elem, idx; elem = seek_collating_symbol_entry (br_elem->opr.name, sym_name_len); - if (symb_table[2 * elem] != 0) + if (elem != -1) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; @@ -2874,7 +2919,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, /* Return the collation sequence value. */ return *(unsigned int *) (extra + idx); } - else if (symb_table[2 * elem] == 0 && sym_name_len == 1) + else if (sym_name_len == 1) { /* No valid character. Match it as a single byte character. */ @@ -2887,20 +2932,17 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, return UINT_MAX; } - /* Local function for parse_bracket_exp used in _LIBC environement. + /* Local function for parse_bracket_exp used in _LIBC environment. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and - mbcset->range_ends, is a pointer argument sinse we may + mbcset->range_ends, is a pointer argument since we may update it. */ auto inline reg_errcode_t - __attribute ((always_inline)) - build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) - re_charset_t *mbcset; - Idx *range_alloc; - bitset_t sbcset; - bracket_elem_t *start_elem, *end_elem; + __attribute__ ((always_inline)) + build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc, + bracket_elem_t *start_elem, bracket_elem_t *end_elem) { unsigned int ch; uint32_t start_collseq; @@ -2913,6 +2955,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, 0)) return REG_ERANGE; + /* FIXME: Implement rational ranges here, too. */ start_collseq = lookup_collation_sequence_value (start_elem); end_collseq = lookup_collation_sequence_value (end_elem); /* Check start/end collation sequence values. */ @@ -2971,33 +3014,30 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, return REG_NOERROR; } - /* Local function for parse_bracket_exp used in _LIBC environement. + /* Local function for parse_bracket_exp used in _LIBC environment. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a - pointer argument sinse we may update it. */ + pointer argument since we may update it. */ auto inline reg_errcode_t - __attribute ((always_inline)) - build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) - re_charset_t *mbcset; - Idx *coll_sym_alloc; - bitset_t sbcset; - const unsigned char *name; + __attribute__ ((always_inline)) + build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, + Idx *coll_sym_alloc, const unsigned char *name) { int32_t elem, idx; size_t name_len = strlen ((const char *) name); if (nrules != 0) { elem = seek_collating_symbol_entry (name, name_len); - if (symb_table[2 * elem] != 0) + if (elem != -1) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; } - else if (symb_table[2 * elem] == 0 && name_len == 1) + else if (name_len == 1) { /* No valid character, treat it as a normal character. */ @@ -3077,6 +3117,10 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, if (BE (sbcset == NULL, 0)) #endif /* RE_ENABLE_I18N */ { + re_free (sbcset); +#ifdef RE_ENABLE_I18N + re_free (mbcset); +#endif *err = REG_ESPACE; return NULL; } @@ -3236,7 +3280,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, #ifdef RE_ENABLE_I18N mbcset, &char_class_alloc, #endif /* RE_ENABLE_I18N */ - start_elem.opr.name, syntax); + (const char *) start_elem.opr.name, + syntax); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; @@ -3415,7 +3460,7 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, Build the equivalence class which is represented by NAME. The result are written to MBCSET and SBCSET. EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes, - is a pointer argument sinse we may update it. */ + is a pointer argument since we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N @@ -3446,19 +3491,18 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name) _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); - idx1 = findidx (&cp); - if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0)) + idx1 = findidx (&cp, -1); + if (BE (idx1 == 0 || *cp != '\0', 0)) /* This isn't a valid character. */ return REG_ECOLLATE; - /* Build single byte matcing table for this equivalence class. */ - char_buf[1] = (unsigned char) '\0'; + /* Build single byte matching table for this equivalence class. */ len = weights[idx1 & 0xffffff]; for (ch = 0; ch < SBC_MAX; ++ch) { char_buf[0] = ch; cp = char_buf; - idx2 = findidx (&cp); + idx2 = findidx (&cp, 1); /* idx2 = table[ch]; */ @@ -3511,20 +3555,20 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name) Build the character class which is represented by NAME. The result are written to MBCSET and SBCSET. CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes, - is a pointer argument sinse we may update it. */ + is a pointer argument since we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, - const unsigned char *class_name, reg_syntax_t syntax) + const char *class_name, reg_syntax_t syntax) #else /* not RE_ENABLE_I18N */ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, - const unsigned char *class_name, reg_syntax_t syntax) + const char *class_name, reg_syntax_t syntax) #endif /* not RE_ENABLE_I18N */ { int i; - const char *name = (const char *) class_name; + const char *name = class_name; /* In case of REG_ICASE "upper" and "lower" match the both of upper and lower cases. */ @@ -3598,8 +3642,8 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, static bin_tree_t * build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, - const unsigned char *class_name, - const unsigned char *extra, bool non_match, + const char *class_name, + const char *extra, bool non_match, reg_errcode_t *err) { re_bitset_ptr_t sbcset; @@ -3705,8 +3749,9 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, } /* This is intended for the expressions like "a{1,3}". - Fetch a number from `input', and return the number. + Fetch a number from 'input', and return the number. Return REG_MISSING if the number field is empty like "{,1}". + Return RE_DUP_MAX + 1 if the number field is too large. Return REG_ERROR if an error occurred. */ static Idx @@ -3725,8 +3770,9 @@ fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax) num = ((token->type != CHARACTER || c < '0' || '9' < c || num == REG_ERROR) ? REG_ERROR - : ((num == REG_MISSING) ? c - '0' : num * 10 + c - '0')); - num = (num > RE_DUP_MAX) ? REG_ERROR : num; + : num == REG_MISSING + ? c - '0' + : MIN (RE_DUP_MAX + 1, num * 10 + c - '0')); } return num; } @@ -3800,7 +3846,7 @@ create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node) { - Idx idx = (Idx) (long) extra; + Idx idx = (uintptr_t) extra; if (node->token.type == SUBEXP && node->token.opr.idx == idx) node->token.opt_subexp = 1; diff --git a/gnu/regex.c b/gnu/regex.c index fc46c0ba..990fe851 100644 --- a/gnu/regex.c +++ b/gnu/regex.c @@ -1,27 +1,37 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ -#include +#ifndef _LIBC +# include -/* Make sure noone compiles this code with a C++ compiler. */ +# if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +# endif +# if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wold-style-definition" +# pragma GCC diagnostic ignored "-Wtype-limits" +# endif +#endif + +/* Make sure no one compiles this code with a C++ compiler. */ #if defined __cplusplus && defined _LIBC # error "This is C code, use a C compiler" #endif diff --git a/gnu/regex.h b/gnu/regex.h index 52b8598c..dbd2b1b5 100644 --- a/gnu/regex.h +++ b/gnu/regex.h @@ -2,23 +2,23 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Definitions for data structures and routines for the regular expression library. - Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2006, 2009-2011 - Free Software Foundation, Inc. + Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2013 Free Software + Foundation, Inc. This file is part of the GNU C Library. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ #ifndef _REGEX_H #define _REGEX_H 1 @@ -30,13 +30,10 @@ extern "C" { #endif -/* Define __USE_GNU_REGEX to declare GNU extensions that violate the +/* Define __USE_GNU to declare GNU extensions that violate the POSIX name space rules. */ -#undef __USE_GNU_REGEX -#if (defined _GNU_SOURCE \ - || (!defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE \ - && !defined _XOPEN_SOURCE)) -# define __USE_GNU_REGEX 1 +#ifdef _GNU_SOURCE +# define __USE_GNU 1 #endif #ifdef _REGEX_LARGE_OFFSETS @@ -47,16 +44,6 @@ extern "C" { supported within glibc itself, and glibc users should not define _REGEX_LARGE_OFFSETS. */ -/* The type of the offset of a byte within a string. - For historical reasons POSIX 1003.1-2004 requires that regoff_t be - at least as wide as off_t. However, many common POSIX platforms set - regoff_t to the more-sensible ssize_t and the Open Group has - signalled its intention to change the requirement to be that - regoff_t be at least as wide as ptrdiff_t and ssize_t; see XBD ERN - 60 (2005-08-25). We don't know of any hosts where ssize_t or - ptrdiff_t is wider than ssize_t, so ssize_t is safe. */ -typedef ssize_t regoff_t; - /* The type of nonnegative object indexes. Traditionally, GNU regex uses 'int' for these. Code that uses __re_idx_t should work regardless of whether the type is signed. */ @@ -71,10 +58,8 @@ typedef size_t __re_long_size_t; #else -/* Use types that are binary-compatible with the traditional GNU regex - implementation, which mishandles strings longer than INT_MAX. */ - -typedef int regoff_t; +/* The traditional GNU regex implementation mishandles strings longer + than INT_MAX. */ typedef int __re_idx_t; typedef unsigned int __re_size_t; typedef unsigned long int __re_long_size_t; @@ -95,8 +80,7 @@ typedef unsigned long int active_reg_t; add or remove a bit, only one other definition need change. */ typedef unsigned long int reg_syntax_t; -#ifdef __USE_GNU_REGEX - +#ifdef __USE_GNU /* If this bit is not set, then \ inside a bracket expression is literal. If set, then such a \ quotes the following character. */ # define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) @@ -163,9 +147,9 @@ typedef unsigned long int reg_syntax_t; If not set, newline is literal. */ # define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) -/* If this bit is set, then `{...}' defines an interval, and \{ and \} +/* If this bit is set, then '{...}' defines an interval, and \{ and \} are literals. - If not set, then `\{...\}' defines an interval. */ + If not set, then '\{...\}' defines an interval. */ # define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) /* If this bit is set, (...) defines a group, and \( and \) are literals. @@ -227,8 +211,7 @@ typedef unsigned long int reg_syntax_t; /* If this bit is set, then no_sub will be set to 1 during re_compile_pattern. */ # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) - -#endif /* defined __USE_GNU_REGEX */ +#endif /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is @@ -236,7 +219,7 @@ typedef unsigned long int reg_syntax_t; already-compiled regexps. */ extern reg_syntax_t re_syntax_options; -#ifdef __USE_GNU_REGEX +#ifdef __USE_GNU /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so don't delete them!) */ @@ -248,16 +231,19 @@ extern reg_syntax_t re_syntax_options; | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CHAR_CLASSES \ | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) # define RE_SYNTAX_GNU_AWK \ - ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \ - & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ - | RE_CONTEXT_INVALID_OPS )) + ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INVALID_INTERVAL_ORD) \ + & ~(RE_DOT_NOT_NULL | RE_CONTEXT_INDEP_OPS \ + | RE_CONTEXT_INVALID_OPS )) # define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ - | RE_INTERVALS | RE_NO_GNU_OPS) + | RE_INTERVALS | RE_NO_GNU_OPS \ + | RE_INVALID_INTERVAL_ORD) # define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ @@ -308,13 +294,12 @@ extern reg_syntax_t re_syntax_options; | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) /* [[[end syntaxes]]] */ -#endif /* defined __USE_GNU_REGEX */ - -#ifdef __USE_GNU_REGEX - /* Maximum number of duplicates an interval can allow. POSIX-conforming systems might define this in , but we want our value, so remove any previous define. */ +# ifdef _REGEX_INCLUDE_LIMITS_H +# include +# endif # ifdef RE_DUP_MAX # undef RE_DUP_MAX # endif @@ -322,16 +307,15 @@ extern reg_syntax_t re_syntax_options; /* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored the counter as a 2-byte signed integer. This is no longer true, so RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to - ((SIZE_MAX - 2) / 10 - 1) if _REGEX_LARGE_OFFSETS is defined. + ((SIZE_MAX - 9) / 10) if _REGEX_LARGE_OFFSETS is defined. However, there would be a huge performance problem if someone actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains its historical value. */ # define RE_DUP_MAX (0x7fff) - -#endif /* defined __USE_GNU_REGEX */ +#endif -/* POSIX `cflags' bits (i.e., information for `regcomp'). */ +/* POSIX 'cflags' bits (i.e., information for 'regcomp'). */ /* If this bit is set, then use extended regular expression syntax. If not set, then use basic regular expression syntax. */ @@ -351,7 +335,7 @@ extern reg_syntax_t re_syntax_options; #define REG_NOSUB (1 << 3) -/* POSIX `eflags' bits (i.e., information for regexec). */ +/* POSIX 'eflags' bits (i.e., information for regexec). */ /* If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the @@ -369,7 +353,7 @@ extern reg_syntax_t re_syntax_options; /* If any error codes are removed, changed, or added, update the - `__re_error_msgid' table in regcomp.c. */ + '__re_error_msgid' table in regcomp.c. */ typedef enum { @@ -394,11 +378,11 @@ typedef enum /* Error codes we've added. */ _REG_EEND, /* Premature end. */ - _REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ + _REG_ESIZE, /* Too large (e.g., repeat count too large). */ _REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ } reg_errcode_t; -#ifdef _XOPEN_SOURCE +#if defined _XOPEN_SOURCE || defined __USE_XOPEN2K # define REG_ENOSYS _REG_ENOSYS #endif #define REG_NOERROR _REG_NOERROR @@ -419,126 +403,127 @@ typedef enum #define REG_ESIZE _REG_ESIZE #define REG_ERPAREN _REG_ERPAREN -/* struct re_pattern_buffer normally uses member names like `buffer' - that POSIX does not allow. In POSIX mode these members have names - with leading `re_' (e.g., `re_buffer'). */ -#ifdef __USE_GNU_REGEX -# define _REG_RE_NAME(id) id -# define _REG_RM_NAME(id) id -#else -# define _REG_RE_NAME(id) re_##id -# define _REG_RM_NAME(id) rm_##id +/* This data structure represents a compiled pattern. Before calling + the pattern compiler, the fields 'buffer', 'allocated', 'fastmap', + and 'translate' can be set. After the pattern has been compiled, + the fields 're_nsub', 'not_bol' and 'not_eol' are available. All + other fields are private to the regex routines. */ + +#ifndef RE_TRANSLATE_TYPE +# define __RE_TRANSLATE_TYPE unsigned char * +# ifdef __USE_GNU +# define RE_TRANSLATE_TYPE __RE_TRANSLATE_TYPE +# endif #endif -/* The user can specify the type of the re_translate member by - defining the macro RE_TRANSLATE_TYPE, which defaults to unsigned - char *. This pollutes the POSIX name space, so in POSIX mode just - use unsigned char *. */ -#ifdef __USE_GNU_REGEX -# ifndef RE_TRANSLATE_TYPE -# define RE_TRANSLATE_TYPE unsigned char * -# endif -# define REG_TRANSLATE_TYPE RE_TRANSLATE_TYPE +#ifdef __USE_GNU +# define __REPB_PREFIX(name) name #else -# define REG_TRANSLATE_TYPE unsigned char * +# define __REPB_PREFIX(name) __##name #endif -/* This data structure represents a compiled pattern. Before calling - the pattern compiler, the fields `buffer', `allocated', `fastmap', - `translate', and `no_sub' can be set. After the pattern has been - compiled, the `re_nsub' field is available. All other fields are - private to the regex routines. */ - struct re_pattern_buffer { - /* Space that holds the compiled pattern. It is declared as - `unsigned char *' because its elements are sometimes used as - array indexes. */ - unsigned char *_REG_RE_NAME (buffer); + /* Space that holds the compiled pattern. The type + 'struct re_dfa_t' is private and is not declared here. */ + struct re_dfa_t *__REPB_PREFIX(buffer); - /* Number of bytes to which `buffer' points. */ - __re_long_size_t _REG_RE_NAME (allocated); + /* Number of bytes to which 'buffer' points. */ + __re_long_size_t __REPB_PREFIX(allocated); - /* Number of bytes actually used in `buffer'. */ - __re_long_size_t _REG_RE_NAME (used); + /* Number of bytes actually used in 'buffer'. */ + __re_long_size_t __REPB_PREFIX(used); /* Syntax setting with which the pattern was compiled. */ - reg_syntax_t _REG_RE_NAME (syntax); + reg_syntax_t __REPB_PREFIX(syntax); /* Pointer to a fastmap, if any, otherwise zero. re_search uses the fastmap, if there is one, to skip over impossible starting points for matches. */ - char *_REG_RE_NAME (fastmap); + char *__REPB_PREFIX(fastmap); /* Either a translate table to apply to all characters before comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ - REG_TRANSLATE_TYPE _REG_RE_NAME (translate); + __RE_TRANSLATE_TYPE __REPB_PREFIX(translate); /* Number of subexpressions found by the compiler. */ size_t re_nsub; /* Zero if this pattern cannot match the empty string, one else. - Well, in truth it's used only in `re_search_2', to see whether or + Well, in truth it's used only in 're_search_2', to see whether or not we should use the fastmap, so we don't set this absolutely - perfectly; see `re_compile_fastmap' (the `duplicate' case). */ - unsigned int _REG_RE_NAME (can_be_null) : 1; + perfectly; see 're_compile_fastmap' (the "duplicate" case). */ + unsigned __REPB_PREFIX(can_be_null) : 1; - /* If REGS_UNALLOCATED, allocate space in the `regs' structure - for `max (RE_NREGS, re_nsub + 1)' groups. + /* If REGS_UNALLOCATED, allocate space in the 'regs' structure + for 'max (RE_NREGS, re_nsub + 1)' groups. If REGS_REALLOCATE, reallocate space if necessary. If REGS_FIXED, use what's there. */ -#ifdef __USE_GNU_REGEX +#ifdef __USE_GNU # define REGS_UNALLOCATED 0 # define REGS_REALLOCATE 1 # define REGS_FIXED 2 #endif - unsigned int _REG_RE_NAME (regs_allocated) : 2; + unsigned __REPB_PREFIX(regs_allocated) : 2; - /* Set to zero when `re_compile_pattern' compiles a pattern; set to - one by `re_compile_fastmap' if it updates the fastmap. */ - unsigned int _REG_RE_NAME (fastmap_accurate) : 1; + /* Set to zero when 're_compile_pattern' compiles a pattern; set to + one by 're_compile_fastmap' if it updates the fastmap. */ + unsigned __REPB_PREFIX(fastmap_accurate) : 1; - /* If set, `re_match_2' does not return information about + /* If set, 're_match_2' does not return information about subexpressions. */ - unsigned int _REG_RE_NAME (no_sub) : 1; + unsigned __REPB_PREFIX(no_sub) : 1; /* If set, a beginning-of-line anchor doesn't match at the beginning of the string. */ - unsigned int _REG_RE_NAME (not_bol) : 1; + unsigned __REPB_PREFIX(not_bol) : 1; /* Similarly for an end-of-line anchor. */ - unsigned int _REG_RE_NAME (not_eol) : 1; + unsigned __REPB_PREFIX(not_eol) : 1; /* If true, an anchor at a newline matches. */ - unsigned int _REG_RE_NAME (newline_anchor) : 1; - -/* [[[end pattern_buffer]]] */ + unsigned __REPB_PREFIX(newline_anchor) : 1; }; typedef struct re_pattern_buffer regex_t; +/* Type for byte offsets within the string. POSIX mandates this. */ +#ifdef _REGEX_LARGE_OFFSETS +/* POSIX 1003.1-2008 requires that regoff_t be at least as wide as + ptrdiff_t and ssize_t. We don't know of any hosts where ptrdiff_t + is wider than ssize_t, so ssize_t is safe. */ +typedef ssize_t regoff_t; +#else +/* The traditional GNU regex implementation mishandles strings longer + than INT_MAX. */ +typedef int regoff_t; +#endif + + +#ifdef __USE_GNU /* This is the structure we store register match data in. See regex.texinfo for a full description of what registers match. */ struct re_registers { - __re_size_t _REG_RM_NAME (num_regs); - regoff_t *_REG_RM_NAME (start); - regoff_t *_REG_RM_NAME (end); + __re_size_t num_regs; + regoff_t *start; + regoff_t *end; }; -/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, - `re_match_2' returns information about at least this many registers - the first time a `regs' structure is passed. */ -#if !defined RE_NREGS && defined __USE_GNU_REGEX -# define RE_NREGS 30 +/* If 'regs_allocated' is REGS_UNALLOCATED in the pattern buffer, + 're_match_2' returns information about at least this many registers + the first time a 'regs' structure is passed. */ +# ifndef RE_NREGS +# define RE_NREGS 30 +# endif #endif /* POSIX specification for registers. Aside from the different names than - `re_registers', POSIX uses an array of structures, instead of a + 're_registers', POSIX uses an array of structures, instead of a structure of arrays. */ typedef struct { @@ -548,13 +533,19 @@ typedef struct /* Declarations for routines. */ +#ifdef __USE_GNU /* Sets the current default syntax to SYNTAX, and return the old syntax. - You can also simply assign to the `re_syntax_options' variable. */ + You can also simply assign to the 're_syntax_options' variable. */ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); /* Compile the regular expression PATTERN, with length LENGTH - and syntax given by the global `re_syntax_options', into the buffer - BUFFER. Return NULL if successful, and an error string if not. */ + and syntax given by the global 're_syntax_options', into the buffer + BUFFER. Return NULL if successful, and an error string if not. + + To free the allocated storage, you must call 'regfree' on BUFFER. + Note that the translate table must either have been initialised by + 'regcomp', with a malloc'ed value, or set to NULL before calling + 'regfree'. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer); @@ -576,7 +567,7 @@ extern regoff_t re_search (struct re_pattern_buffer *__buffer, struct re_registers *__regs); -/* Like `re_search', but search in the concatenation of STRING1 and +/* Like 're_search', but search in the concatenation of STRING1 and STRING2. Also, stop searching at index START + STOP. */ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, @@ -586,14 +577,14 @@ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, __re_idx_t __stop); -/* Like `re_search', but return how many characters in STRING the regexp +/* Like 're_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, struct re_registers *__regs); -/* Relates to `re_match' as `re_search_2' relates to `re_search'. */ +/* Relates to 're_match' as 're_search_2' relates to 're_search'. */ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, @@ -604,21 +595,22 @@ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be - allocated with malloc, and must each be at least `NUM_REGS * sizeof + allocated with malloc, and must each be at least 'NUM_REGS * sizeof (regoff_t)' bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using - BUFFER will allocate its own register data, without freeing the old - data. */ + BUFFER will allocate its own register data, without + freeing the old data. */ extern void re_set_registers (struct re_pattern_buffer *__buffer, struct re_registers *__regs, __re_size_t __num_regs, regoff_t *__starts, regoff_t *__ends); +#endif /* Use GNU */ -#if defined _REGEX_RE_COMP || defined _LIBC +#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD) # ifndef _CRAY /* 4.2 bsd compatibility. */ extern char *re_comp (const char *); @@ -646,7 +638,7 @@ extern int re_exec (const char *); #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ - && !__STRICT_ANSI__)) \ + && !defined __STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else diff --git a/gnu/regex_internal.c b/gnu/regex_internal.c index b67ab3d1..4f18e9db 100644 --- a/gnu/regex_internal.c +++ b/gnu/regex_internal.c @@ -1,23 +1,23 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ static void re_string_construct_common (const char *str, Idx len, re_string_t *pstr, @@ -136,9 +136,9 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) { wint_t *new_wcs; - /* Avoid overflow. */ - size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx)); - if (BE (SIZE_MAX / max_object_size < new_buf_len, 0)) + /* Avoid overflow in realloc. */ + const size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx)); + if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_buf_len, 0)) return REG_ESPACE; new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len); @@ -238,13 +238,8 @@ build_wcs_buffer (re_string_t *pstr) else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); - if (BE (mbclen == (size_t) -2, 0)) - { - /* The buffer doesn't have enough space, finish to build. */ - pstr->cur_state = prev_st; - break; - } - else if (BE (mbclen == (size_t) -1 || mbclen == 0, 0)) + if (BE (mbclen == (size_t) -1 || mbclen == 0 + || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0)) { /* We treat these cases as a singlebyte character. */ mbclen = 1; @@ -253,6 +248,12 @@ build_wcs_buffer (re_string_t *pstr) wc = pstr->trans[wc]; pstr->cur_state = prev_st; } + else if (BE (mbclen == (size_t) -2, 0)) + { + /* The buffer doesn't have enough space, finish to build. */ + pstr->cur_state = prev_st; + break; + } /* Write wide character and padding. */ pstr->wcs[byte_idx++] = wc; @@ -335,9 +336,11 @@ build_wcs_upper_buffer (re_string_t *pstr) for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } - else if (mbclen == (size_t) -1 || mbclen == 0) + else if (mbclen == (size_t) -1 || mbclen == 0 + || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len)) { - /* It is an invalid character or '\0'. Just use the byte. */ + /* It is an invalid character, an incomplete character + at the end of the string, or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; pstr->mbs[byte_idx] = ch; /* And also cast it to wide char. */ @@ -450,7 +453,8 @@ build_wcs_upper_buffer (re_string_t *pstr) for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } - else if (mbclen == (size_t) -1 || mbclen == 0) + else if (mbclen == (size_t) -1 || mbclen == 0 + || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len)) { /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx]; @@ -497,8 +501,7 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc) rawbuf_idx < new_raw_idx;) { wchar_t wc2; - Idx remain_len; - remain_len = pstr->len - rawbuf_idx; + Idx remain_len = pstr->raw_len - rawbuf_idx; prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); @@ -734,21 +737,21 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) mbstate_t cur_state; wchar_t wc2; Idx mlen = raw + pstr->len - p; + unsigned char buf[6]; size_t mbclen; -#if 0 /* dead code: buf is set but never used */ - unsigned char buf[6]; + const unsigned char *pp = p; if (BE (pstr->trans != NULL, 0)) { int i = mlen < 6 ? mlen : 6; while (--i >= 0) buf[i] = pstr->trans[p[i]]; + pp = buf; } -#endif /* XXX Don't use mbrtowc, we know which conversion to use (UTF-8 -> UCS4). */ memset (&cur_state, 0, sizeof (cur_state)); - mbclen = __mbrtowc (&wc2, (const char *) p, mlen, + mbclen = __mbrtowc (&wc2, (const char *) pp, mlen, &cur_state); if (raw + offset - p <= mbclen && mbclen < (size_t) -2) @@ -833,7 +836,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) } static unsigned char -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure)) re_string_peek_byte_case (const re_string_t *pstr, Idx idx) { int ch; @@ -870,7 +873,7 @@ re_string_peek_byte_case (const re_string_t *pstr, Idx idx) } static unsigned char -internal_function __attribute ((pure)) +internal_function re_string_fetch_byte_case (re_string_t *pstr) { if (BE (!pstr->mbs_allocated, 1)) @@ -973,7 +976,7 @@ re_node_set_alloc (re_node_set *set, Idx size) set->alloc = size; set->nelem = 0; set->elems = re_malloc (Idx, size); - if (BE (set->elems == NULL, 0)) + if (BE (set->elems == NULL, 0) && (MALLOC_0_IS_NONNULL || size != 0)) return REG_ESPACE; return REG_NOERROR; } @@ -1353,7 +1356,7 @@ re_node_set_insert_last (re_node_set *set, Idx elem) Return true if SET1 and SET2 are equivalent. */ static bool -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure)) re_node_set_compare (const re_node_set *set1, const re_node_set *set2) { Idx i; @@ -1368,7 +1371,7 @@ re_node_set_compare (const re_node_set *set1, const re_node_set *set2) /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */ static Idx -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure)) re_node_set_contains (const re_node_set *set, Idx elem) { __re_size_t idx, right, mid; @@ -1414,13 +1417,12 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token) Idx *new_nexts, *new_indices; re_node_set *new_edests, *new_eclosures; re_token_t *new_nodes; - size_t max_object_size = - MAX (sizeof (re_token_t), - MAX (sizeof (re_node_set), - sizeof (Idx))); - /* Avoid overflows. */ - if (BE (SIZE_MAX / 2 / max_object_size < dfa->nodes_alloc, 0)) + /* Avoid overflows in realloc. */ + const size_t max_object_size = MAX (sizeof (re_token_t), + MAX (sizeof (re_node_set), + sizeof (Idx))); + if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_nodes_alloc, 0)) return REG_MISSING; new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc); @@ -1443,11 +1445,9 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token) dfa->nodes[dfa->nodes_len] = token; dfa->nodes[dfa->nodes_len].constraint = 0; #ifdef RE_ENABLE_I18N - { - int type = token.type; dfa->nodes[dfa->nodes_len].accept_mb = - (type == OP_PERIOD && dfa->mb_cur_max > 1) || type == COMPLEX_BRACKET; - } + ((token.type == OP_PERIOD && dfa->mb_cur_max > 1) + || token.type == COMPLEX_BRACKET); #endif dfa->nexts[dfa->nodes_len] = REG_MISSING; re_node_set_init_empty (dfa->edests + dfa->nodes_len); @@ -1455,7 +1455,7 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token) return dfa->nodes_len++; } -static inline re_hashval_t +static re_hashval_t internal_function calc_state_hash (const re_node_set *nodes, unsigned int context) { @@ -1552,7 +1552,7 @@ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa, && re_node_set_compare (state->entrance_nodes, nodes)) return state; } - /* There are no appropriate state in `dfa', create the new one. */ + /* There are no appropriate state in 'dfa', create the new one. */ new_state = create_cd_newstate (dfa, nodes, context, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; @@ -1581,7 +1581,7 @@ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate, { Idx elem = newstate->nodes.elems[i]; if (!IS_EPSILON_NODE (dfa->nodes[elem].type)) - if (BE (! re_node_set_insert_last (&newstate->non_eps_nodes, elem), 0)) + if (! re_node_set_insert_last (&newstate->non_eps_nodes, elem)) return REG_ESPACE; } @@ -1616,7 +1616,7 @@ free_state (re_dfastate_t *state) re_free (state); } -/* Create the new state which is independ of contexts. +/* Create the new state which is independent of contexts. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * diff --git a/gnu/regex_internal.h b/gnu/regex_internal.h index a15e8ace..f2d8231d 100644 --- a/gnu/regex_internal.h +++ b/gnu/regex_internal.h @@ -1,49 +1,82 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ #ifndef _REGEX_INTERNAL_H #define _REGEX_INTERNAL_H 1 #include #include -#include #include #include #include #include -#ifndef _LIBC -# include "localcharset.h" -#endif #include - #include #include +#include #include -#if defined _LIBC + +#ifdef _LIBC # include +# define lock_define(name) __libc_lock_define (, name) +# define lock_init(lock) (__libc_lock_init (lock), 0) +# define lock_fini(lock) 0 +# define lock_lock(lock) __libc_lock_lock (lock) +# define lock_unlock(lock) __libc_lock_unlock (lock) +#elif defined GNULIB_LOCK +# include "glthread/lock.h" + /* Use gl_lock_define if empty macro arguments are known to work. + Otherwise, fall back on less-portable substitutes. */ +# if ((defined __GNUC__ && !defined __STRICT_ANSI__) \ + || (defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__)) +# define lock_define(name) gl_lock_define (, name) +# elif USE_POSIX_THREADS +# define lock_define(name) pthread_mutex_t name; +# elif USE_PTH_THREADS +# define lock_define(name) pth_mutex_t name; +# elif USE_SOLARIS_THREADS +# define lock_define(name) mutex_t name; +# elif USE_WINDOWS_THREADS +# define lock_define(name) gl_lock_t name; +# else +# define lock_define(name) +# endif +# define lock_init(lock) glthread_lock_init (&(lock)) +# define lock_fini(lock) glthread_lock_destroy (&(lock)) +# define lock_lock(lock) glthread_lock_lock (&(lock)) +# define lock_unlock(lock) glthread_lock_unlock (&(lock)) +#elif defined GNULIB_PTHREAD +# include +# define lock_define(name) pthread_mutex_t name; +# define lock_init(lock) pthread_mutex_init (&(lock), 0) +# define lock_fini(lock) pthread_mutex_destroy (&(lock)) +# define lock_lock(lock) pthread_mutex_lock (&(lock)) +# define lock_unlock(lock) pthread_mutex_unlock (&(lock)) #else -# define __libc_lock_init(NAME) do { } while (0) -# define __libc_lock_lock(NAME) do { } while (0) -# define __libc_lock_unlock(NAME) do { } while (0) +# define lock_define(name) +# define lock_init(lock) 0 +# define lock_fini(lock) 0 +# define lock_lock(lock) ((void) 0) +# define lock_unlock(lock) ((void) 0) #endif /* In case that the system doesn't have isblank(). */ @@ -66,7 +99,7 @@ # ifdef _LIBC # undef gettext # define gettext(msgid) \ - INTUSE(__dcgettext) (_libc_intl_domainname, msgid, LC_MESSAGES) + __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES) # endif #else # define gettext(msgid) (msgid) @@ -78,11 +111,6 @@ # define gettext_noop(String) String #endif -/* For loser systems without the definition. */ -#ifndef SIZE_MAX -# define SIZE_MAX ((size_t) -1) -#endif - #if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCSCOLL) || _LIBC # define RE_ENABLE_I18N #endif @@ -91,9 +119,6 @@ # define BE(expr, val) __builtin_expect (expr, val) #else # define BE(expr, val) (expr) -# ifdef _LIBC -# define inline -# endif #endif /* Number of ASCII characters. */ @@ -110,22 +135,27 @@ /* Rename to standard API for using out of glibc. */ #ifndef _LIBC +# undef __wctype +# undef __iswctype # define __wctype wctype # define __iswctype iswctype # define __btowc btowc -# define __wcrtomb wcrtomb # define __mbrtowc mbrtowc +# define __wcrtomb wcrtomb # define __regfree regfree # define attribute_hidden #endif /* not _LIBC */ -#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) -# define __attribute(arg) __attribute__ (arg) -#else -# define __attribute(arg) +#if __GNUC__ < 3 + (__GNUC_MINOR__ < 1) +# define __attribute__(arg) #endif typedef __re_idx_t Idx; +#ifdef _REGEX_LARGE_OFFSETS +# define IDX_MAX (SIZE_MAX - 2) +#else +# define IDX_MAX INT_MAX +#endif /* Special return value for failure to match. */ #define REG_MISSING ((Idx) -1) @@ -336,7 +366,7 @@ typedef struct Idx idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ } opr; -#if __GNUC__ >= 2 && !__STRICT_ANSI__ +#if __GNUC__ >= 2 && !defined __STRICT_ANSI__ re_token_type_t type : 8; #else re_token_type_t type; @@ -417,26 +447,24 @@ struct re_dfa_t; typedef struct re_dfa_t re_dfa_t; #ifndef _LIBC -# if defined __i386__ && !defined __EMX__ -# define internal_function __attribute ((regparm (3), stdcall)) -# else -# define internal_function -# endif +# define internal_function #endif +#ifndef NOT_IN_libc static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) internal_function; -#ifdef RE_ENABLE_I18N +# ifdef RE_ENABLE_I18N static void build_wcs_buffer (re_string_t *pstr) internal_function; static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) - internal_function; -#endif /* RE_ENABLE_I18N */ + internal_function; +# endif /* RE_ENABLE_I18N */ static void build_upper_buffer (re_string_t *pstr) internal_function; static void re_string_translate_buffer (re_string_t *pstr) internal_function; static unsigned int re_string_context_at (const re_string_t *input, Idx idx, int eflags) - internal_function __attribute ((pure)); + internal_function __attribute__ ((pure)); +#endif #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) #define re_string_fetch_byte(pstr) \ @@ -454,7 +482,9 @@ static unsigned int re_string_context_at (const re_string_t *input, Idx idx, #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx)) #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx)) -#include +#if defined _LIBC || HAVE_ALLOCA +# include +#endif #ifndef _LIBC # if HAVE_ALLOCA @@ -471,9 +501,18 @@ static unsigned int re_string_context_at (const re_string_t *input, Idx idx, # endif #endif +#ifdef _LIBC +# define MALLOC_0_IS_NONNULL 1 +#elif !defined MALLOC_0_IS_NONNULL +# define MALLOC_0_IS_NONNULL 0 +#endif + #ifndef MAX # define MAX(a,b) ((a) < (b) ? (b) : (a)) #endif +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif #define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t))) #define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t))) @@ -489,8 +528,8 @@ struct bin_tree_t re_token_t token; - /* `node_idx' is the index in dfa->nodes, if `type' == 0. - Otherwise `type' indicate the type of this node. */ + /* 'node_idx' is the index in dfa->nodes, if 'type' == 0. + Otherwise 'type' indicate the type of this node. */ Idx node_idx; }; typedef struct bin_tree_t bin_tree_t; @@ -543,9 +582,9 @@ struct re_dfastate_t struct re_dfastate_t **trtable, **word_trtable; unsigned int context : 4; unsigned int halt : 1; - /* If this state can accept `multi byte'. + /* If this state can accept "multi byte". Note that we refer to multibyte characters, and multi character - collating elements as `multi byte'. */ + collating elements as "multi byte". */ unsigned int accept_mb : 1; /* If this state has backreference node(s). */ unsigned int has_backref : 1; @@ -674,7 +713,7 @@ struct re_dfa_t re_bitset_ptr_t sb_char; int str_tree_storage_idx; - /* number of subexpressions `re_nsub' is in regex_t. */ + /* number of subexpressions 're_nsub' is in regex_t. */ re_hashval_t state_hash_mask; Idx init_node; Idx nbackref; /* The number of backreference in this dfa. */ @@ -698,9 +737,7 @@ struct re_dfa_t #ifdef DEBUG char* re_str; #endif -#ifdef _LIBC - __libc_lock_define (, lock) -#endif + lock_define (lock) }; #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) @@ -731,33 +768,33 @@ typedef struct } bracket_elem_t; -/* Inline functions for bitset_t operation. */ +/* Functions for bitset_t operation. */ -static inline void +static void bitset_set (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS; } -static inline void +static void bitset_clear (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS); } -static inline bool +static bool bitset_contain (const bitset_t set, Idx i) { return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1; } -static inline void +static void bitset_empty (bitset_t set) { memset (set, '\0', sizeof (bitset_t)); } -static inline void +static void bitset_set_all (bitset_t set) { memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS)); @@ -766,13 +803,13 @@ bitset_set_all (bitset_t set) ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1; } -static inline void +static void bitset_copy (bitset_t dest, const bitset_t src) { memcpy (dest, src, sizeof (bitset_t)); } -static inline void +static void __attribute__ ((unused)) bitset_not (bitset_t set) { int bitset_i; @@ -784,7 +821,7 @@ bitset_not (bitset_t set) & ~set[BITSET_WORDS - 1]); } -static inline void +static void __attribute__ ((unused)) bitset_merge (bitset_t dest, const bitset_t src) { int bitset_i; @@ -792,7 +829,7 @@ bitset_merge (bitset_t dest, const bitset_t src) dest[bitset_i] |= src[bitset_i]; } -static inline void +static void __attribute__ ((unused)) bitset_mask (bitset_t dest, const bitset_t src) { int bitset_i; @@ -801,9 +838,9 @@ bitset_mask (bitset_t dest, const bitset_t src) } #ifdef RE_ENABLE_I18N -/* Inline functions for re_string. */ -static inline int -internal_function __attribute ((pure)) +/* Functions for re_string. */ +static int +internal_function __attribute__ ((pure, unused)) re_string_char_size_at (const re_string_t *pstr, Idx idx) { int byte_idx; @@ -815,8 +852,8 @@ re_string_char_size_at (const re_string_t *pstr, Idx idx) return byte_idx; } -static inline wint_t -internal_function __attribute ((pure)) +static wint_t +internal_function __attribute__ ((pure, unused)) re_string_wchar_at (const re_string_t *pstr, Idx idx) { if (pstr->mb_cur_max == 1) @@ -824,15 +861,15 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx) return (wint_t) pstr->wcs[idx]; } +# ifndef NOT_IN_libc static int -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure, unused)) re_string_elem_size_at (const re_string_t *pstr, Idx idx) { -# ifdef _LIBC +# ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; - int32_t tmp; -# include +# include uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) @@ -843,13 +880,14 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx) indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); p = pstr->mbs + idx; - tmp = findidx (&p); + findidx (&p, pstr->len - idx); return p - pstr->mbs - idx; } else -# endif /* _LIBC */ +# endif /* _LIBC */ return 1; } +# endif #endif /* RE_ENABLE_I18N */ #ifndef __GNUC_PREREQ diff --git a/gnu/regexec.c b/gnu/regexec.c index 0f7b48c4..4105288f 100644 --- a/gnu/regexec.c +++ b/gnu/regexec.c @@ -1,23 +1,23 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Extended regular expression matching and search library. - Copyright (C) 2002-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + The GNU C Library 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. + 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. */ + You should have received a copy of the GNU General Public + License along with the GNU C Library; if not, see + . */ static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, Idx n) internal_function; @@ -53,9 +53,8 @@ static regoff_t re_search_stub (struct re_pattern_buffer *bufp, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) internal_function; -static unsigned int re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, - Idx nregs, int regs_allocated) - internal_function; +static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, + Idx nregs, int regs_allocated) internal_function; static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx) internal_function; static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match, @@ -202,7 +201,7 @@ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, static bool check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) internal_function; -static reg_errcode_t extend_buffers (re_match_context_t *mctx) +static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len) internal_function; /* Entry point for POSIX code. */ @@ -211,11 +210,11 @@ static reg_errcode_t extend_buffers (re_match_context_t *mctx) string STRING. If NMATCH is zero or REG_NOSUB was set in the cflags argument to - `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at + 'regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at least NMATCH elements, and we set them to the offsets of the corresponding matched substrings. - EFLAGS specifies `execution flags' which affect matching: if + EFLAGS specifies "execution flags" which affect matching: if REG_NOTBOL is set, then ^ does not match at the beginning of the string; if REG_NOTEOL is set, then $ does not match at the end. @@ -231,9 +230,7 @@ regexec (preg, string, nmatch, pmatch, eflags) { reg_errcode_t err; Idx start, length; -#ifdef _LIBC - re_dfa_t *dfa = (re_dfa_t *) preg->buffer; -#endif + re_dfa_t *dfa = preg->buffer; if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND)) return REG_BADPAT; @@ -249,14 +246,14 @@ regexec (preg, string, nmatch, pmatch, eflags) length = strlen (string); } - __libc_lock_lock (dfa->lock); + lock_lock (dfa->lock); if (preg->no_sub) err = re_search_internal (preg, string, length, start, length, length, 0, NULL, eflags); else err = re_search_internal (preg, string, length, start, length, length, nmatch, pmatch, eflags); - __libc_lock_unlock (dfa->lock); + lock_unlock (dfa->lock); return err != REG_NOERROR; } @@ -367,7 +364,6 @@ weak_alias (__re_search_2, re_search_2) #endif static regoff_t -internal_function re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, @@ -415,7 +411,6 @@ re_search_2_stub (struct re_pattern_buffer *bufp, otherwise the position of the match is returned. */ static regoff_t -internal_function re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, @@ -426,9 +421,7 @@ re_search_stub (struct re_pattern_buffer *bufp, Idx nregs; regoff_t rval; int eflags = 0; -#ifdef _LIBC - re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; -#endif + re_dfa_t *dfa = bufp->buffer; Idx last_start = start + range; /* Check for out-of-range. */ @@ -439,7 +432,7 @@ re_search_stub (struct re_pattern_buffer *bufp, else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0)) last_start = 0; - __libc_lock_lock (dfa->lock); + lock_lock (dfa->lock); eflags |= (bufp->not_bol) ? REG_NOTBOL : 0; eflags |= (bufp->not_eol) ? REG_NOTEOL : 0; @@ -479,9 +472,9 @@ re_search_stub (struct re_pattern_buffer *bufp, rval = 0; - /* I hope we needn't fill ther regs with -1's when no match was found. */ + /* I hope we needn't fill their regs with -1's when no match was found. */ if (result != REG_NOERROR) - rval = -1; + rval = result == REG_NOMATCH ? -1 : -2; else if (regs != NULL) { /* If caller wants register contents data back, copy them. */ @@ -503,19 +496,18 @@ re_search_stub (struct re_pattern_buffer *bufp, } re_free (pmatch); out: - __libc_lock_unlock (dfa->lock); + lock_unlock (dfa->lock); return rval; } -static unsigned int -internal_function +static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) { int rval = REGS_REALLOCATE; Idx i; Idx need_regs = nregs + 1; - /* We need one extra element beyond `num_regs' for the `-1' marker GNU code + /* We need one extra element beyond 'num_regs' for the '-1' marker GNU code uses. */ /* Have the register data arrays been allocated? */ @@ -638,7 +630,7 @@ re_exec (s) (0 <= LAST_START && LAST_START <= LENGTH) */ static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, @@ -646,7 +638,7 @@ re_search_internal (const regex_t *preg, int eflags) { reg_errcode_t err; - const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer; + const re_dfa_t *dfa = preg->buffer; Idx left_lim, right_lim; int incr; bool fl_longest_match; @@ -721,7 +713,8 @@ re_search_internal (const regex_t *preg, if (nmatch > 1 || dfa->has_mb_node) { /* Avoid overflow. */ - if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= mctx.input.bufs_len, 0)) + if (BE ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) + <= mctx.input.bufs_len), 0)) { err = REG_ESPACE; goto free_return; @@ -741,7 +734,7 @@ re_search_internal (const regex_t *preg, mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF; - /* Check incrementally whether of not the input string match. */ + /* Check incrementally whether the input string matches. */ incr = (last_start < start) ? -1 : 1; left_lim = (last_start < start) ? last_start : start; right_lim = (last_start < start) ? start : last_start; @@ -923,7 +916,7 @@ re_search_internal (const regex_t *preg, goto free_return; } - /* At last, add the offset to the each registers, since we slided + /* At last, add the offset to each register, since we slid the buffers so that we could assume that the matching starts from 0. */ for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) @@ -973,7 +966,7 @@ re_search_internal (const regex_t *preg, } static reg_errcode_t -internal_function __attribute_warn_unused_result__ +__attribute_warn_unused_result__ prune_impossible_nodes (re_match_context_t *mctx) { const re_dfa_t *const dfa = mctx->dfa; @@ -989,7 +982,7 @@ prune_impossible_nodes (re_match_context_t *mctx) halt_node = mctx->last_node; /* Avoid overflow. */ - if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= match_last, 0)) + if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= match_last, 0)) return REG_ESPACE; sifted_states = re_malloc (re_dfastate_t *, match_last + 1); @@ -1069,7 +1062,7 @@ prune_impossible_nodes (re_match_context_t *mctx) since initial states may have constraints like "\<", "^", etc.. */ static inline re_dfastate_t * -__attribute ((always_inline)) internal_function +__attribute__ ((always_inline)) internal_function acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { @@ -1107,7 +1100,7 @@ acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, FL_LONGEST_MATCH means we want the POSIX longest matching. If P_MATCH_FIRST is not NULL, and the match fails, it is set to the next place where we may want to try matching. - Note that the matcher assume that the maching starts from the current + Note that the matcher assumes that the matching starts from the current index of the buffer. */ static Idx @@ -1176,11 +1169,12 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match, re_dfastate_t *old_state = cur_state; Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1; - if (BE (next_char_idx >= mctx->input.bufs_len, 0) + if ((BE (next_char_idx >= mctx->input.bufs_len, 0) + && mctx->input.bufs_len < mctx->input.len) || (BE (next_char_idx >= mctx->input.valid_len, 0) && mctx->input.valid_len < mctx->input.len)) { - err = extend_buffers (mctx); + err = extend_buffers (mctx, next_char_idx + 1); if (BE (err != REG_NOERROR, 0)) { assert (err == REG_ESPACE); @@ -1437,7 +1431,7 @@ internal_function __attribute_warn_unused_result__ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) { - const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer; + const re_dfa_t *dfa = preg->buffer; Idx idx, cur_node; re_node_set eps_via_nodes; struct re_fail_stack_t *fs; @@ -1609,21 +1603,21 @@ update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, and sift the nodes in each states according to the following rules. Updated state_log will be wrote to STATE_LOG. - Rules: We throw away the Node `a' in the STATE_LOG[STR_IDX] if... + Rules: We throw away the Node 'a' in the STATE_LOG[STR_IDX] if... 1. When STR_IDX == MATCH_LAST(the last index in the state_log): - If `a' isn't the LAST_NODE and `a' can't epsilon transit to - the LAST_NODE, we throw away the node `a'. - 2. When 0 <= STR_IDX < MATCH_LAST and `a' accepts - string `s' and transit to `b': + If 'a' isn't the LAST_NODE and 'a' can't epsilon transit to + the LAST_NODE, we throw away the node 'a'. + 2. When 0 <= STR_IDX < MATCH_LAST and 'a' accepts + string 's' and transit to 'b': i. If 'b' isn't in the STATE_LOG[STR_IDX+strlen('s')], we throw - away the node `a'. + away the node 'a'. ii. If 'b' is in the STATE_LOG[STR_IDX+strlen('s')] but 'b' is - thrown away, we throw away the node `a'. + thrown away, we throw away the node 'a'. 3. When 0 <= STR_IDX < MATCH_LAST and 'a' epsilon transit to 'b': i. If 'b' isn't in the STATE_LOG[STR_IDX], we throw away the - node `a'. + node 'a'. ii. If 'b' is in the STATE_LOG[STR_IDX] but 'b' is thrown away, - we throw away the node `a'. */ + we throw away the node 'a'. */ #define STATE_NODE_CONTAINS(state,node) \ ((state) != NULL && re_node_set_contains (&(state)->nodes, node)) @@ -1696,11 +1690,11 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx i; /* Then build the next sifted state. - We build the next sifted state on `cur_dest', and update - `sifted_states[str_idx]' with `cur_dest'. + We build the next sifted state on 'cur_dest', and update + 'sifted_states[str_idx]' with 'cur_dest'. Note: - `cur_dest' is the sifted state from `state_log[str_idx + 1]'. - `cur_src' points the node_set of the old `state_log[str_idx]' + 'cur_dest' is the sifted state from 'state_log[str_idx + 1]'. + 'cur_src' points the node_set of the old 'state_log[str_idx]' (with the epsilon nodes pre-filtered out). */ for (i = 0; i < cur_src->nelem; i++) { @@ -1713,7 +1707,7 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N - /* If the node may accept `multi byte'. */ + /* If the node may accept "multi byte". */ if (dfa->nodes[prev_node].accept_mb) naccepted = sift_states_iter_mb (mctx, sctx, prev_node, str_idx, sctx->last_str_idx); @@ -1754,12 +1748,13 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) { Idx top = mctx->state_log_top; - if (next_state_log_idx >= mctx->input.bufs_len + if ((next_state_log_idx >= mctx->input.bufs_len + && mctx->input.bufs_len < mctx->input.len) || (next_state_log_idx >= mctx->input.valid_len && mctx->input.valid_len < mctx->input.len)) { reg_errcode_t err; - err = extend_buffers (mctx); + err = extend_buffers (mctx, next_state_log_idx + 1); if (BE (err != REG_NOERROR, 0)) return err; } @@ -2269,17 +2264,17 @@ sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, { const re_dfa_t *const dfa = mctx->dfa; int naccepted; - /* Check the node can accept `multi byte'. */ + /* Check the node can accept "multi byte". */ naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx); if (naccepted > 0 && str_idx + naccepted <= max_str_idx && !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted], dfa->nexts[node_idx])) - /* The node can't accept the `multi byte', or the + /* The node can't accept the "multi byte", or the destination was already thrown away, then the node - could't accept the current input `multi byte'. */ + could't accept the current input "multi byte". */ naccepted = 0; /* Otherwise, it is sure that the node could accept - `naccepted' bytes input. */ + 'naccepted' bytes input. */ return naccepted; } #endif /* RE_ENABLE_I18N */ @@ -2458,7 +2453,7 @@ find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) /* From the node set CUR_NODES, pick up the nodes whose types are OP_OPEN_SUBEXP and which have corresponding back references in the regular expression. And register them to use them later for evaluating the - correspoding back references. */ + corresponding back references. */ static reg_errcode_t internal_function @@ -2569,7 +2564,7 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) if (naccepted == 0) continue; - /* The node can accepts `naccepted' bytes. */ + /* The node can accepts 'naccepted' bytes. */ dest_idx = re_string_cur_idx (&mctx->input) + naccepted; mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted : mctx->max_mb_elem_len); @@ -2621,7 +2616,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) const re_token_t *node = dfa->nodes + node_idx; re_node_set *new_dest_nodes; - /* Check whether `node' is a backreference or not. */ + /* Check whether 'node' is a backreference or not. */ if (node->type != OP_BACK_REF) continue; @@ -2633,14 +2628,14 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) continue; } - /* `node' is a backreference. + /* 'node' is a backreference. Check the substring which the substring matched. */ bkc_idx = mctx->nbkref_ents; err = get_subexp (mctx, node_idx, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; - /* And add the epsilon closures (which is `new_dest_nodes') of + /* And add the epsilon closures (which is 'new_dest_nodes') of the backreference to appropriate state_log. */ #ifdef DEBUG assert (dfa->nexts[node_idx] != REG_MISSING); @@ -2664,7 +2659,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) dest_state = mctx->state_log[dest_str_idx]; prev_nelem = ((mctx->state_log[cur_str_idx] == NULL) ? 0 : mctx->state_log[cur_str_idx]->nodes.nelem); - /* Add `new_dest_node' to state_log. */ + /* Add 'new_dest_node' to state_log. */ if (dest_state == NULL) { mctx->state_log[dest_str_idx] @@ -2816,7 +2811,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) if (bkref_str_off >= mctx->input.len) break; - err = extend_buffers (mctx); + err = extend_buffers (mctx, bkref_str_off + 1); if (BE (err != REG_NOERROR, 0)) return err; @@ -2938,9 +2933,12 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, { re_dfastate_t **new_array; Idx old_alloc = path->alloc; - Idx new_alloc = old_alloc + last_str + mctx->max_mb_elem_len + 1; - if (BE (new_alloc < old_alloc, 0) - || BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0)) + Idx incr_alloc = last_str + mctx->max_mb_elem_len + 1; + Idx new_alloc; + if (BE (IDX_MAX - old_alloc < incr_alloc, 0)) + return REG_ESPACE; + new_alloc = old_alloc + incr_alloc; + if (BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0)) return REG_ESPACE; new_array = re_realloc (path->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) @@ -3103,7 +3101,7 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N - /* If the node may accept `multi byte'. */ + /* If the node may accept "multi byte". */ if (dfa->nodes[cur_node].accept_mb) { naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input, @@ -3360,7 +3358,7 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) bitset_word_t elem, mask; bool dests_node_malloced = false; bool dest_states_malloced = false; - Idx ndests; /* Number of the destination states from `state'. */ + Idx ndests; /* Number of the destination states from 'state'. */ re_dfastate_t **trtable; re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl; re_node_set follows, *dests_node; @@ -3374,8 +3372,8 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) } *dests_alloc; /* We build DFA states which corresponds to the destination nodes - from `state'. `dests_node[i]' represents the nodes which i-th - destination state contains, and `dests_ch[i]' represents the + from 'state'. 'dests_node[i]' represents the nodes which i-th + destination state contains, and 'dests_ch[i]' represents the characters which i-th destination state accepts. */ if (__libc_use_alloca (sizeof (struct dests_alloc))) dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc)); @@ -3389,16 +3387,17 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) dests_node = dests_alloc->dests_node; dests_ch = dests_alloc->dests_ch; - /* Initialize transiton table. */ + /* Initialize transition table. */ state->word_trtable = state->trtable = NULL; - /* At first, group all nodes belonging to `state' into several + /* At first, group all nodes belonging to 'state' into several destinations. */ ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0)) { if (dests_node_malloced) free (dests_alloc); + /* Return false in case of an error, true otherwise. */ if (ndests == 0) { state->trtable = (re_dfastate_t **) @@ -3594,13 +3593,13 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, reg_errcode_t err; bool ok; Idx i, j, k; - Idx ndests; /* Number of the destinations from `state'. */ + Idx ndests; /* Number of the destinations from 'state'. */ bitset_t accepts; /* Characters a node can accept. */ const re_node_set *cur_nodes = &state->nodes; bitset_empty (accepts); ndests = 0; - /* For all the nodes belonging to `state', */ + /* For all the nodes belonging to 'state', */ for (i = 0; i < cur_nodes->nelem; ++i) { re_token_t *node = &dfa->nodes[cur_nodes->elems[i]]; @@ -3643,7 +3642,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, else continue; - /* Check the `accepts' and sift the characters which are not + /* Check the 'accepts' and sift the characters which are not match it the context. */ if (constraint) { @@ -3702,7 +3701,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, } } - /* Then divide `accepts' into DFA states, or create a new + /* Then divide 'accepts' into DFA states, or create a new state. Above, we make sure that accepts is not empty. */ for (j = 0; j < ndests; ++j) { @@ -3715,7 +3714,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, if (type == CHARACTER && !bitset_contain (dests_ch[j], node->opr.c)) continue; - /* Enumerate the intersection set of this state and `accepts'. */ + /* Enumerate the intersection set of this state and 'accepts'. */ has_intersec = 0; for (k = 0; k < BITSET_WORDS; ++k) has_intersec |= intersec[k] = accepts[k] & dests_ch[j][k]; @@ -3723,7 +3722,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, if (!has_intersec) continue; - /* Then check if this state is a subset of `accepts'. */ + /* Then check if this state is a subset of 'accepts'. */ not_subset = not_consumed = 0; for (k = 0; k < BITSET_WORDS; ++k) { @@ -3731,8 +3730,8 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, not_consumed |= accepts[k] = accepts[k] & ~dests_ch[j][k]; } - /* If this state isn't a subset of `accepts', create a - new group state, which has the `remains'. */ + /* If this state isn't a subset of 'accepts', create a + new group state, which has the 'remains'. */ if (not_subset) { bitset_copy (dests_ch[ndests], remains); @@ -3771,7 +3770,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, } #ifdef RE_ENABLE_I18N -/* Check how many bytes the node `dfa->nodes[node_idx]' accepts. +/* Check how many bytes the node 'dfa->nodes[node_idx]' accepts. Return the number of the bytes the node accepts. STR_IDX is the current index of the input string. @@ -3898,7 +3897,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const int32_t *table, *indirect; const unsigned char *weights, *extra; const char *collseqwc; - int32_t idx; /* This #include defines a local function! */ # include @@ -3936,6 +3934,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, in_collseq = find_collation_sequence_value (pin, elem_len); } /* match with range expression? */ + /* FIXME: Implement rational ranges here, too. */ for (i = 0; i < cset->nranges; ++i) if (cset->range_starts[i] <= in_collseq && in_collseq <= cset->range_ends[i]) @@ -3956,7 +3955,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); - int32_t idx = findidx (&cp); + int32_t idx = findidx (&cp, elem_len); if (idx > 0) for (i = 0; i < cset->nequiv_classes; ++i) { @@ -3987,18 +3986,9 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, # endif /* _LIBC */ { /* match with range expression? */ -#if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && __STRICT_ANSI__) - wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; -#else - wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; - cmp_buf[2] = wc; -#endif for (i = 0; i < cset->nranges; ++i) { - cmp_buf[0] = cset->range_starts[i]; - cmp_buf[4] = cset->range_ends[i]; - if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 - && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) + if (cset->range_starts[i] <= wc && wc <= cset->range_ends[i]) { match_len = char_len; goto check_node_accept_bytes_match; @@ -4068,7 +4058,7 @@ find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) /* Skip the collation sequence value. */ idx += sizeof (uint32_t); /* Skip the wide char sequence of the collating element. */ - idx = idx + sizeof (uint32_t) * (extra[idx] + 1); + idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1); /* If we found the entry, return the sequence value. */ if (found) return *(uint32_t *) (extra + idx); @@ -4136,17 +4126,20 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node, static reg_errcode_t internal_function __attribute_warn_unused_result__ -extend_buffers (re_match_context_t *mctx) +extend_buffers (re_match_context_t *mctx, int min_len) { reg_errcode_t ret; re_string_t *pstr = &mctx->input; /* Avoid overflow. */ - if (BE (SIZE_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0)) + if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2 + <= pstr->bufs_len, 0)) return REG_ESPACE; - /* Double the lengthes of the buffers. */ - ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); + /* Double the lengths of the buffers, but allocate at least MIN_LEN. */ + ret = re_string_realloc_buffers (pstr, + MAX (min_len, + MIN (pstr->len, pstr->bufs_len * 2))); if (BE (ret != REG_NOERROR, 0)) return ret; @@ -4209,7 +4202,7 @@ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n) size_t max_object_size = MAX (sizeof (struct re_backref_cache_entry), sizeof (re_sub_match_top_t *)); - if (BE (SIZE_MAX / max_object_size < n, 0)) + if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n, 0)) return REG_ESPACE; mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n); diff --git a/gnu/rename.c b/gnu/rename.c index 7eccde54..067a5ac6 100644 --- a/gnu/rename.c +++ b/gnu/rename.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around rename bugs in some systems. - Copyright (C) 2001-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2006, 2009-2013 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 diff --git a/gnu/renameat.c b/gnu/renameat.c index 3e242b28..47e8f75b 100644 --- a/gnu/renameat.c +++ b/gnu/renameat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Rename a file relative to open directories. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/rewinddir.c b/gnu/rewinddir.c new file mode 100644 index 00000000..62fa8745 --- /dev/null +++ b/gnu/rewinddir.c @@ -0,0 +1,51 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Restart reading the entries of a directory from the beginning. + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#include + +#include "dirent-private.h" + +void +rewinddir (DIR *dirp) +{ + /* Like in closedir(). */ + if (dirp->current != INVALID_HANDLE_VALUE) + FindClose (dirp->current); + + /* Like in opendir(). */ + dirp->status = -1; + dirp->current = FindFirstFile (dirp->dir_name_mask, &dirp->entry); + if (dirp->current == INVALID_HANDLE_VALUE) + { + switch (GetLastError ()) + { + case ERROR_FILE_NOT_FOUND: + dirp->status = -2; + break; + default: + /* Save the error code for the next readdir() call. */ + dirp->status = ENOENT; + break; + } + } +} diff --git a/gnu/rmdir.c b/gnu/rmdir.c index b4aa6357..8a1c71d4 100644 --- a/gnu/rmdir.c +++ b/gnu/rmdir.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around rmdir bugs. - Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2011 Free Software + Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/root-uid.h b/gnu/root-uid.h new file mode 100644 index 00000000..f7fef504 --- /dev/null +++ b/gnu/root-uid.h @@ -0,0 +1,32 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* The user ID that always has appropriate privileges in the POSIX sense. + + Copyright 2012-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert. */ + +#ifndef ROOT_UID_H_ +#define ROOT_UID_H_ + +/* The user ID that always has appropriate privileges in the POSIX sense. */ +#ifdef __TANDEM +# define ROOT_UID 65535 +#else +# define ROOT_UID 0 +#endif + +#endif diff --git a/gnu/rpmatch.c b/gnu/rpmatch.c index 80dde7c5..0eddb55e 100644 --- a/gnu/rpmatch.c +++ b/gnu/rpmatch.c @@ -3,7 +3,7 @@ /* Determine whether string value is affirmation or negative response according to current locale's data. - Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2011 Free Software + Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -112,7 +112,10 @@ try (const char *response, const char *pattern, char **lastp, regex_t *re) return -1; /* Compile the pattern and cache it for future runs. */ if (regcomp (re, safe_pattern, REG_EXTENDED) != 0) - return -1; + { + free (safe_pattern); + return -1; + } *lastp = safe_pattern; } diff --git a/gnu/safe-read.c b/gnu/safe-read.c index b30a3dea..4170f7e1 100644 --- a/gnu/safe-read.c +++ b/gnu/safe-read.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to read and write that retries after interrupts. - Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2011 Free Software + Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/safe-read.h b/gnu/safe-read.h index 6f3a75a3..227105fc 100644 --- a/gnu/safe-read.h +++ b/gnu/safe-read.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to read() that retries after interrupts. - Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2009-2013 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 @@ -16,6 +16,19 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +/* Some system calls may be interrupted and fail with errno = EINTR in the + following situations: + - The process is stopped and restarted (signal SIGSTOP and SIGCONT, user + types Ctrl-Z) on some platforms: Mac OS X. + - The process receives a signal for which a signal handler was installed + with sigaction() with an sa_flags field that does not contain + SA_RESTART. + - The process receives a signal for which a signal handler was installed + with signal() and for which no call to siginterrupt(sig,0) was done, + on some platforms: AIX, HP-UX, IRIX, OSF/1, Solaris. + + This module provides a wrapper around read() that handles EINTR. */ + #include #ifdef __cplusplus diff --git a/gnu/safe-write.c b/gnu/safe-write.c index b1c8b073..0e39b08a 100644 --- a/gnu/safe-write.c +++ b/gnu/safe-write.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to write that retries after interrupts. - Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2013 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 diff --git a/gnu/safe-write.h b/gnu/safe-write.h index 3d76c1af..cf7b2504 100644 --- a/gnu/safe-write.h +++ b/gnu/safe-write.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* An interface to write() that retries after interrupts. - Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2002, 2009-2013 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 @@ -16,6 +16,19 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +/* Some system calls may be interrupted and fail with errno = EINTR in the + following situations: + - The process is stopped and restarted (signal SIGSTOP and SIGCONT, user + types Ctrl-Z) on some platforms: Mac OS X. + - The process receives a signal for which a signal handler was installed + with sigaction() with an sa_flags field that does not contain + SA_RESTART. + - The process receives a signal for which a signal handler was installed + with signal() and for which no call to siginterrupt(sig,0) was done, + on some platforms: AIX, HP-UX, IRIX, OSF/1, Solaris. + + This module provides a wrapper around write() that handles EINTR. */ + #include #define SAFE_WRITE_ERROR ((size_t) -1) diff --git a/gnu/same-inode.h b/gnu/same-inode.h index 34645b91..743affc6 100644 --- a/gnu/same-inode.h +++ b/gnu/same-inode.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine whether two stat buffers refer to the same file. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,8 +20,16 @@ #ifndef SAME_INODE_H # define SAME_INODE_H 1 -# define SAME_INODE(Stat_buf_1, Stat_buf_2) \ - ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ - && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) +# ifdef __VMS +# define SAME_INODE(a, b) \ + ((a).st_ino[0] == (b).st_ino[0] \ + && (a).st_ino[1] == (b).st_ino[1] \ + && (a).st_ino[2] == (b).st_ino[2] \ + && (a).st_dev == (b).st_dev) +# else +# define SAME_INODE(a, b) \ + ((a).st_ino == (b).st_ino \ + && (a).st_dev == (b).st_dev) +# endif #endif diff --git a/gnu/save-cwd.c b/gnu/save-cwd.c index 603426ac..dccea7e4 100644 --- a/gnu/save-cwd.c +++ b/gnu/save-cwd.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* save-cwd.c -- Save and restore current working directory. - Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2011 Free Software + Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -49,10 +49,11 @@ closed; return non-zero -- in that case, free_cwd need not be called, but doing so is ok. Otherwise, return zero. - The `raison d'etre' for this interface is that the working directory + The _raison d'etre_ for this interface is that the working directory is sometimes inaccessible, and getcwd is not robust or as efficient. So, we prefer to use the open/fchdir approach, but fall back on - getcwd if necessary. + getcwd if necessary. This module works for most cases with just + the getcwd-lgpl module, but to be truly robust, use the getcwd module. Some systems lack fchdir altogether: e.g., OS/2, pre-2001 Cygwin, SCO Xenix. Also, SunOS 4 and Irix 5.3 provide the function, yet it diff --git a/gnu/save-cwd.h b/gnu/save-cwd.h index 2f2e4bb6..65c803cd 100644 --- a/gnu/save-cwd.h +++ b/gnu/save-cwd.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Save and restore current working directory. - Copyright (C) 1995, 1997-1998, 2003, 2009-2011 Free Software Foundation, + Copyright (C) 1995, 1997-1998, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/savedir.c b/gnu/savedir.c index ada0bdfb..25bf8089 100644 --- a/gnu/savedir.c +++ b/gnu/savedir.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* savedir.c -- save the list of files in a directory in a string - Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2011 Free Software + Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -107,7 +107,7 @@ streamsavedir (DIR *dirp) return name_space; } -/* Like savedirstreamp (DIRP), except also close DIRP. */ +/* Like streamsavedir (DIRP), except also close DIRP. */ static char * savedirstream (DIR *dirp) diff --git a/gnu/savedir.h b/gnu/savedir.h index d0f5707f..e7d23360 100644 --- a/gnu/savedir.h +++ b/gnu/savedir.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Save the list of files in a directory in a string. - Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2011 Free Software + Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/se-context.c b/gnu/se-context.c new file mode 100644 index 00000000..7ef4d972 --- /dev/null +++ b/gnu/se-context.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define SE_CONTEXT_INLINE _GL_EXTERN_INLINE +#include diff --git a/gnu/se-context.in.h b/gnu/se-context.in.h new file mode 100644 index 00000000..f2b2cc0e --- /dev/null +++ b/gnu/se-context.in.h @@ -0,0 +1,37 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#ifndef SELINUX_CONTEXT_H +# define SELINUX_CONTEXT_H + +# include + +_GL_INLINE_HEADER_BEGIN +#ifndef SE_CONTEXT_INLINE +# define SE_CONTEXT_INLINE _GL_INLINE +#endif + +/* The definition of _GL_UNUSED_PARAMETER is copied here. */ + +typedef int context_t; +SE_CONTEXT_INLINE context_t context_new (char const *s _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return 0; } +SE_CONTEXT_INLINE char *context_str (context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return (void *) 0; } +SE_CONTEXT_INLINE void context_free (context_t c _GL_UNUSED_PARAMETER) {} + +SE_CONTEXT_INLINE int context_user_set (context_t sc _GL_UNUSED_PARAMETER, + char const *s _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_CONTEXT_INLINE int context_role_set (context_t sc _GL_UNUSED_PARAMETER, + char const *s _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_CONTEXT_INLINE int context_range_set (context_t sc _GL_UNUSED_PARAMETER, + char const *s _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_CONTEXT_INLINE int context_type_set (context_t sc _GL_UNUSED_PARAMETER, + char const *s _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } + +_GL_INLINE_HEADER_END + +#endif diff --git a/gnu/se-selinux.c b/gnu/se-selinux.c new file mode 100644 index 00000000..bdf696b3 --- /dev/null +++ b/gnu/se-selinux.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define SE_SELINUX_INLINE _GL_EXTERN_INLINE +#include diff --git a/gnu/se-selinux.in.h b/gnu/se-selinux.in.h new file mode 100644 index 00000000..7af2c141 --- /dev/null +++ b/gnu/se-selinux.in.h @@ -0,0 +1,116 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Replacement for platforms that lack it. + Copyright (C) 2008-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _@GUARD_PREFIX@_SELINUX_SELINUX_H +# define _@GUARD_PREFIX@_SELINUX_SELINUX_H + +# if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +# endif +@PRAGMA_COLUMNS@ + +# if HAVE_SELINUX_SELINUX_H + +#@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@ + +# else + +# include +# include + +_GL_INLINE_HEADER_BEGIN +# ifndef SE_SELINUX_INLINE +# define SE_SELINUX_INLINE _GL_INLINE +# endif + +/* The definition of _GL_UNUSED_PARAMETER is copied here. */ + +# if !GNULIB_defined_security_types + +typedef unsigned short security_class_t; +# define security_context_t char* +# define is_selinux_enabled() 0 + +SE_SELINUX_INLINE int +getcon (security_context_t *con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE void +freecon (security_context_t con _GL_UNUSED_PARAMETER) {} + +SE_SELINUX_INLINE int +getfscreatecon (security_context_t *con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +setfscreatecon (security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +matchpathcon (char const *file _GL_UNUSED_PARAMETER, + mode_t m _GL_UNUSED_PARAMETER, + security_context_t *con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +getfilecon (char const *file _GL_UNUSED_PARAMETER, + security_context_t *con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +lgetfilecon (char const *file _GL_UNUSED_PARAMETER, + security_context_t *con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +fgetfilecon (int fd, security_context_t *con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +setfilecon (char const *file _GL_UNUSED_PARAMETER, + security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +lsetfilecon (char const *file _GL_UNUSED_PARAMETER, + security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +fsetfilecon (int fd _GL_UNUSED_PARAMETER, + security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } + +SE_SELINUX_INLINE int +security_check_context (security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +security_check_context_raw (security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +setexeccon (security_context_t con _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +security_compute_create (security_context_t scon _GL_UNUSED_PARAMETER, + security_context_t tcon _GL_UNUSED_PARAMETER, + security_class_t tclass _GL_UNUSED_PARAMETER, + security_context_t *newcon _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } +SE_SELINUX_INLINE int +matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER, + char const *prefix _GL_UNUSED_PARAMETER) + { errno = ENOTSUP; return -1; } + +# define GNULIB_defined_security_types 1 +# endif + +_GL_INLINE_HEADER_BEGIN + +# endif +#endif /* _@GUARD_PREFIX@_SELINUX_SELINUX_H */ diff --git a/gnu/secure_getenv.c b/gnu/secure_getenv.c new file mode 100644 index 00000000..ce314155 --- /dev/null +++ b/gnu/secure_getenv.c @@ -0,0 +1,43 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Look up an environment variable more securely. + + Copyright 2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include + +#if !HAVE___SECURE_GETENV +# if HAVE_ISSETUGID +# include +# else +# undef issetugid +# define issetugid() 1 +# endif +#endif + +char * +secure_getenv (char const *name) +{ +#if HAVE___SECURE_GETENV + return __secure_getenv (name); +#else + if (issetugid ()) + return 0; + return getenv (name); +#endif +} diff --git a/gnu/selinux-at.c b/gnu/selinux-at.c new file mode 100644 index 00000000..34471fa0 --- /dev/null +++ b/gnu/selinux-at.c @@ -0,0 +1,74 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* openat-style fd-relative functions for SE Linux + Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* written by Jim Meyering */ + +#include + +#include "selinux-at.h" +#include "openat.h" + +#include +#include +#include +#include + +#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ +#include "save-cwd.h" + +#include "openat-priv.h" + +#define AT_FUNC_NAME getfileconat +#define AT_FUNC_F1 getfilecon +#define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t *con +#define AT_FUNC_POST_FILE_ARGS , con +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +#define AT_FUNC_NAME lgetfileconat +#define AT_FUNC_F1 lgetfilecon +#define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t *con +#define AT_FUNC_POST_FILE_ARGS , con +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +#define AT_FUNC_NAME setfileconat +#define AT_FUNC_F1 setfilecon +#define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t con +#define AT_FUNC_POST_FILE_ARGS , con +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +#define AT_FUNC_NAME lsetfileconat +#define AT_FUNC_F1 lsetfilecon +#define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t con +#define AT_FUNC_POST_FILE_ARGS , con +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS diff --git a/gnu/selinux-at.h b/gnu/selinux-at.h new file mode 100644 index 00000000..cadd1553 --- /dev/null +++ b/gnu/selinux-at.h @@ -0,0 +1,54 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Prototypes for openat-style fd-relative SELinux functions + Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include +#include + +/* These are the dir-fd-relative variants of the functions without the + "at" suffix. For example, getfileconat (AT_FDCWD, file, &c) is usually + equivalent to getfilecon (file, &c). The emulation is accomplished + by first attempting getfilecon ("/proc/self/fd/DIR_FD/FILE", &c). + Failing that, simulate it via save_cwd/fchdir/getfilecon/restore_cwd. + If either the save_cwd or the restore_cwd fails (relatively unlikely), + then give a diagnostic and exit nonzero. */ + +/* dir-fd-relative getfilecon. Set *CON to the SELinux security context + of the file specified by DIR_FD and FILE and return the length of *CON. + DIR_FD and FILE are interpreted as for fstatat[*]. A non-NULL *CON + must be freed with freecon. Upon error, set *CON to NULL, set errno + and return -1. + [*] with flags=0 here, with flags=AT_SYMLINK_NOFOLLOW for lgetfileconat */ +int getfileconat (int dir_fd, char const *file, security_context_t *con); + +/* dir-fd-relative lgetfilecon. This function is just like getfileconat, + except when DIR_FD and FILE specify a symlink: lgetfileconat operates on + the symlink, while getfileconat operates on the referent of the symlink. */ +int lgetfileconat (int dir_fd, char const *file, security_context_t *con); + +/* dir-fd-relative setfilecon. Set the SELinux security context of + the file specified by DIR_FD and FILE to CON. DIR_FD and FILE are + interpreted as for fstatat[*]. Upon success, return 0. + Otherwise, return -1 and set errno. */ +int setfileconat (int dir_fd, char const *file, security_context_t con); + +/* dir-fd-relative lsetfilecon. This function is just like setfileconat, + except that rather than dereferencing a symlink, this function affects it. */ +/* dir-fd-relative lsetfilecon. This function is just like setfileconat, + except when DIR_FD and FILE specify a symlink: lsetfileconat operates on + the symlink, while setfileconat operates on the referent of the symlink. */ +int lsetfileconat (int dir_fd, char const *file, security_context_t con); diff --git a/gnu/set-acl.c b/gnu/set-acl.c new file mode 100644 index 00000000..371e0dfe --- /dev/null +++ b/gnu/set-acl.c @@ -0,0 +1,50 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* set-acl.c - set access control list equivalent to a mode + + Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by Paul Eggert and Andreas Gruenbacher, and Bruno Haible. */ + +#include + +#include "acl.h" + +#include + +#include "quote.h" +#include "error.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) + + +/* Set the access control lists of a file. If DESC is a valid file + descriptor, use file descriptor operations where available, else use + filename based operations on NAME. If access control lists are not + available, fchmod the target file to MODE. Also sets the + non-permission bits of the destination file (S_ISUID, S_ISGID, S_ISVTX) + to those from MODE if any are set. + Return 0 if successful. On failure, output a diagnostic, set errno and + return -1. */ + +int +set_acl (char const *name, int desc, mode_t mode) +{ + int ret = qset_acl (name, desc, mode); + if (ret != 0) + error (0, errno, _("setting permissions for %s"), quote (name)); + return ret; +} diff --git a/gnu/setenv.c b/gnu/setenv.c index a130b26c..59f00bcc 100644 --- a/gnu/setenv.c +++ b/gnu/setenv.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1992, 1995-2003, 2005-2011 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2003, 2005-2013 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 @@ -17,12 +17,13 @@ along with this program. If not, see . */ #if !_LIBC -# include -#endif - /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ -#define _GL_ARG_NONNULL(params) +# define _GL_ARG_NONNULL(params) + +# define _GL_USE_STDLIB_ALLOC 1 +# include +#endif #include @@ -50,7 +51,7 @@ #endif #if _LIBC -/* This lock protects against simultaneous modifications of `environ'. */ +/* This lock protects against simultaneous modifications of 'environ'. */ # include __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) @@ -66,10 +67,6 @@ __libc_lock_define_initialized (static, envlock) # define clearenv __clearenv # define tfind __tfind # define tsearch __tsearch -#else -/* Use the system functions, not the gnulib overrides in this file. */ -# undef malloc -# undef realloc #endif /* In the GNU C library implementation we try to be more clever and @@ -108,11 +105,11 @@ static void *known_values; static char **last_environ; -/* This function is used by `setenv' and `putenv'. The difference between +/* This function is used by 'setenv' and 'putenv'. The difference between the two functions is that for the former must create a new string which - is then placed in the environment, while the argument of `putenv' + is then placed in the environment, while the argument of 'putenv' must be used directly. This is all complicated by the fact that we try - to reuse values once generated for a `setenv' call since we can never + to reuse values once generated for a 'setenv' call since we can never free the strings. */ int __add_to_environ (const char *name, const char *value, const char *combined, @@ -304,7 +301,7 @@ setenv (const char *name, const char *value, int replace) return __add_to_environ (name, value, NULL, replace); } -/* The `clearenv' was planned to be added to POSIX.1 but probably +/* The 'clearenv' was planned to be added to POSIX.1 but probably never made it. Nevertheless the POSIX.9 standard (POSIX bindings for Fortran 77) requires this function. */ int @@ -355,6 +352,9 @@ weak_alias (__clearenv, clearenv) #if HAVE_SETENV # undef setenv +# if !HAVE_DECL_SETENV +extern int setenv (const char *, const char *, int); +# endif # define STREQ(a, b) (strcmp (a, b) == 0) int diff --git a/gnu/signal.in.h b/gnu/signal.in.h new file mode 100644 index 00000000..87f7471b --- /dev/null +++ b/gnu/signal.in.h @@ -0,0 +1,449 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* A GNU-like . + + Copyright (C) 2006-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#if defined __need_sig_atomic_t || defined __need_sigset_t || defined _GL_ALREADY_INCLUDING_SIGNAL_H || (defined _SIGNAL_H && !defined __SIZEOF_PTHREAD_MUTEX_T) +/* Special invocation convention: + - Inside glibc header files. + - On glibc systems we have a sequence of nested includes + -> -> . + In this situation, the functions are not yet declared, therefore we cannot + provide the C++ aliases. + - On glibc systems with GCC 4.3 we have a sequence of nested includes + -> -> -> . + In this situation, some of the functions are not yet declared, therefore + we cannot provide the C++ aliases. */ + +# @INCLUDE_NEXT@ @NEXT_SIGNAL_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _@GUARD_PREFIX@_SIGNAL_H + +#define _GL_ALREADY_INCLUDING_SIGNAL_H + +/* Define pid_t, uid_t. + Also, mingw defines sigset_t not in , but in . + On Solaris 10, includes , which eventually includes + us; so include now, before the second inclusion guard. */ +#include + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_SIGNAL_H@ + +#undef _GL_ALREADY_INCLUDING_SIGNAL_H + +#ifndef _@GUARD_PREFIX@_SIGNAL_H +#define _@GUARD_PREFIX@_SIGNAL_H + +/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare + pthread_sigmask in , not in . + But avoid namespace pollution on glibc systems.*/ +#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ + && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ || defined __sun) \ + && ! defined __GLIBC__ +# include +#endif + +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + +/* The definition of _GL_ARG_NONNULL is copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ + +/* On AIX, sig_atomic_t already includes volatile. C99 requires that + 'volatile sig_atomic_t' ignore the extra modifier, but C89 did not. + Hence, redefine this to a non-volatile type as needed. */ +#if ! @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ +# if !GNULIB_defined_sig_atomic_t +typedef int rpl_sig_atomic_t; +# undef sig_atomic_t +# define sig_atomic_t rpl_sig_atomic_t +# define GNULIB_defined_sig_atomic_t 1 +# endif +#endif + +/* A set or mask of signals. */ +#if !@HAVE_SIGSET_T@ +# if !GNULIB_defined_sigset_t +typedef unsigned int sigset_t; +# define GNULIB_defined_sigset_t 1 +# endif +#endif + +/* Define sighandler_t, the type of signal handlers. A GNU extension. */ +#if !@HAVE_SIGHANDLER_T@ +# ifdef __cplusplus +extern "C" { +# endif +# if !GNULIB_defined_sighandler_t +typedef void (*sighandler_t) (int); +# define GNULIB_defined_sighandler_t 1 +# endif +# ifdef __cplusplus +} +# endif +#endif + + +#if @GNULIB_SIGNAL_H_SIGPIPE@ +# ifndef SIGPIPE +/* Define SIGPIPE to a value that does not overlap with other signals. */ +# define SIGPIPE 13 +# define GNULIB_defined_SIGPIPE 1 +/* To actually use SIGPIPE, you also need the gnulib modules 'sigprocmask', + 'write', 'stdio'. */ +# endif +#endif + + +/* Maximum signal number + 1. */ +#ifndef NSIG +# if defined __TANDEM +# define NSIG 32 +# endif +#endif + + +#if @GNULIB_PTHREAD_SIGMASK@ +# if @REPLACE_PTHREAD_SIGMASK@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef pthread_sigmask +# define pthread_sigmask rpl_pthread_sigmask +# endif +_GL_FUNCDECL_RPL (pthread_sigmask, int, + (int how, const sigset_t *new_mask, sigset_t *old_mask)); +_GL_CXXALIAS_RPL (pthread_sigmask, int, + (int how, const sigset_t *new_mask, sigset_t *old_mask)); +# else +# if !@HAVE_PTHREAD_SIGMASK@ +_GL_FUNCDECL_SYS (pthread_sigmask, int, + (int how, const sigset_t *new_mask, sigset_t *old_mask)); +# endif +_GL_CXXALIAS_SYS (pthread_sigmask, int, + (int how, const sigset_t *new_mask, sigset_t *old_mask)); +# endif +_GL_CXXALIASWARN (pthread_sigmask); +#elif defined GNULIB_POSIXCHECK +# undef pthread_sigmask +# if HAVE_RAW_DECL_PTHREAD_SIGMASK +_GL_WARN_ON_USE (pthread_sigmask, "pthread_sigmask is not portable - " + "use gnulib module pthread_sigmask for portability"); +# endif +#endif + + +#if @GNULIB_RAISE@ +# if @REPLACE_RAISE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef raise +# define raise rpl_raise +# endif +_GL_FUNCDECL_RPL (raise, int, (int sig)); +_GL_CXXALIAS_RPL (raise, int, (int sig)); +# else +# if !@HAVE_RAISE@ +_GL_FUNCDECL_SYS (raise, int, (int sig)); +# endif +_GL_CXXALIAS_SYS (raise, int, (int sig)); +# endif +_GL_CXXALIASWARN (raise); +#elif defined GNULIB_POSIXCHECK +# undef raise +/* Assume raise is always declared. */ +_GL_WARN_ON_USE (raise, "raise can crash on native Windows - " + "use gnulib module raise for portability"); +#endif + + +#if @GNULIB_SIGPROCMASK@ +# if !@HAVE_POSIX_SIGNALBLOCKING@ + +# ifndef GNULIB_defined_signal_blocking +# define GNULIB_defined_signal_blocking 1 +# endif + +/* Maximum signal number + 1. */ +# ifndef NSIG +# define NSIG 32 +# endif + +/* This code supports only 32 signals. */ +# if !GNULIB_defined_verify_NSIG_constraint +typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1]; +# define GNULIB_defined_verify_NSIG_constraint 1 +# endif + +# endif + +/* Test whether a given signal is contained in a signal set. */ +# if @HAVE_POSIX_SIGNALBLOCKING@ +/* This function is defined as a macro on Mac OS X. */ +# if defined __cplusplus && defined GNULIB_NAMESPACE +# undef sigismember +# endif +# else +_GL_FUNCDECL_SYS (sigismember, int, (const sigset_t *set, int sig) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (sigismember, int, (const sigset_t *set, int sig)); +_GL_CXXALIASWARN (sigismember); + +/* Initialize a signal set to the empty set. */ +# if @HAVE_POSIX_SIGNALBLOCKING@ +/* This function is defined as a macro on Mac OS X. */ +# if defined __cplusplus && defined GNULIB_NAMESPACE +# undef sigemptyset +# endif +# else +_GL_FUNCDECL_SYS (sigemptyset, int, (sigset_t *set) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (sigemptyset, int, (sigset_t *set)); +_GL_CXXALIASWARN (sigemptyset); + +/* Add a signal to a signal set. */ +# if @HAVE_POSIX_SIGNALBLOCKING@ +/* This function is defined as a macro on Mac OS X. */ +# if defined __cplusplus && defined GNULIB_NAMESPACE +# undef sigaddset +# endif +# else +_GL_FUNCDECL_SYS (sigaddset, int, (sigset_t *set, int sig) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (sigaddset, int, (sigset_t *set, int sig)); +_GL_CXXALIASWARN (sigaddset); + +/* Remove a signal from a signal set. */ +# if @HAVE_POSIX_SIGNALBLOCKING@ +/* This function is defined as a macro on Mac OS X. */ +# if defined __cplusplus && defined GNULIB_NAMESPACE +# undef sigdelset +# endif +# else +_GL_FUNCDECL_SYS (sigdelset, int, (sigset_t *set, int sig) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (sigdelset, int, (sigset_t *set, int sig)); +_GL_CXXALIASWARN (sigdelset); + +/* Fill a signal set with all possible signals. */ +# if @HAVE_POSIX_SIGNALBLOCKING@ +/* This function is defined as a macro on Mac OS X. */ +# if defined __cplusplus && defined GNULIB_NAMESPACE +# undef sigfillset +# endif +# else +_GL_FUNCDECL_SYS (sigfillset, int, (sigset_t *set) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (sigfillset, int, (sigset_t *set)); +_GL_CXXALIASWARN (sigfillset); + +/* Return the set of those blocked signals that are pending. */ +# if !@HAVE_POSIX_SIGNALBLOCKING@ +_GL_FUNCDECL_SYS (sigpending, int, (sigset_t *set) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (sigpending, int, (sigset_t *set)); +_GL_CXXALIASWARN (sigpending); + +/* If OLD_SET is not NULL, put the current set of blocked signals in *OLD_SET. + Then, if SET is not NULL, affect the current set of blocked signals by + combining it with *SET as indicated in OPERATION. + In this implementation, you are not allowed to change a signal handler + while the signal is blocked. */ +# if !@HAVE_POSIX_SIGNALBLOCKING@ +# define SIG_BLOCK 0 /* blocked_set = blocked_set | *set; */ +# define SIG_SETMASK 1 /* blocked_set = *set; */ +# define SIG_UNBLOCK 2 /* blocked_set = blocked_set & ~*set; */ +_GL_FUNCDECL_SYS (sigprocmask, int, + (int operation, const sigset_t *set, sigset_t *old_set)); +# endif +_GL_CXXALIAS_SYS (sigprocmask, int, + (int operation, const sigset_t *set, sigset_t *old_set)); +_GL_CXXALIASWARN (sigprocmask); + +/* Install the handler FUNC for signal SIG, and return the previous + handler. */ +# ifdef __cplusplus +extern "C" { +# endif +# if !GNULIB_defined_function_taking_int_returning_void_t +typedef void (*_gl_function_taking_int_returning_void_t) (int); +# define GNULIB_defined_function_taking_int_returning_void_t 1 +# endif +# ifdef __cplusplus +} +# endif +# if !@HAVE_POSIX_SIGNALBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define signal rpl_signal +# endif +_GL_FUNCDECL_RPL (signal, _gl_function_taking_int_returning_void_t, + (int sig, _gl_function_taking_int_returning_void_t func)); +_GL_CXXALIAS_RPL (signal, _gl_function_taking_int_returning_void_t, + (int sig, _gl_function_taking_int_returning_void_t func)); +# else +_GL_CXXALIAS_SYS (signal, _gl_function_taking_int_returning_void_t, + (int sig, _gl_function_taking_int_returning_void_t func)); +# endif +_GL_CXXALIASWARN (signal); + +# if !@HAVE_POSIX_SIGNALBLOCKING@ && GNULIB_defined_SIGPIPE +/* Raise signal SIGPIPE. */ +_GL_EXTERN_C int _gl_raise_SIGPIPE (void); +# endif + +#elif defined GNULIB_POSIXCHECK +# undef sigaddset +# if HAVE_RAW_DECL_SIGADDSET +_GL_WARN_ON_USE (sigaddset, "sigaddset is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +# undef sigdelset +# if HAVE_RAW_DECL_SIGDELSET +_GL_WARN_ON_USE (sigdelset, "sigdelset is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +# undef sigemptyset +# if HAVE_RAW_DECL_SIGEMPTYSET +_GL_WARN_ON_USE (sigemptyset, "sigemptyset is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +# undef sigfillset +# if HAVE_RAW_DECL_SIGFILLSET +_GL_WARN_ON_USE (sigfillset, "sigfillset is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +# undef sigismember +# if HAVE_RAW_DECL_SIGISMEMBER +_GL_WARN_ON_USE (sigismember, "sigismember is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +# undef sigpending +# if HAVE_RAW_DECL_SIGPENDING +_GL_WARN_ON_USE (sigpending, "sigpending is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +# undef sigprocmask +# if HAVE_RAW_DECL_SIGPROCMASK +_GL_WARN_ON_USE (sigprocmask, "sigprocmask is unportable - " + "use the gnulib module sigprocmask for portability"); +# endif +#endif /* @GNULIB_SIGPROCMASK@ */ + + +#if @GNULIB_SIGACTION@ +# if !@HAVE_SIGACTION@ + +# if !@HAVE_SIGINFO_T@ + +# if !GNULIB_defined_siginfo_types + +/* Present to allow compilation, but unsupported by gnulib. */ +union sigval +{ + int sival_int; + void *sival_ptr; +}; + +/* Present to allow compilation, but unsupported by gnulib. */ +struct siginfo_t +{ + int si_signo; + int si_code; + int si_errno; + pid_t si_pid; + uid_t si_uid; + void *si_addr; + int si_status; + long si_band; + union sigval si_value; +}; +typedef struct siginfo_t siginfo_t; + +# define GNULIB_defined_siginfo_types 1 +# endif + +# endif /* !@HAVE_SIGINFO_T@ */ + +/* We assume that platforms which lack the sigaction() function also lack + the 'struct sigaction' type, and vice versa. */ + +# if !GNULIB_defined_struct_sigaction + +struct sigaction +{ + union + { + void (*_sa_handler) (int); + /* Present to allow compilation, but unsupported by gnulib. POSIX + says that implementations may, but not must, make sa_sigaction + overlap with sa_handler, but we know of no implementation where + they do not overlap. */ + void (*_sa_sigaction) (int, siginfo_t *, void *); + } _sa_func; + sigset_t sa_mask; + /* Not all POSIX flags are supported. */ + int sa_flags; +}; +# define sa_handler _sa_func._sa_handler +# define sa_sigaction _sa_func._sa_sigaction +/* Unsupported flags are not present. */ +# define SA_RESETHAND 1 +# define SA_NODEFER 2 +# define SA_RESTART 4 + +# define GNULIB_defined_struct_sigaction 1 +# endif + +_GL_FUNCDECL_SYS (sigaction, int, (int, const struct sigaction *restrict, + struct sigaction *restrict)); + +# elif !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@ + +# define sa_sigaction sa_handler + +# endif /* !@HAVE_SIGACTION@, !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@ */ + +_GL_CXXALIAS_SYS (sigaction, int, (int, const struct sigaction *restrict, + struct sigaction *restrict)); +_GL_CXXALIASWARN (sigaction); + +#elif defined GNULIB_POSIXCHECK +# undef sigaction +# if HAVE_RAW_DECL_SIGACTION +_GL_WARN_ON_USE (sigaction, "sigaction is unportable - " + "use the gnulib module sigaction for portability"); +# endif +#endif + +/* Some systems don't have SA_NODEFER. */ +#ifndef SA_NODEFER +# define SA_NODEFER 0 +#endif + + +#endif /* _@GUARD_PREFIX@_SIGNAL_H */ +#endif /* _@GUARD_PREFIX@_SIGNAL_H */ +#endif diff --git a/gnu/size_max.h b/gnu/size_max.h index fdefb824..ba79e9ab 100644 --- a/gnu/size_max.h +++ b/gnu/size_max.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* size_max.h -- declare SIZE_MAX through system headers - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #ifndef GNULIB_SIZE_MAX_H #define GNULIB_SIZE_MAX_H diff --git a/gnu/sleep.c b/gnu/sleep.c index 305e02d0..51f2d54d 100644 --- a/gnu/sleep.c +++ b/gnu/sleep.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Pausing execution of the current thread. - Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify @@ -37,7 +37,7 @@ sleep (unsigned int seconds) unsigned int remaining; /* Sleep for 1 second many times, because - 1. Sleep is not interruptiple by Ctrl-C, + 1. Sleep is not interruptible by Ctrl-C, 2. we want to avoid arithmetic overflow while multiplying with 1000. */ for (remaining = seconds; remaining > 0; remaining--) Sleep (1000); diff --git a/gnu/snprintf.c b/gnu/snprintf.c index 885880f0..db7904a3 100644 --- a/gnu/snprintf.c +++ b/gnu/snprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc. Written by Simon Josefsson and Paul Eggert. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #include diff --git a/gnu/stat-time.c b/gnu/stat-time.c new file mode 100644 index 00000000..45a4079d --- /dev/null +++ b/gnu/stat-time.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE +#include "stat-time.h" diff --git a/gnu/stat-time.h b/gnu/stat-time.h index 1dc4098f..5aa66212 100644 --- a/gnu/stat-time.h +++ b/gnu/stat-time.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* stat-related time functions. - Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,11 @@ #include #include +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_STAT_TIME_INLINE +# define _GL_STAT_TIME_INLINE _GL_INLINE +#endif + /* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type struct timespec, if available. If not, then STAT_TIMESPEC_NS (ST, ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST, @@ -48,7 +53,7 @@ #endif /* Return the nanosecond component of *ST's access time. */ -static inline long int +_GL_STAT_TIME_INLINE long int get_stat_atime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -61,7 +66,7 @@ get_stat_atime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's status change time. */ -static inline long int +_GL_STAT_TIME_INLINE long int get_stat_ctime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -74,7 +79,7 @@ get_stat_ctime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's data modification time. */ -static inline long int +_GL_STAT_TIME_INLINE long int get_stat_mtime_ns (struct stat const *st) { # if defined STAT_TIMESPEC @@ -87,7 +92,7 @@ get_stat_mtime_ns (struct stat const *st) } /* Return the nanosecond component of *ST's birth time. */ -static inline long int +_GL_STAT_TIME_INLINE long int get_stat_birthtime_ns (struct stat const *st) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC @@ -102,7 +107,7 @@ get_stat_birthtime_ns (struct stat const *st) } /* Return *ST's access time. */ -static inline struct timespec +_GL_STAT_TIME_INLINE struct timespec get_stat_atime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -116,7 +121,7 @@ get_stat_atime (struct stat const *st) } /* Return *ST's status change time. */ -static inline struct timespec +_GL_STAT_TIME_INLINE struct timespec get_stat_ctime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -130,7 +135,7 @@ get_stat_ctime (struct stat const *st) } /* Return *ST's data modification time. */ -static inline struct timespec +_GL_STAT_TIME_INLINE struct timespec get_stat_mtime (struct stat const *st) { #ifdef STAT_TIMESPEC @@ -144,8 +149,8 @@ get_stat_mtime (struct stat const *st) } /* Return *ST's birth time, if available; otherwise return a value - with negative tv_nsec. */ -static inline struct timespec + with tv_sec and tv_nsec both equal to -1. */ +_GL_STAT_TIME_INLINE struct timespec get_stat_birthtime (struct stat const *st) { struct timespec t; @@ -157,13 +162,13 @@ get_stat_birthtime (struct stat const *st) t.tv_sec = st->st_birthtime; t.tv_nsec = st->st_birthtimensec; #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - /* Woe32 native platforms (but not Cygwin) put the "file creation + /* Native Windows platforms (but not Cygwin) put the "file creation time" in st_ctime (!). See . */ t.tv_sec = st->st_ctime; t.tv_nsec = 0; #else - /* Birth time is not supported. Set tv_sec to avoid undefined behavior. */ + /* Birth time is not supported. */ t.tv_sec = -1; t.tv_nsec = -1; /* Avoid a "parameter unused" warning. */ @@ -177,13 +182,17 @@ get_stat_birthtime (struct stat const *st) using zero. Attempt to work around this problem. Alas, this can report failure even for valid time stamps. Also, NetBSD sometimes returns junk in the birth time fields; work around this - bug if it it is detected. There's no need to detect negative - tv_nsec junk as negative tv_nsec already indicates an error. */ - if (t.tv_sec == 0 || 1000000000 <= t.tv_nsec) - t.tv_nsec = -1; + bug if it is detected. */ + if (! (t.tv_sec && 0 <= t.tv_nsec && t.tv_nsec < 1000000000)) + { + t.tv_sec = -1; + t.tv_nsec = -1; + } #endif return t; } +_GL_INLINE_HEADER_END + #endif diff --git a/gnu/stat.c b/gnu/stat.c index 65835741..128a9bfe 100644 --- a/gnu/stat.c +++ b/gnu/stat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around platform bugs in stat. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 @@ -18,28 +18,59 @@ /* written by Eric Blake */ +/* If the user's config.h happens to include , let it include only + the system's here, so that orig_stat doesn't recurse to + rpl_stat. */ +#define __need_system_sys_stat_h #include /* Get the original definition of stat. It might be defined as a macro. */ -#define __need_system_sys_stat_h #include #include #undef __need_system_sys_stat_h -static inline int +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if _GL_WINDOWS_64_BIT_ST_SIZE +# undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */ +# define stat _stati64 +# define REPLACE_FUNC_STAT_DIR 1 +# undef REPLACE_FUNC_STAT_FILE +# elif REPLACE_FUNC_STAT_FILE +/* mingw64 has a broken stat() function, based on _stat(), in libmingwex.a. + Bypass it. */ +# define stat _stat +# define REPLACE_FUNC_STAT_DIR 1 +# undef REPLACE_FUNC_STAT_FILE +# endif +#endif + +static int orig_stat (const char *filename, struct stat *buf) { return stat (filename, buf); } /* Specification. */ -#include +/* Write "sys/stat.h" here, not , otherwise OSF/1 5.1 DTK cc + eliminates this include because of the preliminary #include + above. */ +#include "sys/stat.h" #include #include #include #include #include "dosname.h" +#include "verify.h" + +#if REPLACE_FUNC_STAT_DIR +# include "pathmax.h" + /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also + have a constant PATH_MAX. */ +# ifndef PATH_MAX +# error "Please port this replacement to your platform" +# endif +#endif /* Store information about NAME into ST. Work around bugs with trailing slashes. Mingw has other bugs (such as st_ino always @@ -65,6 +96,7 @@ rpl_stat (char const *name, struct stat *st) } #endif /* REPLACE_FUNC_STAT_FILE */ #if REPLACE_FUNC_STAT_DIR + if (result == -1 && errno == ENOENT) { /* Due to mingw's oddities, there are some directories (like @@ -79,6 +111,7 @@ rpl_stat (char const *name, struct stat *st) char fixed_name[PATH_MAX + 1] = {0}; size_t len = strlen (name); bool check_dir = false; + verify (PATH_MAX <= 4096); if (PATH_MAX <= len) errno = ENAMETOOLONG; else if (len) diff --git a/gnu/statat.c b/gnu/statat.c new file mode 100644 index 00000000..556a9dca --- /dev/null +++ b/gnu/statat.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define STATAT_INLINE _GL_EXTERN_INLINE +#include "openat.h" diff --git a/gnu/stdalign.in.h b/gnu/stdalign.in.h new file mode 100644 index 00000000..7256ede9 --- /dev/null +++ b/gnu/stdalign.in.h @@ -0,0 +1,92 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* A substitute for ISO C11 . + + Copyright 2011-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +/* Written by Paul Eggert and Bruno Haible. */ + +#ifndef _GL_STDALIGN_H +#define _GL_STDALIGN_H + +/* ISO C11 for platforms that lack it. + + References: + ISO C11 (latest free draft + ) + sections 6.5.3.4, 6.7.5, 7.15. + C++11 (latest free draft + ) + section 18.10. */ + +/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment + requirement of a structure member (i.e., slot or field) that is of + type TYPE, as an integer constant expression. + + This differs from GCC's __alignof__ operator, which can yield a + better-performing alignment for an object of that type. For + example, on x86 with GCC, __alignof__ (double) and __alignof__ + (long long) are 8, whereas alignof (double) and alignof (long long) + are 4 unless the option '-malign-double' is used. + + The result cannot be used as a value for an 'enum' constant, if you + want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ +#include +#if defined __cplusplus + template struct __alignof_helper { char __a; __t __b; }; +# define _Alignof(type) offsetof (__alignof_helper, __b) +#else +# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) +#endif +#define alignof _Alignof +#define __alignof_is_defined 1 + +/* alignas (A), also known as _Alignas (A), aligns a variable or type + to the alignment A, where A is an integer constant expression. For + example: + + int alignas (8) foo; + struct s { int a; int alignas (8) bar; }; + + aligns the address of FOO and the offset of BAR to be multiples of 8. + + A should be a power of two that is at least the type's alignment + and at most the implementation's alignment limit. This limit is + 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable + to MSVC through at least version 10.0, A should be an integer + constant, as MSVC does not support expressions such as 1 << 3. + To be portable to Sun C 5.11, do not align auto variables to + anything stricter than their default alignment. + + The following C11 requirements are not supported here: + + - If A is zero, alignas has no effect. + - alignas can be used multiple times; the strictest one wins. + - alignas (TYPE) is equivalent to alignas (alignof (TYPE)). + + */ + +#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C +# define _Alignas(a) __attribute__ ((__aligned__ (a))) +#elif 1300 <= _MSC_VER +# define _Alignas(a) __declspec (align (a)) +#endif +#ifdef _Alignas +# define alignas _Alignas +# define __alignas_is_defined 1 +#endif + +#endif /* _GL_STDALIGN_H */ diff --git a/gnu/stdarg.in.h b/gnu/stdarg.in.h index 080bb8e9..e2428398 100644 --- a/gnu/stdarg.in.h +++ b/gnu/stdarg.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 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 @@ -14,10 +14,9 @@ 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. */ + along with this program; if not, see . */ -#ifndef _GL_STDARG_H +#ifndef _@GUARD_PREFIX@_STDARG_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -27,12 +26,12 @@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDARG_H@ -#ifndef _GL_STDARG_H -#define _GL_STDARG_H +#ifndef _@GUARD_PREFIX@_STDARG_H +#define _@GUARD_PREFIX@_STDARG_H #ifndef va_copy # define va_copy(a,b) ((a) = (b)) #endif -#endif /* _GL_STDARG_H */ -#endif /* _GL_STDARG_H */ +#endif /* _@GUARD_PREFIX@_STDARG_H */ +#endif /* _@GUARD_PREFIX@_STDARG_H */ diff --git a/gnu/stdbool.in.h b/gnu/stdbool.in.h index 27a15169..d8958018 100644 --- a/gnu/stdbool.in.h +++ b/gnu/stdbool.in.h @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2001-2003, 2006-2011 Free Software Foundation, Inc. +/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software; you can redistribute it and/or modify @@ -14,8 +14,7 @@ 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. */ + along with this program; if not, see . */ #ifndef _GL_STDBOOL_H #define _GL_STDBOOL_H @@ -69,24 +68,19 @@ # undef true #endif -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false = 0, true = 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) +#ifdef __cplusplus +# define _Bool bool +# define bool bool +#else +# if defined __BEOS__ && !defined __HAIKU__ /* A compiler known to have 'bool'. */ /* If the compiler already has both 'bool' and '_Bool', we can assume they are the same types. */ -# if !@HAVE__BOOL@ +# if !@HAVE__BOOL@ typedef bool _Bool; -# endif -#else -# if !defined __GNUC__ +# endif +# else +# if !defined __GNUC__ /* If @HAVE__BOOL@: Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when the built-in _Bool type is used. See @@ -106,19 +100,35 @@ typedef bool _Bool; "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. The only benefit of the enum, debuggability, is not important with these compilers. So use 'signed char' and no enum. */ -# define _Bool signed char -# else +# define _Bool signed char +# else /* With this compiler, trust the _Bool type if the compiler has it. */ -# if !@HAVE__BOOL@ +# if !@HAVE__BOOL@ + /* For the sake of symbolic names in gdb, define true and false as + enum constants, not only as macros. + It is tempting to write + typedef enum { false = 0, true = 1 } _Bool; + so that gdb prints values of type 'bool' symbolically. But then + values of type '_Bool' might promote to 'int' or 'unsigned int' + (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' + (see ISO C 99 6.3.1.1.(2)). So add a negative value to the + enum; this ensures that '_Bool' promotes to 'int'. */ typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; +# endif # endif # endif +# define bool _Bool #endif -#define bool _Bool /* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 +#ifdef __cplusplus +# define false false +# define true true +#else +# define false 0 +# define true 1 +#endif + #define __bool_true_false_are_defined 1 #endif /* _GL_STDBOOL_H */ diff --git a/gnu/stddef.in.h b/gnu/stddef.in.h index 2e204220..9706a9c2 100644 --- a/gnu/stddef.in.h +++ b/gnu/stddef.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for POSIX 2008 , for platforms that have issues. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ /* Written by Eric Blake. */ @@ -40,9 +39,9 @@ remember if special invocation has ever been used to obtain wint_t, in which case we need to clean up NULL yet again. */ -# if !(defined _GL_STDDEF_H && defined _GL_STDDEF_WINT_T) +# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T) # ifdef __need_wint_t -# undef _GL_STDDEF_H +# undef _@GUARD_PREFIX@_STDDEF_H # define _GL_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ @@ -51,14 +50,14 @@ #else /* Normal invocation convention. */ -# ifndef _GL_STDDEF_H +# ifndef _@GUARD_PREFIX@_STDDEF_H /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ -# ifndef _GL_STDDEF_H -# define _GL_STDDEF_H +# ifndef _@GUARD_PREFIX@_STDDEF_H +# define _@GUARD_PREFIX@_STDDEF_H /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ #if @REPLACE_NULL@ @@ -84,6 +83,6 @@ # define wchar_t int #endif -# endif /* _GL_STDDEF_H */ -# endif /* _GL_STDDEF_H */ +# endif /* _@GUARD_PREFIX@_STDDEF_H */ +# endif /* _@GUARD_PREFIX@_STDDEF_H */ #endif /* __need_XXX */ diff --git a/gnu/stdint.in.h b/gnu/stdint.in.h index 4e5af698..6604936b 100644 --- a/gnu/stdint.in.h +++ b/gnu/stdint.in.h @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc. +/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. @@ -15,15 +15,14 @@ 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. */ + along with this program; if not, see . */ /* * ISO C 99 for platforms that lack it. * */ -#ifndef _GL_STDINT_H +#ifndef _@GUARD_PREFIX@_STDINT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -36,6 +35,16 @@ . */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H +/* On Android (Bionic libc), includes this file before + having defined 'time_t'. Therefore in this case avoid including + other system header files; just include the system's . + Ideally we should test __BIONIC__ here, but it is only defined after + has been included; hence test __ANDROID__ instead. */ +#if defined __ANDROID__ \ + && defined _SYS_TYPES_H_ && !defined __need_size_t +# @INCLUDE_NEXT@ @NEXT_STDINT_H@ +#else + /* Get those types that are already defined in other system include files, so that we can "#define int8_t signed char" below without worrying about a later system include file containing a "typedef @@ -51,28 +60,40 @@ diagnostics. */ # define __STDINT_H__ # endif + + /* Some pre-C++11 implementations need this. */ +# ifdef __cplusplus +# ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS 1 +# endif +# ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS 1 +# endif +# endif + /* Other systems may have an incomplete or buggy . Include it before , since any "#include " in would reinclude us, skipping our contents because - _GL_STDINT_H is defined. + _@GUARD_PREFIX@_STDINT_H is defined. The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDINT_H@ #endif -#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H -#define _GL_STDINT_H +#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H +#define _@GUARD_PREFIX@_STDINT_H /* defines some of the stdint.h types as well, on glibc, IRIX 6.5, and OpenBSD 3.8 (via ). AIX 5.2 isn't needed and causes troubles. - MacOS X 10.4.6 includes (which is us), but + Mac OS X 10.4.6 includes (which is us), but relies on the system definitions, so include after @NEXT_STDINT_H@. */ #if @HAVE_SYS_TYPES_H@ && ! defined _AIX # include #endif -/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ +/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, + LONG_MIN, LONG_MAX, ULONG_MAX. */ #include #if @HAVE_INTTYPES_H@ @@ -95,7 +116,7 @@ #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H -/* Minimum and maximum values for a integer type under the usual assumption. +/* Minimum and maximum values for an integer type under the usual assumption. Return an unspecified value if BITS == 0, adding a check to pacify picky compilers. */ @@ -228,8 +249,9 @@ typedef unsigned long long int gl_uint64_t; /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types - are taken from the same list of types. Assume that 'long int' - is fast enough for all narrower integers. */ + are taken from the same list of types. The following code normally + uses types consistent with glibc, as that lessens the chance of + incompatibility with older GNU hosts. */ #undef int_fast8_t #undef uint_fast8_t @@ -239,12 +261,21 @@ typedef unsigned long long int gl_uint64_t; #undef uint_fast32_t #undef int_fast64_t #undef uint_fast64_t -typedef long int gl_int_fast8_t; -typedef unsigned long int gl_uint_fast8_t; -typedef long int gl_int_fast16_t; -typedef unsigned long int gl_uint_fast16_t; +typedef signed char gl_int_fast8_t; +typedef unsigned char gl_uint_fast8_t; + +#ifdef __sun +/* Define types compatible with SunOS 5.10, so that code compiled under + earlier SunOS versions works with code compiled under SunOS 5.10. */ +typedef int gl_int_fast32_t; +typedef unsigned int gl_uint_fast32_t; +#else typedef long int gl_int_fast32_t; typedef unsigned long int gl_uint_fast32_t; +#endif +typedef gl_int_fast32_t gl_int_fast16_t; +typedef gl_uint_fast32_t gl_uint_fast16_t; + #define int_fast8_t gl_int_fast8_t #define uint_fast8_t gl_uint_fast8_t #define int_fast16_t gl_int_fast16_t @@ -272,26 +303,36 @@ typedef unsigned long int gl_uintptr_t; /* Note: These types are compiler dependent. It may be unwise to use them in public header files. */ -#undef intmax_t -#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +/* If the system defines INTMAX_MAX, assume that intmax_t works, and + similarly for UINTMAX_MAX and uintmax_t. This avoids problems with + assuming one type where another is used by the system. */ + +#ifndef INTMAX_MAX +# undef INTMAX_C +# undef intmax_t +# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 typedef long long int gl_intmax_t; -# define intmax_t gl_intmax_t -#elif defined GL_INT64_T -# define intmax_t int64_t -#else +# define intmax_t gl_intmax_t +# elif defined GL_INT64_T +# define intmax_t int64_t +# else typedef long int gl_intmax_t; -# define intmax_t gl_intmax_t +# define intmax_t gl_intmax_t +# endif #endif -#undef uintmax_t -#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +#ifndef UINTMAX_MAX +# undef UINTMAX_C +# undef uintmax_t +# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 typedef unsigned long long int gl_uintmax_t; -# define uintmax_t gl_uintmax_t -#elif defined GL_UINT64_T -# define uintmax_t uint64_t -#else +# define uintmax_t gl_uintmax_t +# elif defined GL_UINT64_T +# define uintmax_t uint64_t +# else typedef unsigned long int gl_uintmax_t; -# define uintmax_t gl_uintmax_t +# define uintmax_t gl_uintmax_t +# endif #endif /* Verify that intmax_t and uintmax_t have the same size. Too much code @@ -305,8 +346,6 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) /* 7.18.2. Limits of specified-width integer types */ -#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS - /* 7.18.2.1. Limits of exact-width integer types */ /* Here we assume a standard architecture where the hardware integer @@ -392,23 +431,29 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) #undef INT_FAST8_MIN #undef INT_FAST8_MAX #undef UINT_FAST8_MAX -#define INT_FAST8_MIN LONG_MIN -#define INT_FAST8_MAX LONG_MAX -#define UINT_FAST8_MAX ULONG_MAX +#define INT_FAST8_MIN SCHAR_MIN +#define INT_FAST8_MAX SCHAR_MAX +#define UINT_FAST8_MAX UCHAR_MAX #undef INT_FAST16_MIN #undef INT_FAST16_MAX #undef UINT_FAST16_MAX -#define INT_FAST16_MIN LONG_MIN -#define INT_FAST16_MAX LONG_MAX -#define UINT_FAST16_MAX ULONG_MAX +#define INT_FAST16_MIN INT_FAST32_MIN +#define INT_FAST16_MAX INT_FAST32_MAX +#define UINT_FAST16_MAX UINT_FAST32_MAX #undef INT_FAST32_MIN #undef INT_FAST32_MAX #undef UINT_FAST32_MAX -#define INT_FAST32_MIN LONG_MIN -#define INT_FAST32_MAX LONG_MAX -#define UINT_FAST32_MAX ULONG_MAX +#ifdef __sun +# define INT_FAST32_MIN INT_MIN +# define INT_FAST32_MAX INT_MAX +# define UINT_FAST32_MAX UINT_MAX +#else +# define INT_FAST32_MIN LONG_MIN +# define INT_FAST32_MAX LONG_MAX +# define UINT_FAST32_MAX ULONG_MAX +#endif #undef INT_FAST64_MIN #undef INT_FAST64_MAX @@ -433,21 +478,23 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) /* 7.18.2.5. Limits of greatest-width integer types */ -#undef INTMAX_MIN -#undef INTMAX_MAX -#ifdef INT64_MAX -# define INTMAX_MIN INT64_MIN -# define INTMAX_MAX INT64_MAX -#else -# define INTMAX_MIN INT32_MIN -# define INTMAX_MAX INT32_MAX +#ifndef INTMAX_MAX +# undef INTMAX_MIN +# ifdef INT64_MAX +# define INTMAX_MIN INT64_MIN +# define INTMAX_MAX INT64_MAX +# else +# define INTMAX_MIN INT32_MIN +# define INTMAX_MAX INT32_MAX +# endif #endif -#undef UINTMAX_MAX -#ifdef UINT64_MAX -# define UINTMAX_MAX UINT64_MAX -#else -# define UINTMAX_MAX UINT32_MAX +#ifndef UINTMAX_MAX +# ifdef UINT64_MAX +# define UINTMAX_MAX UINT64_MAX +# else +# define UINTMAX_MAX UINT32_MAX +# endif #endif /* 7.18.3. Limits of other integer types */ @@ -524,12 +571,8 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) #define WINT_MAX \ _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) -#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ - /* 7.18.4. Macros for integer constants */ -#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS - /* 7.18.4.1. Macros for minimum-width integer constants */ /* According to ISO C 99 Technical Corrigendum 1 */ @@ -570,25 +613,26 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) /* 7.18.4.2. Macros for greatest-width integer constants */ -#undef INTMAX_C -#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 -# define INTMAX_C(x) x##LL -#elif defined GL_INT64_T -# define INTMAX_C(x) INT64_C(x) -#else -# define INTMAX_C(x) x##L +#ifndef INTMAX_C +# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# define INTMAX_C(x) x##LL +# elif defined GL_INT64_T +# define INTMAX_C(x) INT64_C(x) +# else +# define INTMAX_C(x) x##L +# endif #endif -#undef UINTMAX_C -#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 -# define UINTMAX_C(x) x##ULL -#elif defined GL_UINT64_T -# define UINTMAX_C(x) UINT64_C(x) -#else -# define UINTMAX_C(x) x##UL +#ifndef UINTMAX_C +# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# define UINTMAX_C(x) x##ULL +# elif defined GL_UINT64_T +# define UINTMAX_C(x) UINT64_C(x) +# else +# define UINTMAX_C(x) x##UL +# endif #endif -#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ - -#endif /* _GL_STDINT_H */ -#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ +#endif /* _@GUARD_PREFIX@_STDINT_H */ +#endif /* !(defined __ANDROID__ && ...) */ +#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ diff --git a/gnu/stdio-impl.h b/gnu/stdio-impl.h index c64553c7..fd916d83 100644 --- a/gnu/stdio-impl.h +++ b/gnu/stdio-impl.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Implementation details of FILE streams. - Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,7 +28,9 @@ # include #endif -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ +#include /* For detecting Plan9. */ + +#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __DragonFly__ /* DragonFly */ /* See . */ @@ -66,7 +68,7 @@ /* More fields, not relevant here. */ }; # define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub -# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, MacOS X, Cygwin */ +# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */ # define fp_ub fp_->_ub # endif diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h index 465a9c9f..61790042 100644 --- a/gnu/stdio.in.h +++ b/gnu/stdio.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -37,7 +36,7 @@ #else /* Normal invocation convention. */ -#ifndef _GL_STDIO_H +#ifndef _@GUARD_PREFIX@_STDIO_H #define _GL_ALREADY_INCLUDING_STDIO_H @@ -46,8 +45,8 @@ #undef _GL_ALREADY_INCLUDING_STDIO_H -#ifndef _GL_STDIO_H -#define _GL_STDIO_H +#ifndef _@GUARD_PREFIX@_STDIO_H +#define _@GUARD_PREFIX@_STDIO_H /* Get va_list. Needed on many systems, including glibc 2.8. */ #include @@ -55,7 +54,8 @@ #include /* Get off_t and ssize_t. Needed on many systems, including glibc 2.8 - and eglibc 2.11.2. */ + and eglibc 2.11.2. + May also define off_t to a 64-bit type on native Windows. */ #include /* The __attribute__ feature is available in gcc versions 2.5 and later. @@ -69,9 +69,45 @@ #else # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif -#define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ + +/* _GL_ATTRIBUTE_FORMAT_PRINTF + indicates to GCC that the function takes a format string and arguments, + where the format string directives are the ones standardized by ISO C99 + and POSIX. */ +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument)) +#else +# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) +#endif + +/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF, + except that it indicates to GCC that the supported format string directives + are the ones of the system printf(), rather than the ones standardized by + ISO C99 and POSIX. */ +#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) +/* _GL_ATTRIBUTE_FORMAT_SCANF + indicates to GCC that the function takes a format string and arguments, + where the format string directives are the ones standardized by ISO C99 + and POSIX. */ +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((__gnu_scanf__, formatstring_parameter, first_argument)) +#else +# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) +#endif + +/* _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_SCANF, + except that it indicates to GCC that the supported format string directives + are the ones of the system scanf(), rather than the ones standardized by + ISO C99 and POSIX. */ +#define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \ + _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) + /* Solaris 10 declares renameat in , not in . */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \ @@ -136,6 +172,26 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - " "use gnulib module fclose for portable POSIX compliance"); #endif +#if @GNULIB_FDOPEN@ +# if @REPLACE_FDOPEN@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fdopen +# define fdopen rpl_fdopen +# endif +_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); +# else +_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); +# endif +_GL_CXXALIASWARN (fdopen); +#elif defined GNULIB_POSIXCHECK +# undef fdopen +/* Assume fdopen is always declared. */ +_GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - " + "use gnulib module fdopen for portability"); +#endif + #if @GNULIB_FFLUSH@ /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. @@ -160,11 +216,34 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " "use gnulib module fflush for portable POSIX compliance"); #endif -/* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -#undef gets -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); +#if @GNULIB_FGETC@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fgetc +# define fgetc rpl_fgetc +# endif +_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (fgetc, int, (FILE *stream)); +# else +_GL_CXXALIAS_SYS (fgetc, int, (FILE *stream)); +# endif +_GL_CXXALIASWARN (fgetc); +#endif + +#if @GNULIB_FGETS@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fgets +# define fgets rpl_fgets +# endif +_GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream) + _GL_ARG_NONNULL ((1, 3))); +_GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream)); +# else +_GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream)); +# endif +_GL_CXXALIASWARN (fgets); +#endif #if @GNULIB_FOPEN@ # if @REPLACE_FOPEN@ @@ -182,20 +261,26 @@ _GL_CXXALIASWARN (fopen); #elif defined GNULIB_POSIXCHECK # undef fopen /* Assume fopen is always declared. */ -_GL_WARN_ON_USE (fopen, "fopen on Win32 platforms is not POSIX compatible - " +_GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - " "use gnulib module fopen for portability"); #endif #if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@ # if (@GNULIB_FPRINTF_POSIX@ && @REPLACE_FPRINTF@) \ - || (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) + || (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fprintf rpl_fprintf # endif # define GNULIB_overrides_fprintf 1 +# if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); +# else +_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3) + _GL_ARG_NONNULL ((1, 2))); +# endif _GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...)); # else _GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...)); @@ -241,7 +326,7 @@ _GL_WARN_ON_USE (fpurge, "fpurge is not always present - " #endif #if @GNULIB_FPUTC@ -# if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ +# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fputc # define fputc rpl_fputc @@ -255,7 +340,7 @@ _GL_CXXALIASWARN (fputc); #endif #if @GNULIB_FPUTS@ -# if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ +# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fputs # define fputs rpl_fputs @@ -269,6 +354,21 @@ _GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream)); _GL_CXXALIASWARN (fputs); #endif +#if @GNULIB_FREAD@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fread +# define fread rpl_fread +# endif +_GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream) + _GL_ARG_NONNULL ((4))); +_GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)); +# else +_GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)); +# endif +_GL_CXXALIASWARN (fread); +#endif + #if @GNULIB_FREOPEN@ # if @REPLACE_FREOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -289,10 +389,26 @@ _GL_CXXALIASWARN (freopen); # undef freopen /* Assume freopen is always declared. */ _GL_WARN_ON_USE (freopen, - "freopen on Win32 platforms is not POSIX compatible - " + "freopen on native Windows platforms is not POSIX compliant - " "use gnulib module freopen for portability"); #endif +#if @GNULIB_FSCANF@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fscanf +# define fscanf rpl_fscanf +# endif +_GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...) + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...)); +# else +_GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...)); +# endif +_GL_CXXALIASWARN (fscanf); +#endif + /* Set up the following warnings, based on which modules are in use. GNU Coding Standards discourage the use of fseek, since it imposes @@ -367,25 +483,6 @@ _GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence) _GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)); # endif _GL_CXXALIASWARN (fseeko); -# if (@REPLACE_FSEEKO@ || !@HAVE_FSEEKO@) && !@GNULIB_FSEEK@ - /* Provide an fseek function that is consistent with fseeko. */ - /* In order to avoid that fseek gets defined as a macro here, the - developer can request the 'fseek' module. */ -# if !GNULIB_defined_fseek_function -# undef fseek -# define fseek rpl_fseek -static inline int _GL_ARG_NONNULL ((1)) -rpl_fseek (FILE *fp, long offset, int whence) -{ -# if @REPLACE_FSEEKO@ - return rpl_fseeko (fp, offset, whence); -# else - return fseeko (fp, offset, whence); -# endif -} -# define GNULIB_defined_fseek_function 1 -# endif -# endif #elif defined GNULIB_POSIXCHECK # define _GL_FSEEK_WARN /* Category 1, above. */ # undef fseek @@ -445,25 +542,6 @@ _GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp)); # endif _GL_CXXALIASWARN (ftello); -# if (@REPLACE_FTELLO@ || !@HAVE_FTELLO@) && !@GNULIB_FTELL@ - /* Provide an ftell function that is consistent with ftello. */ - /* In order to avoid that ftell gets defined as a macro here, the - developer can request the 'ftell' module. */ -# if !GNULIB_defined_ftell_function -# undef ftell -# define ftell rpl_ftell -static inline long _GL_ARG_NONNULL ((1)) -rpl_ftell (FILE *f) -{ -# if @REPLACE_FTELLO@ - return rpl_ftello (f); -# else - return ftello (f); -# endif -} -# define GNULIB_defined_ftell_function 1 -# endif -# endif #elif defined GNULIB_POSIXCHECK # define _GL_FTELL_WARN /* Category 1, above. */ # undef ftell @@ -485,7 +563,7 @@ _GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than 4 GB " #if @GNULIB_FWRITE@ -# if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ +# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fwrite # define fwrite rpl_fwrite @@ -498,10 +576,61 @@ _GL_CXXALIAS_RPL (fwrite, size_t, # else _GL_CXXALIAS_SYS (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream)); + +/* Work around bug 11959 when fortifying glibc 2.4 through 2.15 + , + which sometimes causes an unwanted diagnostic for fwrite calls. + This affects only function declaration attributes under certain + versions of gcc and clang, and is not needed for C++. */ +# if (0 < __USE_FORTIFY_LEVEL \ + && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \ + && 3 < __GNUC__ + (4 <= __GNUC_MINOR__) \ + && !defined __cplusplus) +# undef fwrite +# undef fwrite_unlocked +extern size_t __REDIRECT (rpl_fwrite, + (const void *__restrict, size_t, size_t, + FILE *__restrict), + fwrite); +extern size_t __REDIRECT (rpl_fwrite_unlocked, + (const void *__restrict, size_t, size_t, + FILE *__restrict), + fwrite_unlocked); +# define fwrite rpl_fwrite +# define fwrite_unlocked rpl_fwrite_unlocked +# endif # endif _GL_CXXALIASWARN (fwrite); #endif +#if @GNULIB_GETC@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getc +# define getc rpl_fgetc +# endif +_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL_1 (getc, rpl_fgetc, int, (FILE *stream)); +# else +_GL_CXXALIAS_SYS (getc, int, (FILE *stream)); +# endif +_GL_CXXALIASWARN (getc); +#endif + +#if @GNULIB_GETCHAR@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getchar +# define getchar rpl_getchar +# endif +_GL_FUNCDECL_RPL (getchar, int, (void)); +_GL_CXXALIAS_RPL (getchar, int, (void)); +# else +_GL_CXXALIAS_SYS (getchar, int, (void)); +# endif +_GL_CXXALIASWARN (getchar); +#endif + #if @GNULIB_GETDELIM@ /* Read input, up to (and including) the next occurrence of DELIMITER, from STREAM, store it in *LINEPTR (and NUL-terminate it). @@ -578,6 +707,15 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " # endif #endif +/* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning; besides, C11 + removed it. */ +#undef gets +#if HAVE_RAW_DECL_GETS +_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); +#endif + + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ struct obstack; /* Grow an obstack with formatted output. Return the number of @@ -629,6 +767,20 @@ _GL_CXXALIAS_SYS (obstack_vprintf, int, _GL_CXXALIASWARN (obstack_vprintf); #endif +#if @GNULIB_PCLOSE@ +# if !@HAVE_PCLOSE@ +_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (pclose, int, (FILE *stream)); +_GL_CXXALIASWARN (pclose); +#elif defined GNULIB_POSIXCHECK +# undef pclose +# if HAVE_RAW_DECL_PCLOSE +_GL_WARN_ON_USE (pclose, "pclose is unportable - " + "use gnulib module pclose for more portability"); +# endif +#endif + #if @GNULIB_PERROR@ /* Print a message to standard error, describing the value of ERRNO, (if STRING is not NULL and not empty) prefixed with STRING and ": ", @@ -660,6 +812,10 @@ _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); # else +# if !@HAVE_POPEN@ +_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) + _GL_ARG_NONNULL ((1, 2))); +# endif _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); # endif _GL_CXXALIASWARN (popen); @@ -673,18 +829,27 @@ _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - " #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@ # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \ - || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) + || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if defined __GNUC__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ # endif +# if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL_1 (__printf__, int, (const char *format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2) _GL_ARG_NONNULL ((1))); +# else +_GL_FUNCDECL_RPL_1 (__printf__, int, + (const char *format, ...) + __asm__ (@ASM_SYMBOL_PREFIX@ + _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2) + _GL_ARG_NONNULL ((1))); +# endif _GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...)); # else # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -713,7 +878,7 @@ _GL_WARN_ON_USE (printf, "printf is not always POSIX compliant - " #endif #if @GNULIB_PUTC@ -# if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ +# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putc # define putc rpl_fputc @@ -727,7 +892,7 @@ _GL_CXXALIASWARN (putc); #endif #if @GNULIB_PUTCHAR@ -# if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ +# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putchar # define putchar rpl_putchar @@ -741,7 +906,7 @@ _GL_CXXALIASWARN (putchar); #endif #if @GNULIB_PUTS@ -# if @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@ +# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef puts # define puts rpl_puts @@ -825,6 +990,37 @@ _GL_WARN_ON_USE (renameat, "renameat is not portable - " # endif #endif +#if @GNULIB_SCANF@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if defined __GNUC__ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef scanf +/* Don't break __attribute__((format(scanf,M,N))). */ +# define scanf __scanf__ +# endif +_GL_FUNCDECL_RPL_1 (__scanf__, int, + (const char *format, ...) + __asm__ (@ASM_SYMBOL_PREFIX@ + _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf)) + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...)); +# else +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef scanf +# define scanf rpl_scanf +# endif +_GL_FUNCDECL_RPL (scanf, int, (const char *format, ...) + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (scanf, int, (const char *format, ...)); +# endif +# else +_GL_CXXALIAS_SYS (scanf, int, (const char *format, ...)); +# endif +_GL_CXXALIASWARN (scanf); +#endif + #if @GNULIB_SNPRINTF@ # if @REPLACE_SNPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -855,9 +1051,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " # endif #endif -/* Some people would argue that sprintf should be handled like gets - (for example, OpenBSD issues a link warning for both functions), - since both can cause security holes due to buffer overruns. +/* Some people would argue that all sprintf uses should be warned about + (for example, OpenBSD issues a link warning for it), + since it can cause security holes due to buffer overruns. However, we believe that sprintf can be used safely, and is more efficient than snprintf in those safe cases; and as proof of our belief, we use sprintf in several gnulib modules. So this header @@ -984,14 +1180,20 @@ _GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - " #if @GNULIB_VFPRINTF_POSIX@ || @GNULIB_VFPRINTF@ # if (@GNULIB_VFPRINTF_POSIX@ && @REPLACE_VFPRINTF@) \ - || (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) + || (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vfprintf rpl_vfprintf # endif # define GNULIB_overrides_vfprintf 1 +# if @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); +# else +_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0) + _GL_ARG_NONNULL ((1, 2))); +# endif _GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is @@ -1012,16 +1214,41 @@ _GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - " "POSIX compliance"); #endif +#if @GNULIB_VFSCANF@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef vfscanf +# define vfscanf rpl_vfscanf +# endif +_GL_FUNCDECL_RPL (vfscanf, int, + (FILE *stream, const char *format, va_list args) + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (vfscanf, int, + (FILE *stream, const char *format, va_list args)); +# else +_GL_CXXALIAS_SYS (vfscanf, int, + (FILE *stream, const char *format, va_list args)); +# endif +_GL_CXXALIASWARN (vfscanf); +#endif + #if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@ # if (@GNULIB_VPRINTF_POSIX@ && @REPLACE_VPRINTF@) \ - || (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@) + || (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vprintf rpl_vprintf # endif # define GNULIB_overrides_vprintf 1 +# if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (1, 0) _GL_ARG_NONNULL ((1))); +# else +_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0) + _GL_ARG_NONNULL ((1))); +# endif _GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args)); # else /* Need to cast, because on Solaris, the second parameter is @@ -1041,6 +1268,22 @@ _GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - " "POSIX compliance"); #endif +#if @GNULIB_VSCANF@ +# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef vscanf +# define vscanf rpl_vscanf +# endif +_GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args) + _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args)); +# else +_GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args)); +# endif +_GL_CXXALIASWARN (vscanf); +#endif + #if @GNULIB_VSNPRINTF@ # if @REPLACE_VSNPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -1098,7 +1341,6 @@ _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - " "POSIX compliance"); #endif - -#endif /* _GL_STDIO_H */ -#endif /* _GL_STDIO_H */ +#endif /* _@GUARD_PREFIX@_STDIO_H */ +#endif /* _@GUARD_PREFIX@_STDIO_H */ #endif diff --git a/gnu/stdlib.in.h b/gnu/stdlib.in.h index 6594cd90..863457f6 100644 --- a/gnu/stdlib.in.h +++ b/gnu/stdlib.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 1995, 2001-2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,21 +22,22 @@ #endif @PRAGMA_COLUMNS@ -#if defined __need_malloc_and_calloc -/* Special invocation convention inside glibc header files. */ +#if defined __need_system_stdlib_h || defined __need_malloc_and_calloc +/* Special invocation conventions inside some gnulib header files, + and inside some glibc header files, respectively. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #else /* Normal invocation convention. */ -#ifndef _GL_STDLIB_H +#ifndef _@GUARD_PREFIX@_STDLIB_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ -#ifndef _GL_STDLIB_H -#define _GL_STDLIB_H +#ifndef _@GUARD_PREFIX@_STDLIB_H +#define _@GUARD_PREFIX@_STDLIB_H /* NetBSD 5.0 mis-defines NULL. */ #include @@ -51,6 +52,11 @@ # include #endif +/* Native Windows platforms declare mktemp() in . */ +#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +# include +#endif + #if @GNULIB_RANDOM_R@ /* OSF/1 5.1 declares 'struct random_data' in , which is included @@ -60,7 +66,7 @@ # include # endif -# if !@HAVE_STRUCT_RANDOM_DATA@ || !@HAVE_RANDOM_R@ +# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@ # include # endif @@ -83,19 +89,24 @@ struct random_data # endif #endif -#if (@GNULIB_MKSTEMP@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) -/* On MacOS X 10.3, only declares mkstemp. */ +#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +/* On Mac OS X 10.3, only declares mkstemp. */ +/* On Mac OS X 10.5, only declares mkstemps. */ /* On Cygwin 1.7.1, only declares getsubopt. */ /* But avoid namespace pollution on glibc systems and native Windows. */ # include #endif -#if 3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__ -# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else -# define _GL_ATTRIBUTE_NORETURN +# define _GL_ATTRIBUTE_PURE /* empty */ #endif +/* The definition of _Noreturn is copied here. */ + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -121,7 +132,7 @@ struct random_data /* Terminate the current process with the given return code, without running the 'atexit' handlers. */ # if !@HAVE__EXIT@ -_GL_FUNCDECL_SYS (_Exit, void, (int status) _GL_ATTRIBUTE_NORETURN); +_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status)); # endif _GL_CXXALIAS_SYS (_Exit, void, (int status)); _GL_CXXALIASWARN (_Exit); @@ -138,7 +149,9 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " /* Parse a signed decimal integer. Returns the value of the integer. Errors are not detected. */ # if !@HAVE_ATOLL@ -_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (atoll, long long, (const char *string) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (atoll, long long, (const char *string)); _GL_CXXALIASWARN (atoll); @@ -252,14 +265,19 @@ _GL_CXXALIASWARN (grantpt); #elif defined GNULIB_POSIXCHECK # undef grantpt # if HAVE_RAW_DECL_GRANTPT -_GL_WARN_ON_USE (ptsname, "grantpt is not portable - " +_GL_WARN_ON_USE (grantpt, "grantpt is not portable - " "use gnulib module grantpt for portability"); # endif #endif +/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not + rely on GNU or POSIX semantics for malloc and realloc (for example, + by never specifying a zero size), so it does not need malloc or + realloc to be redefined. */ #if @GNULIB_MALLOC_POSIX@ # if @REPLACE_MALLOC@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ + || _GL_USE_STDLIB_ALLOC) # undef malloc # define malloc rpl_malloc # endif @@ -269,7 +287,7 @@ _GL_CXXALIAS_RPL (malloc, void *, (size_t size)); _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); # endif _GL_CXXALIASWARN (malloc); -#elif defined GNULIB_POSIXCHECK +#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC # undef malloc /* Assume malloc is always declared. */ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " @@ -423,13 +441,38 @@ _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - " # endif #endif +#if @GNULIB_POSIX_OPENPT@ +/* Return an FD open to the master side of a pseudo-terminal. Flags should + include O_RDWR, and may also include O_NOCTTY. */ +# if !@HAVE_POSIX_OPENPT@ +_GL_FUNCDECL_SYS (posix_openpt, int, (int flags)); +# endif +_GL_CXXALIAS_SYS (posix_openpt, int, (int flags)); +_GL_CXXALIASWARN (posix_openpt); +#elif defined GNULIB_POSIXCHECK +# undef posix_openpt +# if HAVE_RAW_DECL_POSIX_OPENPT +_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - " + "use gnulib module posix_openpt for portability"); +# endif +#endif + #if @GNULIB_PTSNAME@ /* Return the pathname of the pseudo-terminal slave associated with the master FD is open on, or NULL on errors. */ -# if !@HAVE_PTSNAME@ +# if @REPLACE_PTSNAME@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ptsname +# define ptsname rpl_ptsname +# endif +_GL_FUNCDECL_RPL (ptsname, char *, (int fd)); +_GL_CXXALIAS_RPL (ptsname, char *, (int fd)); +# else +# if !@HAVE_PTSNAME@ _GL_FUNCDECL_SYS (ptsname, char *, (int fd)); -# endif +# endif _GL_CXXALIAS_SYS (ptsname, char *, (int fd)); +# endif _GL_CXXALIASWARN (ptsname); #elif defined GNULIB_POSIXCHECK # undef ptsname @@ -439,6 +482,32 @@ _GL_WARN_ON_USE (ptsname, "ptsname is not portable - " # endif #endif +#if @GNULIB_PTSNAME_R@ +/* Set the pathname of the pseudo-terminal slave associated with + the master FD is open on and return 0, or set errno and return + non-zero on errors. */ +# if @REPLACE_PTSNAME_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ptsname_r +# define ptsname_r rpl_ptsname_r +# endif +_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len)); +_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len)); +# else +# if !@HAVE_PTSNAME_R@ +_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len)); +# endif +_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len)); +# endif +_GL_CXXALIASWARN (ptsname_r); +#elif defined GNULIB_POSIXCHECK +# undef ptsname_r +# if HAVE_RAW_DECL_PTSNAME_R +_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - " + "use gnulib module ptsname_r for portability"); +# endif +#endif + #if @GNULIB_PUTENV@ # if @REPLACE_PUTENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -462,12 +531,83 @@ _GL_CXXALIASWARN (putenv); # endif #endif + +#if @GNULIB_RANDOM@ +# if !@HAVE_RANDOM@ +_GL_FUNCDECL_SYS (random, long, (void)); +# endif +_GL_CXXALIAS_SYS (random, long, (void)); +_GL_CXXALIASWARN (random); +#elif defined GNULIB_POSIXCHECK +# undef random +# if HAVE_RAW_DECL_RANDOM +_GL_WARN_ON_USE (random, "random is unportable - " + "use gnulib module random for portability"); +# endif +#endif + +#if @GNULIB_RANDOM@ +# if !@HAVE_RANDOM@ +_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed)); +# endif +_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed)); +_GL_CXXALIASWARN (srandom); +#elif defined GNULIB_POSIXCHECK +# undef srandom +# if HAVE_RAW_DECL_SRANDOM +_GL_WARN_ON_USE (srandom, "srandom is unportable - " + "use gnulib module random for portability"); +# endif +#endif + +#if @GNULIB_RANDOM@ +# if !@HAVE_RANDOM@ +_GL_FUNCDECL_SYS (initstate, char *, + (unsigned int seed, char *buf, size_t buf_size) + _GL_ARG_NONNULL ((2))); +# endif +_GL_CXXALIAS_SYS (initstate, char *, + (unsigned int seed, char *buf, size_t buf_size)); +_GL_CXXALIASWARN (initstate); +#elif defined GNULIB_POSIXCHECK +# undef initstate +# if HAVE_RAW_DECL_INITSTATE_R +_GL_WARN_ON_USE (initstate, "initstate is unportable - " + "use gnulib module random for portability"); +# endif +#endif + +#if @GNULIB_RANDOM@ +# if !@HAVE_RANDOM@ +_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state)); +_GL_CXXALIASWARN (setstate); +#elif defined GNULIB_POSIXCHECK +# undef setstate +# if HAVE_RAW_DECL_SETSTATE_R +_GL_WARN_ON_USE (setstate, "setstate is unportable - " + "use gnulib module random for portability"); +# endif +#endif + + #if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ +# if @REPLACE_RANDOM_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef random_r +# define random_r rpl_random_r +# endif +_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result)); +# else +# if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result) _GL_ARG_NONNULL ((1, 2))); -# endif +# endif _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result)); +# endif _GL_CXXALIASWARN (random_r); #elif defined GNULIB_POSIXCHECK # undef random_r @@ -478,13 +618,25 @@ _GL_WARN_ON_USE (random_r, "random_r is unportable - " #endif #if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ +# if @REPLACE_RANDOM_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef srandom_r +# define srandom_r rpl_srandom_r +# endif +_GL_FUNCDECL_RPL (srandom_r, int, + (unsigned int seed, struct random_data *rand_state) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (srandom_r, int, + (unsigned int seed, struct random_data *rand_state)); +# else +# if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (srandom_r, int, (unsigned int seed, struct random_data *rand_state) _GL_ARG_NONNULL ((2))); -# endif +# endif _GL_CXXALIAS_SYS (srandom_r, int, (unsigned int seed, struct random_data *rand_state)); +# endif _GL_CXXALIASWARN (srandom_r); #elif defined GNULIB_POSIXCHECK # undef srandom_r @@ -495,15 +647,29 @@ _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - " #endif #if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ +# if @REPLACE_RANDOM_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef initstate_r +# define initstate_r rpl_initstate_r +# endif +_GL_FUNCDECL_RPL (initstate_r, int, + (unsigned int seed, char *buf, size_t buf_size, + struct random_data *rand_state) + _GL_ARG_NONNULL ((2, 4))); +_GL_CXXALIAS_RPL (initstate_r, int, + (unsigned int seed, char *buf, size_t buf_size, + struct random_data *rand_state)); +# else +# if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state) _GL_ARG_NONNULL ((2, 4))); -# endif +# endif _GL_CXXALIAS_SYS (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state)); +# endif _GL_CXXALIASWARN (initstate_r); #elif defined GNULIB_POSIXCHECK # undef initstate_r @@ -514,13 +680,25 @@ _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - " #endif #if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ +# if @REPLACE_RANDOM_R@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef setstate_r +# define setstate_r rpl_setstate_r +# endif +_GL_FUNCDECL_RPL (setstate_r, int, + (char *arg_state, struct random_data *rand_state) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (setstate_r, int, + (char *arg_state, struct random_data *rand_state)); +# else +# if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (setstate_r, int, (char *arg_state, struct random_data *rand_state) _GL_ARG_NONNULL ((1, 2))); -# endif +# endif _GL_CXXALIAS_SYS (setstate_r, int, (char *arg_state, struct random_data *rand_state)); +# endif _GL_CXXALIASWARN (setstate_r); #elif defined GNULIB_POSIXCHECK # undef setstate_r @@ -533,7 +711,8 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - " #if @GNULIB_REALLOC_POSIX@ # if @REPLACE_REALLOC@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ + || _GL_USE_STDLIB_ALLOC) # undef realloc # define realloc rpl_realloc # endif @@ -543,7 +722,7 @@ _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size)); _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); # endif _GL_CXXALIASWARN (realloc); -#elif defined GNULIB_POSIXCHECK +#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC # undef realloc /* Assume realloc is always declared. */ _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - " @@ -590,6 +769,22 @@ _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - " # endif #endif +#if @GNULIB_SECURE_GETENV@ +/* Look up NAME in the environment, returning 0 in insecure situations. */ +# if !@HAVE_SECURE_GETENV@ +_GL_FUNCDECL_SYS (secure_getenv, char *, + (char const *name) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name)); +_GL_CXXALIASWARN (secure_getenv); +#elif defined GNULIB_POSIXCHECK +# undef secure_getenv +# if HAVE_RAW_DECL_SECURE_GETENV +_GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - " + "use gnulib module secure_getenv for portability"); +# endif +#endif + #if @GNULIB_SETENV@ /* Set NAME to VALUE in the environment. If REPLACE is nonzero, overwrite an existing value. */ @@ -756,6 +951,6 @@ _GL_CXXALIASWARN (wctomb); #endif -#endif /* _GL_STDLIB_H */ -#endif /* _GL_STDLIB_H */ +#endif /* _@GUARD_PREFIX@_STDLIB_H */ +#endif /* _@GUARD_PREFIX@_STDLIB_H */ #endif diff --git a/gnu/stpcpy.c b/gnu/stpcpy.c index b2beb29e..68db6752 100644 --- a/gnu/stpcpy.c +++ b/gnu/stpcpy.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* stpcpy.c -- copy a string and return pointer to end of new string - Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2011 Free Software + Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. diff --git a/gnu/strcasecmp.c b/gnu/strcasecmp.c index b030fa8f..8c480a8a 100644 --- a/gnu/strcasecmp.c +++ b/gnu/strcasecmp.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Case-insensitive string comparison function. - Copyright (C) 1998-1999, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2007, 2009-2013 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 @@ -14,8 +14,7 @@ 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. */ + along with this program; if not, see . */ #include diff --git a/gnu/strchrnul.c b/gnu/strchrnul.c index 83ef294a..f054acd6 100644 --- a/gnu/strchrnul.c +++ b/gnu/strchrnul.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Searching in a string. - Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2007-2013 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 diff --git a/gnu/strdup.c b/gnu/strdup.c index 3395e6c1..8ebc71fb 100644 --- a/gnu/strdup.c +++ b/gnu/strdup.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2011 Free Software +/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,8 +16,7 @@ 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. */ + with this program; if not, see . */ #ifndef _LIBC # include diff --git a/gnu/streq.h b/gnu/streq.h index 067732dd..89533c59 100644 --- a/gnu/streq.h +++ b/gnu/streq.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Optimized string comparison. - Copyright (C) 2001-2002, 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2013 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 @@ -23,8 +23,8 @@ #include -/* STREQ allows to optimize string comparison with a small literal string. - STREQ (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) +/* STREQ_OPT allows to optimize string comparison with a small literal string. + STREQ_OPT (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) is semantically equivalent to strcmp (s, "EUC-KR") == 0 just faster. */ @@ -165,12 +165,12 @@ streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, return 0; } -#define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ +#define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) #else -#define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ +#define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ (strcmp (s1, s2) == 0) #endif diff --git a/gnu/strerror-override.c b/gnu/strerror-override.c new file mode 100644 index 00000000..4e017bcb --- /dev/null +++ b/gnu/strerror-override.c @@ -0,0 +1,304 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* strerror-override.c --- POSIX compatible system error routine + + Copyright (C) 2010-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2010. */ + +#include + +#include "strerror-override.h" + +#include + +#if GNULIB_defined_EWINSOCK /* native Windows platforms */ +# if HAVE_WINSOCK2_H +# include +# endif +#endif + +/* If ERRNUM maps to an errno value defined by gnulib, return a string + describing the error. Otherwise return NULL. */ +const char * +strerror_override (int errnum) +{ + /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ + switch (errnum) + { +#if REPLACE_STRERROR_0 + case 0: + return "Success"; +#endif + +#if GNULIB_defined_ESOCK /* native Windows platforms with older */ + case EINPROGRESS: + return "Operation now in progress"; + case EALREADY: + return "Operation already in progress"; + case ENOTSOCK: + return "Socket operation on non-socket"; + case EDESTADDRREQ: + return "Destination address required"; + case EMSGSIZE: + return "Message too long"; + case EPROTOTYPE: + return "Protocol wrong type for socket"; + case ENOPROTOOPT: + return "Protocol not available"; + case EPROTONOSUPPORT: + return "Protocol not supported"; + case EOPNOTSUPP: + return "Operation not supported"; + case EAFNOSUPPORT: + return "Address family not supported by protocol"; + case EADDRINUSE: + return "Address already in use"; + case EADDRNOTAVAIL: + return "Cannot assign requested address"; + case ENETDOWN: + return "Network is down"; + case ENETUNREACH: + return "Network is unreachable"; + case ECONNRESET: + return "Connection reset by peer"; + case ENOBUFS: + return "No buffer space available"; + case EISCONN: + return "Transport endpoint is already connected"; + case ENOTCONN: + return "Transport endpoint is not connected"; + case ETIMEDOUT: + return "Connection timed out"; + case ECONNREFUSED: + return "Connection refused"; + case ELOOP: + return "Too many levels of symbolic links"; + case EHOSTUNREACH: + return "No route to host"; + case EWOULDBLOCK: + return "Operation would block"; +#endif +#if GNULIB_defined_ESTREAMS /* native Windows platforms with older */ + case ETXTBSY: + return "Text file busy"; + case ENODATA: + return "No data available"; + case ENOSR: + return "Out of streams resources"; + case ENOSTR: + return "Device not a stream"; + case ETIME: + return "Timer expired"; + case EOTHER: + return "Other error"; +#endif +#if GNULIB_defined_EWINSOCK /* native Windows platforms */ + case ESOCKTNOSUPPORT: + return "Socket type not supported"; + case EPFNOSUPPORT: + return "Protocol family not supported"; + case ESHUTDOWN: + return "Cannot send after transport endpoint shutdown"; + case ETOOMANYREFS: + return "Too many references: cannot splice"; + case EHOSTDOWN: + return "Host is down"; + case EPROCLIM: + return "Too many processes"; + case EUSERS: + return "Too many users"; + case EDQUOT: + return "Disk quota exceeded"; + case ESTALE: + return "Stale NFS file handle"; + case EREMOTE: + return "Object is remote"; +# if HAVE_WINSOCK2_H + /* WSA_INVALID_HANDLE maps to EBADF */ + /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ + /* WSA_INVALID_PARAMETER maps to EINVAL */ + case WSA_OPERATION_ABORTED: + return "Overlapped operation aborted"; + case WSA_IO_INCOMPLETE: + return "Overlapped I/O event object not in signaled state"; + case WSA_IO_PENDING: + return "Overlapped operations will complete later"; + /* WSAEINTR maps to EINTR */ + /* WSAEBADF maps to EBADF */ + /* WSAEACCES maps to EACCES */ + /* WSAEFAULT maps to EFAULT */ + /* WSAEINVAL maps to EINVAL */ + /* WSAEMFILE maps to EMFILE */ + /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ + /* WSAEINPROGRESS maps to EINPROGRESS */ + /* WSAEALREADY maps to EALREADY */ + /* WSAENOTSOCK maps to ENOTSOCK */ + /* WSAEDESTADDRREQ maps to EDESTADDRREQ */ + /* WSAEMSGSIZE maps to EMSGSIZE */ + /* WSAEPROTOTYPE maps to EPROTOTYPE */ + /* WSAENOPROTOOPT maps to ENOPROTOOPT */ + /* WSAEPROTONOSUPPORT maps to EPROTONOSUPPORT */ + /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ + /* WSAEOPNOTSUPP maps to EOPNOTSUPP */ + /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ + /* WSAEAFNOSUPPORT maps to EAFNOSUPPORT */ + /* WSAEADDRINUSE maps to EADDRINUSE */ + /* WSAEADDRNOTAVAIL maps to EADDRNOTAVAIL */ + /* WSAENETDOWN maps to ENETDOWN */ + /* WSAENETUNREACH maps to ENETUNREACH */ + /* WSAENETRESET maps to ENETRESET */ + /* WSAECONNABORTED maps to ECONNABORTED */ + /* WSAECONNRESET maps to ECONNRESET */ + /* WSAENOBUFS maps to ENOBUFS */ + /* WSAEISCONN maps to EISCONN */ + /* WSAENOTCONN maps to ENOTCONN */ + /* WSAESHUTDOWN is ESHUTDOWN */ + /* WSAETOOMANYREFS is ETOOMANYREFS */ + /* WSAETIMEDOUT maps to ETIMEDOUT */ + /* WSAECONNREFUSED maps to ECONNREFUSED */ + /* WSAELOOP maps to ELOOP */ + /* WSAENAMETOOLONG maps to ENAMETOOLONG */ + /* WSAEHOSTDOWN is EHOSTDOWN */ + /* WSAEHOSTUNREACH maps to EHOSTUNREACH */ + /* WSAENOTEMPTY maps to ENOTEMPTY */ + /* WSAEPROCLIM is EPROCLIM */ + /* WSAEUSERS is EUSERS */ + /* WSAEDQUOT is EDQUOT */ + /* WSAESTALE is ESTALE */ + /* WSAEREMOTE is EREMOTE */ + case WSASYSNOTREADY: + return "Network subsystem is unavailable"; + case WSAVERNOTSUPPORTED: + return "Winsock.dll version out of range"; + case WSANOTINITIALISED: + return "Successful WSAStartup not yet performed"; + case WSAEDISCON: + return "Graceful shutdown in progress"; + case WSAENOMORE: case WSA_E_NO_MORE: + return "No more results"; + case WSAECANCELLED: case WSA_E_CANCELLED: + return "Call was canceled"; + case WSAEINVALIDPROCTABLE: + return "Procedure call table is invalid"; + case WSAEINVALIDPROVIDER: + return "Service provider is invalid"; + case WSAEPROVIDERFAILEDINIT: + return "Service provider failed to initialize"; + case WSASYSCALLFAILURE: + return "System call failure"; + case WSASERVICE_NOT_FOUND: + return "Service not found"; + case WSATYPE_NOT_FOUND: + return "Class type not found"; + case WSAEREFUSED: + return "Database query was refused"; + case WSAHOST_NOT_FOUND: + return "Host not found"; + case WSATRY_AGAIN: + return "Nonauthoritative host not found"; + case WSANO_RECOVERY: + return "Nonrecoverable error"; + case WSANO_DATA: + return "Valid name, no data record of requested type"; + /* WSA_QOS_* omitted */ +# endif +#endif + +#if GNULIB_defined_ENOMSG + case ENOMSG: + return "No message of desired type"; +#endif + +#if GNULIB_defined_EIDRM + case EIDRM: + return "Identifier removed"; +#endif + +#if GNULIB_defined_ENOLINK + case ENOLINK: + return "Link has been severed"; +#endif + +#if GNULIB_defined_EPROTO + case EPROTO: + return "Protocol error"; +#endif + +#if GNULIB_defined_EMULTIHOP + case EMULTIHOP: + return "Multihop attempted"; +#endif + +#if GNULIB_defined_EBADMSG + case EBADMSG: + return "Bad message"; +#endif + +#if GNULIB_defined_EOVERFLOW + case EOVERFLOW: + return "Value too large for defined data type"; +#endif + +#if GNULIB_defined_ENOTSUP + case ENOTSUP: + return "Not supported"; +#endif + +#if GNULIB_defined_ENETRESET + case ENETRESET: + return "Network dropped connection on reset"; +#endif + +#if GNULIB_defined_ECONNABORTED + case ECONNABORTED: + return "Software caused connection abort"; +#endif + +#if GNULIB_defined_ESTALE + case ESTALE: + return "Stale NFS file handle"; +#endif + +#if GNULIB_defined_EDQUOT + case EDQUOT: + return "Disk quota exceeded"; +#endif + +#if GNULIB_defined_ECANCELED + case ECANCELED: + return "Operation canceled"; +#endif + +#if GNULIB_defined_EOWNERDEAD + case EOWNERDEAD: + return "Owner died"; +#endif + +#if GNULIB_defined_ENOTRECOVERABLE + case ENOTRECOVERABLE: + return "State not recoverable"; +#endif + +#if GNULIB_defined_EILSEQ + case EILSEQ: + return "Invalid or incomplete multibyte or wide character"; +#endif + + default: + return NULL; + } +} diff --git a/gnu/strerror-override.h b/gnu/strerror-override.h new file mode 100644 index 00000000..e610dd6c --- /dev/null +++ b/gnu/strerror-override.h @@ -0,0 +1,58 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* strerror-override.h --- POSIX compatible system error routine + + Copyright (C) 2010-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _GL_STRERROR_OVERRIDE_H +# define _GL_STRERROR_OVERRIDE_H + +# include +# include + +/* Reasonable buffer size that should never trigger ERANGE; if this + proves too small, we intentionally abort(), to remind us to fix + this value. */ +# define STACKBUF_LEN 256 + +/* If ERRNUM maps to an errno value defined by gnulib, return a string + describing the error. Otherwise return NULL. */ +# if REPLACE_STRERROR_0 \ + || GNULIB_defined_ESOCK \ + || GNULIB_defined_ESTREAMS \ + || GNULIB_defined_EWINSOCK \ + || GNULIB_defined_ENOMSG \ + || GNULIB_defined_EIDRM \ + || GNULIB_defined_ENOLINK \ + || GNULIB_defined_EPROTO \ + || GNULIB_defined_EMULTIHOP \ + || GNULIB_defined_EBADMSG \ + || GNULIB_defined_EOVERFLOW \ + || GNULIB_defined_ENOTSUP \ + || GNULIB_defined_ENETRESET \ + || GNULIB_defined_ECONNABORTED \ + || GNULIB_defined_ESTALE \ + || GNULIB_defined_EDQUOT \ + || GNULIB_defined_ECANCELED \ + || GNULIB_defined_EOWNERDEAD \ + || GNULIB_defined_ENOTRECOVERABLE \ + || GNULIB_defined_EILSEQ +extern const char *strerror_override (int errnum); +# else +# define strerror_override(ignored) NULL +# endif + +#endif /* _GL_STRERROR_OVERRIDE_H */ diff --git a/gnu/strerror.c b/gnu/strerror.c index 29cdee32..42b6f813 100644 --- a/gnu/strerror.c +++ b/gnu/strerror.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* strerror.c --- POSIX compatible system error routine - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,340 +19,54 @@ #include +/* Specification. */ #include -#if REPLACE_STRERROR - -# include -# include - -# if GNULIB_defined_ESOCK /* native Windows platforms */ -# if HAVE_WINSOCK2_H -# include -# endif -# endif +#include +#include +#include +#include -# include "intprops.h" +#include "intprops.h" +#include "strerror-override.h" +#include "verify.h" /* Use the system functions, not the gnulib overrides in this file. */ -# undef sprintf - -# undef strerror -# if ! HAVE_DECL_STRERROR -# define strerror(n) NULL -# endif +#undef sprintf char * -rpl_strerror (int n) +strerror (int n) +#undef strerror { - char const *msg = NULL; - /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ - switch (n) - { -# if GNULIB_defined_ETXTBSY - case ETXTBSY: - msg = "Text file busy"; - break; -# endif - -# if GNULIB_defined_ESOCK /* native Windows platforms */ - /* EWOULDBLOCK is the same as EAGAIN. */ - case EINPROGRESS: - msg = "Operation now in progress"; - break; - case EALREADY: - msg = "Operation already in progress"; - break; - case ENOTSOCK: - msg = "Socket operation on non-socket"; - break; - case EDESTADDRREQ: - msg = "Destination address required"; - break; - case EMSGSIZE: - msg = "Message too long"; - break; - case EPROTOTYPE: - msg = "Protocol wrong type for socket"; - break; - case ENOPROTOOPT: - msg = "Protocol not available"; - break; - case EPROTONOSUPPORT: - msg = "Protocol not supported"; - break; - case ESOCKTNOSUPPORT: - msg = "Socket type not supported"; - break; - case EOPNOTSUPP: - msg = "Operation not supported"; - break; - case EPFNOSUPPORT: - msg = "Protocol family not supported"; - break; - case EAFNOSUPPORT: - msg = "Address family not supported by protocol"; - break; - case EADDRINUSE: - msg = "Address already in use"; - break; - case EADDRNOTAVAIL: - msg = "Cannot assign requested address"; - break; - case ENETDOWN: - msg = "Network is down"; - break; - case ENETUNREACH: - msg = "Network is unreachable"; - break; - case ENETRESET: - msg = "Network dropped connection on reset"; - break; - case ECONNABORTED: - msg = "Software caused connection abort"; - break; - case ECONNRESET: - msg = "Connection reset by peer"; - break; - case ENOBUFS: - msg = "No buffer space available"; - break; - case EISCONN: - msg = "Transport endpoint is already connected"; - break; - case ENOTCONN: - msg = "Transport endpoint is not connected"; - break; - case ESHUTDOWN: - msg = "Cannot send after transport endpoint shutdown"; - break; - case ETOOMANYREFS: - msg = "Too many references: cannot splice"; - break; - case ETIMEDOUT: - msg = "Connection timed out"; - break; - case ECONNREFUSED: - msg = "Connection refused"; - break; - case ELOOP: - msg = "Too many levels of symbolic links"; - break; - case EHOSTDOWN: - msg = "Host is down"; - break; - case EHOSTUNREACH: - msg = "No route to host"; - break; - case EPROCLIM: - msg = "Too many processes"; - break; - case EUSERS: - msg = "Too many users"; - break; - case EDQUOT: - msg = "Disk quota exceeded"; - break; - case ESTALE: - msg = "Stale NFS file handle"; - break; - case EREMOTE: - msg = "Object is remote"; - break; -# if HAVE_WINSOCK2_H - /* WSA_INVALID_HANDLE maps to EBADF */ - /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ - /* WSA_INVALID_PARAMETER maps to EINVAL */ - case WSA_OPERATION_ABORTED: - msg = "Overlapped operation aborted"; - break; - case WSA_IO_INCOMPLETE: - msg = "Overlapped I/O event object not in signaled state"; - break; - case WSA_IO_PENDING: - msg = "Overlapped operations will complete later"; - break; - /* WSAEINTR maps to EINTR */ - /* WSAEBADF maps to EBADF */ - /* WSAEACCES maps to EACCES */ - /* WSAEFAULT maps to EFAULT */ - /* WSAEINVAL maps to EINVAL */ - /* WSAEMFILE maps to EMFILE */ - /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ - /* WSAEINPROGRESS is EINPROGRESS */ - /* WSAEALREADY is EALREADY */ - /* WSAENOTSOCK is ENOTSOCK */ - /* WSAEDESTADDRREQ is EDESTADDRREQ */ - /* WSAEMSGSIZE is EMSGSIZE */ - /* WSAEPROTOTYPE is EPROTOTYPE */ - /* WSAENOPROTOOPT is ENOPROTOOPT */ - /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */ - /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ - /* WSAEOPNOTSUPP is EOPNOTSUPP */ - /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ - /* WSAEAFNOSUPPORT is EAFNOSUPPORT */ - /* WSAEADDRINUSE is EADDRINUSE */ - /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */ - /* WSAENETDOWN is ENETDOWN */ - /* WSAENETUNREACH is ENETUNREACH */ - /* WSAENETRESET is ENETRESET */ - /* WSAECONNABORTED is ECONNABORTED */ - /* WSAECONNRESET is ECONNRESET */ - /* WSAENOBUFS is ENOBUFS */ - /* WSAEISCONN is EISCONN */ - /* WSAENOTCONN is ENOTCONN */ - /* WSAESHUTDOWN is ESHUTDOWN */ - /* WSAETOOMANYREFS is ETOOMANYREFS */ - /* WSAETIMEDOUT is ETIMEDOUT */ - /* WSAECONNREFUSED is ECONNREFUSED */ - /* WSAELOOP is ELOOP */ - /* WSAENAMETOOLONG maps to ENAMETOOLONG */ - /* WSAEHOSTDOWN is EHOSTDOWN */ - /* WSAEHOSTUNREACH is EHOSTUNREACH */ - /* WSAENOTEMPTY maps to ENOTEMPTY */ - /* WSAEPROCLIM is EPROCLIM */ - /* WSAEUSERS is EUSERS */ - /* WSAEDQUOT is EDQUOT */ - /* WSAESTALE is ESTALE */ - /* WSAEREMOTE is EREMOTE */ - case WSASYSNOTREADY: - msg = "Network subsystem is unavailable"; - break; - case WSAVERNOTSUPPORTED: - msg = "Winsock.dll version out of range"; - break; - case WSANOTINITIALISED: - msg = "Successful WSAStartup not yet performed"; - break; - case WSAEDISCON: - msg = "Graceful shutdown in progress"; - break; - case WSAENOMORE: case WSA_E_NO_MORE: - msg = "No more results"; - break; - case WSAECANCELLED: case WSA_E_CANCELLED: - msg = "Call was canceled"; - break; - case WSAEINVALIDPROCTABLE: - msg = "Procedure call table is invalid"; - break; - case WSAEINVALIDPROVIDER: - msg = "Service provider is invalid"; - break; - case WSAEPROVIDERFAILEDINIT: - msg = "Service provider failed to initialize"; - break; - case WSASYSCALLFAILURE: - msg = "System call failure"; - break; - case WSASERVICE_NOT_FOUND: - msg = "Service not found"; - break; - case WSATYPE_NOT_FOUND: - msg = "Class type not found"; - break; - case WSAEREFUSED: - msg = "Database query was refused"; - break; - case WSAHOST_NOT_FOUND: - msg = "Host not found"; - break; - case WSATRY_AGAIN: - msg = "Nonauthoritative host not found"; - break; - case WSANO_RECOVERY: - msg = "Nonrecoverable error"; - break; - case WSANO_DATA: - msg = "Valid name, no data record of requested type"; - break; - /* WSA_QOS_* omitted */ -# endif -# endif - -# if GNULIB_defined_ENOMSG - case ENOMSG: - msg = "No message of desired type"; - break; -# endif - -# if GNULIB_defined_EIDRM - case EIDRM: - msg = "Identifier removed"; - break; -# endif - -# if GNULIB_defined_ENOLINK - case ENOLINK: - msg = "Link has been severed"; - break; -# endif - -# if GNULIB_defined_EPROTO - case EPROTO: - msg = "Protocol error"; - break; -# endif - -# if GNULIB_defined_EMULTIHOP - case EMULTIHOP: - msg = "Multihop attempted"; - break; -# endif - -# if GNULIB_defined_EBADMSG - case EBADMSG: - msg = "Bad message"; - break; -# endif - -# if GNULIB_defined_EOVERFLOW - case EOVERFLOW: - msg = "Value too large for defined data type"; - break; -# endif - -# if GNULIB_defined_ENOTSUP - case ENOTSUP: - msg = "Not supported"; - break; -# endif - -# if GNULIB_defined_ESTALE - case ESTALE: - msg = "Stale NFS file handle"; - break; -# endif - -# if GNULIB_defined_EDQUOT - case EDQUOT: - msg = "Disk quota exceeded"; - break; -# endif - -# if GNULIB_defined_ECANCELED - case ECANCELED: - msg = "Operation canceled"; - break; -# endif - } + static char buf[STACKBUF_LEN]; + size_t len; + /* Cast away const, due to the historical signature of strerror; + callers should not be modifying the string. */ + const char *msg = strerror_override (n); if (msg) return (char *) msg; - { - char *result = strerror (n); + msg = strerror (n); - if (result == NULL || result[0] == '\0') - { - static char const fmt[] = "Unknown error (%d)"; - static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)]; - sprintf (msg_buf, fmt, n); - return msg_buf; - } + /* Our strerror_r implementation might use the system's strerror + buffer, so all other clients of strerror have to see the error + copied into a buffer that we manage. This is not thread-safe, + even if the system strerror is, but portable programs shouldn't + be using strerror if they care about thread-safety. */ + if (!msg || !*msg) + { + static char const fmt[] = "Unknown error %d"; + verify (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n)); + sprintf (buf, fmt, n); + errno = EINVAL; + return buf; + } - return result; - } -} + /* Fix STACKBUF_LEN if this ever aborts. */ + len = strlen (msg); + if (sizeof buf <= len) + abort (); -#endif + return memcpy (buf, msg, len + 1); +} diff --git a/gnu/string.in.h b/gnu/string.in.h index 895c6ba2..8cac7f8e 100644 --- a/gnu/string.in.h +++ b/gnu/string.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,10 +15,9 @@ 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. */ + along with this program; if not, see . */ -#ifndef _GL_STRING_H +#ifndef _@GUARD_PREFIX@_STRING_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -28,8 +27,8 @@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STRING_H@ -#ifndef _GL_STRING_H -#define _GL_STRING_H +#ifndef _@GUARD_PREFIX@_STRING_H +#define _@GUARD_PREFIX@_STRING_H /* NetBSD 5.0 mis-defines NULL. */ #include @@ -61,6 +60,36 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ +/* Find the index of the least-significant set bit. */ +#if @GNULIB_FFSL@ +# if !@HAVE_FFSL@ +_GL_FUNCDECL_SYS (ffsl, int, (long int i)); +# endif +_GL_CXXALIAS_SYS (ffsl, int, (long int i)); +_GL_CXXALIASWARN (ffsl); +#elif defined GNULIB_POSIXCHECK +# undef ffsl +# if HAVE_RAW_DECL_FFSL +_GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module"); +# endif +#endif + + +/* Find the index of the least-significant set bit. */ +#if @GNULIB_FFSLL@ +# if !@HAVE_FFSLL@ +_GL_FUNCDECL_SYS (ffsll, int, (long long int i)); +# endif +_GL_CXXALIAS_SYS (ffsll, int, (long long int i)); +_GL_CXXALIASWARN (ffsll); +#elif defined GNULIB_POSIXCHECK +# undef ffsll +# if HAVE_RAW_DECL_FFSLL +_GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module"); +# endif +#endif + + /* Return the first instance of C within N bytes of S, or NULL. */ #if @GNULIB_MEMCHR@ # if @REPLACE_MEMCHR@ @@ -279,17 +308,28 @@ _GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings " /* Find the first occurrence of C in S or the final NUL byte. */ #if @GNULIB_STRCHRNUL@ -# if ! @HAVE_STRCHRNUL@ +# if @REPLACE_STRCHRNUL@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strchrnul rpl_strchrnul +# endif +_GL_FUNCDECL_RPL (strchrnul, char *, (const char *__s, int __c_in) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strchrnul, char *, + (const char *str, int ch)); +# else +# if ! @HAVE_STRCHRNUL@ _GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); -# endif +# endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * std::strchrnul (const char *, int); } extern "C++" { char * std::strchrnul (char *, int); } */ _GL_CXXALIAS_SYS_CAST2 (strchrnul, char *, (char const *__s, int __c_in), char const *, (char const *__s, int __c_in)); +# endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in)); @@ -686,10 +726,14 @@ _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbslen rpl_mbslen # endif -_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbslen, size_t, (const char *string)); # else -_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); +_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string)); # endif _GL_CXXALIASWARN (mbslen); @@ -699,6 +743,7 @@ _GL_CXXALIASWARN (mbslen); /* Return the number of multibyte characters in the character string starting at STRING and ending at STRING + LEN. */ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1)); #endif @@ -712,10 +757,12 @@ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len) # define mbschr rpl_mbschr /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c)); # endif @@ -727,15 +774,17 @@ _GL_CXXALIASWARN (mbschr); and return a pointer to it. Return NULL if C is not found in STRING. Unlike strrchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ -# if defined __hpux +# if defined __hpux || defined __INTERIX # if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ +# define mbsrchr rpl_mbsrchr /* avoid collision with system function */ # endif _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c)); # endif @@ -748,6 +797,7 @@ _GL_CXXALIASWARN (mbsrchr); Unlike strstr(), this function works correctly in multibyte locales with encodings different from UTF-8. */ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -759,6 +809,7 @@ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle) different lengths! Unlike strcasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -773,6 +824,7 @@ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2) Unlike strncasecmp(), this function works correctly in multibyte locales. But beware that N is not a byte count but a character count! */ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -786,6 +838,7 @@ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) Unlike strncasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -796,6 +849,7 @@ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) strlen (haystack) < strlen (needle) ! Unlike strcasestr(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -806,6 +860,7 @@ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle) if none exists. Unlike strcspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -819,10 +874,12 @@ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept) # define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept)); # else _GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept)); # endif @@ -836,6 +893,7 @@ _GL_CXXALIASWARN (mbspbrk); if none exists. Unlike strspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbsspn (const char *string, const char *reject) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif @@ -955,6 +1013,7 @@ _GL_WARN_ON_USE (strsignal, "strsignal is unportable - " #if @GNULIB_STRVERSCMP@ # if !@HAVE_STRVERSCMP@ _GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *)); @@ -968,5 +1027,5 @@ _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - " #endif -#endif /* _GL_STRING_H */ -#endif /* _GL_STRING_H */ +#endif /* _@GUARD_PREFIX@_STRING_H */ +#endif /* _@GUARD_PREFIX@_STRING_H */ diff --git a/gnu/strings.in.h b/gnu/strings.in.h index b21e9f7d..1dc3c3a6 100644 --- a/gnu/strings.in.h +++ b/gnu/strings.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute . - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,23 +15,37 @@ 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. */ + along with this program; if not, see . */ -#ifndef _GL_STRINGS_H +#ifndef _@GUARD_PREFIX@_STRINGS_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ +/* Minix 3.1.8 has a bug: must be included before . + But avoid namespace pollution on glibc systems. */ +#if defined __minix && !defined __GLIBC__ +# include +#endif + /* The include_next requires a split double-inclusion guard. */ -#@INCLUDE_NEXT@ @NEXT_STRINGS_H@ +#if @HAVE_STRINGS_H@ +# @INCLUDE_NEXT@ @NEXT_STRINGS_H@ +#endif -#ifndef _GL_STRINGS_H -#define _GL_STRINGS_H +#ifndef _@GUARD_PREFIX@_STRINGS_H +#define _@GUARD_PREFIX@_STRINGS_H + +#if ! @HAVE_DECL_STRNCASECMP@ +/* Get size_t. */ +# include +#endif +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ @@ -41,6 +55,20 @@ extern "C" { #endif + /* Find the index of the least-significant set bit. */ +#if @GNULIB_FFS@ +# if !@HAVE_FFS@ +_GL_FUNCDECL_SYS (ffs, int, (int i)); +# endif +_GL_CXXALIAS_SYS (ffs, int, (int i)); +_GL_CXXALIASWARN (ffs); +#elif defined GNULIB_POSIXCHECK +# undef ffs +# if HAVE_RAW_DECL_FFS +_GL_WARN_ON_USE (ffs, "ffs is not portable - use the ffs module"); +# endif +#endif + /* Compare strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. @@ -92,5 +120,5 @@ _GL_WARN_ON_USE (strncasecmp, "strncasecmp cannot work correctly on character " } #endif -#endif /* _GL_STRING_H */ -#endif /* _GL_STRING_H */ +#endif /* _@GUARD_PREFIX@_STRING_H */ +#endif /* _@GUARD_PREFIX@_STRING_H */ diff --git a/gnu/stripslash.c b/gnu/stripslash.c index bd5bbc18..f26a8ffe 100644 --- a/gnu/stripslash.c +++ b/gnu/stripslash.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* stripslash.c -- remove redundant trailing slashes from a file name - Copyright (C) 1990, 2001, 2003-2006, 2009-2011 Free Software Foundation, + Copyright (C) 1990, 2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -37,7 +37,7 @@ strip_trailing_slashes (char *file) bool had_slash; /* last_component returns "" for file system roots, but we need to turn - `///' into `/'. */ + "///" into "/". */ if (! *base) base = file; base_lim = base + base_len (base); diff --git a/gnu/strncasecmp.c b/gnu/strncasecmp.c index 8953c3be..44196fd0 100644 --- a/gnu/strncasecmp.c +++ b/gnu/strncasecmp.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* strncasecmp.c -- case insensitive string comparator - Copyright (C) 1998-1999, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2007, 2009-2013 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 @@ -14,8 +14,7 @@ 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. */ + along with this program; if not, see . */ #include diff --git a/gnu/strndup.c b/gnu/strndup.c index c5aca3ea..ffb50c52 100644 --- a/gnu/strndup.c +++ b/gnu/strndup.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A replacement function, for systems that lack strndup. - Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2011 Free Software + Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -16,8 +16,7 @@ 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. */ + along with this program; if not, see . */ #include diff --git a/gnu/strnlen.c b/gnu/strnlen.c index 241bb592..07f8030a 100644 --- a/gnu/strnlen.c +++ b/gnu/strnlen.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING, but scan at most MAXLEN characters. - Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #include diff --git a/gnu/strnlen1.c b/gnu/strnlen1.c index 876a5c8f..5a378fa3 100644 --- a/gnu/strnlen1.c +++ b/gnu/strnlen1.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 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 diff --git a/gnu/strnlen1.h b/gnu/strnlen1.h index ae831cea..81ea1333 100644 --- a/gnu/strnlen1.h +++ b/gnu/strnlen1.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,7 +30,8 @@ extern "C" { /* Find the length of STRING + 1, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many characters, return MAXLEN. */ /* This is the same as strnlen (string, maxlen - 1) + 1. */ -extern size_t strnlen1 (const char *string, size_t maxlen); +extern size_t strnlen1 (const char *string, size_t maxlen) + _GL_ATTRIBUTE_PURE; #ifdef __cplusplus diff --git a/gnu/strtoimax.c b/gnu/strtoimax.c index efdfd58c..740d5052 100644 --- a/gnu/strtoimax.c +++ b/gnu/strtoimax.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string representation of a number into an intmax_t value. - Copyright (C) 1999, 2001-2004, 2006, 2009-2011 Free Software Foundation, + Copyright (C) 1999, 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/strtol.c b/gnu/strtol.c index 058f9b1f..33d413ac 100644 --- a/gnu/strtol.c +++ b/gnu/strtol.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert string representation of a number into an integer value. - Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2011 Free Software + Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C @@ -42,7 +42,7 @@ # include "../locale/localeinfo.h" #endif -/* Nonzero if we are defining `strtoul' or `strtoull', operating on +/* Nonzero if we are defining 'strtoul' or 'strtoull', operating on unsigned integers. */ #ifndef UNSIGNED # define UNSIGNED 0 @@ -112,8 +112,8 @@ # endif #endif -/* If QUAD is defined, we are defining `strtoll' or `strtoull', - operating on `long long int's. */ +/* If QUAD is defined, we are defining 'strtoll' or 'strtoull', + operating on 'long long int's. */ #ifdef QUAD # define LONG long long # define STRTOL_LONG_MIN LLONG_MIN @@ -188,9 +188,8 @@ # define LOCALE_PARAM_PROTO #endif -#include - #ifdef USE_WIDE_CHAR +# include # include # define L_(Ch) L##Ch # define UCHAR_TYPE wint_t @@ -230,7 +229,7 @@ -/* Convert NPTR to an `unsigned long int' or `long int' in base BASE. +/* Convert NPTR to an 'unsigned long int' or 'long int' in base BASE. If BASE is 0 the base is determined by the presence of a leading zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal. If BASE is < 2 or > 36, it is reset to 10. @@ -383,7 +382,7 @@ INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr, #if !UNSIGNED /* Check for a value that is within the range of - `unsigned LONG int', but outside the range of `LONG int'. */ + 'unsigned LONG int', but outside the range of 'LONG int'. */ if (overflow == 0 && i > (negative ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1 @@ -408,7 +407,7 @@ noconv: /* We must handle a special case here: the base is 0 or 16 and the first two characters are '0' and 'x', but the rest are no hexadecimal digits. This is no error case. We return 0 and - ENDPTR points to the `x`. */ + ENDPTR points to the 'x'. */ if (endptr != NULL) { if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X') diff --git a/gnu/strtoul.c b/gnu/strtoul.c index eb0b6996..8ed564c1 100644 --- a/gnu/strtoul.c +++ b/gnu/strtoul.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1997, 2009-2011 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1997, 2009-2013 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 diff --git a/gnu/strtoull.c b/gnu/strtoull.c index 2de550cf..d282da08 100644 --- a/gnu/strtoull.c +++ b/gnu/strtoull.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Function to parse an `unsigned long long int' from text. - Copyright (C) 1995-1997, 1999, 2009-2011 Free Software Foundation, Inc. +/* Function to parse an 'unsigned long long int' from text. + Copyright (C) 1995-1997, 1999, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. diff --git a/gnu/symlink.c b/gnu/symlink.c index 9339e9a4..1ad14a7b 100644 --- a/gnu/symlink.c +++ b/gnu/symlink.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Stub for symlink(). - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/symlinkat.c b/gnu/symlinkat.c index a4301de1..e8268c37 100644 --- a/gnu/symlinkat.c +++ b/gnu/symlinkat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a symlink relative to an open directory. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/sys_stat.in.h b/gnu/sys_stat.in.h index 70f43e2a..5cf467ac 100644 --- a/gnu/sys_stat.in.h +++ b/gnu/sys_stat.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/stat header file. - Copyright (C) 2005-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2013 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 @@ -14,8 +14,7 @@ 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. */ + along with this program; if not, see . */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ @@ -36,9 +35,10 @@ #else /* Normal invocation convention. */ -#ifndef _GL_SYS_STAT_H +#ifndef _@GUARD_PREFIX@_SYS_STAT_H -/* Get nlink_t. */ +/* Get nlink_t. + May also define off_t to a 64-bit type on native Windows. */ #include /* Get struct timespec. */ @@ -47,8 +47,8 @@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ -#ifndef _GL_SYS_STAT_H -#define _GL_SYS_STAT_H +#ifndef _@GUARD_PREFIX@_SYS_STAT_H +#define _@GUARD_PREFIX@_SYS_STAT_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -57,10 +57,27 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Before doing "#define mkdir rpl_mkdir" below, we need to include all - headers that may declare mkdir(). */ + headers that may declare mkdir(). Native Windows platforms declare mkdir + in and/or , not in . */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include /* mingw32, mingw64 */ -# include /* mingw64 */ +# include /* mingw64, MSVC 9 */ +#endif + +/* Native Windows platforms declare umask() in . */ +#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) +# include +#endif + +/* Large File Support on native Windows. */ +#if @WINDOWS_64_BIT_ST_SIZE@ +# define stat _stati64 +#endif + +#ifndef S_IFIFO +# ifdef _S_IFIFO +# define S_IFIFO _S_IFIFO +# endif #endif #ifndef S_IFMT @@ -135,6 +152,10 @@ # endif #endif +#ifndef S_ISMPX /* AIX */ +# define S_ISMPX(m) 0 +#endif + #ifndef S_ISNAM /* Xenix */ # ifdef S_IFNAM # define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) @@ -314,16 +335,28 @@ _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - " #endif -#if @REPLACE_FSTAT@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define fstat rpl_fstat -# endif +#if @GNULIB_FSTAT@ +# if @REPLACE_FSTAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fstat +# define fstat rpl_fstat +# endif _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf)); -#else +# else _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf)); -#endif +# endif _GL_CXXALIASWARN (fstat); +#elif @WINDOWS_64_BIT_ST_SIZE@ +/* Above, we define stat to _stati64. */ +# define fstat _fstati64 +#elif defined GNULIB_POSIXCHECK +# undef fstat +# if HAVE_RAW_DECL_FSTAT +_GL_WARN_ON_USE (fstat, "fstat has portability problems - " + "use gnulib module fstat for portability"); +# endif +#endif #if @GNULIB_FSTATAT@ @@ -357,7 +390,11 @@ _GL_WARN_ON_USE (fstatat, "fstatat is not portable - " #if @GNULIB_FUTIMENS@ -# if @REPLACE_FUTIMENS@ +/* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our futimens + implementation relies on futimesat, which on Solaris 10 makes an invocation + to futimens that is meant to invoke the libc's futimens(), not gnulib's + futimens(). */ +# if @REPLACE_FUTIMENS@ || (!@HAVE_FUTIMENS@ && defined __sun) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef futimens # define futimens rpl_futimens @@ -370,7 +407,9 @@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif +# if @HAVE_FUTIMENS@ _GL_CXXALIASWARN (futimens); +# endif #elif defined GNULIB_POSIXCHECK # undef futimens # if HAVE_RAW_DECL_FUTIMENS @@ -464,7 +503,7 @@ _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # if !GNULIB_defined_rpl_mkdir -static inline int +static int rpl_mkdir (char const *name, mode_t mode) { return _mkdir (name); @@ -591,14 +630,55 @@ _GL_WARN_ON_USE (mknodat, "mknodat is not portable - " /* We can't use the object-like #define stat rpl_stat, because of struct stat. This means that rpl_stat will not be used if the user does (stat)(a,b). Oh well. */ -# undef stat -# ifdef _LARGE_FILES +# if defined _AIX && defined stat && defined _LARGE_FILES /* With _LARGE_FILES defined, AIX (only) defines stat to stat64, so we have to replace stat64() instead of stat(). */ -# define stat stat64 # undef stat64 # define stat64(name, st) rpl_stat (name, st) -# else /* !_LARGE_FILES */ +# elif @WINDOWS_64_BIT_ST_SIZE@ + /* Above, we define stat to _stati64. */ +# if defined __MINGW32__ && defined _stati64 +# ifndef _USE_32BIT_TIME_T + /* The system headers define _stati64 to _stat64. */ +# undef _stat64 +# define _stat64(name, st) rpl_stat (name, st) +# endif +# elif defined _MSC_VER && defined _stati64 +# ifdef _USE_32BIT_TIME_T + /* The system headers define _stati64 to _stat32i64. */ +# undef _stat32i64 +# define _stat32i64(name, st) rpl_stat (name, st) +# else + /* The system headers define _stati64 to _stat64. */ +# undef _stat64 +# define _stat64(name, st) rpl_stat (name, st) +# endif +# else +# undef _stati64 +# define _stati64(name, st) rpl_stat (name, st) +# endif +# elif defined __MINGW32__ && defined stat +# ifdef _USE_32BIT_TIME_T + /* The system headers define stat to _stat32i64. */ +# undef _stat32i64 +# define _stat32i64(name, st) rpl_stat (name, st) +# else + /* The system headers define stat to _stat64. */ +# undef _stat64 +# define _stat64(name, st) rpl_stat (name, st) +# endif +# elif defined _MSC_VER && defined stat +# ifdef _USE_32BIT_TIME_T + /* The system headers define stat to _stat32. */ +# undef _stat32 +# define _stat32(name, st) rpl_stat (name, st) +# else + /* The system headers define stat to _stat64i32. */ +# undef _stat64i32 +# define _stat64i32(name, st) rpl_stat (name, st) +# endif +# else /* !(_AIX ||__MINGW32__ || _MSC_VER) */ +# undef stat # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ _GL_EXTERN_C int stat (const char *name, struct stat *buf) @@ -614,7 +694,11 @@ _GL_WARN_ON_USE (stat, "stat is unportable - " #if @GNULIB_UTIMENSAT@ -# if @REPLACE_UTIMENSAT@ +/* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our utimensat + implementation relies on futimesat, which on Solaris 10 makes an invocation + to utimensat that is meant to invoke the libc's utimensat(), not gnulib's + utimensat(). */ +# if @REPLACE_UTIMENSAT@ || (!@HAVE_UTIMENSAT@ && defined __sun) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef utimensat # define utimensat rpl_utimensat @@ -633,7 +717,9 @@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name, _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # endif +# if @HAVE_UTIMENSAT@ _GL_CXXALIASWARN (utimensat); +# endif #elif defined GNULIB_POSIXCHECK # undef utimensat # if HAVE_RAW_DECL_UTIMENSAT @@ -643,6 +729,6 @@ _GL_WARN_ON_USE (utimensat, "utimensat is not portable - " #endif -#endif /* _GL_SYS_STAT_H */ -#endif /* _GL_SYS_STAT_H */ +#endif /* _@GUARD_PREFIX@_SYS_STAT_H */ +#endif /* _@GUARD_PREFIX@_SYS_STAT_H */ #endif diff --git a/gnu/sys_time.in.h b/gnu/sys_time.in.h index 3be6faa3..6b51c029 100644 --- a/gnu/sys_time.in.h +++ b/gnu/sys_time.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/time.h. - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,32 +15,46 @@ 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. */ + along with this program; if not, see . */ /* Written by Paul Eggert. */ +#ifndef _@GUARD_PREFIX@_SYS_TIME_H + #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ -#if defined _GL_SYS_TIME_H +/* On Cygwin, includes itself recursively via . + Simply delegate to the system's header in this case; it is a no-op. + Without this extra ifdef, the C++ gettimeofday declaration below + would be a forward declaration in gnulib's nested . */ +#ifdef _CYGWIN_SYS_TIME_H +# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ +#else -/* Simply delegate to the system's header, without adding anything. */ -# if @HAVE_SYS_TIME_H@ -# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ -# endif +/* The include_next requires a split double-inclusion guard. */ +#if @HAVE_SYS_TIME_H@ +# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ +#endif -#else +#ifndef _@GUARD_PREFIX@_SYS_TIME_H +#define _@GUARD_PREFIX@_SYS_TIME_H -# define _GL_SYS_TIME_H +#if ! @HAVE_SYS_TIME_H@ +# include +#endif -# if @HAVE_SYS_TIME_H@ -# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ -# else -# include -# endif +/* On native Windows with MSVC, get the 'struct timeval' type. + Also, on native Windows with a 64-bit time_t, where we are overriding the + 'struct timeval' type, get all declarations of system functions whose + signature contains 'struct timeval'. */ +#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H +# define _GL_INCLUDING_WINSOCK2_H +# include +# undef _GL_INCLUDING_WINSOCK2_H +#endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -48,56 +62,153 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif + +#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@ -# if ! @HAVE_STRUCT_TIMEVAL@ +# if @REPLACE_STRUCT_TIMEVAL@ +# define timeval rpl_timeval +# endif -# if !GNULIB_defined_struct_timeval +# if !GNULIB_defined_struct_timeval struct timeval { time_t tv_sec; long int tv_usec; }; -# define GNULIB_defined_struct_timeval 1 -# endif - +# define GNULIB_defined_struct_timeval 1 # endif -# ifdef __cplusplus +#endif + +#ifdef __cplusplus } -# endif +#endif -# if @GNULIB_GETTIMEOFDAY@ -# if @REPLACE_GETTIMEOFDAY@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef gettimeofday -# define gettimeofday rpl_gettimeofday -# endif +#if @GNULIB_GETTIMEOFDAY@ +# if @REPLACE_GETTIMEOFDAY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef gettimeofday +# define gettimeofday rpl_gettimeofday +# endif _GL_FUNCDECL_RPL (gettimeofday, int, (struct timeval *restrict, void *restrict) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (gettimeofday, int, (struct timeval *restrict, void *restrict)); -# else -# if !@HAVE_GETTIMEOFDAY@ +# else +# if !@HAVE_GETTIMEOFDAY@ _GL_FUNCDECL_SYS (gettimeofday, int, (struct timeval *restrict, void *restrict) _GL_ARG_NONNULL ((1))); -# endif +# endif /* Need to cast, because on glibc systems, by default, the second argument is struct timezone *. */ _GL_CXXALIAS_SYS_CAST (gettimeofday, int, (struct timeval *restrict, void *restrict)); -# endif +# endif _GL_CXXALIASWARN (gettimeofday); -# elif defined GNULIB_POSIXCHECK -# undef gettimeofday -# if HAVE_RAW_DECL_GETTIMEOFDAY +#elif defined GNULIB_POSIXCHECK +# undef gettimeofday +# if HAVE_RAW_DECL_GETTIMEOFDAY _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " "use gnulib module gettimeofday for portability"); +# endif +#endif + +/* Hide some function declarations from . */ + +#if defined _MSC_VER && @HAVE_WINSOCK2_H@ +# if !defined _@GUARD_PREFIX@_UNISTD_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef close +# define close close_used_without_including_unistd_h +# else + _GL_WARN_ON_USE (close, + "close() used without including "); +# endif +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef gethostname +# define gethostname gethostname_used_without_including_unistd_h +# else + _GL_WARN_ON_USE (gethostname, + "gethostname() used without including "); +# endif +# endif +# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef socket +# define socket socket_used_without_including_sys_socket_h +# undef connect +# define connect connect_used_without_including_sys_socket_h +# undef accept +# define accept accept_used_without_including_sys_socket_h +# undef bind +# define bind bind_used_without_including_sys_socket_h +# undef getpeername +# define getpeername getpeername_used_without_including_sys_socket_h +# undef getsockname +# define getsockname getsockname_used_without_including_sys_socket_h +# undef getsockopt +# define getsockopt getsockopt_used_without_including_sys_socket_h +# undef listen +# define listen listen_used_without_including_sys_socket_h +# undef recv +# define recv recv_used_without_including_sys_socket_h +# undef send +# define send send_used_without_including_sys_socket_h +# undef recvfrom +# define recvfrom recvfrom_used_without_including_sys_socket_h +# undef sendto +# define sendto sendto_used_without_including_sys_socket_h +# undef setsockopt +# define setsockopt setsockopt_used_without_including_sys_socket_h +# undef shutdown +# define shutdown shutdown_used_without_including_sys_socket_h +# else + _GL_WARN_ON_USE (socket, + "socket() used without including "); + _GL_WARN_ON_USE (connect, + "connect() used without including "); + _GL_WARN_ON_USE (accept, + "accept() used without including "); + _GL_WARN_ON_USE (bind, + "bind() used without including "); + _GL_WARN_ON_USE (getpeername, + "getpeername() used without including "); + _GL_WARN_ON_USE (getsockname, + "getsockname() used without including "); + _GL_WARN_ON_USE (getsockopt, + "getsockopt() used without including "); + _GL_WARN_ON_USE (listen, + "listen() used without including "); + _GL_WARN_ON_USE (recv, + "recv() used without including "); + _GL_WARN_ON_USE (send, + "send() used without including "); + _GL_WARN_ON_USE (recvfrom, + "recvfrom() used without including "); + _GL_WARN_ON_USE (sendto, + "sendto() used without including "); + _GL_WARN_ON_USE (setsockopt, + "setsockopt() used without including "); + _GL_WARN_ON_USE (shutdown, + "shutdown() used without including "); # endif # endif +# if !defined _@GUARD_PREFIX@_SYS_SELECT_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef select +# define select select_used_without_including_sys_select_h +# else + _GL_WARN_ON_USE (select, + "select() used without including "); +# endif +# endif +#endif -#endif /* _GL_SYS_TIME_H */ +#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ +#endif /* _CYGWIN_SYS_TIME_H */ +#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ diff --git a/gnu/sys_types.in.h b/gnu/sys_types.in.h new file mode 100644 index 00000000..2c2b47d3 --- /dev/null +++ b/gnu/sys_types.in.h @@ -0,0 +1,53 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Provide a more complete sys/types.h. + + Copyright (C) 2011-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#ifndef _@GUARD_PREFIX@_SYS_TYPES_H + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@ + +#ifndef _@GUARD_PREFIX@_SYS_TYPES_H +#define _@GUARD_PREFIX@_SYS_TYPES_H + +/* Override off_t if Large File Support is requested on native Windows. */ +#if @WINDOWS_64_BIT_OFF_T@ +/* Same as int64_t in . */ +# if defined _MSC_VER +# define off_t __int64 +# else +# define off_t long long int +# endif +/* Indicator, for gnulib internal purposes. */ +# define _GL_WINDOWS_64_BIT_OFF_T 1 +#endif + +/* MSVC 9 defines size_t in , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ + && ! defined __GLIBC__ +# include +#endif + +#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ +#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ diff --git a/gnu/sysexits.in.h b/gnu/sysexits.in.h index a57b83b7..c83400d9 100644 --- a/gnu/sysexits.in.h +++ b/gnu/sysexits.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* exit() exit codes for some BSD system programs. - Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2013 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 @@ -18,7 +18,7 @@ /* Written by Simon Josefsson based on sysexits(3) man page */ -#ifndef _GL_SYSEXITS_H +#ifndef _@GUARD_PREFIX@_SYSEXITS_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -45,8 +45,8 @@ #endif -#ifndef _GL_SYSEXITS_H -#define _GL_SYSEXITS_H +#ifndef _@GUARD_PREFIX@_SYSEXITS_H +#define _@GUARD_PREFIX@_SYSEXITS_H #if !@HAVE_SYSEXITS_H@ @@ -70,5 +70,5 @@ #endif -#endif /* _GL_SYSEXITS_H */ -#endif /* _GL_SYSEXITS_H */ +#endif /* _@GUARD_PREFIX@_SYSEXITS_H */ +#endif /* _@GUARD_PREFIX@_SYSEXITS_H */ diff --git a/gnu/tempname.c b/gnu/tempname.c index 5be137e3..8fed3639 100644 --- a/gnu/tempname.c +++ b/gnu/tempname.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* tempname.c - generate the name of a temporary file. - Copyright (C) 1991-2003, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1991-2003, 2005-2007, 2009-2013 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 @@ -69,13 +69,8 @@ # define __gettimeofday gettimeofday # define __mkdir mkdir # define __open open -# define __open64 open # define __lxstat64(version, file, buf) lstat (file, buf) -# define __xstat64(version, file, buf) stat (file, buf) -#endif - -#if ! (HAVE___SECURE_GETENV || _LIBC) -# define __secure_getenv getenv +# define __secure_getenv secure_getenv #endif #ifdef _LIBC @@ -211,7 +206,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) /* A lower bound on the number of temporary files to attempt to generate. The maximum total number of temporary file names that can exist for a given template is 62**6. It should never be - necessary to try all these combinations. Instead if a reasonable + necessary to try all of these combinations. Instead if a reasonable number of names is tried (we define reasonable as 62**3) fail to give the system administrator the chance to remove the problems. */ #define ATTEMPTS_MIN (62 * 62 * 62) diff --git a/gnu/tempname.h b/gnu/tempname.h index 98be5608..e4076ce6 100644 --- a/gnu/tempname.h +++ b/gnu/tempname.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Create a temporary file or directory. - Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2006, 2009-2013 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 diff --git a/gnu/time.in.h b/gnu/time.in.h index 5abbdad4..7dcac1d3 100644 --- a/gnu/time.in.h +++ b/gnu/time.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more-standard . - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -30,13 +29,13 @@ without adding our own declarations. */ #if (defined __need_time_t || defined __need_clock_t \ || defined __need_timespec \ - || defined _GL_TIME_H) + || defined _@GUARD_PREFIX@_TIME_H) # @INCLUDE_NEXT@ @NEXT_TIME_H@ #else -# define _GL_TIME_H +# define _@GUARD_PREFIX@_TIME_H # @INCLUDE_NEXT@ @NEXT_TIME_H@ diff --git a/gnu/time_r.c b/gnu/time_r.c index ad0a4085..19c956e1 100644 --- a/gnu/time_r.c +++ b/gnu/time_r.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Reentrant time functions like localtime_r. - Copyright (C) 2003, 2006-2007, 2010-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2010-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ /* Written by Paul Eggert. */ diff --git a/gnu/timespec.c b/gnu/timespec.c new file mode 100644 index 00000000..30572878 --- /dev/null +++ b/gnu/timespec.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define _GL_TIMESPEC_INLINE _GL_EXTERN_INLINE +#include "timespec.h" diff --git a/gnu/timespec.h b/gnu/timespec.h index bd6951d8..18df4f03 100644 --- a/gnu/timespec.h +++ b/gnu/timespec.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* timespec -- System time interface - Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2011 Free Software + Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -23,6 +23,11 @@ # include +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_TIMESPEC_INLINE +# define _GL_TIMESPEC_INLINE _GL_INLINE +#endif + /* Return negative, zero, positive if A < B, A == B, A > B, respectively. For each time stamp T, this code assumes that either: @@ -51,7 +56,7 @@ The (int) cast avoids a gcc -Wconversion warning. */ -static inline int +_GL_TIMESPEC_INLINE int timespec_cmp (struct timespec a, struct timespec b) { return (a.tv_sec < b.tv_sec ? -1 @@ -59,7 +64,31 @@ timespec_cmp (struct timespec a, struct timespec b) : (int) (a.tv_nsec - b.tv_nsec)); } +/* Return -1, 0, 1, depending on the sign of A. A.tv_nsec must be + nonnegative. */ +_GL_TIMESPEC_INLINE int +timespec_sign (struct timespec a) +{ + return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec; +} + +struct timespec timespec_add (struct timespec, struct timespec) + _GL_ATTRIBUTE_CONST; +struct timespec timespec_sub (struct timespec, struct timespec) + _GL_ATTRIBUTE_CONST; +struct timespec dtotimespec (double) + _GL_ATTRIBUTE_CONST; + +/* Return an approximation to A, of type 'double'. */ +_GL_TIMESPEC_INLINE double +timespectod (struct timespec a) +{ + return a.tv_sec + a.tv_nsec / 1e9; +} + void gettime (struct timespec *); int settime (struct timespec const *); +_GL_INLINE_HEADER_END + #endif diff --git a/gnu/unistd--.h b/gnu/unistd--.h index 68a23077..4ffc8520 100644 --- a/gnu/unistd--.h +++ b/gnu/unistd--.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like unistd.h, but redefine some names to avoid glitches. - Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2013 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 diff --git a/gnu/unistd-safer.h b/gnu/unistd-safer.h index 35b2f9d7..2754f42e 100644 --- a/gnu/unistd-safer.h +++ b/gnu/unistd-safer.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Invoke unistd-like functions, but avoid some glitches. - Copyright (C) 2001, 2003, 2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001, 2003, 2005, 2009-2013 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 diff --git a/gnu/unistd.c b/gnu/unistd.c new file mode 100644 index 00000000..329ff9b0 --- /dev/null +++ b/gnu/unistd.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE +#include "unistd.h" diff --git a/gnu/unistd.in.h b/gnu/unistd.in.h index e01ffbcb..7a8a7e7a 100644 --- a/gnu/unistd.in.h +++ b/gnu/unistd.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Substitute for and wrapper around . - Copyright (C) 2003-2011 Free Software Foundation, Inc. + Copyright (C) 2003-2013 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 @@ -14,32 +14,15 @@ 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. */ + along with this program; if not, see . */ + +#ifndef _@GUARD_PREFIX@_UNISTD_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ -/* Special invocation convention: - - On mingw, several headers, including , include , - but we need to ensure that both the system and - are completely included before we replace gethostname. */ -#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ - && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H -/* is being indirectly included for the first time from - ; avoid declaring any overrides. */ -# if @HAVE_UNISTD_H@ -# @INCLUDE_NEXT@ @NEXT_UNISTD_H@ -# else -# error unexpected; report this to bug-gnulib@gnu.org -# endif -# define _GL_WINSOCK2_H_WITNESS - -/* Normal invocation. */ -#elif !defined _GL_UNISTD_H - /* The include_next requires a split double-inclusion guard. */ #if @HAVE_UNISTD_H@ # @INCLUDE_NEXT@ @NEXT_UNISTD_H@ @@ -53,8 +36,8 @@ # undef _GL_INCLUDING_WINSOCK2_H #endif -#if !defined _GL_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H -#define _GL_UNISTD_H +#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H +#define _@GUARD_PREFIX@_UNISTD_H /* NetBSD 5.0 mis-defines NULL. Also get size_t. */ #include @@ -77,16 +60,31 @@ #endif /* mingw fails to declare _exit in . */ -/* mingw, BeOS, Haiku declare environ in , not in . */ +/* mingw, MSVC, BeOS, Haiku declare environ in , not in + . */ /* Solaris declares getcwd not only in but also in . */ +/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system is + included here. */ /* But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ +#if !defined __GLIBC__ && !defined __osf__ +# define __need_system_stdlib_h # include +# undef __need_system_stdlib_h #endif -/* mingw declares getcwd in , not in . */ -#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \ +/* Native Windows platforms declare chdir, getcwd, rmdir in + and/or , not in . + They also declare access(), chmod(), close(), dup(), dup2(), isatty(), + lseek(), read(), unlink(), write() in . */ +#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ + || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) +# include /* mingw32, mingw64 */ +# include /* mingw64, MSVC 9 */ +#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \ + || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \ + || defined GNULIB_POSIXCHECK) \ + && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) # include #endif @@ -99,7 +97,15 @@ # include #endif -#if (@GNULIB_WRITE@ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ +/* MSVC defines off_t in . + May also define off_t to a 64-bit type on native Windows. */ +#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@ +/* Get off_t. */ +# include +#endif + +#if (@GNULIB_READ@ || @GNULIB_WRITE@ \ + || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) /* Get ssize_t. */ # include @@ -108,9 +114,15 @@ /* Get getopt(), optarg, optind, opterr, optopt. But avoid namespace pollution on glibc systems. */ #if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT +# define __need_getopt # include #endif +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_UNISTD_INLINE +# define _GL_UNISTD_INLINE _GL_INLINE +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -118,78 +130,77 @@ /* The definition of _GL_WARN_ON_USE is copied here. */ -#if @GNULIB_GETHOSTNAME@ -/* Get all possible declarations of gethostname(). */ -# if @UNISTD_H_HAVE_WINSOCK2_H@ -# if !defined _GL_SYS_SOCKET_H -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef socket -# define socket socket_used_without_including_sys_socket_h -# undef connect -# define connect connect_used_without_including_sys_socket_h -# undef accept -# define accept accept_used_without_including_sys_socket_h -# undef bind -# define bind bind_used_without_including_sys_socket_h -# undef getpeername -# define getpeername getpeername_used_without_including_sys_socket_h -# undef getsockname -# define getsockname getsockname_used_without_including_sys_socket_h -# undef getsockopt -# define getsockopt getsockopt_used_without_including_sys_socket_h -# undef listen -# define listen listen_used_without_including_sys_socket_h -# undef recv -# define recv recv_used_without_including_sys_socket_h -# undef send -# define send send_used_without_including_sys_socket_h -# undef recvfrom -# define recvfrom recvfrom_used_without_including_sys_socket_h -# undef sendto -# define sendto sendto_used_without_including_sys_socket_h -# undef setsockopt -# define setsockopt setsockopt_used_without_including_sys_socket_h -# undef shutdown -# define shutdown shutdown_used_without_including_sys_socket_h -# else - _GL_WARN_ON_USE (socket, - "socket() used without including "); - _GL_WARN_ON_USE (connect, - "connect() used without including "); - _GL_WARN_ON_USE (accept, - "accept() used without including "); - _GL_WARN_ON_USE (bind, - "bind() used without including "); - _GL_WARN_ON_USE (getpeername, - "getpeername() used without including "); - _GL_WARN_ON_USE (getsockname, - "getsockname() used without including "); - _GL_WARN_ON_USE (getsockopt, - "getsockopt() used without including "); - _GL_WARN_ON_USE (listen, - "listen() used without including "); - _GL_WARN_ON_USE (recv, - "recv() used without including "); - _GL_WARN_ON_USE (send, - "send() used without including "); - _GL_WARN_ON_USE (recvfrom, - "recvfrom() used without including "); - _GL_WARN_ON_USE (sendto, - "sendto() used without including "); - _GL_WARN_ON_USE (setsockopt, - "setsockopt() used without including "); - _GL_WARN_ON_USE (shutdown, - "shutdown() used without including "); -# endif +/* Hide some function declarations from . */ + +#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ +# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef socket +# define socket socket_used_without_including_sys_socket_h +# undef connect +# define connect connect_used_without_including_sys_socket_h +# undef accept +# define accept accept_used_without_including_sys_socket_h +# undef bind +# define bind bind_used_without_including_sys_socket_h +# undef getpeername +# define getpeername getpeername_used_without_including_sys_socket_h +# undef getsockname +# define getsockname getsockname_used_without_including_sys_socket_h +# undef getsockopt +# define getsockopt getsockopt_used_without_including_sys_socket_h +# undef listen +# define listen listen_used_without_including_sys_socket_h +# undef recv +# define recv recv_used_without_including_sys_socket_h +# undef send +# define send send_used_without_including_sys_socket_h +# undef recvfrom +# define recvfrom recvfrom_used_without_including_sys_socket_h +# undef sendto +# define sendto sendto_used_without_including_sys_socket_h +# undef setsockopt +# define setsockopt setsockopt_used_without_including_sys_socket_h +# undef shutdown +# define shutdown shutdown_used_without_including_sys_socket_h +# else + _GL_WARN_ON_USE (socket, + "socket() used without including "); + _GL_WARN_ON_USE (connect, + "connect() used without including "); + _GL_WARN_ON_USE (accept, + "accept() used without including "); + _GL_WARN_ON_USE (bind, + "bind() used without including "); + _GL_WARN_ON_USE (getpeername, + "getpeername() used without including "); + _GL_WARN_ON_USE (getsockname, + "getsockname() used without including "); + _GL_WARN_ON_USE (getsockopt, + "getsockopt() used without including "); + _GL_WARN_ON_USE (listen, + "listen() used without including "); + _GL_WARN_ON_USE (recv, + "recv() used without including "); + _GL_WARN_ON_USE (send, + "send() used without including "); + _GL_WARN_ON_USE (recvfrom, + "recvfrom() used without including "); + _GL_WARN_ON_USE (sendto, + "sendto() used without including "); + _GL_WARN_ON_USE (setsockopt, + "setsockopt() used without including "); + _GL_WARN_ON_USE (shutdown, + "shutdown() used without including "); # endif -# if !defined _GL_SYS_SELECT_H -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef select -# define select select_used_without_including_sys_select_h -# else - _GL_WARN_ON_USE (select, - "select() used without including "); -# endif +# endif +# if !defined _@GUARD_PREFIX@_SYS_SELECT_H +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef select +# define select select_used_without_including_sys_select_h +# else + _GL_WARN_ON_USE (select, + "select() used without including "); # endif # endif #endif @@ -225,12 +236,24 @@ _GL_WARN_ON_USE (access, "the access function is a security risk - " #endif +#if @GNULIB_CHDIR@ +_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1))); +_GL_CXXALIASWARN (chdir); +#elif defined GNULIB_POSIXCHECK +# undef chdir +# if HAVE_RAW_DECL_CHDIR +_GL_WARN_ON_USE (chown, "chdir is not always in - " + "use gnulib module chdir for portability"); +# endif +#endif + + #if @GNULIB_CHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ + See the POSIX:2008 specification + . */ # if @REPLACE_DUP2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup2 rpl_dup2 @@ -369,7 +400,7 @@ extern char **environ; # endif #elif defined GNULIB_POSIXCHECK # if HAVE_RAW_DECL_ENVIRON -static inline char *** +_GL_UNISTD_INLINE char *** rpl_environ (void) { return &environ; @@ -427,8 +458,8 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - " /* Change the process' current working directory to the directory on which the given file descriptor is open. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if ! @HAVE_FCHDIR@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); @@ -485,11 +516,30 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - " #endif -#if @GNULIB_FSYNC@ +#if @GNULIB_FDATASYNC@ /* Synchronize changes to a file. Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ + See POSIX:2008 specification + . */ +# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@ +_GL_FUNCDECL_SYS (fdatasync, int, (int fd)); +# endif +_GL_CXXALIAS_SYS (fdatasync, int, (int fd)); +_GL_CXXALIASWARN (fdatasync); +#elif defined GNULIB_POSIXCHECK +# undef fdatasync +# if HAVE_RAW_DECL_FDATASYNC +_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - " + "use gnulib module fdatasync for portability"); +# endif +#endif + + +#if @GNULIB_FSYNC@ +/* Synchronize changes, including metadata, to a file. + Return 0 if successful, otherwise -1 and errno set. + See POSIX:2008 specification + . */ # if !@HAVE_FSYNC@ _GL_FUNCDECL_SYS (fsync, int, (int fd)); # endif @@ -507,12 +557,21 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - " #if @GNULIB_FTRUNCATE@ /* Change the size of the file to which FD is opened to become equal to LENGTH. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ -# if !@HAVE_FTRUNCATE@ + See the POSIX:2008 specification + . */ +# if @REPLACE_FTRUNCATE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef ftruncate +# define ftruncate rpl_ftruncate +# endif +_GL_FUNCDECL_RPL (ftruncate, int, (int fd, off_t length)); +_GL_CXXALIAS_RPL (ftruncate, int, (int fd, off_t length)); +# else +# if !@HAVE_FTRUNCATE@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length)); -# endif +# endif _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length)); +# endif _GL_CXXALIASWARN (ftruncate); #elif defined GNULIB_POSIXCHECK # undef ftruncate @@ -528,8 +587,8 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - " of BUF. Return BUF if successful, or NULL if the directory couldn't be determined or SIZE was too small. - See the POSIX:2001 specification - . + See the POSIX:2008 specification + . Additionally, the gnulib module 'getcwd' guarantees the following GNU extension: If BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as @@ -799,7 +858,7 @@ _GL_CXXALIAS_RPL (getpagesize, int, (void)); # define getpagesize() _gl_getpagesize () # else # if !GNULIB_defined_getpagesize_function -static inline int +_GL_UNISTD_INLINE int getpagesize () { return _gl_getpagesize (); @@ -872,12 +931,49 @@ _GL_WARN_ON_USE (endusershell, "endusershell is unportable - " #endif +#if @GNULIB_GROUP_MEMBER@ +/* Determine whether group id is in calling user's group list. */ +# if !@HAVE_GROUP_MEMBER@ +_GL_FUNCDECL_SYS (group_member, int, (gid_t gid)); +# endif +_GL_CXXALIAS_SYS (group_member, int, (gid_t gid)); +_GL_CXXALIASWARN (group_member); +#elif defined GNULIB_POSIXCHECK +# undef group_member +# if HAVE_RAW_DECL_GROUP_MEMBER +_GL_WARN_ON_USE (group_member, "group_member is unportable - " + "use gnulib module group-member for portability"); +# endif +#endif + + +#if @GNULIB_ISATTY@ +# if @REPLACE_ISATTY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef isatty +# define isatty rpl_isatty +# endif +_GL_FUNCDECL_RPL (isatty, int, (int fd)); +_GL_CXXALIAS_RPL (isatty, int, (int fd)); +# else +_GL_CXXALIAS_SYS (isatty, int, (int fd)); +# endif +_GL_CXXALIASWARN (isatty); +#elif defined GNULIB_POSIXCHECK +# undef isatty +# if HAVE_RAW_DECL_ISATTY +_GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - " + "use gnulib module isatty for portability"); +# endif +#endif + + #if @GNULIB_LCHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Do not follow symbolic links. Return 0 if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_LCHOWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef lchown @@ -906,8 +1002,8 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - " #if @GNULIB_LINK@ /* Create a new hard link for an existing file. Return 0 if successful, otherwise -1 and errno set. - See POSIX:2001 specification - . */ + See POSIX:2008 specification + . */ # if @REPLACE_LINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define link rpl_link @@ -972,8 +1068,8 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - " #if @GNULIB_LSEEK@ /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. Return the new offset if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_LSEEK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lseek rpl_lseek @@ -1043,10 +1139,12 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - " #if @GNULIB_PREAD@ /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET. Return the number of bytes placed into BUF if successful, otherwise - set errno and return -1. 0 indicates EOF. See the POSIX:2001 - specification . */ + set errno and return -1. 0 indicates EOF. + See the POSIX:2008 specification + . */ # if @REPLACE_PREAD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef pread # define pread rpl_pread # endif _GL_FUNCDECL_RPL (pread, ssize_t, @@ -1077,10 +1175,11 @@ _GL_WARN_ON_USE (pread, "pread is unportable - " /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET. Return the number of bytes written if successful, otherwise set errno and return -1. 0 indicates nothing written. See the - POSIX:2001 specification - . */ + POSIX:2008 specification + . */ # if @REPLACE_PWRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef pwrite # define pwrite rpl_pwrite # endif _GL_FUNCDECL_RPL (pwrite, ssize_t, @@ -1107,12 +1206,34 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - " #endif +#if @GNULIB_READ@ +/* Read up to COUNT bytes from file descriptor FD into the buffer starting + at BUF. See the POSIX:2008 specification + . */ +# if @REPLACE_READ@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef read +# define read rpl_read +# endif +_GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count)); +# else +/* Need to cast, because on mingw, the third parameter is + unsigned int count + and the return type is 'int'. */ +_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count)); +# endif +_GL_CXXALIASWARN (read); +#endif + + #if @GNULIB_READLINK@ /* Read the contents of the symbolic link FILE and place the first BUFSIZE bytes of it into BUF. Return the number of bytes placed into BUF if successful, otherwise -1 and errno set. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_READLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define readlink rpl_readlink @@ -1180,11 +1301,38 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - " #endif +#if @GNULIB_SETHOSTNAME@ +/* Set the host name of the machine. + The host name may or may not be fully qualified. + + Put LEN bytes of NAME into the host name. + Return 0 if successful, otherwise, set errno and return -1. + + Platforms with no ability to set the hostname return -1 and set + errno = ENOSYS. */ +# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@ +_GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len) + _GL_ARG_NONNULL ((1))); +# endif +/* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5 + and FreeBSD 6.4 the second parameter is int. On Solaris 11 + 2011-10, the first parameter is not const. */ +_GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len)); +_GL_CXXALIASWARN (sethostname); +#elif defined GNULIB_POSIXCHECK +# undef sethostname +# if HAVE_RAW_DECL_SETHOSTNAME +_GL_WARN_ON_USE (sethostname, "sethostname is unportable - " + "use gnulib module sethostname for portability"); +# endif +#endif + + #if @GNULIB_SLEEP@ /* Pause the execution of the current thread for N seconds. Returns the number of seconds left to sleep. - See the POSIX:2001 specification - . */ + See the POSIX:2008 specification + . */ # if @REPLACE_SLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef sleep @@ -1333,7 +1481,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - " /* Pause the execution of the current thread for N microseconds. Returns 0 on completion, or -1 on range error. See the POSIX:2001 specification - . */ + . */ # if @REPLACE_USLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef usleep @@ -1359,9 +1507,9 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - " #if @GNULIB_WRITE@ /* Write up to COUNT bytes starting at BUF to file descriptor FD. - See the POSIX:2001 specification - . */ -# if @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ + See the POSIX:2008 specification + . */ +# if @REPLACE_WRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef write # define write rpl_write @@ -1378,6 +1526,7 @@ _GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count)); _GL_CXXALIASWARN (write); #endif +_GL_INLINE_HEADER_END -#endif /* _GL_UNISTD_H */ -#endif /* _GL_UNISTD_H */ +#endif /* _@GUARD_PREFIX@_UNISTD_H */ +#endif /* _@GUARD_PREFIX@_UNISTD_H */ diff --git a/gnu/unitypes.in.h b/gnu/unitypes.in.h index f1db9d9c..54eed803 100644 --- a/gnu/unitypes.in.h +++ b/gnu/unitypes.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Elementary types for the GNU UniString library. - Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc. +/* Elementary types and macros for the GNU UniString library. + Copyright (C) 2002, 2005-2006, 2009-2013 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 @@ -25,4 +25,24 @@ /* Type representing a Unicode character. */ typedef uint32_t ucs4_t; +/* Attribute of a function whose result depends only on the arguments + (not pointers!) and which has no side effects. */ +#ifndef _UC_ATTRIBUTE_CONST +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _UC_ATTRIBUTE_CONST __attribute__ ((__const__)) +# else +# define _UC_ATTRIBUTE_CONST +# endif +#endif + +/* Attribute of a function whose result depends only on the arguments + (possibly pointers) and global memory, and which has no side effects. */ +#ifndef _UC_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _UC_ATTRIBUTE_PURE +# endif +#endif + #endif /* _UNITYPES_H */ diff --git a/gnu/uniwidth.in.h b/gnu/uniwidth.in.h index 1a01e2cf..57e407c8 100644 --- a/gnu/uniwidth.in.h +++ b/gnu/uniwidth.in.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Display width functions. - Copyright (C) 2001-2002, 2005, 2007, 2009-2011 Free Software Foundation, + Copyright (C) 2001-2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it @@ -40,24 +40,31 @@ extern "C" { /* Determine number of column positions required for UC. */ extern int - uc_width (ucs4_t uc, const char *encoding); + uc_width (ucs4_t uc, const char *encoding) + _UC_ATTRIBUTE_PURE; /* Determine number of column positions required for first N units (or fewer if S ends before this) in S. */ extern int - u8_width (const uint8_t *s, size_t n, const char *encoding); + u8_width (const uint8_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; extern int - u16_width (const uint16_t *s, size_t n, const char *encoding); + u16_width (const uint16_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; extern int - u32_width (const uint32_t *s, size_t n, const char *encoding); + u32_width (const uint32_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; /* Determine number of column positions required for S. */ extern int - u8_strwidth (const uint8_t *s, const char *encoding); + u8_strwidth (const uint8_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; extern int - u16_strwidth (const uint16_t *s, const char *encoding); + u16_strwidth (const uint16_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; extern int - u32_strwidth (const uint32_t *s, const char *encoding); + u32_strwidth (const uint32_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; #ifdef __cplusplus diff --git a/gnu/uniwidth/cjk.h b/gnu/uniwidth/cjk.h index 5f7b3b31..30ad5eeb 100644 --- a/gnu/uniwidth/cjk.h +++ b/gnu/uniwidth/cjk.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Test for CJK encoding. - Copyright (C) 2001-2002, 2005-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2005-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it @@ -24,16 +24,16 @@ is_cjk_encoding (const char *encoding) { if (0 /* Legacy Japanese encodings */ - || STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0) + || STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0) /* Legacy Chinese encodings */ - || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) - || STREQ (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0) - || STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0) - || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0) + || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) + || STREQ_OPT (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0) + || STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0) + || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0) /* Legacy Korean encodings */ - || STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) - || STREQ (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0) - || STREQ (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0)) + || STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) + || STREQ_OPT (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0) + || STREQ_OPT (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0)) return 1; return 0; } diff --git a/gnu/uniwidth/width.c b/gnu/uniwidth/width.c index 3fab5eaa..9be4053a 100644 --- a/gnu/uniwidth/width.c +++ b/gnu/uniwidth/width.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine display width of Unicode character. - Copyright (C) 2001-2002, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it diff --git a/gnu/unlink.c b/gnu/unlink.c index a861d307..9ec3f312 100644 --- a/gnu/unlink.c +++ b/gnu/unlink.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Work around unlink bugs. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 diff --git a/gnu/unlinkat.c b/gnu/unlinkat.c index 148f8af3..6340d777 100644 --- a/gnu/unlinkat.c +++ b/gnu/unlinkat.c @@ -1,8 +1,8 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Work around unlinkat bugs on Solaris 9. +/* Work around unlinkat bugs on Solaris 9 and Hurd. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,6 +28,8 @@ #include #include +#include + #include "dosname.h" #include "openat.h" @@ -36,7 +38,8 @@ # undef unlinkat /* unlinkat without AT_REMOVEDIR does not honor trailing / on Solaris - 9. Solve it in a similar manner to unlink. */ + 9. Solve it in a similar manner to unlink. Hurd has the same + issue. */ int rpl_unlinkat (int fd, char const *name, int flag) diff --git a/gnu/unlinkdir.c b/gnu/unlinkdir.c index 200a9c5f..592f01e0 100644 --- a/gnu/unlinkdir.c +++ b/gnu/unlinkdir.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* unlinkdir.c - determine whether we can unlink directories - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,7 @@ #include "unlinkdir.h" #include "priv-set.h" +#include "root-uid.h" #include #if ! UNLINK_CANNOT_UNLINK_DIR @@ -45,7 +46,7 @@ cannot_unlink_dir (void) cannot = (priv_set_ismember (PRIV_SYS_LINKDIR) == 0); # else /* In traditional Unix, only root can unlink directories. */ - cannot = (geteuid () != 0); + cannot = (geteuid () != ROOT_UID); # endif initialized = true; } diff --git a/gnu/unlinkdir.h b/gnu/unlinkdir.h index ded6461f..a158ec53 100644 --- a/gnu/unlinkdir.h +++ b/gnu/unlinkdir.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* unlinkdir.h - determine (and maybe change) whether we can unlink directories - Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2013 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 diff --git a/gnu/unlocked-io.h b/gnu/unlocked-io.h index abd45712..fb2dc00e 100644 --- a/gnu/unlocked-io.h +++ b/gnu/unlocked-io.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Prefer faster, non-thread-safe stdio functions if available. - Copyright (C) 2001-2004, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2009-2013 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 diff --git a/gnu/unsetenv.c b/gnu/unsetenv.c index 5e028be7..c92884e8 100644 --- a/gnu/unsetenv.c +++ b/gnu/unsetenv.c @@ -1,6 +1,6 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1992, 1995-2002, 2005-2011 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995-2002, 2005-2013 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 @@ -16,12 +16,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include - /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ #define _GL_ARG_NONNULL(params) +#include + /* Specification. */ #include @@ -38,7 +38,7 @@ #endif #if _LIBC -/* This lock protects against simultaneous modifications of `environ'. */ +/* This lock protects against simultaneous modifications of 'environ'. */ # include __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) @@ -99,6 +99,13 @@ weak_alias (__unsetenv, unsetenv) #else /* HAVE_UNSETENV */ # undef unsetenv +# if !HAVE_DECL_UNSETENV +# if VOID_UNSETENV +extern void unsetenv (const char *); +# else +extern int unsetenv (const char *); +# endif +# endif /* Call the underlying unsetenv, in case there is hidden bookkeeping that needs updating beyond just modifying environ. */ diff --git a/gnu/utimens.c b/gnu/utimens.c index 6582706e..ed7a75f3 100644 --- a/gnu/utimens.c +++ b/gnu/utimens.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set file access and modification times. - Copyright (C) 2003-2011 Free Software Foundation, Inc. + Copyright (C) 2003-2013 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 @@ -23,6 +23,7 @@ #include +#define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE #include "utimens.h" #include @@ -182,18 +183,13 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2]) if (adjustment_needed < 0) return -1; - /* Require that at least one of FD or FILE are valid. Works around + /* Require that at least one of FD or FILE are potentially valid, to avoid a Linux bug where futimens (AT_FDCWD, NULL) changes "." rather than failing. */ - if (!file) + if (fd < 0 && !file) { - if (fd < 0) - { - errno = EBADF; - return -1; - } - if (dup2 (fd, fd) != fd) - return -1; + errno = EBADF; + return -1; } /* Some Linux-based NFS clients are buggy, and mishandle time stamps @@ -222,15 +218,19 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2]) if (0 <= utimensat_works_really) { int result; -# if __linux__ +# if __linux__ || __sun /* As recently as Linux kernel 2.6.32 (Dec 2009), several file systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT, but work if both times are either explicitly specified or UTIME_NOW. Work around it with a preparatory [f]stat prior to calling futimens/utimensat; fortunately, there is not much timing impact due to the extra syscall even on file systems - where UTIME_OMIT would have worked. FIXME: Simplify this in - 2012, when file system bugs are no longer common. */ + where UTIME_OMIT would have worked. + + The same bug occurs in Solaris 11.1 (Apr 2013). + + FIXME: Simplify this for Linux in 2016 and for Solaris in + 2024, when file system bugs are no longer common. */ if (adjustment_needed == 2) { if (fd < 0 ? stat (file, &st) : fstat (fd, &st)) @@ -242,7 +242,7 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2]) /* Note that st is good, in case utimensat gives ENOSYS. */ adjustment_needed++; } -# endif /* __linux__ */ +# endif # if HAVE_UTIMENSAT if (fd < 0) { @@ -451,15 +451,19 @@ lutimens (char const *file, struct timespec const timespec[2]) if (0 <= lutimensat_works_really) { int result; -# if __linux__ +# if __linux__ || __sun /* As recently as Linux kernel 2.6.32 (Dec 2009), several file systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT, but work if both times are either explicitly specified or UTIME_NOW. Work around it with a preparatory lstat prior to calling utimensat; fortunately, there is not much timing impact due to the extra syscall even on file systems where - UTIME_OMIT would have worked. FIXME: Simplify this in 2012, - when file system bugs are no longer common. */ + UTIME_OMIT would have worked. + + The same bug occurs in Solaris 11.1 (Apr 2013). + + FIXME: Simplify this for Linux in 2016 and for Solaris in + 2024, when file system bugs are no longer common. */ if (adjustment_needed == 2) { if (lstat (file, &st)) @@ -471,7 +475,7 @@ lutimens (char const *file, struct timespec const timespec[2]) /* Note that st is good, in case utimensat gives ENOSYS. */ adjustment_needed++; } -# endif /* __linux__ */ +# endif result = utimensat (AT_FDCWD, file, ts, AT_SYMLINK_NOFOLLOW); # ifdef __linux__ /* Work around a kernel bug: diff --git a/gnu/utimens.h b/gnu/utimens.h index 7690e74d..89b34510 100644 --- a/gnu/utimens.h +++ b/gnu/utimens.h @@ -1,5 +1,24 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Set file access and modification times. + + Copyright 2012-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or any + later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + #include int fdutimens (int, char const *, struct timespec const [2]); int utimens (char const *, struct timespec const [2]); @@ -9,13 +28,21 @@ int lutimens (char const *, struct timespec const [2]); # include # include +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_UTIMENS_INLINE +# define _GL_UTIMENS_INLINE _GL_INLINE +#endif + int fdutimensat (int fd, int dir, char const *name, struct timespec const [2], int atflag); /* Using this function makes application code slightly more readable. */ -static inline int +_GL_UTIMENS_INLINE int lutimensat (int dir, char const *file, struct timespec const times[2]) { return utimensat (dir, file, times, AT_SYMLINK_NOFOLLOW); } + +_GL_INLINE_HEADER_END + #endif diff --git a/gnu/utimensat.c b/gnu/utimensat.c index 29889eb2..de7d595e 100644 --- a/gnu/utimensat.c +++ b/gnu/utimensat.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Set the access and modification time of a file relative to directory fd. - Copyright (C) 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2009-2013 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 @@ -50,22 +50,29 @@ int rpl_utimensat (int fd, char const *file, struct timespec const times[2], int flag) { +# if defined __linux__ || defined __sun + struct timespec ts[2]; +# endif + /* See comments in utimens.c for details. */ static int utimensat_works_really; /* 0 = unknown, 1 = yes, -1 = no. */ if (0 <= utimensat_works_really) { int result; -# ifdef __linux__ +# if defined __linux__ || defined __sun struct stat st; - struct timespec ts[2]; /* As recently as Linux kernel 2.6.32 (Dec 2009), several file systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT, but work if both times are either explicitly specified or UTIME_NOW. Work around it with a preparatory [l]stat prior to calling utimensat; fortunately, there is not much timing impact due to the extra syscall even on file systems where - UTIME_OMIT would have worked. FIXME: Simplify this in 2012, - when file system bugs are no longer common. */ + UTIME_OMIT would have worked. + + The same bug occurs in Solaris 11.1 (Apr 2013). + + FIXME: Simplify this for Linux in 2016 and for Solaris in + 2024, when file system bugs are no longer common. */ if (times && (times[0].tv_nsec == UTIME_OMIT || times[1].tv_nsec == UTIME_OMIT)) { @@ -83,7 +90,22 @@ rpl_utimensat (int fd, char const *file, struct timespec const times[2], ts[1] = times[1]; times = ts; } -# endif /* __linux__ */ +# ifdef __hppa__ + /* Linux kernel 2.6.22.19 on hppa does not reject invalid tv_nsec + values. */ + else if (times + && ((times[0].tv_nsec != UTIME_NOW + && (times[0].tv_nsec < 0 + || times[0].tv_nsec >= 1000000000)) + || (times[1].tv_nsec != UTIME_NOW + && (times[1].tv_nsec < 0 + || times[1].tv_nsec >= 1000000000)))) + { + errno = EINVAL; + return -1; + } +# endif +# endif result = utimensat (fd, file, times, flag); /* Linux kernel 2.6.25 has a bug where it returns EINVAL for UTIME_NOW or UTIME_OMIT with non-zero tv_sec, which diff --git a/gnu/vasnprintf.c b/gnu/vasnprintf.c index 350e7a90..acc69234 100644 --- a/gnu/vasnprintf.c +++ b/gnu/vasnprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vsprintf with automatic memory allocation. - Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ /* This file can be parametrized with the following macros: VASNPRINTF The name of the function being defined. @@ -278,7 +277,7 @@ decimal_point_char (void) { const char *point; /* Determine it in a multithread-safe way. We know nl_langinfo is - multithread-safe on glibc systems and MacOS X systems, but is not required + multithread-safe on glibc systems and Mac OS X systems, but is not required to be multithread-safe by POSIX. sprintf(), however, is multithread-safe. localeconv() is rarely multithread-safe. */ # if HAVE_NL_LANGINFO && (__GLIBC__ || defined __UCLIBC__ || (defined __APPLE__ && defined __MACH__)) @@ -555,32 +554,61 @@ divide (mpn_t a, mpn_t b, mpn_t *q) size_t s; { mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ - s = 31; - if (msd >= 0x10000) - { - msd = msd >> 16; - s -= 16; - } - if (msd >= 0x100) - { - msd = msd >> 8; - s -= 8; - } - if (msd >= 0x10) - { - msd = msd >> 4; - s -= 4; - } - if (msd >= 0x4) + /* Determine s = GMP_LIMB_BITS - integer_length (msd). + Code copied from gnulib's integer_length.c. */ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + s = __builtin_clz (msd); +# else +# if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT + if (GMP_LIMB_BITS <= DBL_MANT_BIT) { - msd = msd >> 2; - s -= 2; + /* Use 'double' operations. + Assumes an IEEE 754 'double' implementation. */ +# define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) +# define DBL_EXP_BIAS (DBL_EXP_MASK / 2 - 1) +# define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) + union { double value; unsigned int word[NWORDS]; } m; + + /* Use a single integer to floating-point conversion. */ + m.value = msd; + + s = GMP_LIMB_BITS + - (((m.word[DBL_EXPBIT0_WORD] >> DBL_EXPBIT0_BIT) & DBL_EXP_MASK) + - DBL_EXP_BIAS); } - if (msd >= 0x2) + else +# undef NWORDS +# endif { - msd = msd >> 1; - s -= 1; + s = 31; + if (msd >= 0x10000) + { + msd = msd >> 16; + s -= 16; + } + if (msd >= 0x100) + { + msd = msd >> 8; + s -= 8; + } + if (msd >= 0x10) + { + msd = msd >> 4; + s -= 4; + } + if (msd >= 0x4) + { + msd = msd >> 2; + s -= 2; + } + if (msd >= 0x2) + { + msd = msd >> 1; + s -= 1; + } } +# endif } /* 0 <= s < GMP_LIMB_BITS. Copy b, shifting it left by s bits. */ @@ -887,9 +915,9 @@ decode_long_double (long double x, int *ep, mpn_t *mp) y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); - /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the + /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * 2^LDBL_MANT_BIT), and the latter is an integer. */ - /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. + /* Convert the mantissa (y * 2^LDBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'long double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', @@ -975,9 +1003,9 @@ decode_double (double x, int *ep, mpn_t *mp) y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); - /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the + /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * 2^DBL_MANT_BIT), and the latter is an integer. */ - /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. + /* Convert the mantissa (y * 2^DBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', @@ -1504,7 +1532,7 @@ is_borderline (const char *digits, size_t precision) /* Returns the number of TCHAR_T units needed as temporary space for the result of sprintf or SNPRINTF of a single conversion directive. */ -static inline size_t +static size_t MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion, arg_type type, int flags, size_t width, int has_precision, size_t precision, int pad_ourselves) @@ -2787,7 +2815,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (has_width) { # if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width + /* Outside POSIX, it's preferable to compare the width against the number of _characters_ of the converted value. */ w = DCHAR_MBSNLEN (result + length, characters); @@ -4858,7 +4886,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, in format strings in writable memory may crash the program (if compiled with _FORTIFY_SOURCE=2), so we should avoid it in this situation. */ - /* On native Win32 systems (such as mingw), we can avoid using + /* On native Windows systems (such as mingw), we can avoid using %n because: - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, snprintf does not write more than the specified number @@ -4867,7 +4895,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf allows us to recognize the case of an insufficient buffer size: it returns -1 in this case. - On native Win32 systems (such as mingw) where the OS is + On native Windows systems (such as mingw) where the OS is Windows Vista, the use of %n in format strings by default crashes the program. See and @@ -5127,7 +5155,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, size_t tmp_length = MAX_ROOM_NEEDED (&a, dp->arg_index, dp->conversion, type, flags, - width, has_precision, + has_width ? width : 0, + has_precision, precision, pad_ourselves); if (maxlen < tmp_length) @@ -5390,7 +5419,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, { size_t w; # if ENABLE_UNISTDIO - /* Outside POSIX, it's preferrable to compare the width + /* Outside POSIX, it's preferable to compare the width against the number of _characters_ of the converted value. */ w = DCHAR_MBSNLEN (result + length, count); diff --git a/gnu/vasnprintf.h b/gnu/vasnprintf.h index d6b0497b..c496cd29 100644 --- a/gnu/vasnprintf.h +++ b/gnu/vasnprintf.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vsprintf with automatic memory allocation. - Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2007-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ #ifndef _VASNPRINTF_H #define _VASNPRINTF_H diff --git a/gnu/vasprintf.c b/gnu/vasprintf.c index 2ddc0b7a..ce8c8152 100644 --- a/gnu/vasprintf.c +++ b/gnu/vasprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 1999, 2002, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2006-2013 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 @@ -14,8 +14,7 @@ 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. */ + with this program; if not, see . */ #include diff --git a/gnu/verify.h b/gnu/verify.h index 6819abcc..36bc8784 100644 --- a/gnu/verify.h +++ b/gnu/verify.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Compile-time assert-like macros. - Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,21 +19,41 @@ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ -#ifndef VERIFY_H -# define VERIFY_H 1 +#ifndef _GL_VERIFY_H +# define _GL_VERIFY_H + + +/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11. + This is supported by GCC 4.6.0 and later, in C mode, and its use + here generates easier-to-read diagnostics when verify (R) fails. + + Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11. + This will likely be supported by future GCC versions, in C++ mode. + + Use this only with GCC. If we were willing to slow 'configure' + down we could also use it with other compilers, but since this + affects only the quality of diagnostics, why bother? */ +# if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \ + && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ + && !defined __cplusplus) +# define _GL_HAVE__STATIC_ASSERT 1 +# endif +/* The condition (99 < __GNUC__) is temporary, until we know about the + first G++ release that supports static_assert. */ +# if (99 < __GNUC__) && defined __cplusplus +# define _GL_HAVE_STATIC_ASSERT 1 +# endif /* Each of these macros verifies that its argument R is nonzero. To be portable, R should be an integer constant expression. Unlike assert (R), there is no run-time overhead. - There are two macros, since no single macro can be used in all - contexts in C. verify_true (R) is for scalar contexts, including - integer constant expression contexts. verify (R) is for declaration - contexts, e.g., the top level. - - Symbols ending in "__" are private to this header. + If _Static_assert works, verify (R) uses it directly. Similarly, + _GL_VERIFY_TRUE works by packaging a _Static_assert inside a struct + that is an operand of sizeof. - The code below uses several ideas. + The code below uses several ideas for C++ compilers, and for C + compilers that do not support _Static_assert: * The first step is ((R) ? 1 : -1). Given an expression R, of integral or boolean or floating-point type, this yields an @@ -41,7 +61,9 @@ constant and nonnegative. * Next this expression W is wrapped in a type - struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }. + struct _gl_verify_type { + unsigned int _gl_verify_error_if_negative: W; + }. If W is negative, this yields a compile-time error. No compiler can deal with a bit-field of negative size. @@ -55,7 +77,7 @@ void function (int n) { verify (n < 0); } - * For the verify macro, the struct verify_type__ will need to + * For the verify macro, the struct _gl_verify_type will need to somehow be embedded into a declaration. To be portable, this declaration must declare an object, a constant, a function, or a typedef name. If the declared entity uses the type directly, @@ -93,11 +115,11 @@ Which of the following alternatives can be used? extern int dummy [sizeof (struct {...})]; - extern int dummy [sizeof (struct verify_type__ {...})]; + extern int dummy [sizeof (struct _gl_verify_type {...})]; extern void dummy (int [sizeof (struct {...})]); - extern void dummy (int [sizeof (struct verify_type__ {...})]); + extern void dummy (int [sizeof (struct _gl_verify_type {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; - extern int (*dummy (void)) [sizeof (struct verify_type__ {...})]; + extern int (*dummy (void)) [sizeof (struct _gl_verify_type {...})]; In the second and sixth case, the struct type is exported to the outer scope; two such declarations therefore collide. GCC warns @@ -107,19 +129,17 @@ extern int (*dummy (void)) [sizeof (struct {...})]; * GCC warns about duplicate declarations of the dummy function if - -Wredundant_decls is used. GCC 4.3 and later have a builtin + -Wredundant-decls is used. GCC 4.3 and later have a builtin __COUNTER__ macro that can let us generate unique identifiers for each dummy function, to suppress this warning. - * This implementation exploits the fact that GCC does not warn about - the last declaration mentioned above. If a future version of GCC - introduces a warning for this, the problem could be worked around - by using code specialized to GCC, just as __COUNTER__ is already - being used if available. + * This implementation exploits the fact that older versions of GCC, + which do not support _Static_assert, also do not warn about the + last declaration mentioned above. - #if 4 <= __GNUC__ - # define verify(R) [another version to keep GCC happy] - #endif + * GCC warns if -Wnested-externs is enabled and verify() is used + within a function body; but inside a function, you can always + arrange to use verify_expr() instead. * In C++, any struct definition inside sizeof is invalid. Use a template type to work around the problem. */ @@ -142,24 +162,88 @@ possible. */ # define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) -/* Verify requirement R at compile-time, as an integer constant expression. - Return 1. */ +/* Verify requirement R at compile-time, as an integer constant expression + that returns 1. If R is false, fail at compile-time, preferably + with a diagnostic that includes the string-literal DIAGNOSTIC. */ + +# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ + (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) # ifdef __cplusplus +# if !GNULIB_defined_struct__gl_verify_type template - struct verify_type__ { unsigned int verify_error_if_negative_size__: w; }; -# define verify_true(R) \ - (!!sizeof (verify_type__<(R) ? 1 : -1>)) + struct _gl_verify_type { + unsigned int _gl_verify_error_if_negative: w; + }; +# define GNULIB_defined_struct__gl_verify_type 1 +# endif +# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ + _gl_verify_type<(R) ? 1 : -1> +# elif defined _GL_HAVE__STATIC_ASSERT +# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ + struct { \ + _Static_assert (R, DIAGNOSTIC); \ + int _gl_dummy; \ + } +# else +# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ + struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; } +# endif + +/* Verify requirement R at compile-time, as a declaration without a + trailing ';'. If R is false, fail at compile-time, preferably + with a diagnostic that includes the string-literal DIAGNOSTIC. + + Unfortunately, unlike C11, this implementation must appear as an + ordinary declaration, and cannot appear inside struct { ... }. */ + +# ifdef _GL_HAVE__STATIC_ASSERT +# define _GL_VERIFY _Static_assert # else -# define verify_true(R) \ - (!!sizeof \ - (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; })) +# define _GL_VERIFY(R, DIAGNOSTIC) \ + extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ + [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] # endif +/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ +# ifdef _GL_STATIC_ASSERT_H +# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert +# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) +# endif +# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert +# define static_assert _Static_assert /* C11 requires this #define. */ +# endif +# endif + +/* @assert.h omit start@ */ + +/* Each of these macros verifies that its argument R is nonzero. To + be portable, R should be an integer constant expression. Unlike + assert (R), there is no run-time overhead. + + There are two macros, since no single macro can be used in all + contexts in C. verify_true (R) is for scalar contexts, including + integer constant expression contexts. verify (R) is for declaration + contexts, e.g., the top level. */ + +/* Verify requirement R at compile-time, as an integer constant expression. + Return 1. This is equivalent to verify_expr (R, 1). + + verify_true is obsolescent; please use verify_expr instead. */ + +# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") + +/* Verify requirement R at compile-time. Return the value of the + expression E. */ + +# define verify_expr(R, E) \ + (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) + /* Verify requirement R at compile-time, as a declaration without a trailing ';'. */ -# define verify(R) \ - extern int (* _GL_GENSYM (verify_function) (void)) [verify_true (R)] +# define verify(R) _GL_VERIFY (R, "verify (" #R ")") + +/* @assert.h omit end@ */ #endif diff --git a/gnu/version-etc-fsf.c b/gnu/version-etc-fsf.c index 6cedf535..4eb3d983 100644 --- a/gnu/version-etc-fsf.c +++ b/gnu/version-etc-fsf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Variable with FSF copyright information, for version-etc. - Copyright (C) 1999-2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1999-2006, 2009-2013 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 diff --git a/gnu/version-etc.c b/gnu/version-etc.c index 7228bf0f..420003fe 100644 --- a/gnu/version-etc.c +++ b/gnu/version-etc.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999-2011 Free Software Foundation, Inc. + Copyright (C) 1999-2013 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 @@ -40,7 +40,7 @@ # define PACKAGE PACKAGE_TARNAME #endif -enum { COPYRIGHT_YEAR = 2011 }; +enum { COPYRIGHT_YEAR = 2013 }; /* The three functions below display the --version information the standard way. diff --git a/gnu/version-etc.h b/gnu/version-etc.h index f243ec7a..8071ecbe 100644 --- a/gnu/version-etc.h +++ b/gnu/version-etc.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Print --version and bug-reporting information in a consistent format. - Copyright (C) 1999, 2003, 2005, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2003, 2005, 2009-2013 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 @@ -24,7 +24,7 @@ # include # include -/* The `sentinel' attribute was added in gcc 4.0. */ +/* The 'sentinel' attribute was added in gcc 4.0. */ #ifndef _GL_ATTRIBUTE_SENTINEL # if 4 <= __GNUC__ # define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__)) @@ -39,7 +39,7 @@ extern const char version_etc_copyright[]; standard way: command and package names, package version, followed by a short GPLv3+ notice and a list of up to 10 author names. - If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of + If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of the program. The formats are therefore: PACKAGE VERSION @@ -74,7 +74,7 @@ extern void version_etc (FILE *stream, /* const char *author1, ..., NULL */ ...) _GL_ATTRIBUTE_SENTINEL; -/* Display the usual `Report bugs to' stanza */ +/* Display the usual "Report bugs to" stanza. */ extern void emit_bug_reporting_address (void); #endif /* VERSION_ETC_H */ diff --git a/gnu/vsnprintf.c b/gnu/vsnprintf.c index 7ae00798..262c6a42 100644 --- a/gnu/vsnprintf.c +++ b/gnu/vsnprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Formatted output to strings. - Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc. Written by Simon Josefsson and Yoann Vandoorselaere . This program is free software; you can redistribute it and/or modify @@ -15,8 +15,7 @@ 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. */ + with this program; if not, see . */ #ifdef HAVE_CONFIG_H # include diff --git a/gnu/wchar.in.h b/gnu/wchar.in.h index 492ea15f..17abaaf6 100644 --- a/gnu/wchar.in.h +++ b/gnu/wchar.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C99 , for platforms that have issues. - Copyright (C) 2007-2011 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ /* Written by Eric Blake. */ @@ -51,7 +50,7 @@ #else /* Normal invocation convention. */ -#ifndef _GL_WCHAR_H +#ifndef _@GUARD_PREFIX@_WCHAR_H #define _GL_ALREADY_INCLUDING_WCHAR_H @@ -63,9 +62,13 @@ . BSD/OS 4.0.1 has a bug: , and must be included before . + In some builds of uClibc, is nonexistent and wchar_t is defined + by . But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ +#if !(defined __GLIBC__ && !defined __UCLIBC__) # include +#endif +#ifndef __GLIBC__ # include # include #endif @@ -79,8 +82,16 @@ #undef _GL_ALREADY_INCLUDING_WCHAR_H -#ifndef _GL_WCHAR_H -#define _GL_WCHAR_H +#ifndef _@GUARD_PREFIX@_WCHAR_H +#define _@GUARD_PREFIX@_WCHAR_H + +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -96,6 +107,18 @@ # define WEOF -1 # endif #else +/* MSVC defines wint_t as 'unsigned short' in . + This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be + "unchanged by default argument promotions". Override it. */ +# if defined _MSC_VER +# if !GNULIB_defined_wint_t +# include +typedef unsigned int rpl_wint_t; +# undef wint_t +# define wint_t rpl_wint_t +# define GNULIB_defined_wint_t 1 +# endif +# endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif @@ -122,11 +145,11 @@ typedef int rpl_mbstate_t; # undef btowc # define btowc rpl_btowc # endif -_GL_FUNCDECL_RPL (btowc, wint_t, (int c)); +_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (btowc, wint_t, (int c)); # else # if !@HAVE_BTOWC@ -_GL_FUNCDECL_SYS (btowc, wint_t, (int c)); +_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (btowc, wint_t, (int c)); # endif @@ -147,12 +170,12 @@ _GL_WARN_ON_USE (btowc, "btowc is unportable - " # undef wctob # define wctob rpl_wctob # endif -_GL_FUNCDECL_RPL (wctob, int, (wint_t wc)); +_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wctob, int, (wint_t wc)); # else # if !defined wctob && !@HAVE_DECL_WCTOB@ /* wctob is provided by gnulib, or wctob exists but is not declared. */ -_GL_FUNCDECL_SYS (wctob, int, (wint_t wc)); +_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wctob, int, (wint_t wc)); # endif @@ -413,12 +436,12 @@ _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - " # undef wcwidth # define wcwidth rpl_wcwidth # endif -_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t)); +_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wcwidth, int, (wchar_t)); # else # if !@HAVE_DECL_WCWIDTH@ /* wcwidth exists but is not declared. */ -_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t)); +_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t)); # endif @@ -435,10 +458,25 @@ _GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - " /* Search N wide characters of S for C. */ #if @GNULIB_WMEMCHR@ # if !@HAVE_WMEMCHR@ -_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)); -# endif -_GL_CXXALIAS_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)); +_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n) + _GL_ATTRIBUTE_PURE); +# endif + /* On some systems, this function is defined as an overloaded function: + extern "C++" { + const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t); + wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t); + } */ +_GL_CXXALIAS_SYS_CAST2 (wmemchr, + wchar_t *, (const wchar_t *, wchar_t, size_t), + const wchar_t *, (const wchar_t *, wchar_t, size_t)); +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n)); +_GL_CXXALIASWARN1 (wmemchr, const wchar_t *, + (const wchar_t *s, wchar_t c, size_t n)); +# else _GL_CXXALIASWARN (wmemchr); +# endif #elif defined GNULIB_POSIXCHECK # undef wmemchr # if HAVE_RAW_DECL_WMEMCHR @@ -452,7 +490,8 @@ _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - " #if @GNULIB_WMEMCMP@ # if !@HAVE_WMEMCMP@ _GL_FUNCDECL_SYS (wmemcmp, int, - (const wchar_t *s1, const wchar_t *s2, size_t n)); + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wmemcmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); @@ -522,7 +561,7 @@ _GL_WARN_ON_USE (wmemset, "wmemset is unportable - " /* Return the number of wide characters in S. */ #if @GNULIB_WCSLEN@ # if !@HAVE_WCSLEN@ -_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s)); +_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s)); _GL_CXXALIASWARN (wcslen); @@ -538,7 +577,8 @@ _GL_WARN_ON_USE (wcslen, "wcslen is unportable - " /* Return the number of wide characters in S, but at most MAXLEN. */ #if @GNULIB_WCSNLEN@ # if !@HAVE_WCSNLEN@ -_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)); +_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)); _GL_CXXALIASWARN (wcsnlen); @@ -657,7 +697,8 @@ _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - " /* Compare S1 and S2. */ #if @GNULIB_WCSCMP@ # if !@HAVE_WCSCMP@ -_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); +_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscmp); @@ -674,7 +715,8 @@ _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - " #if @GNULIB_WCSNCMP@ # if !@HAVE_WCSNCMP@ _GL_FUNCDECL_SYS (wcsncmp, int, - (const wchar_t *s1, const wchar_t *s2, size_t n)); + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsncmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); @@ -691,7 +733,8 @@ _GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - " /* Compare S1 and S2, ignoring case. */ #if @GNULIB_WCSCASECMP@ # if !@HAVE_WCSCASECMP@ -_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)); +_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscasecmp); @@ -708,7 +751,8 @@ _GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - " #if @GNULIB_WCSNCASECMP@ # if !@HAVE_WCSNCASECMP@ _GL_FUNCDECL_SYS (wcsncasecmp, int, - (const wchar_t *s1, const wchar_t *s2, size_t n)); + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsncasecmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); @@ -776,10 +820,24 @@ _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - " /* Find the first occurrence of WC in WCS. */ #if @GNULIB_WCSCHR@ # if !@HAVE_WCSCHR@ -_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)); -# endif -_GL_CXXALIAS_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)); +_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc) + _GL_ATTRIBUTE_PURE); +# endif + /* On some systems, this function is defined as an overloaded function: + extern "C++" { + const wchar_t * std::wcschr (const wchar_t *, wchar_t); + wchar_t * std::wcschr (wchar_t *, wchar_t); + } */ +_GL_CXXALIAS_SYS_CAST2 (wcschr, + wchar_t *, (const wchar_t *, wchar_t), + const wchar_t *, (const wchar_t *, wchar_t)); +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc)); +_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc)); +# else _GL_CXXALIASWARN (wcschr); +# endif #elif defined GNULIB_POSIXCHECK # undef wcschr # if HAVE_RAW_DECL_WCSCHR @@ -792,10 +850,24 @@ _GL_WARN_ON_USE (wcschr, "wcschr is unportable - " /* Find the last occurrence of WC in WCS. */ #if @GNULIB_WCSRCHR@ # if !@HAVE_WCSRCHR@ -_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)); -# endif -_GL_CXXALIAS_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)); +_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc) + _GL_ATTRIBUTE_PURE); +# endif + /* On some systems, this function is defined as an overloaded function: + extern "C++" { + const wchar_t * std::wcsrchr (const wchar_t *, wchar_t); + wchar_t * std::wcsrchr (wchar_t *, wchar_t); + } */ +_GL_CXXALIAS_SYS_CAST2 (wcsrchr, + wchar_t *, (const wchar_t *, wchar_t), + const wchar_t *, (const wchar_t *, wchar_t)); +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc)); +_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc)); +# else _GL_CXXALIASWARN (wcsrchr); +# endif #elif defined GNULIB_POSIXCHECK # undef wcsrchr # if HAVE_RAW_DECL_WCSRCHR @@ -809,7 +881,8 @@ _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - " of wide characters not in REJECT. */ #if @GNULIB_WCSCSPN@ # if !@HAVE_WCSCSPN@ -_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)); +_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)); _GL_CXXALIASWARN (wcscspn); @@ -826,7 +899,8 @@ _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - " of wide characters in ACCEPT. */ #if @GNULIB_WCSSPN@ # if !@HAVE_WCSSPN@ -_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)); +_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)); _GL_CXXALIASWARN (wcsspn); @@ -843,11 +917,26 @@ _GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - " #if @GNULIB_WCSPBRK@ # if !@HAVE_WCSPBRK@ _GL_FUNCDECL_SYS (wcspbrk, wchar_t *, - (const wchar_t *wcs, const wchar_t *accept)); -# endif -_GL_CXXALIAS_SYS (wcspbrk, wchar_t *, - (const wchar_t *wcs, const wchar_t *accept)); + (const wchar_t *wcs, const wchar_t *accept) + _GL_ATTRIBUTE_PURE); +# endif + /* On some systems, this function is defined as an overloaded function: + extern "C++" { + const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *); + wchar_t * std::wcspbrk (wchar_t *, const wchar_t *); + } */ +_GL_CXXALIAS_SYS_CAST2 (wcspbrk, + wchar_t *, (const wchar_t *, const wchar_t *), + const wchar_t *, (const wchar_t *, const wchar_t *)); +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +_GL_CXXALIASWARN1 (wcspbrk, wchar_t *, + (wchar_t *wcs, const wchar_t *accept)); +_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *, + (const wchar_t *wcs, const wchar_t *accept)); +# else _GL_CXXALIASWARN (wcspbrk); +# endif #elif defined GNULIB_POSIXCHECK # undef wcspbrk # if HAVE_RAW_DECL_WCSPBRK @@ -861,11 +950,26 @@ _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - " #if @GNULIB_WCSSTR@ # if !@HAVE_WCSSTR@ _GL_FUNCDECL_SYS (wcsstr, wchar_t *, - (const wchar_t *haystack, const wchar_t *needle)); -# endif -_GL_CXXALIAS_SYS (wcsstr, wchar_t *, - (const wchar_t *haystack, const wchar_t *needle)); + (const wchar_t *haystack, const wchar_t *needle) + _GL_ATTRIBUTE_PURE); +# endif + /* On some systems, this function is defined as an overloaded function: + extern "C++" { + const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *); + wchar_t * std::wcsstr (wchar_t *, const wchar_t *); + } */ +_GL_CXXALIAS_SYS_CAST2 (wcsstr, + wchar_t *, (const wchar_t *, const wchar_t *), + const wchar_t *, (const wchar_t *, const wchar_t *)); +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ + && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +_GL_CXXALIASWARN1 (wcsstr, wchar_t *, + (wchar_t *haystack, const wchar_t *needle)); +_GL_CXXALIASWARN1 (wcsstr, const wchar_t *, + (const wchar_t *haystack, const wchar_t *needle)); +# else _GL_CXXALIASWARN (wcsstr); +# endif #elif defined GNULIB_POSIXCHECK # undef wcsstr # if HAVE_RAW_DECL_WCSSTR @@ -901,11 +1005,13 @@ _GL_WARN_ON_USE (wcstok, "wcstok is unportable - " # undef wcswidth # define wcswidth rpl_wcswidth # endif -_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)); +_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n) + _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n)); # else # if !@HAVE_WCSWIDTH@ -_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)); +_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n) + _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n)); # endif @@ -919,6 +1025,6 @@ _GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - " #endif -#endif /* _GL_WCHAR_H */ -#endif /* _GL_WCHAR_H */ +#endif /* _@GUARD_PREFIX@_WCHAR_H */ +#endif /* _@GUARD_PREFIX@_WCHAR_H */ #endif diff --git a/gnu/wcrtomb.c b/gnu/wcrtomb.c index 002a781c..3dc65f70 100644 --- a/gnu/wcrtomb.c +++ b/gnu/wcrtomb.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Convert wide character to multibyte character. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify diff --git a/gnu/wctype-h.c b/gnu/wctype-h.c new file mode 100644 index 00000000..8375a710 --- /dev/null +++ b/gnu/wctype-h.c @@ -0,0 +1,6 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Normally this would be wctype.c, but that name's already taken. */ +#include +#define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE +#include "wctype.h" diff --git a/gnu/wctype.in.h b/gnu/wctype.in.h index a01403e4..0cb71a14 100644 --- a/gnu/wctype.in.h +++ b/gnu/wctype.in.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute for ISO C99 , for platforms that lack it. - Copyright (C) 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ /* Written by Bruno Haible and Paul Eggert. */ @@ -28,7 +27,7 @@ * wctrans_t, and wctype_t are not yet implemented. */ -#ifndef _GL_WCTYPE_H +#ifndef _@GUARD_PREFIX@_WCTYPE_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ @@ -47,6 +46,13 @@ # include #endif +/* mingw has declarations of towupper and towlower in as + well . Include in advance to avoid rpl_ prefix + being added to the declarations. */ +#ifdef __MINGW32__ +# include +#endif + /* Include the original if it exists. BeOS 5 has the functions but no . */ /* The include_next requires a split double-inclusion guard. */ @@ -54,13 +60,31 @@ # @INCLUDE_NEXT@ @NEXT_WCTYPE_H@ #endif -#ifndef _GL_WCTYPE_H -#define _GL_WCTYPE_H +#ifndef _@GUARD_PREFIX@_WCTYPE_H +#define _@GUARD_PREFIX@_WCTYPE_H + +_GL_INLINE_HEADER_BEGIN +#ifndef _GL_WCTYPE_INLINE +# define _GL_WCTYPE_INLINE _GL_INLINE +#endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ +/* Solaris 2.6 includes which includes which + #defines a number of identifiers in the application namespace. Revert + these #defines. */ +#ifdef __sun +# undef multibyte +# undef eucw1 +# undef eucw2 +# undef eucw3 +# undef scrw1 +# undef scrw2 +# undef scrw3 +#endif + /* Define wint_t and WEOF. (Also done in wchar.in.h.) */ #if !@HAVE_WINT_T@ && !defined wint_t # define wint_t int @@ -68,6 +92,18 @@ # define WEOF -1 # endif #else +/* MSVC defines wint_t as 'unsigned short' in . + This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be + "unchanged by default argument promotions". Override it. */ +# if defined _MSC_VER +# if !GNULIB_defined_wint_t +# include +typedef unsigned int rpl_wint_t; +# undef wint_t +# define wint_t rpl_wint_t +# define GNULIB_defined_wint_t 1 +# endif +# endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif @@ -117,12 +153,16 @@ # define iswspace rpl_iswspace # define iswupper rpl_iswupper # define iswxdigit rpl_iswxdigit +# endif +# endif +# if @REPLACE_TOWLOWER@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define towlower rpl_towlower # define towupper rpl_towupper # endif # endif -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswalnum # else @@ -134,7 +174,7 @@ iswalnum || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')); } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswalpha # else @@ -145,7 +185,7 @@ iswalpha return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswblank # else @@ -156,7 +196,7 @@ iswblank return wc == ' ' || wc == '\t'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswcntrl # else @@ -167,7 +207,7 @@ iswcntrl return (wc & ~0x1f) == 0 || wc == 0x7f; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswdigit # else @@ -178,7 +218,7 @@ iswdigit return wc >= '0' && wc <= '9'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswgraph # else @@ -189,7 +229,7 @@ iswgraph return wc >= '!' && wc <= '~'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswlower # else @@ -200,7 +240,7 @@ iswlower return wc >= 'a' && wc <= 'z'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswprint # else @@ -211,7 +251,7 @@ iswprint return wc >= ' ' && wc <= '~'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswpunct # else @@ -224,7 +264,7 @@ iswpunct || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'))); } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswspace # else @@ -236,7 +276,7 @@ iswspace || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r'); } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswupper # else @@ -247,7 +287,7 @@ iswupper return wc >= 'A' && wc <= 'Z'; } -static inline int +_GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswxdigit # else @@ -259,8 +299,8 @@ iswxdigit || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F')); } -static inline wint_t -# if @REPLACE_ISWCNTRL@ +_GL_WCTYPE_INLINE wint_t +# if @REPLACE_TOWLOWER@ rpl_towlower # else towlower @@ -270,8 +310,8 @@ towlower return (wc >= 'A' && wc <= 'Z' ? wc - 'A' + 'a' : wc); } -static inline wint_t -# if @REPLACE_ISWCNTRL@ +_GL_WCTYPE_INLINE wint_t +# if @REPLACE_TOWLOWER@ rpl_towupper # else towupper @@ -310,7 +350,7 @@ _GL_FUNCDECL_SYS (iswblank, int, (wint_t wc)); result register. We need to fix this by adding a zero-extend from wchar_t to wint_t after the call. */ -static inline wint_t +_GL_WCTYPE_INLINE wint_t rpl_towlower (wint_t wc) { return (wint_t) (wchar_t) towlower (wc); @@ -319,7 +359,7 @@ rpl_towlower (wint_t wc) # define towlower rpl_towlower # endif -static inline wint_t +_GL_WCTYPE_INLINE wint_t rpl_towupper (wint_t wc) { return (wint_t) (wchar_t) towupper (wc); @@ -418,7 +458,7 @@ _GL_WARN_ON_USE (iswctype, "iswctype is unportable - " # endif #endif -#if @REPLACE_ISWCNTRL@ || defined __MINGW32__ +#if @REPLACE_TOWLOWER@ || defined __MINGW32__ _GL_CXXALIAS_RPL (towlower, wint_t, (wint_t wc)); _GL_CXXALIAS_RPL (towupper, wint_t, (wint_t wc)); #else @@ -467,6 +507,7 @@ _GL_WARN_ON_USE (towctrans, "towctrans is unportable - " # endif #endif +_GL_INLINE_HEADER_END -#endif /* _GL_WCTYPE_H */ -#endif /* _GL_WCTYPE_H */ +#endif /* _@GUARD_PREFIX@_WCTYPE_H */ +#endif /* _@GUARD_PREFIX@_WCTYPE_H */ diff --git a/gnu/wcwidth.c b/gnu/wcwidth.c index 336b7888..5662637f 100644 --- a/gnu/wcwidth.c +++ b/gnu/wcwidth.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Determine the number of screen columns needed for a character. - Copyright (C) 2006-2007, 2010-2011 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2010-2013 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 @@ -34,7 +34,7 @@ wcwidth (wchar_t wc) { /* In UTF-8 locales, use a Unicode aware width function. */ const char *encoding = locale_charset (); - if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0)) + if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0)) { /* We assume that in a UTF-8 locale, a wide character is the same as a Unicode character. */ diff --git a/gnu/write.c b/gnu/write.c index 1eee7bdb..53223c74 100644 --- a/gnu/write.c +++ b/gnu/write.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* POSIX compatible write() function. - Copyright (C) 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -22,43 +22,126 @@ /* Specification. */ #include -/* Replace this function only if module 'sigpipe' is requested. */ -#if GNULIB_SIGPIPE - /* On native Windows platforms, SIGPIPE does not exist. When write() is called on a pipe with no readers, WriteFile() fails with error GetLastError() = ERROR_NO_DATA, and write() in consequence fails with error EINVAL. */ -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +# include +# include +# include + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# include "msvc-inval.h" +# include "msvc-nothrow.h" + +# undef write -# include -# include -# include +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static ssize_t +write_nothrow (int fd, const void *buf, size_t count) +{ + ssize_t result; + + TRY_MSVC_INVAL + { + result = write (fd, buf, count); + } + CATCH_MSVC_INVAL + { + result = -1; + errno = EBADF; + } + DONE_MSVC_INVAL; -# define WIN32_LEAN_AND_MEAN /* avoid including junk */ -# include + return result; +} +# else +# define write_nothrow write +# endif ssize_t rpl_write (int fd, const void *buf, size_t count) -#undef write { - ssize_t ret = write (fd, buf, count); - - if (ret < 0) + for (;;) { - if (GetLastError () == ERROR_NO_DATA - && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE) + ssize_t ret = write_nothrow (fd, buf, count); + + if (ret < 0) { - /* Try to raise signal SIGPIPE. */ - raise (SIGPIPE); - /* If it is currently blocked or ignored, change errno from EINVAL - to EPIPE. */ - errno = EPIPE; +# if GNULIB_NONBLOCKING + if (errno == ENOSPC) + { + HANDLE h = (HANDLE) _get_osfhandle (fd); + if (GetFileType (h) == FILE_TYPE_PIPE) + { + /* h is a pipe or socket. */ + DWORD state; + if (GetNamedPipeHandleState (h, &state, NULL, NULL, NULL, + NULL, 0) + && (state & PIPE_NOWAIT) != 0) + { + /* h is a pipe in non-blocking mode. + We can get here in four situations: + 1. When the pipe buffer is full. + 2. When count <= pipe_buf_size and the number of + free bytes in the pipe buffer is < count. + 3. When count > pipe_buf_size and the number of free + bytes in the pipe buffer is > 0, < pipe_buf_size. + 4. When count > pipe_buf_size and the pipe buffer is + entirely empty. + The cases 1 and 2 are POSIX compliant. In cases 3 and + 4 POSIX specifies that write() must split the request + and succeed with a partial write. We fix case 4. + We don't fix case 3 because it is not essential for + programs. */ + DWORD out_size; /* size of the buffer for outgoing data */ + DWORD in_size; /* size of the buffer for incoming data */ + if (GetNamedPipeInfo (h, NULL, &out_size, &in_size, NULL)) + { + size_t reduced_count = count; + /* In theory we need only one of out_size, in_size. + But I don't know which of the two. The description + is ambiguous. */ + if (out_size != 0 && out_size < reduced_count) + reduced_count = out_size; + if (in_size != 0 && in_size < reduced_count) + reduced_count = in_size; + if (reduced_count < count) + { + /* Attempt to write only the first part. */ + count = reduced_count; + continue; + } + } + /* Change errno from ENOSPC to EAGAIN. */ + errno = EAGAIN; + } + } + } + else +# endif + { +# if GNULIB_SIGPIPE + if (GetLastError () == ERROR_NO_DATA + && GetFileType ((HANDLE) _get_osfhandle (fd)) + == FILE_TYPE_PIPE) + { + /* Try to raise signal SIGPIPE. */ + raise (SIGPIPE); + /* If it is currently blocked or ignored, change errno from + EINVAL to EPIPE. */ + errno = EPIPE; + } +# endif + } } + return ret; } - return ret; } -# endif #endif diff --git a/gnu/xalloc-die.c b/gnu/xalloc-die.c index 4128ec13..bb8f1c27 100644 --- a/gnu/xalloc-die.c +++ b/gnu/xalloc-die.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Report a memory allocation failure and exit. - Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2011 Free Software + Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -35,7 +35,7 @@ xalloc_die (void) { error (exit_failure, 0, "%s", _("memory exhausted")); - /* The `noreturn' cannot be given to error, since it may return if + /* _Noreturn cannot be given to error, since it may return if its first argument is 0. To help compilers understand the xalloc_die does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ diff --git a/gnu/xalloc-oversized.h b/gnu/xalloc-oversized.h new file mode 100644 index 00000000..8a34e955 --- /dev/null +++ b/gnu/xalloc-oversized.h @@ -0,0 +1,40 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* xalloc-oversized.h -- memory allocation size checking + + Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef XALLOC_OVERSIZED_H_ +# define XALLOC_OVERSIZED_H_ + +# include + +/* Return 1 if an array of N objects, each of size S, cannot exist due + to size arithmetic overflow. S must be positive and N must be + nonnegative. This is a macro, not a function, so that it + works correctly even when SIZE_MAX < N. + + By gnulib convention, SIZE_MAX represents overflow in size + calculations, so the conservative dividend to use here is + SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. + However, malloc (SIZE_MAX) fails on all known hosts where + sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for + exactly-SIZE_MAX allocations on such hosts; this avoids a test and + branch when S is known to be 1. */ +# define xalloc_oversized(n, s) \ + ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) + +#endif /* !XALLOC_OVERSIZED_H_ */ diff --git a/gnu/xalloc.h b/gnu/xalloc.h index e1da0627..a9595b8e 100644 --- a/gnu/xalloc.h +++ b/gnu/xalloc.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xalloc.h -- malloc with out-of-memory checking - Copyright (C) 1990-2000, 2003-2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2003-2004, 2006-2013 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 @@ -18,40 +18,40 @@ along with this program. If not, see . */ #ifndef XALLOC_H_ -# define XALLOC_H_ +#define XALLOC_H_ -# include +#include +#include "xalloc-oversized.h" -# ifdef __cplusplus -extern "C" { -# endif +_GL_INLINE_HEADER_BEGIN +#ifndef XALLOC_INLINE +# define XALLOC_INLINE _GL_INLINE +#endif +#ifdef __cplusplus +extern "C" { +#endif -# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8) -# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -# else -# define _GL_ATTRIBUTE_NORETURN /* empty */ -# endif -# if __GNUC__ >= 3 -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -# else -# define _GL_ATTRIBUTE_MALLOC -# endif +#if __GNUC__ >= 3 +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif -# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -# else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) -# endif +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif /* This function is always triggered when memory is exhausted. It must be defined by the application, either explicitly or by using gnulib's xalloc-die module. This is the function to call when one wants the program to die because of a memory allocation failure. */ -extern void xalloc_die (void) _GL_ATTRIBUTE_NORETURN; +extern _Noreturn void xalloc_die (void); void *xmalloc (size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); @@ -67,22 +67,6 @@ void *xmemdup (void const *p, size_t s) char *xstrdup (char const *str) _GL_ATTRIBUTE_MALLOC; -/* Return 1 if an array of N objects, each of size S, cannot exist due - to size arithmetic overflow. S must be positive and N must be - nonnegative. This is a macro, not an inline function, so that it - works correctly even when SIZE_MAX < N. - - By gnulib convention, SIZE_MAX represents overflow in size - calculations, so the conservative dividend to use here is - SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. - However, malloc (SIZE_MAX) fails on all known hosts where - sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for - exactly-SIZE_MAX allocations on such hosts; this avoids a test and - branch when S is known to be 1. */ -# define xalloc_oversized(n, s) \ - ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) - - /* In the following macros, T must be an elementary or structure/union or typedef'ed type, or a pointer to such a type. To apply one of the following macros to a function pointer or array type, you need to typedef @@ -90,45 +74,31 @@ char *xstrdup (char const *str) /* Allocate an object of type T dynamically, with error checking. */ /* extern t *XMALLOC (typename t); */ -# define XMALLOC(t) ((t *) xmalloc (sizeof (t))) +#define XMALLOC(t) ((t *) xmalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking. */ /* extern t *XNMALLOC (size_t n, typename t); */ -# define XNMALLOC(n, t) \ - ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) +#define XNMALLOC(n, t) \ + ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) /* Allocate an object of type T dynamically, with error checking, and zero it. */ /* extern t *XZALLOC (typename t); */ -# define XZALLOC(t) ((t *) xzalloc (sizeof (t))) +#define XZALLOC(t) ((t *) xzalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking, and zero it. */ /* extern t *XCALLOC (size_t n, typename t); */ -# define XCALLOC(n, t) \ - ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) +#define XCALLOC(n, t) \ + ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) -# if HAVE_INLINE -# define static_inline static inline -# else -void *xnmalloc (size_t n, size_t s) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); -void *xnrealloc (void *p, size_t n, size_t s) - _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); -void *x2nrealloc (void *p, size_t *pn, size_t s); -char *xcharalloc (size_t n) - _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); -# endif - -# ifdef static_inline - /* Allocate an array of N objects, each with S bytes of memory, dynamically, with error checking. S must be nonzero. */ -static_inline void *xnmalloc (size_t n, size_t s) +XALLOC_INLINE void *xnmalloc (size_t n, size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); -static_inline void * +XALLOC_INLINE void * xnmalloc (size_t n, size_t s) { if (xalloc_oversized (n, s)) @@ -139,9 +109,9 @@ xnmalloc (size_t n, size_t s) /* Change the size of an allocated block of memory P to an array of N objects each of S bytes, with error checking. S must be nonzero. */ -static_inline void *xnrealloc (void *p, size_t n, size_t s) +XALLOC_INLINE void *xnrealloc (void *p, size_t n, size_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); -static_inline void * +XALLOC_INLINE void * xnrealloc (void *p, size_t n, size_t s) { if (xalloc_oversized (n, s)) @@ -204,7 +174,7 @@ xnrealloc (void *p, size_t n, size_t s) */ -static_inline void * +XALLOC_INLINE void * x2nrealloc (void *p, size_t *pn, size_t s) { size_t n = *pn; @@ -215,9 +185,9 @@ x2nrealloc (void *p, size_t *pn, size_t s) { /* The approximate size to use for initial small allocation requests, when the invoking code specifies an old size of - zero. 64 bytes is the largest "small" request for the - GNU C library malloc. */ - enum { DEFAULT_MXFAST = 64 }; + zero. This is the largest "small" request for the GNU C + library malloc. */ + enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; n = DEFAULT_MXFAST / s; n += !n; @@ -241,17 +211,15 @@ x2nrealloc (void *p, size_t *pn, size_t s) /* Return a pointer to a new buffer of N bytes. This is like xmalloc, except it returns char *. */ -static_inline char *xcharalloc (size_t n) +XALLOC_INLINE char *xcharalloc (size_t n) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); -static_inline char * +XALLOC_INLINE char * xcharalloc (size_t n) { return XNMALLOC (n, char); } -# endif - -# ifdef __cplusplus +#ifdef __cplusplus } /* C++ does not allow conversions from void * to other pointer types @@ -288,7 +256,7 @@ xmemdup (T const *p, size_t s) return (T *) xmemdup ((void const *) p, s); } -# endif +#endif #endif /* !XALLOC_H_ */ diff --git a/gnu/xasprintf.c b/gnu/xasprintf.c index 29edc279..46fb71bd 100644 --- a/gnu/xasprintf.c +++ b/gnu/xasprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 1999, 2002-2004, 2006, 2009-2011 Free Software Foundation, + Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xgetcwd.c b/gnu/xgetcwd.c index 2f1da894..5fa5bcda 100644 --- a/gnu/xgetcwd.c +++ b/gnu/xgetcwd.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xgetcwd.c -- return current directory with unlimited length - Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2011 Free Software + Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/gnu/xgetcwd.h b/gnu/xgetcwd.h index 073917a1..055449f4 100644 --- a/gnu/xgetcwd.h +++ b/gnu/xgetcwd.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* prototype for xgetcwd - Copyright (C) 1995, 2001, 2003, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1995, 2001, 2003, 2009-2013 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 diff --git a/gnu/xmalloc.c b/gnu/xmalloc.c index b9451a4c..2d50af62 100644 --- a/gnu/xmalloc.c +++ b/gnu/xmalloc.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990-2000, 2002-2006, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 1990-2000, 2002-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,11 +19,9 @@ #include -#if ! HAVE_INLINE -# define static_inline -#endif +#define XALLOC_INLINE _GL_EXTERN_INLINE + #include "xalloc.h" -#undef static_inline #include #include @@ -54,8 +52,16 @@ xmalloc (size_t n) void * xrealloc (void *p, size_t n) { + if (!n && p) + { + /* The GNU and C99 realloc behaviors disagree here. Act like + GNU, even if the underlying realloc is C99. */ + free (p); + return NULL; + } + p = realloc (p, n); - if (!p && n != 0) + if (!p && n) xalloc_die (); return p; } diff --git a/gnu/xsize.c b/gnu/xsize.c new file mode 100644 index 00000000..00f7bbc9 --- /dev/null +++ b/gnu/xsize.c @@ -0,0 +1,5 @@ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +#include +#define XSIZE_INLINE _GL_EXTERN_INLINE +#include "xsize.h" diff --git a/gnu/xsize.h b/gnu/xsize.h index 5f980ca6..a0bd7665 100644 --- a/gnu/xsize.h +++ b/gnu/xsize.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* xsize.h -- Checked size_t computations. - Copyright (C) 2003, 2008-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,8 +15,7 @@ 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. */ + along with this program; if not, see . */ #ifndef _XSIZE_H #define _XSIZE_H @@ -30,6 +29,11 @@ # include #endif +_GL_INLINE_HEADER_BEGIN +#ifndef XSIZE_INLINE +# define XSIZE_INLINE _GL_INLINE +#endif + /* The size of memory objects is often computed through expressions of type size_t. Example: void* p = malloc (header_size + n * element_size). @@ -51,7 +55,7 @@ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) /* Sum of two sizes, with overflow check. */ -static inline size_t +XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif @@ -62,7 +66,7 @@ xsum (size_t size1, size_t size2) } /* Sum of three sizes, with overflow check. */ -static inline size_t +XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif @@ -72,7 +76,7 @@ xsum3 (size_t size1, size_t size2, size_t size3) } /* Sum of four sizes, with overflow check. */ -static inline size_t +XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif @@ -82,7 +86,7 @@ xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) } /* Maximum of two sizes, with overflow check. */ -static inline size_t +XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif @@ -95,7 +99,7 @@ xmax (size_t size1, size_t size2) /* Multiplication of a count with an element size, with overflow check. The count must be >= 0 and the element size must be > 0. - This is a macro, not an inline function, so that it works correctly even + This is a macro, not a function, so that it works correctly even when N is of a wider type and N > SIZE_MAX. */ #define xtimes(N, ELSIZE) \ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) @@ -107,4 +111,6 @@ xmax (size_t size1, size_t size2) #define size_in_bounds_p(SIZE) \ ((SIZE) != SIZE_MAX) +_GL_INLINE_HEADER_END + #endif /* _XSIZE_H */ diff --git a/gnu/xstrndup.c b/gnu/xstrndup.c index 531bd7fc..790a1635 100644 --- a/gnu/xstrndup.c +++ b/gnu/xstrndup.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate a bounded initial segment of a string, with out-of-memory checking. - Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2007, 2009-2013 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 diff --git a/gnu/xstrndup.h b/gnu/xstrndup.h index b255843f..0279deed 100644 --- a/gnu/xstrndup.h +++ b/gnu/xstrndup.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Duplicate a bounded initial segment of a string, with out-of-memory checking. - Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2009-2013 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 diff --git a/gnu/xstrtol-error.c b/gnu/xstrtol-error.c index 4f2b64c8..eaf38665 100644 --- a/gnu/xstrtol-error.c +++ b/gnu/xstrtol-error.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2011 Free Software + Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -62,16 +62,16 @@ xstrtol_error (enum strtol_error err, abort (); case LONGINT_INVALID: - msgid = N_("invalid %s%s argument `%s'"); + msgid = N_("invalid %s%s argument '%s'"); break; case LONGINT_INVALID_SUFFIX_CHAR: case LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW: - msgid = N_("invalid suffix in %s%s argument `%s'"); + msgid = N_("invalid suffix in %s%s argument '%s'"); break; case LONGINT_OVERFLOW: - msgid = N_("%s%s argument `%s' too large"); + msgid = N_("%s%s argument '%s' too large"); break; } diff --git a/gnu/xstrtol.c b/gnu/xstrtol.c index 00ed20cd..5d1b7327 100644 --- a/gnu/xstrtol.c +++ b/gnu/xstrtol.c @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2011 Free Software + Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -45,6 +45,19 @@ #include "intprops.h" +/* xstrtoll.c and xstrtoull.c, which include this file, require that + ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but does not + define them on all platforms. */ +#ifndef ULLONG_MAX +# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long) +#endif +#ifndef LLONG_MAX +# define LLONG_MAX TYPE_MAXIMUM (long long int) +#endif +#ifndef LLONG_MIN +# define LLONG_MIN TYPE_MINIMUM (long long int) +#endif + static strtol_error bkm_scale (__strtol_t *x, int scale_factor) { @@ -115,9 +128,9 @@ __xstrtol (const char *s, char **ptr, int strtol_base, err = LONGINT_OVERFLOW; } - /* Let valid_suffixes == NULL mean `allow any suffix'. */ + /* Let valid_suffixes == NULL mean "allow any suffix". */ /* FIXME: update all callers except the ones that allow suffixes - after the number, changing last parameter NULL to `""'. */ + after the number, changing last parameter NULL to "". */ if (!valid_suffixes) { *val = tmp; @@ -138,7 +151,7 @@ __xstrtol (const char *s, char **ptr, int strtol_base, if (strchr (valid_suffixes, '0')) { - /* The ``valid suffix'' '0' is a special flag meaning that + /* The "valid suffix" '0' is a special flag meaning that an optional second suffix is allowed, which can change the base. A suffix "B" (e.g. "100MB") stands for a power of 1000, whereas a suffix "iB" (e.g. "100MiB") stands for diff --git a/gnu/xstrtol.h b/gnu/xstrtol.h index dbd2d453..94118df3 100644 --- a/gnu/xstrtol.h +++ b/gnu/xstrtol.h @@ -2,7 +2,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A more useful interface to strtol. - Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2011 Free Software + Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -53,12 +53,6 @@ _DECLARE_XSTRTOL (xstrtoll, long long int) _DECLARE_XSTRTOL (xstrtoull, unsigned long long int) #endif -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8) -# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -#else -# define _GL_ATTRIBUTE_NORETURN /* empty */ -#endif - /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. @@ -74,8 +68,8 @@ _DECLARE_XSTRTOL (xstrtoull, unsigned long long int) After reporting an error, exit with a failure status. */ -void xstrtol_fatal (enum strtol_error, - int, char, struct option const *, - char const *) _GL_ATTRIBUTE_NORETURN; +_Noreturn void xstrtol_fatal (enum strtol_error, + int, char, struct option const *, + char const *); #endif /* not XSTRTOL_H_ */ diff --git a/gnu/xvasprintf.c b/gnu/xvasprintf.c index f5ef3c59..6aca8c68 100644 --- a/gnu/xvasprintf.c +++ b/gnu/xvasprintf.c @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 1999, 2002-2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ /* Checked size_t computations. */ #include "xsize.h" -static inline char * +static char * xstrcat (size_t argcount, va_list args) { char *result; diff --git a/gnu/xvasprintf.h b/gnu/xvasprintf.h index 6f44b8f6..4c333b66 100644 --- a/gnu/xvasprintf.h +++ b/gnu/xvasprintf.h @@ -1,7 +1,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* vasprintf and asprintf with out-of-memory checking. - Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2006-2013 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 diff --git a/lib/Makefile.am b/lib/Makefile.am index efd6826b..3cbd0608 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,21 +1,22 @@ # Makefile for GNU tar library. -*- Makefile -*- -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2004, -# 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013 Free +# Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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 St, Fifth Floor, Boston, MA 02110-1301 USA +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . noinst_LIBRARIES=libtar.a rmt-command.h : Makefile @@ -26,13 +27,36 @@ rmt-command.h : Makefile $(AM_V_at)mv $@-t $@ BUILT_SOURCES = rmt-command.h CLEANFILES = rmt-command.h rmt-command.h-t -INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu +AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu +AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) + +noinst_HEADERS = \ + paxlib.h\ + rmt.h\ + stdopen.h\ + system.h\ + system-ioctl.h\ + wordsplit.h\ + xattr-at.h -noinst_HEADERS = system.h system-ioctl.h rmt.h paxlib.h stdopen.h libtar_a_SOURCES = \ paxerror.c paxexit-status.c paxlib.h paxnames.c \ prepargs.c prepargs.h \ rtapelib.c \ rmt.h \ stdopen.c stdopen.h \ - system.h system-ioctl.h + system.h system-ioctl.h \ + wordsplit.c\ + xattr-at.c + +if !TAR_COND_XATTR_H +BUILT_SOURCES += attr/xattr.h +attr/xattr.h: attr-xattr.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) attr + $(AM_V_GEN)rm -f $@-t $@ && \ + cp $(srcdir)/attr-xattr.in.h attr/xattr.h +endif + +MOSTLYCLEANFILES = attr/xattr.h + +EXTRA_DIST = attr-xattr.in.h diff --git a/lib/Makefile.in b/lib/Makefile.in index f0304c5a..b3053de2 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -17,25 +16,43 @@ # Makefile for GNU tar library. -*- Makefile -*- -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2004, -# 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013 Free +# Software Foundation, Inc. + +# This file is part of GNU tar. -# This program is free software; you can redistribute it and/or modify +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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 St, Fifth Floor, Boston, MA 02110-1301 USA +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -53,33 +70,38 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@TAR_COND_XATTR_H_FALSE@am__append_1 = attr/xattr.h subdir = lib DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in + $(srcdir)/Makefile.in $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -87,50 +109,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -138,22 +170,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -169,39 +202,51 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) -am__v_AR_0 = @echo " AR " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_AR = $(am__v_AR_@AM_V@) +am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +am__v_AR_0 = @echo " AR " $@; +am__v_AR_1 = libtar_a_AR = $(AR) $(ARFLAGS) libtar_a_LIBADD = am_libtar_a_OBJECTS = paxerror.$(OBJEXT) paxexit-status.$(OBJEXT) \ paxnames.$(OBJEXT) prepargs.$(OBJEXT) rtapelib.$(OBJEXT) \ - stdopen.$(OBJEXT) + stdopen.$(OBJEXT) wordsplit.$(OBJEXT) xattr-at.$(OBJEXT) libtar_a_OBJECTS = $(am_libtar_a_OBJECTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(libtar_a_SOURCES) DIST_SOURCES = $(libtar_a_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags @@ -213,6 +258,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -264,12 +311,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -278,17 +329,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -296,6 +357,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -310,15 +373,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -359,25 +426,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -385,14 +462,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -419,12 +505,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -436,10 +523,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -484,9 +574,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -505,6 +597,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -520,17 +613,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -546,6 +645,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -578,28 +678,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -607,6 +725,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -614,6 +733,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -626,6 +746,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -665,12 +786,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -693,7 +816,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -715,6 +840,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -725,6 +853,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -736,6 +865,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -746,6 +878,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -756,6 +889,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -777,9 +911,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -792,6 +928,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -801,11 +938,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -835,8 +975,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -845,13 +991,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -861,10 +1010,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -885,10 +1038,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -902,9 +1058,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -968,18 +1129,31 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libtar.a -BUILT_SOURCES = rmt-command.h +BUILT_SOURCES = rmt-command.h $(am__append_1) CLEANFILES = rmt-command.h rmt-command.h-t -INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu -noinst_HEADERS = system.h system-ioctl.h rmt.h paxlib.h stdopen.h +AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu +AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) +noinst_HEADERS = \ + paxlib.h\ + rmt.h\ + stdopen.h\ + system.h\ + system-ioctl.h\ + wordsplit.h\ + xattr-at.h + libtar_a_SOURCES = \ paxerror.c paxexit-status.c paxlib.h paxnames.c \ prepargs.c prepargs.h \ rtapelib.c \ rmt.h \ stdopen.c stdopen.h \ - system.h system-ioctl.h + system.h system-ioctl.h \ + wordsplit.c\ + xattr-at.c +MOSTLYCLEANFILES = attr/xattr.h +EXTRA_DIST = attr-xattr.in.h all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -1018,7 +1192,7 @@ $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -libtar.a: $(libtar_a_OBJECTS) $(libtar_a_DEPENDENCIES) +libtar.a: $(libtar_a_OBJECTS) $(libtar_a_DEPENDENCIES) $(EXTRA_libtar_a_DEPENDENCIES) $(AM_V_at)-rm -f libtar.a $(AM_V_AR)$(libtar_a_AR) libtar.a $(libtar_a_OBJECTS) $(libtar_a_LIBADD) $(AM_V_at)$(RANLIB) libtar.a @@ -1035,22 +1209,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prepargs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtapelib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdopen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wordsplit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-at.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1101,6 +1275,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1150,11 +1338,17 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) @@ -1239,14 +1433,14 @@ uninstall-am: .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ + clean-noinstLIBRARIES cscopelist ctags distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am @@ -1257,6 +1451,10 @@ rmt-command.h : Makefile $(AM_V_at)echo "# define DEFAULT_RMT_COMMAND \"$(DEFAULT_RMT_DIR)/`echo rmt | sed '$(transform)'`$(EXEEXT)\"" >> $@-t $(AM_V_at)echo "#endif" >> $@-t $(AM_V_at)mv $@-t $@ +@TAR_COND_XATTR_H_FALSE@attr/xattr.h: attr-xattr.in.h $(top_builddir)/config.status +@TAR_COND_XATTR_H_FALSE@ $(AM_V_at)$(MKDIR_P) attr +@TAR_COND_XATTR_H_FALSE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@TAR_COND_XATTR_H_FALSE@ cp $(srcdir)/attr-xattr.in.h attr/xattr.h # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/lib/attr-xattr.in.h b/lib/attr-xattr.in.h new file mode 100644 index 00000000..7ec410b2 --- /dev/null +++ b/lib/attr-xattr.in.h @@ -0,0 +1,60 @@ +/* Replacement for platforms that lack it. + Copyright 2012-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef TAR_ATTR_XATTR_H +#define TAR_ATTR_XATTR_H +#include +#ifndef ENOATTR +# define ENOATTR ENODATA /* No such attribute */ +#endif + +/* setting */ +static inline int setxattr (const char *path, const char *name, const void + *value, size_t size, int flags) +{ errno = ENOTSUP; return -1; } + +static inline int lsetxattr (const char *path, const char *name, const void + *value, size_t size, int flags) +{ errno = ENOTSUP; return -1; } + +static inline int fsetxattr (int filedes, const char *name, const void *value, + size_t size, int flags) +{ errno = ENOTSUP; return -1; } + + +/* getting */ +static inline ssize_t getxattr (const char *path, const char *name, void *value, + size_t size) +{ errno = ENOTSUP; return -1; } +static inline ssize_t lgetxattr (const char *path, const char *name, void + *value, size_t size) +{ errno = ENOTSUP; return -1; } +static inline ssize_t fgetxattr (int filedes, const char *name, void *value, + size_t size) +{ errno = ENOTSUP; return -1; } + + +/* listing */ +static inline ssize_t listxattr (const char *path, char *list, size_t size) +{ errno = ENOTSUP; return -1; } + +static inline ssize_t llistxattr (const char *path, char *list, size_t size) +{ errno = ENOTSUP; return -1; } + +static inline ssize_t flistxattr (int filedes, char *list, size_t size) +{ errno = ENOTSUP; return -1; } + +#endif diff --git a/lib/prepargs.c b/lib/prepargs.c index 1b6b0ce6..9b30d249 100644 --- a/lib/prepargs.c +++ b/lib/prepargs.c @@ -1,5 +1,5 @@ /* Parse arguments from a string and prepend them to an argv. - Copyright 1999, 2000, 2001, 2007 Free Software Foundation, Inc. + Copyright 1999-2001, 2007, 2013 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 @@ -12,9 +12,7 @@ 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. */ + along with this program. If not, see . */ /* Written by Paul Eggert . */ diff --git a/lib/rmt.h b/lib/rmt.h index 2ce9dc51..ff10e7cc 100644 --- a/lib/rmt.h +++ b/lib/rmt.h @@ -17,8 +17,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -extern char *rmt_command; -extern char *rmt_dev_name__; +extern char const *rmt_command; +extern char const *rmt_dev_name__; int rmt_open__ (const char *, int, int, const char *); int rmt_close__ (int); diff --git a/lib/rtapelib.c b/lib/rtapelib.c index 3aee4286..7213031a 100644 --- a/lib/rtapelib.c +++ b/lib/rtapelib.c @@ -90,10 +90,10 @@ static int from_remote[MAXUNIT][2] = {{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}}; /* The pipes for sending data to remote tape drives. */ static int to_remote[MAXUNIT][2] = {{-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}}; -char *rmt_command = DEFAULT_RMT_COMMAND; +char const *rmt_command = DEFAULT_RMT_COMMAND; /* Temporary variable used by macros in rmt.h. */ -char *rmt_dev_name__; +char const *rmt_dev_name__; /* If true, always consider file names to be local, even if they contain colons */ @@ -490,15 +490,16 @@ rmt_open__ (const char *file_name, int open_mode, int bias, { /* Child. */ - close (STDIN_FILENO); - dup (to_remote[remote_pipe_number][PREAD]); - close (to_remote[remote_pipe_number][PREAD]); - close (to_remote[remote_pipe_number][PWRITE]); - - close (STDOUT_FILENO); - dup (from_remote[remote_pipe_number][PWRITE]); - close (from_remote[remote_pipe_number][PREAD]); - close (from_remote[remote_pipe_number][PWRITE]); + if (dup2 (to_remote[remote_pipe_number][PREAD], STDIN_FILENO) < 0 + || (to_remote[remote_pipe_number][PREAD] != STDIN_FILENO + && close (to_remote[remote_pipe_number][PREAD]) != 0) + || (to_remote[remote_pipe_number][PWRITE] != STDIN_FILENO + && close (to_remote[remote_pipe_number][PWRITE]) != 0) + || dup2 (from_remote[remote_pipe_number][PWRITE], STDOUT_FILENO) < 0 + || close (from_remote[remote_pipe_number][PREAD]) != 0 + || close (from_remote[remote_pipe_number][PWRITE]) != 0) + error (EXIT_ON_EXEC_ERROR, errno, + _("Cannot redirect files for remote shell")); sys_reset_uid_gid (); diff --git a/lib/stdopen.c b/lib/stdopen.c index 0b637ad1..bdffca36 100644 --- a/lib/stdopen.c +++ b/lib/stdopen.c @@ -1,6 +1,6 @@ /* stdopen.c - ensure that the three standard file descriptors are in use - Copyright (C) 2005, 2007 Free Software Foundation, Inc. + Copyright 2005, 2007, 2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,8 +13,7 @@ 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. */ + along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ diff --git a/lib/system.h b/lib/system.h index 2deb585b..ef462675 100644 --- a/lib/system.h +++ b/lib/system.h @@ -471,8 +471,11 @@ char *getenv (); # define SET_BINARY_MODE(arc) # define ERRNO_IS_EACCES 0 # define TTY_NAME "/dev/tty" -# define sys_reset_uid_gid() \ - do { setuid (getuid ()); setgid (getgid ()); } while (0) +# define sys_reset_uid_gid() \ + do { \ + if (! (setuid (getuid ()) == 0 && setgid (getgid ()) == 0)) \ + abort (); \ + } while (0) #endif #if XENIX diff --git a/lib/wordsplit.c b/lib/wordsplit.c new file mode 100644 index 00000000..75faf9e5 --- /dev/null +++ b/lib/wordsplit.c @@ -0,0 +1,1628 @@ +/* wordsplit - a word splitter + Copyright (C) 2009-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + Written by Sergey Poznyakoff +*/ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#if ENABLE_NLS +# include +#else +# define gettext(msgid) msgid +#endif +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + +#include + +#define ISWS(c) ((c)==' '||(c)=='\t'||(c)=='\n') +#define ISDELIM(ws,c) \ + (strchr ((ws)->ws_delim, (c)) != NULL) +#define ISPUNCT(c) (strchr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",(c))!=NULL) +#define ISUPPER(c) ('A' <= ((unsigned) (c)) && ((unsigned) (c)) <= 'Z') +#define ISLOWER(c) ('a' <= ((unsigned) (c)) && ((unsigned) (c)) <= 'z') +#define ISALPHA(c) (ISUPPER(c) || ISLOWER(c)) +#define ISDIGIT(c) ('0' <= ((unsigned) (c)) && ((unsigned) (c)) <= '9') +#define ISXDIGIT(c) (strchr("abcdefABCDEF", c)!=NULL) +#define ISALNUM(c) (ISALPHA(c) || ISDIGIT(c)) +#define ISPRINT(c) (' ' <= ((unsigned) (c)) && ((unsigned) (c)) <= 127) + +#define ALLOC_INIT 128 +#define ALLOC_INCR 128 + +static void +_wsplt_alloc_die (struct wordsplit *wsp) +{ + wsp->ws_error (_("memory exhausted")); + abort (); +} + +static void __attribute__ ((__format__ (__printf__, 1, 2))) +_wsplt_error (const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + vfprintf (stderr, fmt, ap); + va_end (ap); + fputc ('\n', stderr); +} + +static void wordsplit_free_nodes (struct wordsplit *); + +static int +_wsplt_nomem (struct wordsplit *wsp) +{ + errno = ENOMEM; + wsp->ws_errno = WRDSE_NOSPACE; + if (wsp->ws_flags & WRDSF_ENOMEMABRT) + wsp->ws_alloc_die (wsp); + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + if (!(wsp->ws_flags & WRDSF_REUSE)) + wordsplit_free (wsp); + wordsplit_free_nodes (wsp); + return wsp->ws_errno; +} + +static void +wordsplit_init0 (struct wordsplit *wsp) +{ + if (wsp->ws_flags & WRDSF_REUSE) + { + if (!(wsp->ws_flags & WRDSF_APPEND)) + wordsplit_free_words (wsp); + } + else + { + wsp->ws_wordv = NULL; + wsp->ws_wordc = 0; + wsp->ws_wordn = 0; + } + + wsp->ws_errno = 0; + wsp->ws_head = wsp->ws_tail = NULL; +} + +static int +wordsplit_init (struct wordsplit *wsp, const char *input, size_t len, + int flags) +{ + wsp->ws_flags = flags; + + if (!(wsp->ws_flags & WRDSF_ALLOC_DIE)) + wsp->ws_alloc_die = _wsplt_alloc_die; + if (!(wsp->ws_flags & WRDSF_ERROR)) + wsp->ws_error = _wsplt_error; + + if (!(wsp->ws_flags & WRDSF_NOVAR) + && !(wsp->ws_flags & (WRDSF_ENV | WRDSF_GETVAR))) + { + errno = EINVAL; + wsp->ws_errno = WRDSE_USAGE; + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + return wsp->ws_errno; + } + + if (!(wsp->ws_flags & WRDSF_NOCMD)) + { + errno = EINVAL; + wsp->ws_errno = WRDSE_NOSUPP; + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + return wsp->ws_errno; + } + + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + if (!(wsp->ws_flags & WRDSF_DEBUG)) + { + if (wsp->ws_flags & WRDSF_ERROR) + wsp->ws_debug = wsp->ws_error; + else if (wsp->ws_flags & WRDSF_SHOWERR) + wsp->ws_debug = _wsplt_error; + else + wsp->ws_flags &= ~WRDSF_SHOWDBG; + } + } + + wsp->ws_input = input; + wsp->ws_len = len; + + if (!(wsp->ws_flags & WRDSF_DOOFFS)) + wsp->ws_offs = 0; + + if (!(wsp->ws_flags & WRDSF_DELIM)) + wsp->ws_delim = " \t\n"; + + if (!(wsp->ws_flags & WRDSF_COMMENT)) + wsp->ws_comment = NULL; + + if (!(wsp->ws_flags & WRDSF_CLOSURE)) + wsp->ws_closure = NULL; + + wsp->ws_endp = 0; + + wordsplit_init0 (wsp); + + return 0; +} + +static int +alloc_space (struct wordsplit *wsp, size_t count) +{ + size_t offs = (wsp->ws_flags & WRDSF_DOOFFS) ? wsp->ws_offs : 0; + char **ptr; + size_t newalloc; + + if (wsp->ws_wordv == NULL) + { + newalloc = offs + count > ALLOC_INIT ? count : ALLOC_INIT; + ptr = calloc (newalloc, sizeof (ptr[0])); + } + else if (wsp->ws_wordn < offs + wsp->ws_wordc + count) + { + newalloc = offs + wsp->ws_wordc + + (count > ALLOC_INCR ? count : ALLOC_INCR); + ptr = realloc (wsp->ws_wordv, newalloc * sizeof (ptr[0])); + } + else + return 0; + + if (ptr) + { + wsp->ws_wordn = newalloc; + wsp->ws_wordv = ptr; + } + else + return _wsplt_nomem (wsp); + return 0; +} + + +/* Node state flags */ +#define _WSNF_NULL 0x01 /* null node (a noop) */ +#define _WSNF_WORD 0x02 /* node contains word in v.word */ +#define _WSNF_QUOTE 0x04 /* text is quoted */ +#define _WSNF_NOEXPAND 0x08 /* text is not subject to expansion */ +#define _WSNF_JOIN 0x10 /* node must be joined with the next node */ +#define _WSNF_SEXP 0x20 /* is a sed expression */ + +#define _WSNF_EMPTYOK 0x0100 /* special flag indicating that + wordsplit_add_segm must add the + segment even if it is empty */ + +struct wordsplit_node +{ + struct wordsplit_node *prev; /* Previous element */ + struct wordsplit_node *next; /* Next element */ + int flags; /* Node flags */ + union + { + struct + { + size_t beg; /* Start of word in ws_input */ + size_t end; /* End of word in ws_input */ + } segm; + char *word; + } v; +}; + +static const char * +wsnode_flagstr (int flags) +{ + static char retbuf[6]; + char *p = retbuf; + + if (flags & _WSNF_WORD) + *p++ = 'w'; + else if (flags & _WSNF_NULL) + *p++ = 'n'; + else + *p++ = '-'; + if (flags & _WSNF_QUOTE) + *p++ = 'q'; + else + *p++ = '-'; + if (flags & _WSNF_NOEXPAND) + *p++ = 'E'; + else + *p++ = '-'; + if (flags & _WSNF_JOIN) + *p++ = 'j'; + else + *p++ = '-'; + if (flags & _WSNF_SEXP) + *p++ = 's'; + else + *p++ = '-'; + *p = 0; + return retbuf; +} + +static const char * +wsnode_ptr (struct wordsplit *wsp, struct wordsplit_node *p) +{ + if (p->flags & _WSNF_NULL) + return ""; + else if (p->flags & _WSNF_WORD) + return p->v.word; + else + return wsp->ws_input + p->v.segm.beg; +} + +static size_t +wsnode_len (struct wordsplit_node *p) +{ + if (p->flags & _WSNF_NULL) + return 0; + else if (p->flags & _WSNF_WORD) + return strlen (p->v.word); + else + return p->v.segm.end - p->v.segm.beg; +} + +static int +wsnode_new (struct wordsplit *wsp, struct wordsplit_node **pnode) +{ + struct wordsplit_node *node = calloc (1, sizeof (*node)); + if (!node) + return _wsplt_nomem (wsp); + *pnode = node; + return 0; +} + +static void +wsnode_free (struct wordsplit_node *p) +{ + if (p->flags & _WSNF_WORD) + free (p->v.word); + free (p); +} + +static void +wsnode_append (struct wordsplit *wsp, struct wordsplit_node *node) +{ + node->next = NULL; + node->prev = wsp->ws_tail; + if (wsp->ws_tail) + wsp->ws_tail->next = node; + else + wsp->ws_head = node; + wsp->ws_tail = node; +} + +static void +wsnode_remove (struct wordsplit *wsp, struct wordsplit_node *node) +{ + struct wordsplit_node *p; + + p = node->prev; + if (p) + { + p->next = node->next; + if (!node->next) + p->flags &= ~_WSNF_JOIN; + } + else + wsp->ws_head = node->next; + + p = node->next; + if (p) + p->prev = node->prev; + else + wsp->ws_tail = node->prev; + + node->next = node->prev = NULL; +} + +static void +wsnode_insert (struct wordsplit *wsp, struct wordsplit_node *node, + struct wordsplit_node *anchor, int before) +{ + if (!wsp->ws_head) + { + node->next = node->prev = NULL; + wsp->ws_head = wsp->ws_tail = node; + } + else if (before) + { + if (anchor->prev) + wsnode_insert (wsp, node, anchor->prev, 0); + else + { + node->prev = NULL; + node->next = anchor; + anchor->prev = node; + wsp->ws_head = node; + } + } + else + { + struct wordsplit_node *p; + + p = anchor->next; + if (p) + p->prev = node; + else + wsp->ws_tail = node; + node->next = p; + node->prev = anchor; + anchor->next = node; + } +} + +static int +wordsplit_add_segm (struct wordsplit *wsp, size_t beg, size_t end, int flg) +{ + struct wordsplit_node *node; + int rc; + + if (end == beg && !(flg & _WSNF_EMPTYOK)) + return 0; + rc = wsnode_new (wsp, &node); + if (rc) + return rc; + node->flags = flg & ~(_WSNF_WORD | _WSNF_EMPTYOK); + node->v.segm.beg = beg; + node->v.segm.end = end; + wsnode_append (wsp, node); + return 0; +} + +static void +wordsplit_free_nodes (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + wsnode_free (p); + p = next; + } + wsp->ws_head = wsp->ws_tail = NULL; +} + +static void +wordsplit_dump_nodes (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + int n = 0; + + for (p = wsp->ws_head, n = 0; p; p = p->next, n++) + { + if (p->flags & _WSNF_WORD) + wsp->ws_debug ("%4d: %p: %#04x (%s):%s;", + n, p, p->flags, wsnode_flagstr (p->flags), p->v.word); + else + wsp->ws_debug ("%4d: %p: %#04x (%s):%.*s;", + n, p, p->flags, wsnode_flagstr (p->flags), + (int) (p->v.segm.end - p->v.segm.beg), + wsp->ws_input + p->v.segm.beg); + } +} + +static int +coalesce_segment (struct wordsplit *wsp, struct wordsplit_node *node) +{ + struct wordsplit_node *p, *end; + size_t len = 0; + char *buf, *cur; + int stop; + + for (p = node; p && (p->flags & _WSNF_JOIN); p = p->next) + { + len += wsnode_len (p); + } + len += wsnode_len (p); + end = p; + + buf = malloc (len + 1); + if (!buf) + return _wsplt_nomem (wsp); + cur = buf; + + p = node; + for (stop = 0; !stop;) + { + struct wordsplit_node *next = p->next; + const char *str = wsnode_ptr (wsp, p); + size_t slen = wsnode_len (p); + + memcpy (cur, str, slen); + cur += slen; + if (p != node) + { + wsnode_remove (wsp, p); + stop = p == end; + wsnode_free (p); + } + p = next; + } + + *cur = 0; + + node->flags &= ~_WSNF_JOIN; + + if (node->flags & _WSNF_WORD) + free (node->v.word); + else + node->flags |= _WSNF_WORD; + node->v.word = buf; + return 0; +} + +static int +wsnode_quoteremoval (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + void (*uqfn) (char *, const char *, size_t) = + (wsp->ws_flags & WRDSF_CESCAPES) ? + wordsplit_c_unquote_copy : wordsplit_sh_unquote_copy; + + for (p = wsp->ws_head; p; p = p->next) + { + const char *str = wsnode_ptr (wsp, p); + size_t slen = wsnode_len (p); + int unquote; + + if (wsp->ws_flags & WRDSF_QUOTE) + { + unquote = !(p->flags & _WSNF_NOEXPAND); + } + else + unquote = 0; + + if (unquote) + { + if (!(p->flags & _WSNF_WORD)) + { + char *newstr = malloc (slen + 1); + if (!newstr) + return _wsplt_nomem (wsp); + memcpy (newstr, str, slen); + newstr[slen] = 0; + p->v.word = newstr; + p->flags |= _WSNF_WORD; + } + + if (wsp->ws_flags & WRDSF_ESCAPE) + wordsplit_general_unquote_copy (p->v.word, str, slen, + wsp->ws_escape); + else + uqfn (p->v.word, str, slen); + } + } + return 0; +} + +static int +wsnode_coalesce (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p; p = p->next) + { + if (p->flags & _WSNF_JOIN) + if (coalesce_segment (wsp, p)) + return 1; + } + return 0; +} + +static int +wordsplit_finish (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + size_t n; + + n = 0; + + for (p = wsp->ws_head; p; p = p->next) + n++; + + if (alloc_space (wsp, n + 1)) + return 1; + + for (p = wsp->ws_head; p; p = p->next) + { + const char *str = wsnode_ptr (wsp, p); + size_t slen = wsnode_len (p); + char *newstr = malloc (slen + 1); + + /* Assign newstr first, even if it is NULL. This way + wordsplit_free will work even if we return + nomem later. */ + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = newstr; + if (!newstr) + return _wsplt_nomem (wsp); + memcpy (newstr, str, slen); + newstr[slen] = 0; + + wsp->ws_wordc++; + + } + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL; + return 0; +} + + +/* Variable expansion */ +static int +node_split_prefix (struct wordsplit *wsp, + struct wordsplit_node **ptail, + struct wordsplit_node *node, + size_t beg, size_t len, int flg) +{ + struct wordsplit_node *newnode; + + if (len == 0) + return 0; + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + if (node->flags & _WSNF_WORD) + { + const char *str = wsnode_ptr (wsp, node); + char *newstr = malloc (len + 1); + if (!newstr) + return _wsplt_nomem (wsp); + memcpy (newstr, str + beg, len); + newstr[len] = 0; + newnode->flags = _WSNF_WORD; + newnode->v.word = newstr; + } + else + { + newnode->v.segm.beg = node->v.segm.beg + beg; + newnode->v.segm.end = newnode->v.segm.beg + len; + } + newnode->flags |= flg; + *ptail = newnode; + return 0; +} + +static int +find_closing_cbrace (const char *str, size_t i, size_t len, size_t * poff) +{ + enum + { st_init, st_squote, st_dquote } state = st_init; + size_t level = 1; + + for (; i < len; i++) + { + switch (state) + { + case st_init: + switch (str[i]) + { + case '{': + level++; + break; + + case '}': + if (--level == 0) + { + *poff = i; + return 0; + } + break; + + case '"': + state = st_dquote; + break; + + case '\'': + state = st_squote; + break; + } + break; + + case st_squote: + if (str[i] == '\'') + state = st_init; + break; + + case st_dquote: + if (str[i] == '\\') + i++; + else if (str[i] == '"') + state = st_init; + break; + } + } + return 1; +} + +static const char * +wordsplit_find_env (struct wordsplit *wsp, const char *name, size_t len) +{ + size_t i; + + if (!(wsp->ws_flags & WRDSF_ENV)) + return NULL; + + if (wsp->ws_flags & WRDSF_ENV_KV) + { + /* A key-value pair environment */ + for (i = 0; wsp->ws_env[i]; i++) + { + size_t elen = strlen (wsp->ws_env[i]); + if (elen == len && memcmp (wsp->ws_env[i], name, elen) == 0) + return wsp->ws_env[i + 1]; + /* Skip the value. Break the loop if it is NULL. */ + i++; + if (wsp->ws_env[i] == NULL) + break; + } + } + else + { + /* Usual (A=B) environment. */ + for (i = 0; wsp->ws_env[i]; i++) + { + size_t j; + const char *var = wsp->ws_env[i]; + + for (j = 0; j < len; j++) + if (name[j] != var[j]) + break; + if (j == len && var[j] == '=') + return var + j + 1; + } + } + return NULL; +} + +static int +expvar (struct wordsplit *wsp, const char *str, size_t len, + struct wordsplit_node **ptail, const char **pend, int flg) +{ + size_t i = 0; + const char *defstr = NULL; + const char *value; + const char *vptr; + struct wordsplit_node *newnode; + const char *start = str - 1; + + if (ISALPHA (str[0]) || str[0] == '_') + { + for (i = 1; i < len; i++) + if (!(ISALNUM (str[i]) || str[i] == '_')) + break; + *pend = str + i - 1; + } + else if (str[0] == '{') + { + str++; + len--; + for (i = 1; i < len; i++) + if (str[i] == '}' || str[i] == ':') + break; + if (str[i] == ':') + { + size_t j; + + defstr = str + i + 1; + if (find_closing_cbrace (str, i + 1, len, &j)) + { + wsp->ws_errno = WRDSE_CBRACE; + return 1; + } + *pend = str + j; + } + else if (str[i] == '}') + { + defstr = NULL; + *pend = str + i; + } + else + { + wsp->ws_errno = WRDSE_CBRACE; + return 1; + } + } + else + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | flg; + newnode->v.word = malloc (3); + if (!newnode->v.word) + return _wsplt_nomem (wsp); + newnode->v.word[0] = '$'; + newnode->v.word[1] = str[0]; + newnode->v.word[2] = 0; + *pend = str; + return 0; + } + + /* Actually expand the variable */ + /* str - start of the variable name + i - its length + defstr - default replacement str */ + + vptr = wordsplit_find_env (wsp, str, i); + if (vptr) + { + value = strdup (vptr); + if (!value) + return _wsplt_nomem (wsp); + } + else if (wsp->ws_flags & WRDSF_GETVAR) + value = wsp->ws_getvar (str, i, wsp->ws_closure); + else if (wsp->ws_flags & WRDSF_UNDEF) + { + wsp->ws_errno = WRDSE_UNDEF; + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + return 1; + } + else + { + if (wsp->ws_flags & WRDSF_WARNUNDEF) + wsp->ws_error (_("warning: undefined variable `%.*s'"), (int) i, str); + if (wsp->ws_flags & WRDSF_KEEPUNDEF) + value = NULL; + else + value = ""; + } + + /* FIXME: handle defstr */ + (void) defstr; + + if (value) + { + if (flg & _WSNF_QUOTE) + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + newnode->v.word = strdup (value); + if (!newnode->v.word) + return _wsplt_nomem (wsp); + } + else if (*value == 0) + { + /* Empty string is a special case */ + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_NULL; + } + else + { + struct wordsplit ws; + int i; + + ws.ws_delim = wsp->ws_delim; + if (wordsplit (value, &ws, + WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_DELIM | WRDSF_WS)) + { + wordsplit_free (&ws); + return 1; + } + for (i = 0; i < ws.ws_wordc; i++) + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | + _WSNF_NOEXPAND | + (i + 1 < ws.ws_wordc ? (flg & ~_WSNF_JOIN) : flg); + newnode->v.word = strdup (ws.ws_wordv[i]); + if (!newnode->v.word) + return _wsplt_nomem (wsp); + } + wordsplit_free (&ws); + } + } + else if (wsp->ws_flags & WRDSF_KEEPUNDEF) + { + size_t size = *pend - start + 1; + + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + newnode->v.word = malloc (size + 1); + if (!newnode->v.word) + return _wsplt_nomem (wsp); + memcpy (newnode->v.word, start, size); + newnode->v.word[size] = 0; + } + else + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_NULL; + } + return 0; +} + +static int +node_expand_vars (struct wordsplit *wsp, struct wordsplit_node *node) +{ + const char *str = wsnode_ptr (wsp, node); + size_t slen = wsnode_len (node); + const char *end = str + slen; + const char *p; + size_t off = 0; + struct wordsplit_node *tail = node; + + for (p = str; p < end; p++) + { + if (*p == '\\') + { + p++; + continue; + } + if (*p == '$') + { + size_t n = p - str; + + if (tail != node) + tail->flags |= _WSNF_JOIN; + if (node_split_prefix (wsp, &tail, node, off, n, _WSNF_JOIN)) + return 1; + p++; + if (expvar (wsp, p, slen - n, &tail, &p, + node->flags & (_WSNF_JOIN | _WSNF_QUOTE))) + return 1; + off += p - str + 1; + str = p + 1; + } + } + if (p > str) + { + if (tail != node) + tail->flags |= _WSNF_JOIN; + if (node_split_prefix (wsp, &tail, node, off, p - str, + node->flags & _WSNF_JOIN)) + return 1; + } + if (tail != node) + { + wsnode_remove (wsp, node); + wsnode_free (node); + } + return 0; +} + +/* Remove NULL lists */ +static void +wsnode_nullelim (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + if (p->flags & _WSNF_NULL) + { + wsnode_remove (wsp, p); + wsnode_free (p); + } + p = next; + } +} + +static int +wordsplit_varexp (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + if (!(p->flags & _WSNF_NOEXPAND)) + if (node_expand_vars (wsp, p)) + return 1; + p = next; + } + + wsnode_nullelim (wsp); + return 0; +} + +/* Strip off any leading and trailing whitespace. This function is called + right after the initial scanning, therefore it assumes that every + node in the list is a text reference node. */ +static void +wordsplit_trimws (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p; p = p->next) + { + size_t n; + + if (p->flags & _WSNF_QUOTE) + continue; + + /* Skip leading whitespace: */ + for (n = p->v.segm.beg; n < p->v.segm.end && ISWS (wsp->ws_input[n]); + n++) + ; + p->v.segm.beg = n; + /* Trim trailing whitespace */ + for (n = p->v.segm.end; + n > p->v.segm.beg && ISWS (wsp->ws_input[n - 1]); n--); + p->v.segm.end = n; + if (p->v.segm.beg == p->v.segm.end) + p->flags |= _WSNF_NULL; + } + + wsnode_nullelim (wsp); +} + +static int +skip_sed_expr (const char *command, size_t i, size_t len) +{ + int state; + + do + { + int delim; + + if (command[i] == ';') + i++; + if (!(command[i] == 's' && i + 3 < len && ISPUNCT (command[i + 1]))) + break; + + delim = command[++i]; + state = 1; + for (i++; i < len; i++) + { + if (state == 3) + { + if (command[i] == delim || !ISALNUM (command[i])) + break; + } + else if (command[i] == '\\') + i++; + else if (command[i] == delim) + state++; + } + } + while (state == 3 && i < len && command[i] == ';'); + return i; +} + +static size_t +skip_delim (struct wordsplit *wsp) +{ + size_t start = wsp->ws_endp; + if (wsp->ws_flags & WRDSF_SQUEEZE_DELIMS) + { + if ((wsp->ws_flags & WRDSF_RETURN_DELIMS) && + ISDELIM (wsp, wsp->ws_input[start])) + { + int delim = wsp->ws_input[start]; + do + start++; + while (start < wsp->ws_len && delim == wsp->ws_input[start]); + } + else + { + do + start++; + while (start < wsp->ws_len && ISDELIM (wsp, wsp->ws_input[start])); + } + start--; + } + + if (!(wsp->ws_flags & WRDSF_RETURN_DELIMS)) + start++; + + return start; +} + +#define _WRDS_EOF 0 +#define _WRDS_OK 1 +#define _WRDS_ERR 2 + +static int +scan_qstring (struct wordsplit *wsp, size_t start, size_t * end) +{ + size_t j; + const char *command = wsp->ws_input; + size_t len = wsp->ws_len; + char q = command[start]; + + for (j = start + 1; j < len && command[j] != q; j++) + if (q == '"' && command[j] == '\\') + j++; + if (j < len && command[j] == q) + { + int flags = _WSNF_QUOTE | _WSNF_EMPTYOK; + if (q == '\'') + flags |= _WSNF_NOEXPAND; + if (wordsplit_add_segm (wsp, start + 1, j, flags)) + return _WRDS_ERR; + *end = j; + } + else + { + wsp->ws_endp = start; + wsp->ws_errno = WRDSE_QUOTE; + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + return _WRDS_ERR; + } + return 0; +} + +static int +scan_word (struct wordsplit *wsp, size_t start) +{ + size_t len = wsp->ws_len; + const char *command = wsp->ws_input; + const char *comment = wsp->ws_comment; + int join = 0; + int flags = 0; + + size_t i = start; + + if (i >= len) + { + wsp->ws_errno = WRDSE_EOF; + return _WRDS_EOF; + } + + start = i; + + if (wsp->ws_flags & WRDSF_SED_EXPR + && command[i] == 's' && i + 3 < len && ISPUNCT (command[i + 1])) + { + flags = _WSNF_SEXP; + i = skip_sed_expr (command, i, len); + } + else if (!ISDELIM (wsp, command[i])) + { + while (i < len) + { + if (comment && strchr (comment, command[i]) != NULL) + { + size_t j; + for (j = i + 1; j < len && command[j] != '\n'; j++) + ; + if (wordsplit_add_segm (wsp, start, i, 0)) + return _WRDS_ERR; + wsp->ws_endp = j; + return _WRDS_OK; + } + + if (wsp->ws_flags & WRDSF_QUOTE) + { + if (command[i] == '\\') + { + if (++i == len) + break; + i++; + continue; + } + + if (((wsp->ws_flags & WRDSF_SQUOTE) && command[i] == '\'') || + ((wsp->ws_flags & WRDSF_DQUOTE) && command[i] == '"')) + { + if (join && wsp->ws_tail) + wsp->ws_tail->flags |= _WSNF_JOIN; + if (wordsplit_add_segm (wsp, start, i, _WSNF_JOIN)) + return _WRDS_ERR; + if (scan_qstring (wsp, i, &i)) + return _WRDS_ERR; + start = i + 1; + join = 1; + } + } + + if (ISDELIM (wsp, command[i])) + break; + else + i++; + } + } + else if (wsp->ws_flags & WRDSF_RETURN_DELIMS) + { + i++; + } + else if (!(wsp->ws_flags & WRDSF_SQUEEZE_DELIMS)) + flags |= _WSNF_EMPTYOK; + + if (join && i > start && wsp->ws_tail) + wsp->ws_tail->flags |= _WSNF_JOIN; + if (wordsplit_add_segm (wsp, start, i, flags)) + return _WRDS_ERR; + wsp->ws_endp = i; + if (wsp->ws_flags & WRDSF_INCREMENTAL) + return _WRDS_EOF; + return _WRDS_OK; +} + +static char quote_transtab[] = "\\\\\"\"a\ab\bf\fn\nr\rt\tv\v"; + +int +wordsplit_c_unquote_char (int c) +{ + char *p; + + for (p = quote_transtab; *p; p += 2) + { + if (*p == c) + return p[1]; + } + return c; +} + +int +wordsplit_c_quote_char (int c) +{ + char *p; + + for (p = quote_transtab + sizeof (quote_transtab) - 2; + p > quote_transtab; p -= 2) + { + if (*p == c) + return p[-1]; + } + return -1; +} + +#define to_num(c) \ + (ISDIGIT(c) ? c - '0' : (ISXDIGIT(c) ? toupper(c) - 'A' + 10 : 255 )) + +static int +xtonum (int *pval, const char *src, int base, int cnt) +{ + int i, val; + + for (i = 0, val = 0; i < cnt; i++, src++) + { + int n = *(unsigned char *) src; + if (n > 127 || (n = to_num (n)) >= base) + break; + val = val * base + n; + } + *pval = val; + return i; +} + +size_t +wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote) +{ + size_t len = 0; + + *quote = 0; + for (; *str; str++) + { + if (strchr (" \"", *str)) + *quote = 1; + + if (*str == ' ') + len++; + else if (*str == '"') + len += 2; + else if (*str != '\t' && *str != '\\' && ISPRINT (*str)) + len++; + else if (quote_hex) + len += 3; + else + { + if (wordsplit_c_quote_char (*str) != -1) + len += 2; + else + len += 4; + } + } + return len; +} + +void +wordsplit_general_unquote_copy (char *dst, const char *src, size_t n, + const char *escapable) +{ + int i; + + for (i = 0; i < n;) + { + if (src[i] == '\\' && i < n && strchr (escapable, src[i + 1])) + i++; + *dst++ = src[i++]; + } + *dst = 0; +} + +void +wordsplit_sh_unquote_copy (char *dst, const char *src, size_t n) +{ + int i; + + for (i = 0; i < n;) + { + if (src[i] == '\\') + i++; + *dst++ = src[i++]; + } + *dst = 0; +} + +void +wordsplit_c_unquote_copy (char *dst, const char *src, size_t n) +{ + int i = 0; + int c; + + while (i < n) + { + if (src[i] == '\\') + { + ++i; + if (src[i] == 'x' || src[i] == 'X') + { + if (n - i < 2) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + int off = xtonum (&c, src + i + 1, + 16, 2); + if (off == 0) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + *dst++ = c; + i += off + 1; + } + } + } + else if ((unsigned char) src[i] < 128 && ISDIGIT (src[i])) + { + if (n - i < 1) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + int off = xtonum (&c, src + i, 8, 3); + if (off == 0) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + *dst++ = c; + i += off; + } + } + } + else + *dst++ = wordsplit_c_unquote_char (src[i++]); + } + else + *dst++ = src[i++]; + } + *dst = 0; +} + +void +wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex) +{ + for (; *src; src++) + { + if (*src == '"') + { + *dst++ = '\\'; + *dst++ = *src; + } + else if (*src != '\t' && *src != '\\' && ISPRINT (*src)) + *dst++ = *src; + else + { + char tmp[4]; + + if (quote_hex) + { + snprintf (tmp, sizeof tmp, "%%%02X", *(unsigned char *) src); + memcpy (dst, tmp, 3); + dst += 3; + } + else + { + int c = wordsplit_c_quote_char (*src); + *dst++ = '\\'; + if (c != -1) + *dst++ = c; + else + { + snprintf (tmp, sizeof tmp, "%03o", *(unsigned char *) src); + memcpy (dst, tmp, 3); + dst += 3; + } + } + } + } +} + +static int +wordsplit_process_list (struct wordsplit *wsp, size_t start) +{ + if (wsp->ws_flags & WRDSF_NOSPLIT) + { + /* Treat entire input as a quoted argument */ + if (wordsplit_add_segm (wsp, start, wsp->ws_len, _WSNF_QUOTE)) + return wsp->ws_errno; + } + else + { + int rc; + + while ((rc = scan_word (wsp, start)) == _WRDS_OK) + start = skip_delim (wsp); + /* Make sure tail element is not joinable */ + if (wsp->ws_tail) + wsp->ws_tail->flags &= ~_WSNF_JOIN; + if (rc == _WRDS_ERR) + return wsp->ws_errno; + } + + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("Initial list:"); + wordsplit_dump_nodes (wsp); + } + + if (wsp->ws_flags & WRDSF_WS) + { + /* Trim leading and trailing whitespace */ + wordsplit_trimws (wsp); + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("After WS trimming:"); + wordsplit_dump_nodes (wsp); + } + } + + /* Expand variables (FIXME: & commands) */ + if (!(wsp->ws_flags & WRDSF_NOVAR)) + { + if (wordsplit_varexp (wsp)) + { + wordsplit_free_nodes (wsp); + return wsp->ws_errno; + } + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("Expanded list:"); + wordsplit_dump_nodes (wsp); + } + } + + do + { + if (wsnode_quoteremoval (wsp)) + break; + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("After quote removal:"); + wordsplit_dump_nodes (wsp); + } + + if (wsnode_coalesce (wsp)) + break; + + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("Coalesced list:"); + wordsplit_dump_nodes (wsp); + } + } + while (0); + return wsp->ws_errno; +} + +int +wordsplit_len (const char *command, size_t length, struct wordsplit *wsp, + int flags) +{ + int rc; + size_t start; + const char *cmdptr; + size_t cmdlen; + + if (!command) + { + if (!(flags & WRDSF_INCREMENTAL)) + return EINVAL; + + start = skip_delim (wsp); + if (wsp->ws_endp == wsp->ws_len) + { + wsp->ws_errno = WRDSE_NOINPUT; + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + return wsp->ws_errno; + } + + cmdptr = wsp->ws_input + wsp->ws_endp; + cmdlen = wsp->ws_len - wsp->ws_endp; + wsp->ws_flags |= WRDSF_REUSE; + wordsplit_init0 (wsp); + } + else + { + cmdptr = command; + cmdlen = length; + start = 0; + rc = wordsplit_init (wsp, cmdptr, cmdlen, flags); + if (rc) + return rc; + } + + if (wsp->ws_flags & WRDSF_SHOWDBG) + wsp->ws_debug ("Input:%.*s;", (int) cmdlen, cmdptr); + + rc = wordsplit_process_list (wsp, start); + if (rc == 0 && (flags & WRDSF_INCREMENTAL)) + { + while (!wsp->ws_head && wsp->ws_endp < wsp->ws_len) + { + start = skip_delim (wsp); + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + cmdptr = wsp->ws_input + wsp->ws_endp; + cmdlen = wsp->ws_len - wsp->ws_endp; + wsp->ws_debug ("Restart:%.*s;", (int) cmdlen, cmdptr); + } + rc = wordsplit_process_list (wsp, start); + if (rc) + break; + } + } + if (rc) + { + wordsplit_free_nodes (wsp); + return rc; + } + wordsplit_finish (wsp); + wordsplit_free_nodes (wsp); + return wsp->ws_errno; +} + +int +wordsplit (const char *command, struct wordsplit *ws, int flags) +{ + return wordsplit_len (command, command ? strlen (command) : 0, ws, + flags); +} + +void +wordsplit_free_words (struct wordsplit *ws) +{ + size_t i; + + for (i = 0; i < ws->ws_wordc; i++) + { + char *p = ws->ws_wordv[ws->ws_offs + i]; + if (p) + { + free (p); + ws->ws_wordv[ws->ws_offs + i] = NULL; + } + } + ws->ws_wordc = 0; +} + +void +wordsplit_free (struct wordsplit *ws) +{ + wordsplit_free_words (ws); + free (ws->ws_wordv); + ws->ws_wordv = NULL; +} + +void +wordsplit_perror (struct wordsplit *wsp) +{ + switch (wsp->ws_errno) + { + case WRDSE_EOF: + wsp->ws_error (_("no error")); + break; + + case WRDSE_QUOTE: + wsp->ws_error (_("missing closing %c (start near #%lu)"), + wsp->ws_input[wsp->ws_endp], + (unsigned long) wsp->ws_endp); + break; + + case WRDSE_NOSPACE: + wsp->ws_error (_("memory exhausted")); + break; + + case WRDSE_NOSUPP: + wsp->ws_error (_("command substitution is not yet supported")); + + case WRDSE_USAGE: + wsp->ws_error (_("invalid wordsplit usage")); + break; + + case WRDSE_CBRACE: + wsp->ws_error (_("unbalanced curly brace")); + break; + + case WRDSE_UNDEF: + wsp->ws_error (_("undefined variable")); + break; + + case WRDSE_NOINPUT: + wsp->ws_error (_("input exhausted")); + break; + + default: + wsp->ws_error (_("unknown error")); + } +} + +const char *_wordsplit_errstr[] = { + N_("no error"), + N_("missing closing quote"), + N_("memory exhausted"), + N_("command substitution is not yet supported"), + N_("invalid wordsplit usage"), + N_("unbalanced curly brace"), + N_("undefined variable"), + N_("input exhausted") +}; +int _wordsplit_nerrs = + sizeof (_wordsplit_errstr) / sizeof (_wordsplit_errstr[0]); + +const char * +wordsplit_strerror (struct wordsplit *ws) +{ + if (ws->ws_errno < _wordsplit_nerrs) + return _wordsplit_errstr[ws->ws_errno]; + return N_("unknown error"); +} diff --git a/lib/wordsplit.h b/lib/wordsplit.h new file mode 100644 index 00000000..b48e3cda --- /dev/null +++ b/lib/wordsplit.h @@ -0,0 +1,162 @@ +/* wordsplit - a word splitter + Copyright (C) 2009-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . + + Written by Sergey Poznyakoff +*/ + +#ifndef __WORDSPLIT_H +#define __WORDSPLIT_H + +#include + +struct wordsplit +{ + size_t ws_wordc; + char **ws_wordv; + size_t ws_offs; + size_t ws_wordn; + int ws_flags; + const char *ws_delim; + const char *ws_comment; + const char *ws_escape; + void (*ws_alloc_die) (struct wordsplit * wsp); + void (*ws_error) (const char *, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); + void (*ws_debug) (const char *, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); + + const char **ws_env; + const char *(*ws_getvar) (const char *, size_t, void *); + void *ws_closure; + + const char *ws_input; + size_t ws_len; + size_t ws_endp; + int ws_errno; + struct wordsplit_node *ws_head, *ws_tail; +}; + +/* Wordsplit flags. Only 2 bits of a 32-bit word remain unused. + It is getting crowded... */ +/* Append the words found to the array resulting from a previous + call. */ +#define WRDSF_APPEND 0x00000001 +/* Insert we_offs initial NULLs in the array ws_wordv. + (These are not counted in the returned ws_wordc.) */ +#define WRDSF_DOOFFS 0x00000002 +/* Don't do command substitution. Reserved for future use. */ +#define WRDSF_NOCMD 0x00000004 +/* The parameter p resulted from a previous call to + wordsplit(), and wordsplit_free() was not called. Reuse the + allocated storage. */ +#define WRDSF_REUSE 0x00000008 +/* Print errors */ +#define WRDSF_SHOWERR 0x00000010 +/* Consider it an error if an undefined shell variable + is expanded. */ +#define WRDSF_UNDEF 0x00000020 + +/* Don't do variable expansion. */ +#define WRDSF_NOVAR 0x00000040 +/* Abort on ENOMEM error */ +#define WRDSF_ENOMEMABRT 0x00000080 +/* Trim off any leading and trailind whitespace */ +#define WRDSF_WS 0x00000100 +/* Handle single quotes */ +#define WRDSF_SQUOTE 0x00000200 +/* Handle double quotes */ +#define WRDSF_DQUOTE 0x00000400 +/* Handle quotes and escape directives */ +#define WRDSF_QUOTE (WRDSF_SQUOTE|WRDSF_DQUOTE) +/* Replace each input sequence of repeated delimiters with a single + delimiter */ +#define WRDSF_SQUEEZE_DELIMS 0x00000800 +/* Return delimiters */ +#define WRDSF_RETURN_DELIMS 0x00001000 +/* Treat sed expressions as words */ +#define WRDSF_SED_EXPR 0x00002000 +/* ws_delim field is initialized */ +#define WRDSF_DELIM 0x00004000 +/* ws_comment field is initialized */ +#define WRDSF_COMMENT 0x00008000 +/* ws_alloc_die field is initialized */ +#define WRDSF_ALLOC_DIE 0x00010000 +/* ws_error field is initialized */ +#define WRDSF_ERROR 0x00020000 +/* ws_debug field is initialized */ +#define WRDSF_DEBUG 0x00040000 +/* ws_env field is initialized */ +#define WRDSF_ENV 0x00080000 +/* ws_getvar field is initialized */ +#define WRDSF_GETVAR 0x00100000 +/* enable debugging */ +#define WRDSF_SHOWDBG 0x00200000 +/* Don't split input into words. Useful for side effects. */ +#define WRDSF_NOSPLIT 0x00400000 +/* Keep undefined variables in place, instead of expanding them to + empty string */ +#define WRDSF_KEEPUNDEF 0x00800000 +/* Warn about undefined variables */ +#define WRDSF_WARNUNDEF 0x01000000 +/* Handle C escapes */ +#define WRDSF_CESCAPES 0x02000000 + +/* ws_closure is set */ +#define WRDSF_CLOSURE 0x04000000 +/* ws_env is a Key/Value environment, i.e. the value of a variable is + stored in the element that follows its name. */ +#define WRDSF_ENV_KV 0x08000000 + +/* ws_escape is set */ +#define WRDSF_ESCAPE 0x10000000 + +/* Incremental mode */ +#define WRDSF_INCREMENTAL 0x20000000 + +#define WRDSF_DEFFLAGS \ + (WRDSF_NOVAR | WRDSF_NOCMD | \ + WRDSF_QUOTE | WRDSF_SQUEEZE_DELIMS | WRDSF_CESCAPES) + +#define WRDSE_EOF 0 +#define WRDSE_QUOTE 1 +#define WRDSE_NOSPACE 2 +#define WRDSE_NOSUPP 3 +#define WRDSE_USAGE 4 +#define WRDSE_CBRACE 5 +#define WRDSE_UNDEF 6 +#define WRDSE_NOINPUT 7 + +int wordsplit (const char *s, struct wordsplit *p, int flags); +int wordsplit_len (const char *s, size_t len, + struct wordsplit *p, int flags); +void wordsplit_free (struct wordsplit *p); +void wordsplit_free_words (struct wordsplit *ws); + +int wordsplit_c_unquote_char (int c); +int wordsplit_c_quote_char (int c); +size_t wordsplit_c_quoted_length (const char *str, int quote_hex, + int *quote); +void wordsplit_general_unquote_copy (char *dst, const char *src, size_t n, + const char *escapable); +void wordsplit_sh_unquote_copy (char *dst, const char *src, size_t n); +void wordsplit_c_unquote_copy (char *dst, const char *src, size_t n); +void wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex); + +void wordsplit_perror (struct wordsplit *ws); +const char *wordsplit_strerror (struct wordsplit *ws); + + +#endif diff --git a/lib/xattr-at.c b/lib/xattr-at.c new file mode 100644 index 00000000..3703e1c5 --- /dev/null +++ b/lib/xattr-at.c @@ -0,0 +1,110 @@ +/* openat-style fd-relative functions for operating with extended file + attributes. + + Copyright 2012-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "xattr-at.h" +#include "openat.h" + +#include +#include +#include +#include + +#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ +#include "save-cwd.h" + +#include "openat-priv.h" + +/* setxattrat */ +#define AT_FUNC_NAME setxattrat +#define AT_FUNC_F1 setxattr +#define AT_FUNC_POST_FILE_PARAM_DECLS , const char *name, const void *value \ + , size_t size, int flags +#define AT_FUNC_POST_FILE_ARGS , name, value, size, flags +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* lsetxattrat */ +#define AT_FUNC_NAME lsetxattrat +#define AT_FUNC_F1 lsetxattr +#define AT_FUNC_POST_FILE_PARAM_DECLS , const char *name, const void *value \ + , size_t size, int flags +#define AT_FUNC_POST_FILE_ARGS , name, value, size, flags +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* getxattrat */ +#define AT_FUNC_NAME getxattrat +#define AT_FUNC_RESULT ssize_t +#define AT_FUNC_F1 getxattr +#define AT_FUNC_POST_FILE_PARAM_DECLS , const char *name, void *value \ + , size_t size +#define AT_FUNC_POST_FILE_ARGS , name, value, size +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_RESULT +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* lgetxattrat */ +#define AT_FUNC_NAME lgetxattrat +#define AT_FUNC_RESULT ssize_t +#define AT_FUNC_F1 lgetxattr +#define AT_FUNC_POST_FILE_PARAM_DECLS , const char *name, void *value \ + , size_t size +#define AT_FUNC_POST_FILE_ARGS , name, value, size +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_RESULT +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* listxattrat */ +#define AT_FUNC_NAME listxattrat +#define AT_FUNC_RESULT ssize_t +#define AT_FUNC_F1 listxattr +#define AT_FUNC_POST_FILE_PARAM_DECLS , char *list , size_t size +#define AT_FUNC_POST_FILE_ARGS , list , size +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_RESULT +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* llistxattrat */ +#define AT_FUNC_NAME llistxattrat +#define AT_FUNC_RESULT ssize_t +#define AT_FUNC_F1 llistxattr +#define AT_FUNC_POST_FILE_PARAM_DECLS , char *list , size_t size +#define AT_FUNC_POST_FILE_ARGS , list , size +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_RESULT +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS diff --git a/lib/xattr-at.h b/lib/xattr-at.h new file mode 100644 index 00000000..29817714 --- /dev/null +++ b/lib/xattr-at.h @@ -0,0 +1,66 @@ +/* Prototypes for openat-style fd-relative functions for operating with + extended file attributes. + + Copyright 2012-2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef XATTRS_AT_H +#define XATTRS_AT_H + +#include +#include + +/* These are the dir-fd-relative variants of the functions without the + "at" suffix. For example, setxattrat (AT_FDCWD, path, name, value, size, + flags &c) is usually equivalent to setxattr (file, name, value, size, + flags). For more info use the setxattr(2), getxattr(2) or listxattr(2) + manpages. */ + +/* dir-fd-relative setxattr. Operation sets the VALUE of the extended + attribute identified by NAME and associated with the given PATH in the + filesystem relatively to directory identified by DIR_FD. See the + setxattr(2) manpage for the description of all parameters. */ +int setxattrat (int dir_fd, const char *path, const char *name, + const void *value, size_t size, int flags); + +/* dir-fd-relative lsetxattr. This function is just like setxattrat, + except when DIR_FD and FILE specify a symlink: lsetxattrat operates on the + symlink, while the setxattrat operates on the referent of the symlink. */ +int lsetxattrat (int dir_fd, const char *path, const char *name, + const void *value, size_t size, int flags); + +/* dir-fd-relative getxattr. Operation gets the VALUE of the extended + attribute idenfified by NAME and associated with the given PATH in the + filesystem relatively to directory identified by DIR_FD. For more info + about all parameters see the getxattr(2) manpage. */ +ssize_t getxattrat (int dir_fd, const char *path, const char *name, + void *value, size_t size); + +/* dir-fd-relative lgetxattr. This function is just like getxattrat, + except when DIR_FD and FILE specify a symlink: lgetxattrat operates on the + symlink, while the getxattrat operates on the referent of the symlink. */ +ssize_t lgetxattrat (int dir_fd, const char *path, const char *name, + void *value, size_t size); + +/* dir-fd-relative listxattr. Obtain the list of extended attrubtes names. For + more info see the listxattr(2) manpage. */ +ssize_t listxattrat (int dir_fd, const char *path, char *list, size_t size); + +/* dir-fd-relative llistxattr. This function is just like listxattrat, + except when DIR_FD and FILE specify a symlink: llistxattr operates on the + symlink, while the listxattrat operates on the referent of the symlink. */ +ssize_t llistxattrat (int dir_fd, const char *path, char *list, size_t size); + +#endif /* XATTRS_AT_H */ diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4 index 7feed466..d4ad759f 100644 --- a/m4/00gnulib.m4 +++ b/m4/00gnulib.m4 @@ -1,5 +1,5 @@ # 00gnulib.m4 serial 2 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/acl.m4 b/m4/acl.m4 new file mode 100644 index 00000000..5b1fb65e --- /dev/null +++ b/m4/acl.m4 @@ -0,0 +1,164 @@ +# acl.m4 - check for access control list (ACL) primitives +# serial 15 + +# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Written by Paul Eggert and Jim Meyering. + +AC_DEFUN([gl_FUNC_ACL], +[ + AC_ARG_ENABLE([acl], + AS_HELP_STRING([--disable-acl], [do not support ACLs]), + , [enable_acl=auto]) + + LIB_ACL= + use_acl=0 + if test "x$enable_acl" != "xno"; then + dnl On all platforms, the ACL related API is declared in . + AC_CHECK_HEADERS([sys/acl.h]) + if test $ac_cv_header_sys_acl_h = yes; then + ac_save_LIBS=$LIBS + + dnl Test for POSIX-draft-like API (Linux, FreeBSD, Mac OS X, IRIX, Tru64). + dnl -lacl is needed on Linux, -lpacl is needed on OSF/1. + if test $use_acl = 0; then + AC_SEARCH_LIBS([acl_get_file], [acl pacl], + [if test "$ac_cv_search_acl_get_file" != "none required"; then + LIB_ACL=$ac_cv_search_acl_get_file + fi + AC_CHECK_FUNCS( + [acl_get_file acl_get_fd acl_set_file acl_set_fd \ + acl_free acl_from_mode acl_from_text \ + acl_delete_def_file acl_extended_file \ + acl_delete_fd_np acl_delete_file_np \ + acl_copy_ext_native acl_create_entry_np \ + acl_to_short_text acl_free_text]) + # If the acl_get_file bug is detected, don't enable the ACL support. + gl_ACL_GET_FILE([use_acl=1], []) + if test $use_acl = 1; then + dnl On Linux, additional API is declared in . + AC_CHECK_HEADERS([acl/libacl.h]) + AC_REPLACE_FUNCS([acl_entries]) + AC_CACHE_CHECK([for ACL_FIRST_ENTRY], + [gl_cv_acl_ACL_FIRST_ENTRY], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( +[[#include +#include +int type = ACL_FIRST_ENTRY;]])], + [gl_cv_acl_ACL_FIRST_ENTRY=yes], + [gl_cv_acl_ACL_FIRST_ENTRY=no])]) + if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then + AC_DEFINE([HAVE_ACL_FIRST_ENTRY], [1], + [Define to 1 if the constant ACL_FIRST_ENTRY exists.]) + fi + dnl On Mac OS X, other types of ACLs are supported. + AC_CACHE_CHECK([for ACL_TYPE_EXTENDED], + [gl_cv_acl_ACL_TYPE_EXTENDED], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( +[[#include +#include +int type = ACL_TYPE_EXTENDED;]])], + [gl_cv_acl_ACL_TYPE_EXTENDED=yes], + [gl_cv_acl_ACL_TYPE_EXTENDED=no])]) + if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then + AC_DEFINE([HAVE_ACL_TYPE_EXTENDED], [1], + [Define to 1 if the ACL type ACL_TYPE_EXTENDED exists.]) + fi + else + LIB_ACL= + fi + ]) + fi + + dnl Test for Solaris API (Solaris, Cygwin). + if test $use_acl = 0; then + AC_CHECK_FUNCS([facl]) + if test $ac_cv_func_facl = yes; then + AC_SEARCH_LIBS([acl_trivial], [sec], + [if test "$ac_cv_search_acl_trivial" != "none required"; then + LIB_ACL=$ac_cv_search_acl_trivial + fi + ]) + AC_CHECK_FUNCS([acl_trivial]) + use_acl=1 + fi + fi + + dnl Test for HP-UX API. + if test $use_acl = 0; then + AC_CHECK_FUNCS([getacl]) + if test $ac_cv_func_getacl = yes; then + use_acl=1 + fi + dnl Test for HP-UX 11.11 API. + AC_CHECK_HEADERS([aclv.h], [], [], [#include ]) + fi + + dnl Test for AIX API (AIX 5.3 or newer). + if test $use_acl = 0; then + AC_CHECK_FUNCS([aclx_get]) + if test $ac_cv_func_aclx_get = yes; then + use_acl=1 + fi + fi + + dnl Test for older AIX API. + if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then + AC_CHECK_FUNCS([statacl]) + if test $ac_cv_func_statacl = yes; then + use_acl=1 + fi + fi + + dnl Test for NonStop Kernel API. + if test $use_acl = 0; then + AC_CHECK_FUNCS([aclsort]) + if test $ac_cv_func_aclsort = yes; then + use_acl=1 + fi + fi + + LIBS=$ac_save_LIBS + fi + if test "x$enable_acl$use_acl" = "xyes0"; then + AC_MSG_ERROR([ACLs enabled but support not detected]) + elif test "x$enable_acl$use_acl" = "xauto0"; then + AC_MSG_WARN([libacl development library was not found or not usable.]) + AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.]) + fi + fi + AC_SUBST([LIB_ACL]) + AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl], + [Define to nonzero if you want access control list support.]) + USE_ACL=$use_acl + AC_SUBST([USE_ACL]) +]) + +# gl_ACL_GET_FILE(IF-WORKS, IF-NOT) +# ------------------------------------- +# If 'acl_get_file' works (does not have a particular bug), +# run IF-WORKS, otherwise, IF-NOT. +# This tests for a Darwin 8.7.0 bug, whereby acl_get_file returns NULL, +# but sets errno = ENOENT for an existing file or directory. +AC_DEFUN([gl_ACL_GET_FILE], +[ + AC_CACHE_CHECK([for working acl_get_file], [gl_cv_func_working_acl_get_file], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + ]], + [[if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT) + return 1; + return 0; + ]])], + [gl_cv_func_working_acl_get_file=yes], + [gl_cv_func_working_acl_get_file=no], + [gl_cv_func_working_acl_get_file=cross-compiling])]) + + AS_IF([test $gl_cv_func_working_acl_get_file = yes], [$1], [$2]) +]) diff --git a/m4/alloca.m4 b/m4/alloca.m4 index e2e8a05a..270abd0c 100644 --- a/m4/alloca.m4 +++ b/m4/alloca.m4 @@ -1,5 +1,5 @@ -# alloca.m4 serial 10 -dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation, +# alloca.m4 serial 14 +dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -36,8 +36,86 @@ AC_DEFUN([gl_FUNC_ALLOCA], ALLOCA_H=alloca.h fi AC_SUBST([ALLOCA_H]) + AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) ]) # Prerequisites of lib/alloca.c. # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. AC_DEFUN([gl_PREREQ_ALLOCA], [:]) + +# This works around a bug in autoconf <= 2.68. +# See . + +m4_version_prereq([2.69], [] ,[ + +# This is taken from the following Autoconf patch: +# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497 + +# _AC_LIBOBJ_ALLOCA +# ----------------- +# Set up the LIBOBJ replacement of 'alloca'. Well, not exactly +# AC_LIBOBJ since we actually set the output variable 'ALLOCA'. +# Nevertheless, for Automake, AC_LIBSOURCES it. +m4_define([_AC_LIBOBJ_ALLOCA], +[# The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. +AC_LIBSOURCES(alloca.c) +AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl +AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.]) + +AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray, +[AC_EGREP_CPP(webecray, +[#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif +], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + AC_CHECK_FUNC($ac_func, + [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func, + [Define to one of '_getb67', 'GETB67', + 'getb67' for Cray-2 and Cray-YMP + systems. This function is required for + 'alloca.c' support on those systems.]) + break]) + done +fi + +AC_CACHE_CHECK([stack direction for C alloca], + [ac_cv_c_stack_direction], +[AC_RUN_IFELSE([AC_LANG_SOURCE( +[AC_INCLUDES_DEFAULT +int +find_stack_direction (int *addr, int depth) +{ + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; +} + +int +main (int argc, char **argv) +{ + return find_stack_direction (0, argc + !argv + 20) < 0; +}])], + [ac_cv_c_stack_direction=1], + [ac_cv_c_stack_direction=-1], + [ac_cv_c_stack_direction=0])]) +AH_VERBATIM([STACK_DIRECTION], +[/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +@%:@undef STACK_DIRECTION])dnl +AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) +])# _AC_LIBOBJ_ALLOCA +]) diff --git a/m4/argp.m4 b/m4/argp.m4 index c274dd10..4445d8e6 100644 --- a/m4/argp.m4 +++ b/m4/argp.m4 @@ -1,5 +1,5 @@ -# argp.m4 serial 11 -dnl Copyright (C) 2003-2011 Free Software Foundation, Inc. +# argp.m4 serial 14 +dnl Copyright (C) 2003-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,23 +9,15 @@ AC_DEFUN([gl_ARGP], AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - dnl argp-parse.c depends on GNU getopt internals, therefore use GNU getopt - dnl always. - gl_REPLACE_GETOPT - dnl Note: gl_REPLACE_GETOPT does AC_LIBOBJ([getopt]), AC_LIBOBJ([getopt1]). - AC_CHECK_DECL([program_invocation_name], - [AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_NAME], [1], - [Define if program_invocation_name is declared])], - [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1], - [Define to 1 to add extern declaration of program_invocation_name to argp.h])], - [#include ]) - AC_CHECK_DECL([program_invocation_short_name], - [AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME], [1], - [Define if program_invocation_short_name is declared])], - [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1], - [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])], - [#include ]) + AC_CHECK_DECLS([program_invocation_name], [], + [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1], + [Define to 1 to add extern declaration of program_invocation_name to argp.h])], + [[#include ]]) + AC_CHECK_DECLS([program_invocation_short_name], [], + [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1], + [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])], + [[#include ]]) # Check if program_invocation_name and program_invocation_short_name # are defined elsewhere. It is improbable that only one of them will @@ -63,3 +55,7 @@ AC_DEFUN([gl_ARGP], AC_CHECK_FUNCS_ONCE([flockfile funlockfile]) AC_CHECK_HEADERS_ONCE([features.h linewrap.h]) ]) + +dnl argp-parse.c depends on GNU getopt internals, therefore use GNU getopt +dnl always. +AC_DEFUN([gl_REPLACE_GETOPT_ALWAYS], []) diff --git a/m4/backupfile.m4 b/m4/backupfile.m4 index ac9559eb..019665a6 100644 --- a/m4/backupfile.m4 +++ b/m4/backupfile.m4 @@ -1,14 +1,12 @@ -# backupfile.m4 serial 13 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +# backupfile.m4 serial 14 +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Prerequisites of lib/backupfile.c. AC_DEFUN([gl_BACKUPFILE], [ - AC_LIBOBJ([backupfile]) - - dnl Prerequisites of lib/backupfile.c. AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO]) AC_REQUIRE([AC_SYS_LONG_FILE_NAMES]) AC_CHECK_FUNCS_ONCE([pathconf]) diff --git a/m4/bison.m4 b/m4/bison.m4 index 87c090ed..3b1297ab 100644 --- a/m4/bison.m4 +++ b/m4/bison.m4 @@ -1,6 +1,6 @@ -# serial 6 +# serial 7 -# Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,12 +13,12 @@ dnl dnl Declaring YACC & YFLAGS precious will not be necessary after GNULIB dnl requires an Autoconf greater than 2.59c, but it will probably still be dnl useful to override the description of YACC in the --help output, re -dnl parse-datetime.y assuming `bison -y'. +dnl parse-datetime.y assuming 'bison -y'. AC_ARG_VAR([YACC], -[The `Yet Another C Compiler' implementation to use. Defaults to `bison -y'. -Values other than `bison -y' will most likely break on most systems.])dnl +[The "Yet Another C Compiler" implementation to use. Defaults to 'bison -y'. +Values other than 'bison -y' will most likely break on most systems.])dnl AC_ARG_VAR([YFLAGS], [YFLAGS contains the list arguments that will be passed by default to Bison. This script will default YFLAGS to the empty string to avoid a default value of -`-d' given by some make applications.])dnl +'-d' given by some make applications.])dnl ]) diff --git a/m4/btowc.m4 b/m4/btowc.m4 index 603298f4..978a06e9 100644 --- a/m4/btowc.m4 +++ b/m4/btowc.m4 @@ -1,5 +1,5 @@ -# btowc.m4 serial 8 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# btowc.m4 serial 10 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -108,11 +108,6 @@ int main () *) REPLACE_BTOWC=1 ;; esac fi - if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then - gl_REPLACE_WCHAR_H - AC_LIBOBJ([btowc]) - gl_PREREQ_BTOWC - fi ]) # Prerequisites of lib/btowc.c. diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4 index dcc6039e..cef31244 100644 --- a/m4/canonicalize.m4 +++ b/m4/canonicalize.m4 @@ -1,6 +1,6 @@ -# canonicalize.m4 serial 17 +# canonicalize.m4 serial 26 -dnl Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,40 +10,49 @@ dnl with or without modifications, as long as this notice is preserved. # not provide or fix realpath. AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE], [ - AC_LIBOBJ([canonicalize]) - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([canonicalize_file_name]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 - elif test "$gl_cv_func_realpath_works" != yes; then - REPLACE_CANONICALIZE_FILE_NAME=1 + else + case "$gl_cv_func_realpath_works" in + *yes) ;; + *) REPLACE_CANONICALIZE_FILE_NAME=1 ;; + esac fi ]) # Provides canonicalize_file_name and realpath. AC_DEFUN([gl_CANONICALIZE_LGPL], [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([gl_CANONICALIZE_LGPL_SEPARATE]) if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 - AC_LIBOBJ([canonicalize-lgpl]) if test $ac_cv_func_realpath = no; then HAVE_REALPATH=0 - elif test "$gl_cv_func_realpath_works" != yes; then - REPLACE_REALPATH=1 + else + case "$gl_cv_func_realpath_works" in + *yes) ;; + *) REPLACE_REALPATH=1 ;; + esac fi - elif test "$gl_cv_func_realpath_works" != yes; then - AC_LIBOBJ([canonicalize-lgpl]) - REPLACE_REALPATH=1 - REPLACE_CANONICALIZE_FILE_NAME=1 + else + case "$gl_cv_func_realpath_works" in + *yes) + ;; + *) + REPLACE_CANONICALIZE_FILE_NAME=1 + REPLACE_REALPATH=1 + ;; + esac fi ]) # Like gl_CANONICALIZE_LGPL, except prepare for separate compilation -# (no AC_LIBOBJ). +# (no REPLACE_CANONICALIZE_FILE_NAME, no REPLACE_REALPATH, no AC_LIBOBJ). AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) @@ -59,11 +68,15 @@ AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], AC_DEFUN([gl_FUNC_REALPATH_WORKS], [ AC_CHECK_FUNCS_ONCE([realpath]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ touch conftest.a + mkdir conftest.d AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ + ]GL_NOCRASH[ #include + #include ]], [[ int result = 0; { @@ -81,14 +94,31 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS], if (name != NULL) result |= 4; } + { + char *name1 = realpath (".", NULL); + char *name2 = realpath ("conftest.d//./..", NULL); + if (strcmp (name1, name2) != 0) + result |= 8; + } return result; ]]) - ], [gl_cv_func_realpath_works=yes], [gl_cv_func_realpath_works=no], - [gl_cv_func_realpath_works="guessing no"]) + ], + [gl_cv_func_realpath_works=yes], + [gl_cv_func_realpath_works=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_realpath_works="guessing no" ;; + esac + ]) + rm -rf conftest.a conftest.d ]) - if test "$gl_cv_func_realpath_works" = yes; then - AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() - can malloc memory, always gives an absolute path, and handles - trailing slash correctly.]) - fi + case "$gl_cv_func_realpath_works" in + *yes) + AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() + can malloc memory, always gives an absolute path, and handles + trailing slash correctly.]) + ;; + esac ]) diff --git a/m4/chdir-long.m4 b/m4/chdir-long.m4 index 27c61d25..9c498a62 100644 --- a/m4/chdir-long.m4 +++ b/m4/chdir-long.m4 @@ -1,4 +1,4 @@ -#serial 11 +#serial 15 # Use Gnulib's robust chdir function. # It can handle arbitrarily long directory names, which means @@ -6,7 +6,7 @@ # never fails with ENAMETOOLONG. # Arrange to compile chdir-long.c only on systems that define PATH_MAX. -dnl Copyright (C) 2004-2007, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,25 +15,16 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CHDIR_LONG], [ + AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CACHE_CHECK([whether this system has an arbitrary file name length limit], gl_cv_have_arbitrary_file_name_length_limit, [AC_EGREP_CPP([have_arbitrary_file_name_length_limit], - [#include -#include -#if defined PATH_MAX || defined MAXPATHLEN + gl_PATHMAX_SNIPPET[ +#ifdef PATH_MAX have_arbitrary_file_name_length_limit #endif], gl_cv_have_arbitrary_file_name_length_limit=yes, gl_cv_have_arbitrary_file_name_length_limit=no)]) - - if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then - AC_LIBOBJ([chdir-long]) - gl_PREREQ_CHDIR_LONG - fi ]) -AC_DEFUN([gl_PREREQ_CHDIR_LONG], -[ - AC_REQUIRE([AC_C_INLINE]) - : -]) +AC_DEFUN([gl_PREREQ_CHDIR_LONG], [:]) diff --git a/m4/chown.m4 b/m4/chown.m4 index f664e7c5..e5c084db 100644 --- a/m4/chown.m4 +++ b/m4/chown.m4 @@ -1,7 +1,7 @@ -# serial 24 +# serial 27 # Determine whether we need the chown wrapper. -dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2011 Free Software +dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2013 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -14,23 +14,72 @@ dnl with or without modifications, as long as this notice is preserved. # From Jim Meyering. +m4_version_prereq([2.70], [] ,[ + +# This is taken from the following Autoconf patch: +# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 +AC_DEFUN([AC_FUNC_CHOWN], +[ + AC_REQUIRE([AC_TYPE_UID_T])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles + AC_CHECK_HEADERS([unistd.h]) + AC_CACHE_CHECK([for working chown], + [ac_cv_func_chown_works], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT + [#include + ]], + [[ + char *f = "conftest.chown"; + struct stat before, after; + + if (creat (f, 0600) < 0) + return 1; + if (stat (f, &before) < 0) + return 1; + if (chown (f, (uid_t) -1, (gid_t) -1) == -1) + return 1; + if (stat (f, &after) < 0) + return 1; + return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); + ]]) + ], + [ac_cv_func_chown_works=yes], + [ac_cv_func_chown_works=no], + [case "$host_os" in # (( + # Guess yes on glibc systems. + *-gnu*) ac_cv_func_chown_works=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_chown_works=no ;; + esac + ]) + rm -f conftest.chown + ]) + if test $ac_cv_func_chown_works = yes; then + AC_DEFINE([HAVE_CHOWN], [1], + [Define to 1 if your system has a working `chown' function.]) + fi +])# AC_FUNC_CHOWN + +]) + AC_DEFUN_ONCE([gl_FUNC_CHOWN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_UID_T]) AC_REQUIRE([AC_FUNC_CHOWN]) AC_REQUIRE([gl_FUNC_CHOWN_FOLLOWS_SYMLINK]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([chown fchown]) dnl mingw lacks chown altogether. if test $ac_cv_func_chown = no; then HAVE_CHOWN=0 - AC_LIBOBJ([chown]) else dnl Some old systems treated chown like lchown. if test $gl_cv_func_chown_follows_symlink = no; then REPLACE_CHOWN=1 - AC_LIBOBJ([chown]) fi dnl Some old systems tried to use uid/gid -1 literally. @@ -38,7 +87,6 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN], AC_DEFINE([CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE], [1], [Define if chown is not POSIX compliant regarding IDs of -1.]) REPLACE_CHOWN=1 - AC_LIBOBJ([chown]) fi dnl Solaris 9 ignores trailing slash. @@ -56,14 +104,22 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN], ]])], [gl_cv_func_chown_slash_works=yes], [gl_cv_func_chown_slash_works=no], - [gl_cv_func_chown_slash_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_slash_works="guessing no" ;; + esac + ]) rm -f conftest.link conftest.file]) - if test "$gl_cv_func_chown_slash_works" != yes; then - AC_DEFINE([CHOWN_TRAILING_SLASH_BUG], [1], - [Define to 1 if chown mishandles trailing slash.]) - REPLACE_CHOWN=1 - AC_LIBOBJ([chown]) - fi + case "$gl_cv_func_chown_slash_works" in + *yes) ;; + *) + AC_DEFINE([CHOWN_TRAILING_SLASH_BUG], [1], + [Define to 1 if chown mishandles trailing slash.]) + REPLACE_CHOWN=1 + ;; + esac dnl OpenBSD fails to update ctime if ownership does not change. AC_CACHE_CHECK([whether chown always updates ctime], @@ -84,18 +140,22 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN], ]])], [gl_cv_func_chown_ctime_works=yes], [gl_cv_func_chown_ctime_works=no], - [gl_cv_func_chown_ctime_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_ctime_works="guessing no" ;; + esac + ]) rm -f conftest.file]) - if test "$gl_cv_func_chown_ctime_works" != yes; then - AC_DEFINE([CHOWN_CHANGE_TIME_BUG], [1], [Define to 1 if chown fails - to change ctime when at least one argument was not -1.]) - REPLACE_CHOWN=1 - AC_LIBOBJ([chown]) - fi - - if test $REPLACE_CHOWN = 1 && test $ac_cv_func_fchown = no; then - AC_LIBOBJ([fchown-stub]) - fi + case "$gl_cv_func_chown_ctime_works" in + *yes) ;; + *) + AC_DEFINE([CHOWN_CHANGE_TIME_BUG], [1], [Define to 1 if chown fails + to change ctime when at least one argument was not -1.]) + REPLACE_CHOWN=1 + ;; + esac fi ]) diff --git a/m4/clock_time.m4 b/m4/clock_time.m4 index 3c085129..6597fb63 100644 --- a/m4/clock_time.m4 +++ b/m4/clock_time.m4 @@ -1,5 +1,5 @@ # clock_time.m4 serial 10 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/close-stream.m4 b/m4/close-stream.m4 index 2a7349cf..0a80c37a 100644 --- a/m4/close-stream.m4 +++ b/m4/close-stream.m4 @@ -1,13 +1,11 @@ -#serial 3 -dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. +#serial 4 +dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Prerequisites of lib/close-stream.c. AC_DEFUN([gl_CLOSE_STREAM], [ - AC_LIBOBJ([close-stream]) - - dnl Prerequisites of lib/close-stream.c. : ]) diff --git a/m4/close.m4 b/m4/close.m4 index fc131381..bccd9819 100644 --- a/m4/close.m4 +++ b/m4/close.m4 @@ -1,26 +1,33 @@ -# close.m4 serial 5 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# close.m4 serial 8 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CLOSE], [ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_CLOSE=1 + fi m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [ gl_PREREQ_SYS_H_WINSOCK2 if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then dnl Even if the 'socket' module is not used here, another part of the dnl application may use it and pass file descriptors that refer to dnl sockets to the close() function. So enable the support for sockets. - gl_REPLACE_CLOSE + REPLACE_CLOSE=1 + fi + ]) + dnl Replace close() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + if test $REPLACE_CLOSE = 0; then + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_CLOSE=1 + fi fi ]) -]) - -AC_DEFUN([gl_REPLACE_CLOSE], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - REPLACE_CLOSE=1 - AC_LIBOBJ([close]) - gl_REPLACE_FCLOSE ]) diff --git a/m4/closedir.m4 b/m4/closedir.m4 new file mode 100644 index 00000000..bb8708b6 --- /dev/null +++ b/m4/closedir.m4 @@ -0,0 +1,25 @@ +# closedir.m4 serial 2 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_CLOSEDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([closedir]) + if test $ac_cv_func_closedir = no; then + HAVE_CLOSEDIR=0 + fi + dnl Replace closedir() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + if test $HAVE_CLOSEDIR = 1; then + REPLACE_CLOSEDIR=1 + fi + fi + ]) +]) diff --git a/m4/closeout.m4 b/m4/closeout.m4 index 0586b32a..759feaae 100644 --- a/m4/closeout.m4 +++ b/m4/closeout.m4 @@ -1,14 +1,12 @@ -# closeout.m4 serial 5 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, +# closeout.m4 serial 6 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Prerequisites of lib/closeout.c. AC_DEFUN([gl_CLOSEOUT], [ - AC_LIBOBJ([closeout]) - - dnl Prerequisites of lib/closeout.c. : ]) diff --git a/m4/codeset.m4 b/m4/codeset.m4 index da735522..c2761be2 100644 --- a/m4/codeset.m4 +++ b/m4/codeset.m4 @@ -1,5 +1,5 @@ # codeset.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2006, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/configmake.m4 b/m4/configmake.m4 index a0298235..823ffc0d 100644 --- a/m4/configmake.m4 +++ b/m4/configmake.m4 @@ -1,5 +1,5 @@ # configmake.m4 serial 1 -dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/d-ino.m4 b/m4/d-ino.m4 index baf0dcc9..aab82c2d 100644 --- a/m4/d-ino.m4 +++ b/m4/d-ino.m4 @@ -1,11 +1,11 @@ -# serial 12 +# serial 13 dnl From Jim Meyering. dnl dnl Check whether struct dirent has a member named d_ino. dnl -# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2011 Free Software +# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation @@ -13,7 +13,8 @@ dnl # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], - [AC_CACHE_CHECK([for d_ino member in directory struct], + [AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([for d_ino member in directory struct], gl_cv_struct_dirent_d_ino, [AC_RUN_IFELSE( [AC_LANG_PROGRAM( @@ -37,10 +38,18 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], ]])], [gl_cv_struct_dirent_d_ino=yes], [gl_cv_struct_dirent_d_ino=no], - [gl_cv_struct_dirent_d_ino=no])]) - if test $gl_cv_struct_dirent_d_ino = yes; then - AC_DEFINE([D_INO_IN_DIRENT], [1], - [Define if struct dirent has a member d_ino that actually works.]) - fi + [case "$host_os" in + # Guess yes on glibc systems with Linux kernel. + linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_struct_dirent_d_ino="guessing no" ;; + esac + ])]) + case "$gl_cv_struct_dirent_d_ino" in + *yes) + AC_DEFINE([D_INO_IN_DIRENT], [1], + [Define if struct dirent has a member d_ino that actually works.]) + ;; + esac ] ) diff --git a/m4/dirent-safer.m4 b/m4/dirent-safer.m4 index 0b557ca7..708d7b19 100644 --- a/m4/dirent-safer.m4 +++ b/m4/dirent-safer.m4 @@ -1,5 +1,5 @@ -#serial 1 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +#serial 2 +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,5 +7,4 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DIRENT_SAFER], [ AC_CHECK_FUNCS_ONCE([fdopendir]) - AC_LIBOBJ([opendir-safer]) ]) diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4 index 853ac7da..54c16634 100644 --- a/m4/dirent_h.m4 +++ b/m4/dirent_h.m4 @@ -1,5 +1,5 @@ -# dirent_h.m4 serial 13 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# dirent_h.m4 serial 16 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,18 +14,17 @@ AC_DEFUN([gl_DIRENT_H], dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([dirent.h]) + if test $ac_cv_header_dirent_h = yes; then + HAVE_DIRENT_H=1 + else + HAVE_DIRENT_H=0 + fi + AC_SUBST([HAVE_DIRENT_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include - ]], [alphasort dirfd fdopendir scandir]) -]) - -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_DIRENT_H], -[ - dnl This is a no-op, because is always overridden. - : + ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir]) ]) AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], @@ -40,18 +39,26 @@ AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], AC_DEFUN([gl_DIRENT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR + GNULIB_OPENDIR=0; AC_SUBST([GNULIB_OPENDIR]) + GNULIB_READDIR=0; AC_SUBST([GNULIB_READDIR]) + GNULIB_REWINDDIR=0; AC_SUBST([GNULIB_REWINDDIR]) + GNULIB_CLOSEDIR=0; AC_SUBST([GNULIB_CLOSEDIR]) GNULIB_DIRFD=0; AC_SUBST([GNULIB_DIRFD]) GNULIB_FDOPENDIR=0; AC_SUBST([GNULIB_FDOPENDIR]) GNULIB_SCANDIR=0; AC_SUBST([GNULIB_SCANDIR]) GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_OPENDIR=1; AC_SUBST([HAVE_OPENDIR]) + HAVE_READDIR=1; AC_SUBST([HAVE_READDIR]) + HAVE_REWINDDIR=1; AC_SUBST([HAVE_REWINDDIR]) + HAVE_CLOSEDIR=1; AC_SUBST([HAVE_CLOSEDIR]) HAVE_DECL_DIRFD=1; AC_SUBST([HAVE_DECL_DIRFD]) HAVE_DECL_FDOPENDIR=1;AC_SUBST([HAVE_DECL_FDOPENDIR]) HAVE_FDOPENDIR=1; AC_SUBST([HAVE_FDOPENDIR]) HAVE_SCANDIR=1; AC_SUBST([HAVE_SCANDIR]) HAVE_ALPHASORT=1; AC_SUBST([HAVE_ALPHASORT]) + REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR]) REPLACE_CLOSEDIR=0; AC_SUBST([REPLACE_CLOSEDIR]) REPLACE_DIRFD=0; AC_SUBST([REPLACE_DIRFD]) REPLACE_FDOPENDIR=0; AC_SUBST([REPLACE_FDOPENDIR]) - REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR]) ]) diff --git a/m4/dirfd.m4 b/m4/dirfd.m4 index b8789c2e..39bc7897 100644 --- a/m4/dirfd.m4 +++ b/m4/dirfd.m4 @@ -1,8 +1,8 @@ -# serial 19 -*- Autoconf -*- +# serial 22 -*- Autoconf -*- dnl Find out how to get the file descriptor associated with an open DIR*. -# Copyright (C) 2001-2006, 2008-2011 Free Software Foundation, Inc. +# Copyright (C) 2001-2006, 2008-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,15 +12,14 @@ dnl From Jim Meyering AC_DEFUN([gl_FUNC_DIRFD], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) - gl_REPLACE_DIRENT_H dnl Persuade glibc to declare dirfd(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS([dirfd]) AC_CHECK_DECLS([dirfd], , , - [#include - #include ]) + [[#include + #include ]]) if test $ac_cv_have_decl_dirfd = no; then HAVE_DECL_DIRFD=0 fi @@ -37,45 +36,48 @@ AC_DEFUN([gl_FUNC_DIRFD], gl_cv_func_dirfd_macro=no)]) # Use the replacement only if we have no function or macro with that name. - if test $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro = no,no; then + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then if test $ac_cv_have_decl_dirfd = yes; then # If the system declares dirfd already, let's declare rpl_dirfd instead. REPLACE_DIRFD=1 fi - AC_LIBOBJ([dirfd]) - AC_CACHE_CHECK( - [how to get the file descriptor associated with an open DIR*], - gl_cv_sys_dir_fd_member_name, - [ - dirfd_save_CFLAGS=$CFLAGS - for ac_expr in d_fd dd_fd; do + fi +]) - CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include - #include ]], - [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])], - [dir_fd_found=yes] - ) - CFLAGS=$dirfd_save_CFLAGS - test "$dir_fd_found" = yes && break - done - test "$dir_fd_found" = yes || ac_expr=no_such_member +dnl Prerequisites of lib/dirfd.c. +AC_DEFUN([gl_PREREQ_DIRFD], +[ + AC_CACHE_CHECK([how to get the file descriptor associated with an open DIR*], + [gl_cv_sys_dir_fd_member_name], + [ + dirfd_save_CFLAGS=$CFLAGS + for ac_expr in d_fd dd_fd; do - gl_cv_sys_dir_fd_member_name=$ac_expr - ] - ) - if test $gl_cv_sys_dir_fd_member_name != no_such_member; then - AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME], - $gl_cv_sys_dir_fd_member_name, - [the name of the file descriptor member of DIR]) - fi - AH_VERBATIM(DIR_TO_FD, - [#ifdef DIR_FD_MEMBER_NAME + CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #include ]], + [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])], + [dir_fd_found=yes] + ) + CFLAGS=$dirfd_save_CFLAGS + test "$dir_fd_found" = yes && break + done + test "$dir_fd_found" = yes || ac_expr=no_such_member + + gl_cv_sys_dir_fd_member_name=$ac_expr + ] + ) + if test $gl_cv_sys_dir_fd_member_name != no_such_member; then + AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME], + [$gl_cv_sys_dir_fd_member_name], + [the name of the file descriptor member of DIR]) + fi + AH_VERBATIM([DIR_TO_FD], + [#ifdef DIR_FD_MEMBER_NAME # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) #else # define DIR_TO_FD(Dir_p) -1 #endif ]) - fi ]) diff --git a/m4/dirname.m4 b/m4/dirname.m4 index 9d5f40d1..5897a2a8 100644 --- a/m4/dirname.m4 +++ b/m4/dirname.m4 @@ -1,5 +1,5 @@ -#serial 9 -*- autoconf -*- -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +#serial 10 -*- autoconf -*- +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,16 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DIRNAME], [ AC_REQUIRE([gl_DIRNAME_LGPL]) - AC_LIBOBJ([basename]) - AC_LIBOBJ([dirname]) ]) AC_DEFUN([gl_DIRNAME_LGPL], [ - AC_LIBOBJ([basename-lgpl]) - AC_LIBOBJ([dirname-lgpl]) - AC_LIBOBJ([stripslash]) - dnl Prerequisites of lib/dirname.h. AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) diff --git a/m4/double-slash-root.m4 b/m4/double-slash-root.m4 index 16a4e3ec..bd6f8671 100644 --- a/m4/double-slash-root.m4 +++ b/m4/double-slash-root.m4 @@ -1,5 +1,5 @@ # double-slash-root.m4 serial 4 -*- Autoconf -*- -dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/dup.m4 b/m4/dup.m4 new file mode 100644 index 00000000..5105b6e4 --- /dev/null +++ b/m4/dup.m4 @@ -0,0 +1,25 @@ +# dup.m4 serial 3 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_DUP], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_DUP=1 + fi + dnl Replace dup() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_DUP=1 + fi + ]) +]) + +# Prerequisites of lib/dup.c. +AC_DEFUN([gl_PREREQ_DUP], [:]) diff --git a/m4/dup2.m4 b/m4/dup2.m4 index def263b8..269cfdc1 100644 --- a/m4/dup2.m4 +++ b/m4/dup2.m4 @@ -1,5 +1,5 @@ -#serial 12 -dnl Copyright (C) 2002, 2005, 2007, 2009-2011 Free Software Foundation, Inc. +#serial 19 +dnl Copyright (C) 2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,24 +8,28 @@ AC_DEFUN([gl_FUNC_DUP2], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) - AC_CHECK_FUNCS_ONCE([dup2 fcntl]) - if test $ac_cv_func_dup2 = no; then - HAVE_DUP2=0 - AC_LIBOBJ([dup2]) - else + m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [ + AC_CHECK_FUNCS_ONCE([dup2]) + if test $ac_cv_func_dup2 = no; then + HAVE_DUP2=0 + fi + ], [ + AC_DEFINE([HAVE_DUP2], [1], [Define to 1 if you have the 'dup2' function.]) + ]) + if test $HAVE_DUP2 = 1; then AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include #include ]], [int result = 0; -#if HAVE_FCNTL +#ifdef FD_CLOEXEC if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) result |= 1; -#endif HAVE_FCNTL +#endif if (dup2 (1, 1) == 0) result |= 2; -#if HAVE_FCNTL +#ifdef FD_CLOEXEC if (fcntl (1, F_GETFD) != FD_CLOEXEC) result |= 4; #endif @@ -35,36 +39,46 @@ AC_DEFUN([gl_FUNC_DUP2], /* Many gnulib modules require POSIX conformance of EBADF. */ if (dup2 (2, 1000000) == -1 && errno != EBADF) result |= 16; + /* Flush out a cygwin core dump. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; return result; ]) ], [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], [case "$host_os" in mingw*) # on this platform, dup2 always returns 0 for success - gl_cv_func_dup2_works=no;; + gl_cv_func_dup2_works="guessing no" ;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 - gl_cv_func_dup2_works=no;; + gl_cv_func_dup2_works="guessing no" ;; linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a # closed fd may yield -EBADF instead of -1 / errno=EBADF. - gl_cv_func_dup2_works=no;; + gl_cv_func_dup2_works="guessing no" ;; freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. - gl_cv_func_dup2_works=no;; + gl_cv_func_dup2_works="guessing no" ;; haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. - gl_cv_func_dup2_works=no;; - *) gl_cv_func_dup2_works=yes;; + gl_cv_func_dup2_works="guessing no" ;; + *) gl_cv_func_dup2_works="guessing yes" ;; esac]) ]) - if test "$gl_cv_func_dup2_works" = no; then - gl_REPLACE_DUP2 - fi + case "$gl_cv_func_dup2_works" in + *yes) ;; + *) + REPLACE_DUP2=1 + ;; + esac fi + dnl Replace dup2() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + if test $HAVE_DUP2 = 1; then + REPLACE_DUP2=1 + fi + fi + ]) ]) -AC_DEFUN([gl_REPLACE_DUP2], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - if test $ac_cv_func_dup2 = yes; then - REPLACE_DUP2=1 - fi - AC_LIBOBJ([dup2]) -]) +# Prerequisites of lib/dup2.c. +AC_DEFUN([gl_PREREQ_DUP2], []) diff --git a/m4/eealloc.m4 b/m4/eealloc.m4 index 3006c484..c640ec12 100644 --- a/m4/eealloc.m4 +++ b/m4/eealloc.m4 @@ -1,5 +1,5 @@ -# eealloc.m4 serial 2 -dnl Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc. +# eealloc.m4 serial 3 +dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,7 +8,6 @@ AC_DEFUN([gl_EEALLOC], [ AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([gl_EEREALLOC]) - AC_REQUIRE([AC_C_INLINE]) ]) AC_DEFUN([gl_EEMALLOC], diff --git a/m4/environ.m4 b/m4/environ.m4 index 7457ad13..593a33ed 100644 --- a/m4/environ.m4 +++ b/m4/environ.m4 @@ -1,5 +1,5 @@ -# environ.m4 serial 5 -dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc. +# environ.m4 serial 6 +dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,7 +9,16 @@ AC_DEFUN_ONCE([gl_ENVIRON], AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare environ. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - gt_CHECK_VAR_DECL([#include ], environ) + + AC_CHECK_HEADERS_ONCE([unistd.h]) + gt_CHECK_VAR_DECL( + [#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include + ], + [environ]) if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi diff --git a/m4/errno_h.m4 b/m4/errno_h.m4 index 687bafff..c813ea58 100644 --- a/m4/errno_h.m4 +++ b/m4/errno_h.m4 @@ -1,5 +1,5 @@ -# errno_h.m4 serial 8 -dnl Copyright (C) 2004, 2006, 2008-2011 Free Software Foundation, Inc. +# errno_h.m4 serial 12 +dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,6 +10,9 @@ AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ AC_EGREP_CPP([booboo],[ #include +#if !defined ETXTBSY +booboo +#endif #if !defined ENOMSG booboo #endif @@ -34,6 +37,12 @@ booboo #if !defined ENOTSUP booboo #endif +#if !defined ENETRESET +booboo +#endif +#if !defined ECONNABORTED +booboo +#endif #if !defined ESTALE booboo #endif @@ -42,6 +51,15 @@ booboo #endif #if !defined ECANCELED booboo +#endif +#if !defined EOWNERDEAD +booboo +#endif +#if !defined ENOTRECOVERABLE +booboo +#endif +#if !defined EILSEQ +booboo #endif ], [gl_cv_header_errno_h_complete=no], @@ -54,6 +72,7 @@ booboo ERRNO_H='errno.h' fi AC_SUBST([ERRNO_H]) + AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"]) gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) gl_REPLACE_ERRNO_VALUE([ENOLINK]) gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) diff --git a/m4/error.m4 b/m4/error.m4 index 6ea75ac0..29e6fdc9 100644 --- a/m4/error.m4 +++ b/m4/error.m4 @@ -1,6 +1,6 @@ -#serial 13 +#serial 14 -# Copyright (C) 1996-1998, 2001-2004, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -8,16 +8,8 @@ AC_DEFUN([gl_ERROR], [ - AC_FUNC_ERROR_AT_LINE - dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). - gl_PREREQ_ERROR -]) - -# Redefine AC_FUNC_ERROR_AT_LINE, because it is no longer maintained in -# Autoconf. -AC_DEFUN([AC_FUNC_ERROR_AT_LINE], -[ - AC_LIBSOURCES([error.h, error.c])dnl + dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer + dnl maintained in Autoconf and because it invokes AC_LIBOBJ. AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( @@ -25,15 +17,11 @@ AC_DEFUN([AC_FUNC_ERROR_AT_LINE], [[error_at_line (0, 0, "", 0, "an error occurred");]])], [ac_cv_lib_error_at_line=yes], [ac_cv_lib_error_at_line=no])]) - if test $ac_cv_lib_error_at_line = no; then - AC_LIBOBJ([error]) - fi ]) # Prerequisites of lib/error.c. AC_DEFUN([gl_PREREQ_ERROR], [ AC_REQUIRE([AC_FUNC_STRERROR_R]) - AC_REQUIRE([AC_C_INLINE]) : ]) diff --git a/m4/exponentd.m4 b/m4/exponentd.m4 new file mode 100644 index 00000000..09df468c --- /dev/null +++ b/m4/exponentd.m4 @@ -0,0 +1,116 @@ +# exponentd.m4 serial 3 +dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION], +[ + AC_CACHE_CHECK([where to find the exponent in a 'double'], + [gl_cv_cc_double_expbit0], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include +#include +#define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) +typedef union { double value; unsigned int word[NWORDS]; } memory_double; +static unsigned int ored_words[NWORDS]; +static unsigned int anded_words[NWORDS]; +static void add_to_ored_words (double x) +{ + memory_double m; + size_t i; + /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ + memset (&m, 0, sizeof (memory_double)); + m.value = x; + for (i = 0; i < NWORDS; i++) + { + ored_words[i] |= m.word[i]; + anded_words[i] &= m.word[i]; + } +} +int main () +{ + size_t j; + FILE *fp = fopen ("conftest.out", "w"); + if (fp == NULL) + return 1; + for (j = 0; j < NWORDS; j++) + anded_words[j] = ~ (unsigned int) 0; + add_to_ored_words (0.25); + add_to_ored_words (0.5); + add_to_ored_words (1.0); + add_to_ored_words (2.0); + add_to_ored_words (4.0); + /* Remove bits that are common (e.g. if representation of the first mantissa + bit is explicit). */ + for (j = 0; j < NWORDS; j++) + ored_words[j] &= ~anded_words[j]; + /* Now find the nonzero word. */ + for (j = 0; j < NWORDS; j++) + if (ored_words[j] != 0) + break; + if (j < NWORDS) + { + size_t i; + for (i = j + 1; i < NWORDS; i++) + if (ored_words[i] != 0) + { + fprintf (fp, "unknown"); + return (fclose (fp) != 0); + } + for (i = 0; ; i++) + if ((ored_words[j] >> i) & 1) + { + fprintf (fp, "word %d bit %d", (int) j, (int) i); + return (fclose (fp) != 0); + } + } + fprintf (fp, "unknown"); + return (fclose (fp) != 0); +} + ]])], + [gl_cv_cc_double_expbit0=`cat conftest.out`], + [gl_cv_cc_double_expbit0="unknown"], + [ + dnl On ARM, there are two 'double' floating-point formats, used by + dnl different sets of instructions: The older FPA instructions assume + dnl that they are stored in big-endian word order, while the words + dnl (like integer types) are stored in little-endian byte order. + dnl The newer VFP instructions assume little-endian order + dnl consistently. + AC_EGREP_CPP([mixed_endianness], [ +#if defined arm || defined __arm || defined __arm__ + mixed_endianness +#endif + ], + [gl_cv_cc_double_expbit0="unknown"], + [ + pushdef([AC_MSG_CHECKING],[:])dnl + pushdef([AC_MSG_RESULT],[:])dnl + pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl + AC_C_BIGENDIAN( + [gl_cv_cc_double_expbit0="word 0 bit 20"], + [gl_cv_cc_double_expbit0="word 1 bit 20"], + [gl_cv_cc_double_expbit0="unknown"]) + popdef([AC_MSG_RESULT_UNQUOTED])dnl + popdef([AC_MSG_RESULT])dnl + popdef([AC_MSG_CHECKING])dnl + ]) + ]) + rm -f conftest.out + ]) + case "$gl_cv_cc_double_expbit0" in + word*bit*) + word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` + bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` + AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word], + [Define as the word index where to find the exponent of 'double'.]) + AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit], + [Define as the bit index in the word where to find bit 0 of the exponent of 'double'.]) + ;; + esac +]) diff --git a/m4/extensions.m4 b/m4/extensions.m4 index 1330503f..e30f1220 100644 --- a/m4/extensions.m4 +++ b/m4/extensions.m4 @@ -1,14 +1,14 @@ -# serial 9 -*- Autoconf -*- +# serial 13 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS +# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git # Autoconf. Perhaps we can remove this once we can assume Autoconf -# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly +# 2.70 or later everywhere, but since Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine # AC_USE_SYSTEM_EXTENSIONS for quite some time. @@ -30,6 +30,7 @@ # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. +# # Remember that #undef in AH_VERBATIM gets replaced with #define by # AC_DEFINE. The goal here is to define all known feature-enabling # macros, then, if reports of conflicts are made, disable macros that @@ -38,35 +39,31 @@ AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) if test "$MINIX" = yes; then AC_DEFINE([_POSIX_SOURCE], [1], - [Define to 1 if you need to in order for `stat' and other + [Define to 1 if you need to in order for 'stat' and other things to work.]) AC_DEFINE([_POSIX_1_SOURCE], [2], [Define to 2 if the system does not provide POSIX.1 features except with this defined.]) AC_DEFINE([_MINIX], [1], [Define to 1 if on MINIX.]) + AC_DEFINE([_NETBSD_SOURCE], [1], + [Define to 1 to make NetBSD features available. MINIX 3 needs this.]) fi - dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, - dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already - dnl provided. - case "$host_os" in - hpux*) - AC_DEFINE([_XOPEN_SOURCE], [500], - [Define to 500 only on HP-UX.]) - ;; - esac - - AH_VERBATIM([__EXTENSIONS__], +dnl Use a different key than __EXTENSIONS__, as that name broke existing +dnl configure.ac when using autoheader 2.62. + AH_VERBATIM([USE_SYSTEM_EXTENSIONS], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif +/* Enable general extensions on OS X. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE @@ -79,6 +76,12 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif +/* Enable X/Open extensions if necessary. HP-UX 11.11 defines + mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of + whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +#ifndef _XOPEN_SOURCE +# undef _XOPEN_SOURCE +#endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ @@ -95,9 +98,26 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) + AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) + AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], + [ac_cv_should_define__xopen_source], + [ac_cv_should_define__xopen_source=no + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #include + mbstate_t x;]])], + [], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #define _XOPEN_SOURCE 500 + #include + mbstate_t x;]])], + [ac_cv_should_define__xopen_source=yes])])]) + test $ac_cv_should_define__xopen_source = yes && + AC_DEFINE([_XOPEN_SOURCE], [500]) ])# AC_USE_SYSTEM_EXTENSIONS # gl_USE_SYSTEM_EXTENSIONS diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4 new file mode 100644 index 00000000..c4c5e7f2 --- /dev/null +++ b/m4/extern-inline.m4 @@ -0,0 +1,70 @@ +dnl 'extern inline' a la ISO C99. + +dnl Copyright 2012-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_EXTERN_INLINE], +[ + AH_VERBATIM([extern_inline], +[/* Please see the Gnulib manual for how to use these macros. + + Suppress extern inline with HP-UX cc, as it appears to be broken; see + . + + Suppress extern inline with Sun C in standards-conformance mode, as it + mishandles inline functions that call each other. E.g., for 'inline void f + (void) { } inline void g (void) { f (); }', c99 incorrectly complains + 'reference to static identifier "f" in extern inline function'. + This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + + Suppress the use of extern inline on Apple's platforms, as Libc at least + through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., + . + Perhaps Apple will fix this some day. */ +#if ((__GNUC__ \ + ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + : (199901L <= __STDC_VERSION__ \ + && !defined __HP_cc \ + && !(defined __SUNPRO_C && __STDC__))) \ + && !defined __APPLE__) +# define _GL_INLINE inline +# define _GL_EXTERN_INLINE extern inline +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined __APPLE__) +# if __GNUC_GNU_INLINE__ + /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ +# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) +# else +# define _GL_INLINE extern inline +# endif +# define _GL_EXTERN_INLINE extern +#else +# define _GL_INLINE static _GL_UNUSED +# define _GL_EXTERN_INLINE static _GL_UNUSED +#endif + +#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ +# define _GL_INLINE_HEADER_CONST_PRAGMA +# else +# define _GL_INLINE_HEADER_CONST_PRAGMA \ + _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") +# endif + /* Suppress GCC's bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + . */ +# define _GL_INLINE_HEADER_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ + _GL_INLINE_HEADER_CONST_PRAGMA +# define _GL_INLINE_HEADER_END \ + _Pragma ("GCC diagnostic pop") +#else +# define _GL_INLINE_HEADER_BEGIN +# define _GL_INLINE_HEADER_END +#endif]) +]) diff --git a/m4/fchdir.m4 b/m4/fchdir.m4 index 49d89d18..c248fdce 100644 --- a/m4/fchdir.m4 +++ b/m4/fchdir.m4 @@ -1,5 +1,5 @@ -# fchdir.m4 serial 15 -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +# fchdir.m4 serial 21 +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,16 +8,15 @@ AC_DEFUN([gl_FUNC_FCHDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_DECLS_ONCE([fchdir]) if test $ac_cv_have_decl_fchdir = no; then HAVE_DECL_FCHDIR=0 fi - AC_CHECK_FUNCS_ONCE([fchdir]) - if test $ac_cv_func_fchdir = no; then - HAVE_FCHDIR=0 + AC_REQUIRE([gl_TEST_FCHDIR]) + if test $HAVE_FCHDIR = 0; then AC_LIBOBJ([fchdir]) gl_PREREQ_FCHDIR AC_DEFINE([REPLACE_FCHDIR], [1], @@ -25,27 +24,36 @@ AC_DEFUN([gl_FUNC_FCHDIR], dnl We must also replace anything that can manipulate a directory fd, dnl to keep our bookkeeping up-to-date. We don't have to replace dnl fstatat, since no platform has fstatat but lacks fchdir. - REPLACE_OPENDIR=1 - REPLACE_CLOSEDIR=1 - REPLACE_DUP=1 - gl_REPLACE_OPEN - gl_REPLACE_CLOSE - gl_REPLACE_DUP2 - dnl dup3 is already unconditionally replaced - gl_REPLACE_FCNTL - gl_REPLACE_DIRENT_H AC_CACHE_CHECK([whether open can visit directories], [gl_cv_func_open_directory_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [return open(".", O_RDONLY) < 0;])], [gl_cv_func_open_directory_works=yes], [gl_cv_func_open_directory_works=no], - [gl_cv_func_open_directory_works="guessing no"])]) - if test "$gl_cv_func_open_directory_works" != yes; then - AC_DEFINE([REPLACE_OPEN_DIRECTORY], [1], [Define to 1 if open() should + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_open_directory_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_open_directory_works="guessing no" ;; + esac + ])]) + case "$gl_cv_func_open_directory_works" in + *yes) ;; + *) + AC_DEFINE([REPLACE_OPEN_DIRECTORY], [1], [Define to 1 if open() should work around the inability to open a directory.]) - REPLACE_FSTAT=1 - fi + ;; + esac + fi +]) + +# Determine whether to use the overrides in lib/fchdir.c. +AC_DEFUN([gl_TEST_FCHDIR], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([fchdir]) + if test $ac_cv_func_fchdir = no; then + HAVE_FCHDIR=0 fi ]) diff --git a/m4/fchmodat.m4 b/m4/fchmodat.m4 new file mode 100644 index 00000000..dc9c4e79 --- /dev/null +++ b/m4/fchmodat.m4 @@ -0,0 +1,17 @@ +# fchmodat.m4 serial 1 +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +AC_DEFUN([gl_FUNC_FCHMODAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([fchmodat lchmod]) + if test $ac_cv_func_fchmodat != yes; then + HAVE_FCHMODAT=0 + fi +]) diff --git a/m4/fchownat.m4 b/m4/fchownat.m4 new file mode 100644 index 00000000..9c862d35 --- /dev/null +++ b/m4/fchownat.m4 @@ -0,0 +1,108 @@ +# fchownat.m4 serial 1 +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +# If we have the fchownat function, and it has the bug (in glibc-2.4) +# that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then +# use the replacement function. +# Also if the fchownat function, like chown, has the trailing slash bug, +# use the replacement function. +# Also use the replacement function if fchownat is simply not available. +AC_DEFUN([gl_FUNC_FCHOWNAT], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_FUNC_CHOWN]) + AC_CHECK_FUNC([fchownat], + [gl_FUNC_FCHOWNAT_DEREF_BUG( + [REPLACE_FCHOWNAT=1 + AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1], + [Define to 1 if your platform has fchownat, but it cannot + perform lchown tasks.]) + ]) + gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG( + [REPLACE_FCHOWNAT=1 + AC_DEFINE([FCHOWNAT_EMPTY_FILENAME_BUG], [1], + [Define to 1 if your platform has fchownat, but it does + not reject an empty file name.]) + ]) + if test $REPLACE_CHOWN = 1; then + REPLACE_FCHOWNAT=1 + fi], + [HAVE_FCHOWNAT=0]) +]) + +# gl_FUNC_FCHOWNAT_DEREF_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) +AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], +[ + dnl Persuade glibc's to declare fchownat(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_CACHE_CHECK([whether fchownat works with AT_SYMLINK_NOFOLLOW], + gl_cv_func_fchownat_nofollow_works, + [ + gl_dangle=conftest.dangle + # Remove any remnants of a previous test. + rm -f $gl_dangle + # Arrange for deletion of the temporary file this test creates. + ac_clean_files="$ac_clean_files $gl_dangle" + ln -s conftest.no-such $gl_dangle + AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[ +#include +#include +#include +#include +#include +int +main () +{ + return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), + AT_SYMLINK_NOFOLLOW) != 0 + && errno == ENOENT); +} + ]])], + [gl_cv_func_fchownat_nofollow_works=yes], + [gl_cv_func_fchownat_nofollow_works=no], + [gl_cv_func_fchownat_nofollow_works=no], + ) + ]) + AS_IF([test $gl_cv_func_fchownat_nofollow_works = no], [$1], [$2]) +]) + +# gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) +AC_DEFUN([gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG], +[ + dnl Persuade glibc's to declare fchownat(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_CACHE_CHECK([whether fchownat works with an empty file name], + [gl_cv_func_fchownat_empty_filename_works], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + ]], + [[int fd; + int ret; + if (mkdir ("conftestdir", 0700) < 0) + return 2; + fd = open ("conftestdir", O_RDONLY); + if (fd < 0) + return 3; + ret = fchownat (fd, "", -1, -1, 0); + close (fd); + rmdir ("conftestdir"); + return ret == 0; + ]])], + [gl_cv_func_fchownat_empty_filename_works=yes], + [gl_cv_func_fchownat_empty_filename_works=no], + [gl_cv_func_fchownat_empty_filename_works="guessing no"]) + ]) + AS_IF([test "$gl_cv_func_fchownat_empty_filename_works" != yes], [$1], [$2]) +]) diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4 index 88db07ec..87cc4bd2 100644 --- a/m4/fcntl-o.m4 +++ b/m4/fcntl-o.m4 @@ -1,5 +1,5 @@ -# fcntl-o.m4 serial 3 -dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. +# fcntl-o.m4 serial 4 +dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,12 +17,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], [AC_REQUIRE([AC_GNU_SOURCE])]) + + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_CHECK_FUNCS_ONCE([symlink]) AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + # defined sleep(n) _sleep ((n) * 1000) + #endif #include #ifndef O_NOATIME #define O_NOATIME 0 @@ -38,9 +47,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], ]], [[ int result = !constants; + #if HAVE_SYMLINK { static char const sym[] = "conftest.sym"; - if (symlink (".", sym) != 0) + if (symlink ("/dev/null", sym) != 0) + result |= 2; + else + { + int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0); + if (fd >= 0) + { + close (fd); + result |= 4; + } + } + if (unlink (sym) != 0 || symlink (".", sym) != 0) result |= 2; else { @@ -53,6 +74,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS], } unlink (sym); } + #endif { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); diff --git a/m4/fcntl.m4 b/m4/fcntl.m4 index a93ed85a..5481cae4 100644 --- a/m4/fcntl.m4 +++ b/m4/fcntl.m4 @@ -1,5 +1,5 @@ -# fcntl.m4 serial 4 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +# fcntl.m4 serial 5 +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -73,6 +73,14 @@ choke me dnl No witness macro needed for this bug. fi fi + dnl Replace fcntl() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + gl_REPLACE_FCNTL + fi + ]) ]) AC_DEFUN([gl_REPLACE_FCNTL], @@ -84,5 +92,4 @@ AC_DEFUN([gl_REPLACE_FCNTL], else REPLACE_FCNTL=1 fi - AC_LIBOBJ([fcntl]) ]) diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 index 1ef4f455..3cff1fd6 100644 --- a/m4/fcntl_h.m4 +++ b/m4/fcntl_h.m4 @@ -1,6 +1,6 @@ -# serial 13 +# serial 15 # Configure fcntl.h. -dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,6 +13,12 @@ AC_DEFUN([gl_FCNTL_H], AC_REQUIRE([gl_FCNTL_O_FLAGS]) gl_NEXT_HEADERS([fcntl.h]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, if it is not common dnl enough to be declared everywhere. @@ -31,13 +37,14 @@ AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], AC_DEFUN([gl_FCNTL_H_DEFAULTS], [ - GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) - GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) - GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) + GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) + GNULIB_NONBLOCKING=0; AC_SUBST([GNULIB_NONBLOCKING]) + GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) + GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) dnl Assume proper GNU behavior unless another module says otherwise. - HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) - HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) - REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL]) - REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) - REPLACE_OPENAT=0; AC_SUBST([REPLACE_OPENAT]) + HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) + HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) + REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL]) + REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) + REPLACE_OPENAT=0; AC_SUBST([REPLACE_OPENAT]) ]) diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4 index f192a628..b7be7832 100644 --- a/m4/fdopendir.m4 +++ b/m4/fdopendir.m4 @@ -1,7 +1,7 @@ -# serial 5 +# serial 10 # See if we need to provide fdopendir. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,16 +10,17 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FDOPENDIR], [ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl FreeBSD 7.3 has the function, but failed to declare it. AC_CHECK_DECLS([fdopendir], [], [HAVE_DECL_FDOPENDIR=0], [[ #include ]]) AC_CHECK_FUNCS_ONCE([fdopendir]) if test $ac_cv_func_fdopendir = no; then - AC_LIBOBJ([openat-proc]) - AC_LIBOBJ([fdopendir]) - gl_REPLACE_DIRENT_H HAVE_FDOPENDIR=0 else AC_CACHE_CHECK([whether fdopendir works], @@ -29,7 +30,11 @@ AC_DEFUN([gl_FUNC_FDOPENDIR], #include #include #if !HAVE_DECL_FDOPENDIR -extern DIR *fdopendir (int); +extern +# ifdef __cplusplus +"C" +# endif +DIR *fdopendir (int); #endif ]], [int result = 0; int fd = open ("conftest.c", O_RDONLY); @@ -39,11 +44,18 @@ extern DIR *fdopendir (int); return result;])], [gl_cv_func_fdopendir_works=yes], [gl_cv_func_fdopendir_works=no], - [gl_cv_func_fdopendir_works="guessing no"])]) - if test "$gl_cv_func_fdopendir_works" != yes; then - REPLACE_FDOPENDIR=1 - gl_REPLACE_DIRENT_H - AC_LIBOBJ([fdopendir]) - fi + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_fdopendir_works="guessing no" ;; + esac + ])]) + case "$gl_cv_func_fdopendir_works" in + *yes) ;; + *) + REPLACE_FDOPENDIR=1 + ;; + esac fi ]) diff --git a/m4/fileblocks.m4 b/m4/fileblocks.m4 index c8f99621..d1abd30a 100644 --- a/m4/fileblocks.m4 +++ b/m4/fileblocks.m4 @@ -1,16 +1,19 @@ -# fileblocks.m4 serial 5 -dnl Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc. +# fileblocks.m4 serial 6 +dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILEBLOCKS], [ - AC_STRUCT_ST_BLOCKS + m4_pushdef([AC_LIBOBJ], [:]) dnl Note: AC_STRUCT_ST_BLOCKS does AC_LIBOBJ([fileblocks]). - if test $ac_cv_member_struct_stat_st_blocks = no; then - gl_PREREQ_FILEBLOCKS - fi + AC_STRUCT_ST_BLOCKS + m4_popdef([AC_LIBOBJ]) + dnl The stat-size module depends on this one and also assumes that + dnl HAVE_STRUCT_STAT_ST_BLOCKS is correctly defined. So if you + dnl remove the call above, please make sure that this does not + dnl introduce a bug into lib/stat-size.h. ]) # Prerequisites of lib/fileblocks.c. diff --git a/m4/filenamecat.m4 b/m4/filenamecat.m4 index b90cf9e8..40946e82 100644 --- a/m4/filenamecat.m4 +++ b/m4/filenamecat.m4 @@ -1,5 +1,5 @@ -# filenamecat.m4 serial 10 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +# filenamecat.m4 serial 11 +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,13 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILE_NAME_CONCAT], [ AC_REQUIRE([gl_FILE_NAME_CONCAT_LGPL]) - AC_LIBOBJ([filenamecat]) ]) AC_DEFUN([gl_FILE_NAME_CONCAT_LGPL], [ - AC_LIBOBJ([filenamecat-lgpl]) - dnl Prerequisites of lib/filenamecat-lgpl.c. AC_CHECK_FUNCS_ONCE([mempcpy]) ]) diff --git a/m4/float_h.m4 b/m4/float_h.m4 index 265a4c1a..397f2d1f 100644 --- a/m4/float_h.m4 +++ b/m4/float_h.m4 @@ -1,5 +1,5 @@ -# float_h.m4 serial 5 -dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. +# float_h.m4 serial 9 +dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,11 +9,90 @@ AC_DEFUN([gl_FLOAT_H], AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) FLOAT_H= + REPLACE_FLOAT_LDBL=0 case "$host_os" in - beos* | openbsd* | mirbsd*) + aix* | beos* | openbsd* | mirbsd* | irix*) FLOAT_H=float.h - gl_NEXT_HEADERS([float.h]) + ;; + freebsd*) + case "$host_cpu" in +changequote(,)dnl + i[34567]86 ) +changequote([,])dnl + FLOAT_H=float.h + ;; + x86_64 ) + # On x86_64 systems, the C compiler may still be generating + # 32-bit code. + AC_EGREP_CPP([yes], + [#if defined __LP64__ || defined __x86_64__ || defined __amd64__ + yes + #endif], + [], + [FLOAT_H=float.h]) + ;; + esac + ;; + linux*) + case "$host_cpu" in + powerpc*) + FLOAT_H=float.h + ;; + esac + ;; + esac + case "$host_os" in + aix* | freebsd* | linux*) + if test -n "$FLOAT_H"; then + REPLACE_FLOAT_LDBL=1 + fi ;; esac + + dnl Test against glibc-2.7 Linux/SPARC64 bug. + REPLACE_ITOLD=0 + AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works], + [gl_cv_func_itold_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +int i = -1; +volatile long double ld; +int main () +{ + ld += i * 1.0L; + if (ld > 0) + return 1; + return 0; +}]])], + [gl_cv_func_itold_works=yes], + [gl_cv_func_itold_works=no], + [case "$host" in + sparc*-*-linux*) + AC_EGREP_CPP([yes], + [#if defined __LP64__ || defined __arch64__ + yes + #endif], + [gl_cv_func_itold_works="guessing no"], + [gl_cv_func_itold_works="guessing yes"]) + ;; + *) gl_cv_func_itold_works="guessing yes" ;; + esac + ]) + ]) + case "$gl_cv_func_itold_works" in + *no) + REPLACE_ITOLD=1 + dnl We add the workaround to but also to , + dnl to increase the chances that the fix function gets pulled in. + FLOAT_H=float.h + ;; + esac + + if test -n "$FLOAT_H"; then + gl_NEXT_HEADERS([float.h]) + fi AC_SUBST([FLOAT_H]) + AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"]) + AC_SUBST([REPLACE_ITOLD]) ]) diff --git a/m4/fnmatch.m4 b/m4/fnmatch.m4 index 9b537a7e..fa0ba4d2 100644 --- a/m4/fnmatch.m4 +++ b/m4/fnmatch.m4 @@ -1,6 +1,6 @@ -# Check for fnmatch - serial 5. +# Check for fnmatch - serial 9. -# Copyright (C) 2000-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2000-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -21,7 +21,7 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX], FNMATCH_H= gl_fnmatch_required_lowercase=` - echo $gl_fnmatch_required | tr '[[A-Z]]' '[[a-z]]' + echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]' ` gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch], @@ -65,6 +65,8 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX], return 1; if (!y ("a*", "abc", 0)) return 1; + if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ + return 1; if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) return 2; if (!y ("a\\\\bc", "abc", 0)) @@ -126,19 +128,9 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX], rm -f "$gl_source_base/fnmatch.h" else FNMATCH_H=fnmatch.h - AC_LIBOBJ([fnmatch]) - dnl We must choose a different name for our function, since on ELF systems - dnl a broken fnmatch() in libc.so would override our fnmatch() if it is - dnl compiled into a shared library. - AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_fnmatch], - [Define to a replacement function name for fnmatch().]) - dnl Prerequisites of lib/fnmatch.c. - AC_REQUIRE([AC_TYPE_MBSTATE_T]) - AC_CHECK_DECLS([isblank], [], [], [#include ]) - AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) - AC_CHECK_HEADERS_ONCE([wctype.h]) fi AC_SUBST([FNMATCH_H]) + AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"]) ]) # Request a POSIX compliant fnmatch function with GNU extensions. @@ -148,3 +140,17 @@ AC_DEFUN([gl_FUNC_FNMATCH_GNU], AC_REQUIRE([gl_FUNC_FNMATCH_POSIX]) ]) + +AC_DEFUN([gl_PREREQ_FNMATCH], +[ + dnl We must choose a different name for our function, since on ELF systems + dnl a broken fnmatch() in libc.so would override our fnmatch() if it is + dnl compiled into a shared library. + AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_fnmatch], + [Define to a replacement function name for fnmatch().]) + dnl Prerequisites of lib/fnmatch.c. + AC_REQUIRE([AC_TYPE_MBSTATE_T]) + AC_CHECK_DECLS([isblank], [], [], [[#include ]]) + AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) + AC_CHECK_HEADERS_ONCE([wctype.h]) +]) diff --git a/m4/fpending.m4 b/m4/fpending.m4 index 314e0031..8f585624 100644 --- a/m4/fpending.m4 +++ b/m4/fpending.m4 @@ -1,6 +1,6 @@ -# serial 15 +# serial 19 -# Copyright (C) 2000-2001, 2004-2011 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -24,60 +24,67 @@ AC_DEFUN([gl_FUNC_FPENDING], # endif ' AC_CHECK_DECLS([__fpending], , , $fp_headers) - if test $ac_cv_func___fpending = no; then - AC_CACHE_CHECK( +]) + +AC_DEFUN([gl_PREREQ_FPENDING], +[ + AC_CACHE_CHECK( [how to determine the number of pending output bytes on a stream], - ac_cv_sys_pending_output_n_bytes, - [ - for ac_expr in \ - \ - '# glibc2' \ - 'fp->_IO_write_ptr - fp->_IO_write_base' \ - \ - '# traditional Unix' \ - 'fp->_ptr - fp->_base' \ - \ - '# BSD' \ - 'fp->_p - fp->_bf._base' \ - \ - '# SCO, Unixware' \ - '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ - \ - '# QNX' \ - '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ - \ - '# old glibc?' \ - 'fp->__bufp - fp->__buffer' \ - \ - '# old glibc iostream?' \ - 'fp->_pptr - fp->_pbase' \ - \ - '# emx+gcc' \ - 'fp->_ptr - fp->_buffer' \ - \ - '# VMS' \ - '(*fp)->_ptr - (*fp)->_base' \ - \ - '# e.g., DGUX R4.11; the info is not available' \ - 1 \ - ; do + ac_cv_sys_pending_output_n_bytes, + [ + for ac_expr in \ + \ + '# glibc2' \ + 'fp->_IO_write_ptr - fp->_IO_write_base' \ + \ + '# traditional Unix' \ + 'fp->_ptr - fp->_base' \ + \ + '# BSD' \ + 'fp->_p - fp->_bf._base' \ + \ + '# SCO, Unixware' \ + '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ + \ + '# QNX' \ + '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ + \ + '# old glibc?' \ + 'fp->__bufp - fp->__buffer' \ + \ + '# old glibc iostream?' \ + 'fp->_pptr - fp->_pbase' \ + \ + '# emx+gcc' \ + 'fp->_ptr - fp->_buffer' \ + \ + '# Minix' \ + 'fp->_ptr - fp->_buf' \ + \ + '# Plan9' \ + 'fp->wp - fp->buf' \ + \ + '# VMS' \ + '(*fp)->_ptr - (*fp)->_base' \ + \ + '# e.g., DGUX R4.11; the info is not available' \ + 1 \ + ; do - # Skip each embedded comment. - case "$ac_expr" in '#'*) continue;; esac + # Skip each embedded comment. + case "$ac_expr" in '#'*) continue;; esac - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[FILE *fp = stdin; (void) ($ac_expr);]])], - [fp_done=yes] - ) - test "$fp_done" = yes && break - done + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[FILE *fp = stdin; (void) ($ac_expr);]])], + [fp_done=yes] + ) + test "$fp_done" = yes && break + done - ac_cv_sys_pending_output_n_bytes=$ac_expr - ] - ) - AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES], - $ac_cv_sys_pending_output_n_bytes, - [the number of pending output bytes on stream `fp']) - AC_LIBOBJ([fpending]) - fi + ac_cv_sys_pending_output_n_bytes=$ac_expr + ] + ) + AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES], + $ac_cv_sys_pending_output_n_bytes, + [the number of pending output bytes on stream 'fp']) ]) diff --git a/m4/fseek.m4 b/m4/fseek.m4 new file mode 100644 index 00000000..74f66564 --- /dev/null +++ b/m4/fseek.m4 @@ -0,0 +1,15 @@ +# fseek.m4 serial 4 +dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FSEEK], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_FSEEKO]) + dnl When fseeko needs fixes, fseek needs them too. + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + REPLACE_FSEEK=1 + fi +]) diff --git a/m4/fseeko.m4 b/m4/fseeko.m4 index 76507d12..ca9da283 100644 --- a/m4/fseeko.m4 +++ b/m4/fseeko.m4 @@ -1,5 +1,5 @@ -# fseeko.m4 serial 11 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# fseeko.m4 serial 17 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,28 +7,8 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSEEKO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([gl_HAVE_FSEEKO]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) - - AC_CHECK_DECLS_ONCE([fseeko]) - if test $ac_cv_have_decl_fseeko = no; then - HAVE_DECL_FSEEKO=0 - fi - - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - gl_REPLACE_FSEEKO - else - if test $gl_cv_var_stdin_large_offset = no; then - gl_REPLACE_FSEEKO - fi - fi -]) - -dnl Tests whether fseeko is available. -dnl Result is gl_cv_func_fseeko. -AC_DEFUN([gl_HAVE_FSEEKO], -[ + AC_REQUIRE([gl_SYS_TYPES_H]) AC_REQUIRE([AC_PROG_CC]) dnl Persuade glibc to declare fseeko(). @@ -40,18 +20,28 @@ AC_DEFUN([gl_HAVE_FSEEKO], ]], [fseeko (stdin, 0, 0);])], [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) ]) -]) -AC_DEFUN([gl_REPLACE_FSEEKO], -[ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([gl_HAVE_FSEEKO]) - if test $gl_cv_func_fseeko = yes; then - REPLACE_FSEEKO=1 + AC_CHECK_DECLS_ONCE([fseeko]) + if test $ac_cv_have_decl_fseeko = no; then + HAVE_DECL_FSEEKO=0 + fi + + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FSEEKO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FSEEKO=1 + fi + m4_ifdef([gl_FUNC_FFLUSH_STDIN], [ + gl_FUNC_FFLUSH_STDIN + if test $gl_cv_func_fflush_stdin != yes; then + REPLACE_FSEEKO=1 + fi + ]) fi - AC_LIBOBJ([fseeko]) - dnl If we are also using the fseek module, then fseek needs replacing, too. - m4_ifdef([gl_REPLACE_FSEEK], [gl_REPLACE_FSEEK]) ]) dnl Code shared by fseeko and ftello. Determine if large files are supported, @@ -73,3 +63,11 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET], [gl_cv_var_stdin_large_offset=yes], [gl_cv_var_stdin_large_offset=no])]) ]) + +# Prerequisites of lib/fseeko.c. +AC_DEFUN([gl_PREREQ_FSEEKO], +[ + dnl Native Windows has the function _fseeki64. mingw hides it, but mingw64 + dnl makes it usable again. + AC_CHECK_FUNCS([_fseeki64]) +]) diff --git a/m4/fstat.m4 b/m4/fstat.m4 new file mode 100644 index 00000000..b2cf2ad2 --- /dev/null +++ b/m4/fstat.m4 @@ -0,0 +1,36 @@ +# fstat.m4 serial 4 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_FSTAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FSTAT=1 + fi + + AC_REQUIRE([gl_HEADER_SYS_STAT_H]) + if test $WINDOWS_64_BIT_ST_SIZE = 1; then + REPLACE_FSTAT=1 + fi + + dnl Replace fstat() for supporting the gnulib-defined open() on directories. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + case "$gl_cv_func_open_directory_works" in + *yes) ;; + *) + REPLACE_FSTAT=1 + ;; + esac + fi + ]) +]) + +# Prerequisites of lib/fstat.c. +AC_DEFUN([gl_PREREQ_FSTAT], [:]) diff --git a/m4/fstatat.m4 b/m4/fstatat.m4 new file mode 100644 index 00000000..adbc7e57 --- /dev/null +++ b/m4/fstatat.m4 @@ -0,0 +1,60 @@ +# fstatat.m4 serial 3 +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +# If we have the fstatat function, and it has the bug (in AIX 7.1) +# that it does not fill in st_size correctly, use the replacement function. +AC_DEFUN([gl_FUNC_FSTATAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_FUNCS_ONCE([fstatat]) + + if test $ac_cv_func_fstatat = no; then + HAVE_FSTATAT=0 + else + dnl Test for an AIX 7.1 bug; see + dnl . + AC_CACHE_CHECK([whether fstatat (..., 0) works], + [gl_cv_func_fstatat_zero_flag], + [AC_RUN_IFELSE( + [AC_LANG_SOURCE( + [[ + #include + #include + int + main (void) + { + struct stat a; + return fstatat (AT_FDCWD, ".", &a, 0) != 0; + } + ]])], + [gl_cv_func_fstatat_zero_flag=yes], + [gl_cv_func_fstatat_zero_flag=no], + [case "$host_os" in + aix*) gl_cv_func_fstatat_zero_flag="guessing no";; + *) gl_cv_func_fstatat_zero_flag="guessing yes";; + esac + ]) + ]) + + case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in + *yes+*yes) ;; + *) REPLACE_FSTATAT=1 + case $gl_cv_func_fstatat_zero_flag in + *yes) + AC_DEFINE([HAVE_WORKING_FSTATAT_ZERO_FLAG], [1], + [Define to 1 if fstatat (..., 0) works. + For example, it does not work in AIX 7.1.]) + ;; + esac + ;; + esac + fi +]) diff --git a/m4/futimens.m4 b/m4/futimens.m4 index 72c6f25c..a159207a 100644 --- a/m4/futimens.m4 +++ b/m4/futimens.m4 @@ -1,7 +1,7 @@ -# serial 5 +# serial 6 # See if we need to provide futimens replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,7 +15,6 @@ AC_DEFUN([gl_FUNC_FUTIMENS], AC_CHECK_FUNCS_ONCE([futimens]) if test $ac_cv_func_futimens = no; then HAVE_FUTIMENS=0 - AC_LIBOBJ([futimens]) else AC_CACHE_CHECK([whether futimens works], [gl_cv_func_futimens_works], @@ -55,7 +54,6 @@ choke me rm -f conftest.file]) if test "$gl_cv_func_futimens_works" != yes; then REPLACE_FUTIMENS=1 - AC_LIBOBJ([futimens]) fi fi ]) diff --git a/m4/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4 index 21be828b..9b3b5636 100644 --- a/m4/getcwd-abort-bug.m4 +++ b/m4/getcwd-abort-bug.m4 @@ -1,9 +1,9 @@ -# serial 2 +# serial 7 # Determine whether getcwd aborts when the length of the working directory # name is unusually large. Any length between 4k and 16k trigger the bug # when using glibc-2.4.90-9 or older. -# Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,6 +14,8 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], [ AC_CHECK_DECLS_ONCE([getcwd]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CHECK_FUNCS([getpagesize]) AC_CACHE_CHECK([whether getcwd aborts when 4k < cwd_length < 16k], gl_cv_func_getcwd_abort_bug, @@ -21,15 +23,21 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], rm -rf confdir-14B--- # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir-14B---" + dnl Please keep this in sync with tests/test-getcwd.c. AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include -#include -#include +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif #include #include +]gl_PATHMAX_SNIPPET[ + /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir @@ -50,56 +58,81 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], int main () { - char const *dir_name = "confdir-14B---"; char *cwd; size_t initial_cwd_len; int fail = 0; - size_t desired_depth; - size_t d; /* The bug is triggered when PATH_MAX < getpagesize (), so skip - this relative expensive and invasive test if that's not true. */ - if (getpagesize () <= PATH_MAX) + this relatively expensive and invasive test if that's not true. */ +#ifdef PATH_MAX + int bug_possible = PATH_MAX < getpagesize (); +#else + int bug_possible = 0; +#endif + if (! bug_possible) return 0; cwd = getcwd (NULL, 0); if (cwd == NULL) - return 0; + return 2; initial_cwd_len = strlen (cwd); free (cwd); - desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) - / (1 + strlen (dir_name))); - for (d = 0; d < desired_depth; d++) + + if (1) { - if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) + static char const dir_name[] = "confdir-14B---"; + size_t desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) + / sizeof dir_name); + size_t d; + for (d = 0; d < desired_depth; d++) { - fail = 3; /* Unable to construct deep hierarchy. */ - break; + if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) + { + if (! (errno == ERANGE || errno == ENAMETOOLONG + || errno == ENOENT)) + fail = 3; /* Unable to construct deep hierarchy. */ + break; + } } - } - /* If libc has the bug in question, this invocation of getcwd - results in a failed assertion. */ - cwd = getcwd (NULL, 0); - if (cwd == NULL) - fail = 4; /* getcwd failed. This is ok, and expected. */ - free (cwd); + /* If libc has the bug in question, this invocation of getcwd + results in a failed assertion. */ + cwd = getcwd (NULL, 0); + if (cwd == NULL) + fail = 4; /* getcwd didn't assert, but it failed for a long name + where the answer could have been learned. */ + free (cwd); - /* Call rmdir first, in case the above chdir failed. */ - rmdir (dir_name); - while (0 < d--) - { - if (chdir ("..") < 0) - break; + /* Call rmdir first, in case the above chdir failed. */ rmdir (dir_name); + while (0 < d--) + { + if (chdir ("..") < 0) + { + fail = 5; + break; + } + rmdir (dir_name); + } } - return 0; + return fail; } ]])], [gl_cv_func_getcwd_abort_bug=no], - [gl_cv_func_getcwd_abort_bug=yes], + [dnl An abort will provoke an exit code of something like 134 (128 + 6). + dnl An exit code of 4 can also occur (in OpenBSD 4.9, NetBSD 5.1 for + dnl example): getcwd (NULL, 0) fails rather than returning a string + dnl longer than PATH_MAX. This may be POSIX compliant (in some + dnl interpretations of POSIX). But gnulib's getcwd module wants to + dnl provide a non-NULL value in this case. + ret=$? + if test $ret -ge 128 || test $ret = 4; then + gl_cv_func_getcwd_abort_bug=yes + else + gl_cv_func_getcwd_abort_bug=no + fi], [gl_cv_func_getcwd_abort_bug=yes]) ]) AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2]) diff --git a/m4/getcwd-path-max.m4 b/m4/getcwd-path-max.m4 index 2ab26450..0b03b66a 100644 --- a/m4/getcwd-path-max.m4 +++ b/m4/getcwd-path-max.m4 @@ -1,12 +1,12 @@ -# serial 15 +# serial 19 # Check for several getcwd bugs with long file names. # If so, arrange to compile the wrapper function. # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20. # I've heard that this is due to a Linux kernel bug, and that it has -# been fixed between 2.4.21-pre3 and 2.4.21-pre4. */ +# been fixed between 2.4.21-pre3 and 2.4.21-pre4. -# Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +16,33 @@ AC_DEFUN([gl_FUNC_GETCWD_PATH_MAX], [ AC_CHECK_DECLS_ONCE([getcwd]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CACHE_CHECK([whether getcwd handles long file names properly], gl_cv_func_getcwd_path_max, [# Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir3" + dnl Please keep this in sync with tests/test-getcwd.c. AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include -#include +#if HAVE_UNISTD_H +# include +#else +# include +#endif #include #include #include #include #include +]gl_PATHMAX_SNIPPET[ + #ifndef AT_FDCWD # define AT_FDCWD 0 #endif @@ -42,6 +52,9 @@ AC_DEFUN([gl_FUNC_GETCWD_PATH_MAX], # define is_ENAMETOOLONG(x) 0 #endif +/* Use the getcwd function, not any macro. */ +#undef getcwd + /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir @@ -115,7 +128,12 @@ main () fail = 11; break; } - if (c || ! (errno == ERANGE || is_ENAMETOOLONG (errno))) + if (c) + { + fail = 31; + break; + } + if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) { fail = 21; break; @@ -175,14 +193,12 @@ main () [gl_cv_func_getcwd_path_max=yes], [case $? in 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; + 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; *) gl_cv_func_getcwd_path_max=no;; esac], - [gl_cv_func_getcwd_path_max=no]) + [case "$host_os" in + aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; + *) gl_cv_func_getcwd_path_max=no;; + esac]) ]) - case $gl_cv_func_getcwd_path_max in - no,*) - AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1], - [Define to 1 if getcwd works, except it sometimes fails when it shouldn't, - setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]);; - esac ]) diff --git a/m4/getcwd.m4 b/m4/getcwd.m4 index 70980567..6f91bd99 100644 --- a/m4/getcwd.m4 +++ b/m4/getcwd.m4 @@ -1,25 +1,32 @@ # getcwd.m4 - check for working getcwd that is compatible with glibc -# Copyright (C) 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. -# serial 3 +# serial 12 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result], [gl_cv_func_getcwd_null], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -# include +# if HAVE_UNISTD_H +# include +# else /* on Windows with MSVC */ +# include +# endif # ifndef getcwd char *getcwd (); # endif ]], [[ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* mingw cwd does not start with '/', but getcwd does allocate. */ +/* mingw cwd does not start with '/', but getcwd does allocate. + However, mingw fails to honor non-zero size. */ #else if (chdir ("/") != 0) return 1; @@ -38,45 +45,108 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL], ]])], [gl_cv_func_getcwd_null=yes], [gl_cv_func_getcwd_null=no], - [[ - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on mingw. - mingw*) gl_cv_func_getcwd_null="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_getcwd_null="guessing no";; - esac + [[case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on Cygwin. + cygwin*) gl_cv_func_getcwd_null="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_getcwd_null="guessing no";; + esac ]])]) ]) +AC_DEFUN([gl_FUNC_GETCWD_SIGNATURE], +[ + AC_CACHE_CHECK([for getcwd with POSIX signature], + [gl_cv_func_getcwd_posix_signature], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[extern + #ifdef __cplusplus + "C" + #endif + char *getcwd (char *, size_t); + ]]) + ], + [gl_cv_func_getcwd_posix_signature=yes], + [gl_cv_func_getcwd_posix_signature=no]) + ]) +]) + +dnl Guarantee that getcwd will malloc with a NULL first argument. Assumes +dnl that either the system getcwd is robust, or that calling code is okay +dnl with spurious failures when run from a directory with an absolute name +dnl larger than 4k bytes. +dnl +dnl Assumes that getcwd exists; if you are worried about obsolete +dnl platforms that lacked getcwd(), then you need to use the GPL module. +AC_DEFUN([gl_FUNC_GETCWD_LGPL], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_GETCWD_NULL]) + AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE]) + + case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in + *yes,yes) ;; + *) + dnl Minimal replacement lib/getcwd-lgpl.c. + REPLACE_GETCWD=1 + ;; + esac +]) + +dnl Check for all known getcwd bugs; useful for a program likely to be +dnl executed from an arbitrary location. AC_DEFUN([gl_FUNC_GETCWD], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_GETCWD_NULL]) + AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_abort_bug=no - case $gl_cv_func_getcwd_null,$host_os in - *,mingw*) - gl_cv_func_getcwd_path_max=yes;; - yes,*) - gl_FUNC_GETCWD_PATH_MAX - gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]);; + case "$host_os" in + mingw*) + gl_cv_func_getcwd_path_max=yes + ;; + *) + gl_FUNC_GETCWD_PATH_MAX + case "$gl_cv_func_getcwd_null" in + *yes) + gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]) + ;; + esac + ;; + esac + dnl Define HAVE_MINIMALLY_WORKING_GETCWD and HAVE_PARTLY_WORKING_GETCWD + dnl if appropriate. + case "$gl_cv_func_getcwd_path_max" in + "no"|"no, it has the AIX bug") ;; + *) + AC_DEFINE([HAVE_MINIMALLY_WORKING_GETCWD], [1], + [Define to 1 if getcwd minimally works, that is, its result can be + trusted when it succeeds.]) + ;; + esac + case "$gl_cv_func_getcwd_path_max" in + "no, but it is partly working") + AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1], + [Define to 1 if getcwd works, except it sometimes fails when it + shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]) + ;; esac - case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in - *yes,yes,no) ;; - *) + if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ + || test $gl_cv_func_getcwd_posix_signature != yes \ + || test "$gl_cv_func_getcwd_path_max" != yes \ + || test $gl_abort_bug = yes; then REPLACE_GETCWD=1 - AC_LIBOBJ([getcwd]) - gl_PREREQ_GETCWD;; - esac + fi ]) -# Prerequisites of lib/getcwd.c. +# Prerequisites of lib/getcwd.c, when full replacement is in effect. AC_DEFUN([gl_PREREQ_GETCWD], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) diff --git a/m4/getdelim.m4 b/m4/getdelim.m4 index ef127366..36f66a10 100644 --- a/m4/getdelim.m4 +++ b/m4/getdelim.m4 @@ -1,6 +1,6 @@ -# getdelim.m4 serial 8 +# getdelim.m4 serial 10 -dnl Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -19,6 +19,7 @@ AC_DEFUN([gl_FUNC_GETDELIM], AC_CHECK_FUNCS_ONCE([getdelim]) if test $ac_cv_func_getdelim = yes; then + HAVE_GETDELIM=1 dnl Found it in some library. Verify that it works. AC_CACHE_CHECK([for working getdelim function], [gl_cv_func_working_getdelim], [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data @@ -62,24 +63,21 @@ AC_DEFUN([gl_FUNC_GETDELIM], #endif #endif ], - [gl_cv_func_working_getdelim=yes], - [gl_cv_func_working_getdelim=no])] + [gl_cv_func_working_getdelim="guessing yes"], + [gl_cv_func_working_getdelim="guessing no"])] )]) + case "$gl_cv_func_working_getdelim" in + *no) + REPLACE_GETDELIM=1 + ;; + esac else - gl_cv_func_working_getdelim=no + HAVE_GETDELIM=0 fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi - - if test $gl_cv_func_working_getdelim = no; then - if test $ac_cv_func_getdelim = yes; then - REPLACE_GETDELIM=1 - fi - AC_LIBOBJ([getdelim]) - gl_PREREQ_GETDELIM - fi ]) # Prerequisites of lib/getdelim.c. diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4 index 55bda5a3..8f04b3b8 100644 --- a/m4/getdtablesize.m4 +++ b/m4/getdtablesize.m4 @@ -1,5 +1,5 @@ -# getdtablesize.m4 serial 1 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# getdtablesize.m4 serial 4 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,6 +10,8 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE], AC_CHECK_FUNCS_ONCE([getdtablesize]) if test $ac_cv_func_getdtablesize != yes; then HAVE_GETDTABLESIZE=0 - AC_LIBOBJ([getdtablesize]) fi ]) + +# Prerequisites of lib/getdtablesize.c. +AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [:]) diff --git a/m4/getline.m4 b/m4/getline.m4 index ec001b91..342bc990 100644 --- a/m4/getline.m4 +++ b/m4/getline.m4 @@ -1,6 +1,6 @@ -# getline.m4 serial 23 +# getline.m4 serial 26 -dnl Copyright (C) 1998-2003, 2005-2007, 2009-2011 Free Software Foundation, +dnl Copyright (C) 1998-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl dnl This file is free software; the Free Software Foundation @@ -70,8 +70,8 @@ AC_DEFUN([gl_FUNC_GETLINE], #endif #endif ], - [am_cv_func_working_getline=yes], - [am_cv_func_working_getline=no])] + [am_cv_func_working_getline="guessing yes"], + [am_cv_func_working_getline="guessing no"])] )]) fi @@ -79,19 +79,18 @@ AC_DEFUN([gl_FUNC_GETLINE], HAVE_DECL_GETLINE=0 fi - if test $am_cv_func_working_getline = no; then - dnl Set REPLACE_GETLINE always: Even if we have not found the broken - dnl getline function among $LIBS, it may exist in libinet and the - dnl executable may be linked with -linet. - REPLACE_GETLINE=1 - AC_LIBOBJ([getline]) - - gl_PREREQ_GETLINE - fi + case "$am_cv_func_working_getline" in + *no) + dnl Set REPLACE_GETLINE always: Even if we have not found the broken + dnl getline function among $LIBS, it may exist in libinet and the + dnl executable may be linked with -linet. + REPLACE_GETLINE=1 + ;; + esac ]) # Prerequisites of lib/getline.c. AC_DEFUN([gl_PREREQ_GETLINE], [ - gl_FUNC_GETDELIM + : ]) diff --git a/m4/getopt.m4 b/m4/getopt.m4 index 035a530d..50f45091 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,5 +1,5 @@ -# getopt.m4 serial 34 -dnl Copyright (C) 2002-2006, 2008-2011 Free Software Foundation, Inc. +# getopt.m4 serial 44 +dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,10 +9,22 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], [ m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - gl_GETOPT_IFELSE([ - gl_REPLACE_GETOPT - ], - []) + AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) + dnl Other modules can request the gnulib implementation of the getopt + dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS. + dnl argp.m4 does this. + m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [ + REPLACE_GETOPT=1 + ], [ + REPLACE_GETOPT=0 + if test -n "$gl_replace_getopt"; then + REPLACE_GETOPT=1 + fi + ]) + if test $REPLACE_GETOPT = 1; then + dnl Arrange for getopt.h to be created. + gl_GETOPT_SUBSTITUTE_HEADER + fi ]) # Request a POSIX compliant getopt function with GNU extensions (such as @@ -25,27 +37,6 @@ AC_DEFUN([gl_FUNC_GETOPT_GNU], AC_REQUIRE([gl_FUNC_GETOPT_POSIX]) ]) -# Request the gnulib implementation of the getopt functions unconditionally. -# argp.m4 uses this. -AC_DEFUN([gl_REPLACE_GETOPT], -[ - dnl Arrange for getopt.h to be created. - gl_GETOPT_SUBSTITUTE_HEADER - dnl Arrange for unistd.h to include getopt.h. - GNULIB_UNISTD_H_GETOPT=1 - dnl Arrange to compile the getopt implementation. - AC_LIBOBJ([getopt]) - AC_LIBOBJ([getopt1]) - gl_PREREQ_GETOPT -]) - -# emacs' configure.in uses this. -AC_DEFUN([gl_GETOPT_IFELSE], -[ - AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) - AS_IF([test -n "$gl_replace_getopt"], [$1], [$2]) -]) - # Determine whether to replace the entire getopt facility. AC_DEFUN([gl_GETOPT_CHECK_HEADERS], [ @@ -75,11 +66,6 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS], AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) fi - dnl mingw's getopt (in libmingwex.a) does weird things when the options - dnl strings starts with '+' and it's not the first call. Some internal state - dnl is left over from earlier calls, and neither setting optind = 0 nor - dnl setting optreset = 1 get rid of this internal state. - dnl POSIX is silent on optind vs. optreset, so we allow either behavior. dnl POSIX 2008 does not specify leading '+' behavior, but see dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on dnl the next version of POSIX. For now, we only guarantee leading '+' @@ -88,30 +74,16 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS], AC_CACHE_CHECK([whether getopt is POSIX compatible], [gl_cv_func_getopt_posix], [ - dnl BSD getopt_long uses an incompatible method to reset - dnl option processing. Existence of the variable, in and of - dnl itself, is not a reason to replace getopt, but knowledge - dnl of the variable is needed to determine how to reset and - dnl whether a reset reparses the environment. Solaris - dnl supports neither optreset nor optind=0, but keeps no state - dnl that needs a reset beyond setting optind=1; detect Solaris - dnl by getopt_clip. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[int *p = &optreset; return optreset;]])], - [gl_optind_min=1], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[return !getopt_clip;]])], - [gl_optind_min=1], - [gl_optind_min=0])]) - - dnl This test fails on mingw and succeeds on many other platforms. - gl_save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min" - AC_RUN_IFELSE([AC_LANG_SOURCE([[ + dnl Merging these three different test programs into a single one + dnl would require a reset mechanism. On BSD systems, it can be done + dnl through 'optreset'; on some others (glibc), it can be done by + dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1, + dnl Solaris 9, musl libc), there is no such mechanism. + if test $cross_compiling = no; then + dnl Sanity check. Succeeds everywhere (except on MSVC, + dnl which lacks and getopt() entirely). + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #include #include @@ -119,91 +91,107 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS], int main () { - { - int argc = 0; - char *argv[10]; - int c; - - argv[argc++] = "program"; - argv[argc++] = "-a"; - argv[argc++] = "foo"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = OPTIND_MIN; - opterr = 0; + static char program[] = "program"; + static char a[] = "-a"; + static char foo[] = "foo"; + static char bar[] = "bar"; + char *argv[] = { program, a, foo, bar, NULL }; + int c; - c = getopt (argc, argv, "ab"); - if (!(c == 'a')) - return 1; - c = getopt (argc, argv, "ab"); - if (!(c == -1)) - return 2; - if (!(optind == 2)) - return 3; - } - /* Some internal state exists at this point. */ - { - int argc = 0; - char *argv[10]; - int c; + c = getopt (4, argv, "ab"); + if (!(c == 'a')) + return 1; + c = getopt (4, argv, "ab"); + if (!(c == -1)) + return 2; + if (!(optind == 2)) + return 3; + return 0; +} +]])], + [gl_cv_func_getopt_posix=maybe], + [gl_cv_func_getopt_posix=no]) + if test $gl_cv_func_getopt_posix = maybe; then + dnl Sanity check with '+'. Succeeds everywhere (except on MSVC, + dnl which lacks and getopt() entirely). + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include - argv[argc++] = "program"; - argv[argc++] = "donald"; - argv[argc++] = "-p"; - argv[argc++] = "billy"; - argv[argc++] = "duck"; - argv[argc++] = "-a"; - argv[argc++] = "bar"; - argv[argc] = NULL; - optind = OPTIND_MIN; - opterr = 0; +int +main () +{ + static char program[] = "program"; + static char donald[] = "donald"; + static char p[] = "-p"; + static char billy[] = "billy"; + static char duck[] = "duck"; + static char a[] = "-a"; + static char bar[] = "bar"; + char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; + int c; - c = getopt (argc, argv, "+abp:q:"); - if (!(c == -1)) - return 4; - if (!(strcmp (argv[0], "program") == 0)) - return 5; - if (!(strcmp (argv[1], "donald") == 0)) - return 6; - if (!(strcmp (argv[2], "-p") == 0)) - return 7; - if (!(strcmp (argv[3], "billy") == 0)) - return 8; - if (!(strcmp (argv[4], "duck") == 0)) - return 9; - if (!(strcmp (argv[5], "-a") == 0)) - return 10; - if (!(strcmp (argv[6], "bar") == 0)) - return 11; - if (!(optind == 1)) - return 12; - } - /* Detect MacOS 10.5, AIX 7.1 bug. */ - { - char *argv[3] = { "program", "-ab", NULL }; - optind = OPTIND_MIN; - opterr = 0; - if (getopt (2, argv, "ab:") != 'a') - return 13; - if (getopt (2, argv, "ab:") != '?') - return 14; - if (optopt != 'b') - return 15; - if (optind != 2) - return 16; - } + c = getopt (7, argv, "+abp:q:"); + if (!(c == -1)) + return 4; + if (!(strcmp (argv[0], "program") == 0)) + return 5; + if (!(strcmp (argv[1], "donald") == 0)) + return 6; + if (!(strcmp (argv[2], "-p") == 0)) + return 7; + if (!(strcmp (argv[3], "billy") == 0)) + return 8; + if (!(strcmp (argv[4], "duck") == 0)) + return 9; + if (!(strcmp (argv[5], "-a") == 0)) + return 10; + if (!(strcmp (argv[6], "bar") == 0)) + return 11; + if (!(optind == 1)) + return 12; + return 0; +} +]])], + [gl_cv_func_getopt_posix=maybe], + [gl_cv_func_getopt_posix=no]) + fi + if test $gl_cv_func_getopt_posix = maybe; then + dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug. + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include +int +main () +{ + static char program[] = "program"; + static char ab[] = "-ab"; + char *argv[3] = { program, ab, NULL }; + if (getopt (2, argv, "ab:") != 'a') + return 13; + if (getopt (2, argv, "ab:") != '?') + return 14; + if (optopt != 'b') + return 15; + if (optind != 2) + return 16; return 0; } ]])], - [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no], - [case "$host_os" in - mingw*) gl_cv_func_getopt_posix="guessing no";; - darwin* | aix*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; - esac - ]) - CPPFLAGS=$gl_save_CPPFLAGS + [gl_cv_func_getopt_posix=yes], + [gl_cv_func_getopt_posix=no]) + fi + else + case "$host_os" in + darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; + *) gl_cv_func_getopt_posix="guessing yes";; + esac + fi ]) case "$gl_cv_func_getopt_posix" in *no) gl_replace_getopt=yes ;; @@ -232,25 +220,32 @@ dnl is ambiguous with environment values that contain newlines. [AC_LANG_PROGRAM([[#include #include #include + ]GL_NOCRASH[ ]], [[ int result = 0; + + nocrash_init(); + /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, - and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, + and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ { - char *myargv[3]; - myargv[0] = "conftest"; - myargv[1] = "-+"; - myargv[2] = 0; + static char conftest[] = "conftest"; + static char plus[] = "-+"; + char *argv[3] = { conftest, plus, NULL }; opterr = 0; - if (getopt (2, myargv, "+a") != '?') + if (getopt (2, argv, "+a") != '?') result |= 1; } /* This code succeeds on glibc 2.8, mingw, - and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, + and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ { - char *argv[] = { "program", "-p", "foo", "bar", NULL }; + static char program[] = "program"; + static char p[] = "-p"; + static char foo[] = "foo"; + static char bar[] = "bar"; + char *argv[] = { program, p, foo, bar, NULL }; optind = 1; if (getopt (4, argv, "p::") != 'p') @@ -264,32 +259,44 @@ dnl is ambiguous with environment values that contain newlines. } /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ { - char *argv[] = { "program", "foo", "-p", NULL }; + static char program[] = "program"; + static char foo[] = "foo"; + static char p[] = "-p"; + char *argv[] = { program, foo, p, NULL }; optind = 0; if (getopt (3, argv, "-p") != 1) result |= 16; else if (getopt (3, argv, "-p") != 'p') - result |= 32; + result |= 16; } /* This code fails on glibc 2.11. */ { - char *argv[] = { "program", "-b", "-a", NULL }; + static char program[] = "program"; + static char b[] = "-b"; + static char a[] = "-a"; + char *argv[] = { program, b, a, NULL }; optind = opterr = 0; if (getopt (3, argv, "+:a:b") != 'b') - result |= 64; + result |= 32; else if (getopt (3, argv, "+:a:b") != ':') + result |= 32; + } + /* This code dumps core on glibc 2.14. */ + { + static char program[] = "program"; + static char w[] = "-W"; + static char dummy[] = "dummy"; + char *argv[] = { program, w, dummy, NULL }; + optind = opterr = 1; + if (getopt (3, argv, "W;") != 'W') result |= 64; } return result; ]])], [gl_cv_func_getopt_gnu=yes], [gl_cv_func_getopt_gnu=no], - [dnl Cross compiling. Guess based on host and declarations. - case $host_os:$ac_cv_have_decl_optreset in - *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;; - *:yes) gl_cv_func_getopt_gnu=no;; - *) gl_cv_func_getopt_gnu=yes;; - esac + [dnl Cross compiling. Assume the worst, even on glibc platforms. + gl_cv_func_getopt_gnu="guessing no" ]) case $gl_had_POSIXLY_CORRECT in exported) ;; @@ -297,13 +304,54 @@ dnl is ambiguous with environment values that contain newlines. *) AS_UNSET([POSIXLY_CORRECT]) ;; esac ]) - if test "$gl_cv_func_getopt_gnu" = "no"; then + if test "$gl_cv_func_getopt_gnu" != yes; then gl_replace_getopt=yes + else + AC_CACHE_CHECK([for working GNU getopt_long function], + [gl_cv_func_getopt_long_gnu], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + ]], + [[static const struct option long_options[] = + { + { "xtremely-",no_argument, NULL, 1003 }, + { "xtra", no_argument, NULL, 1001 }, + { "xtreme", no_argument, NULL, 1002 }, + { "xtremely", no_argument, NULL, 1003 }, + { NULL, 0, NULL, 0 } + }; + /* This code fails on OpenBSD 5.0. */ + { + static char program[] = "program"; + static char xtremel[] = "--xtremel"; + char *argv[] = { program, xtremel, NULL }; + int option_index; + optind = 1; opterr = 0; + if (getopt_long (2, argv, "", long_options, &option_index) != 1003) + return 1; + } + return 0; + ]])], + [gl_cv_func_getopt_long_gnu=yes], + [gl_cv_func_getopt_long_gnu=no], + [dnl Cross compiling. Guess no on OpenBSD, yes otherwise. + case "$host_os" in + openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; + *) gl_cv_func_getopt_long_gnu="guessing yes";; + esac + ]) + ]) + case "$gl_cv_func_getopt_long_gnu" in + *yes) ;; + *) gl_replace_getopt=yes ;; + esac fi fi ]) -# emacs' configure.in uses this. AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], [ GETOPT_H=getopt.h @@ -314,7 +362,6 @@ AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], ]) # Prerequisites of lib/getopt*. -# emacs' configure.in uses this. AC_DEFUN([gl_PREREQ_GETOPT], [ AC_CHECK_DECLS_ONCE([getenv]) diff --git a/m4/getpagesize.m4 b/m4/getpagesize.m4 index 79dfbbe4..06e893d7 100644 --- a/m4/getpagesize.m4 +++ b/m4/getpagesize.m4 @@ -1,5 +1,5 @@ -# getpagesize.m4 serial 8 -dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2011 Free Software Foundation, +# getpagesize.m4 serial 9 +dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -24,7 +24,6 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE], case "$host_os" in mingw*) REPLACE_GETPAGESIZE=1 - AC_LIBOBJ([getpagesize]) ;; esac dnl Also check whether it's declared. diff --git a/m4/gettext.m4 b/m4/gettext.m4 index 089058e4..2aaaf543 100644 --- a/m4/gettext.m4 +++ b/m4/gettext.m4 @@ -1,5 +1,5 @@ -# gettext.m4 serial 64 (gettext-0.18.2) -dnl Copyright (C) 1995-2011 Free Software Foundation, Inc. +# gettext.m4 serial 66 (gettext-0.18.2) +dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -35,7 +35,7 @@ dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. +dnl the value '$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled @@ -97,7 +97,7 @@ AC_DEFUN([AM_GNU_GETTEXT], AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) - dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. diff --git a/m4/gettime.m4 b/m4/gettime.m4 index 2b148abb..dc100de5 100644 --- a/m4/gettime.m4 +++ b/m4/gettime.m4 @@ -1,13 +1,11 @@ -# gettime.m4 serial 7 -dnl Copyright (C) 2002, 2004-2006, 2009-2011 Free Software Foundation, Inc. +# gettime.m4 serial 8 +dnl Copyright (C) 2002, 2004-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETTIME], [ - AC_LIBOBJ([gettime]) - dnl Prerequisites of lib/gettime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TIMESPEC]) diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4 index 84acadf2..3c05e59f 100644 --- a/m4/gettimeofday.m4 +++ b/m4/gettimeofday.m4 @@ -1,6 +1,6 @@ -# serial 15 +# serial 20 -# Copyright (C) 2001-2003, 2005, 2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2001-2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -17,8 +17,6 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY], gl_gettimeofday_timezone=void if test $ac_cv_func_gettimeofday != yes; then HAVE_GETTIMEOFDAY=0 - AC_LIBOBJ([gettimeofday]) - gl_PREREQ_GETTIMEOFDAY else gl_FUNC_GETTIMEOFDAY_CLOBBER AC_CACHE_CHECK([for gettimeofday with POSIX signature], @@ -51,9 +49,24 @@ int gettimeofday (struct timeval *restrict, struct timezone *restrict); gl_gettimeofday_timezone='struct timezone' elif test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 - AC_LIBOBJ([gettimeofday]) - gl_PREREQ_GETTIMEOFDAY fi + dnl If we override 'struct timeval', we also have to override gettimeofday. + if test $REPLACE_STRUCT_TIMEVAL = 1; then + REPLACE_GETTIMEOFDAY=1 + fi + m4_ifdef([gl_FUNC_TZSET_CLOBBER], [ + gl_FUNC_TZSET_CLOBBER + case "$gl_cv_func_tzset_clobber" in + *yes) + REPLACE_GETTIMEOFDAY=1 + gl_GETTIMEOFDAY_REPLACE_LOCALTIME + AC_DEFINE([tzset], [rpl_tzset], + [Define to rpl_tzset if the wrapper function should be used.]) + AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1], + [Define if tzset clobbers localtime's static buffer.]) + ;; + esac + ]) fi AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone], [Define this to 'void' or 'struct timezone' to match the system's @@ -71,6 +84,7 @@ dnl the wrapper functions that work around the problem. AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], [ AC_REQUIRE([gl_HEADER_SYS_TIME_H]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], [gl_cv_func_gettimeofday_clobber], @@ -93,20 +107,26 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], ]])], [gl_cv_func_gettimeofday_clobber=no], [gl_cv_func_gettimeofday_clobber=yes], - dnl When crosscompiling, assume it is broken. - [gl_cv_func_gettimeofday_clobber=yes])]) + [# When cross-compiling: + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac + ])]) - if test $gl_cv_func_gettimeofday_clobber = yes; then - REPLACE_GETTIMEOFDAY=1 - gl_GETTIMEOFDAY_REPLACE_LOCALTIME - AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1], - [Define if gettimeofday clobbers the localtime buffer.]) - fi + case "$gl_cv_func_gettimeofday_clobber" in + *yes) + REPLACE_GETTIMEOFDAY=1 + gl_GETTIMEOFDAY_REPLACE_LOCALTIME + AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1], + [Define if gettimeofday clobbers the localtime buffer.]) + ;; + esac ]) AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [ - AC_LIBOBJ([gettimeofday]) - gl_PREREQ_GETTIMEOFDAY AC_DEFINE([gmtime], [rpl_gmtime], [Define to rpl_gmtime if the replacement function should be used.]) AC_DEFINE([localtime], [rpl_localtime], diff --git a/m4/glibc21.m4 b/m4/glibc21.m4 index bc81c110..613fb2a4 100644 --- a/m4/glibc21.m4 +++ b/m4/glibc21.m4 @@ -1,5 +1,5 @@ # glibc21.m4 serial 5 -dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2011 Free Software Foundation, +dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index ecbf3369..0ae5a9ec 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,5 +1,5 @@ -# gnulib-common.m4 serial 23 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# gnulib-common.m4 serial 33 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -12,11 +12,25 @@ AC_DEFUN([gl_COMMON], [ AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of C11. */ +#if ! (defined _Noreturn \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. + __APPLE__ && __MACH__ test for Mac OS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ @@ -34,6 +48,20 @@ AC_DEFUN([gl_COMMON_BODY], [ /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED + +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif ]) dnl Preparation for running test programs: dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not @@ -47,16 +75,49 @@ AC_DEFUN([gl_COMMON_BODY], [ # expands to a C preprocessor expression that evaluates to 1 or 0, depending # whether a gnulib module that has been requested shall be considered present # or not. -AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1]) +m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) # sets the shell variable that indicates the presence of the given module to # a C preprocessor expression that will evaluate to 1. AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ - GNULIB_[]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION + gl_MODULE_INDICATOR_SET_VARIABLE_AUX( + [GNULIB_[]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [gl_MODULE_INDICATOR_CONDITION]) +]) + +# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) +# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. +# The shell variable's value is a C preprocessor expression that evaluates +# to 0 or 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], +[ + m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], + [ + dnl Simplify the expression VALUE || 1 to 1. + $1=1 + ], + [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], + [gl_MODULE_INDICATOR_CONDITION])]) +]) + +# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) +# modifies the shell variable to include the given condition. The shell +# variable's value is a C preprocessor expression that evaluates to 0 or 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], +[ + dnl Simplify the expression 1 || CONDITION to 1. + if test "$[]$1" != 1; then + dnl Simplify the expression 0 || CONDITION to CONDITION. + if test "$[]$1" = 0; then + $1=$2 + else + $1="($[]$1 || $2)" + fi + fi ]) # gl_MODULE_INDICATOR([modulename]) @@ -109,7 +170,8 @@ AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], [ dnl Override gl_WARN_ON_USE_PREPARE. - AC_DEFUN([gl_WARN_ON_USE_PREPARE], []) + dnl But hide this definition from 'aclocal'. + AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) ]) # gl_ASSERT_NO_GNULIB_TESTS @@ -150,11 +212,90 @@ m4_ifndef([AS_VAR_IF], [m4_define([AS_VAR_IF], [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) +# gl_PROG_CC_C99 +# Modifies the value of the shell variable CC in an attempt to make $CC +# understand ISO C99 source code. +# This is like AC_PROG_CC_C99, except that +# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60, +# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC +# , +# but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 +# . +# Remaining problems: +# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options +# to CC twice +# . +# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard. +AC_DEFUN([gl_PROG_CC_C99], +[ + dnl Change that version number to the minimum Autoconf version that supports + dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls. + m4_version_prereq([9.0], + [AC_REQUIRE([AC_PROG_CC_C99])], + [AC_REQUIRE([AC_PROG_CC_STDC])]) +]) + +# gl_PROG_AR_RANLIB +# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. +# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override +# the values. +AC_DEFUN([gl_PROG_AR_RANLIB], +[ + dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler + dnl as "cc", and GCC as "gcc". They have different object file formats and + dnl library formats. In particular, the GNU binutils programs ar, ranlib + dnl produce libraries that work only with gcc, not with cc. + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], + [ + AC_EGREP_CPP([Amsterdam], + [ +#ifdef __ACK__ +Amsterdam +#endif + ], + [gl_cv_c_amsterdam_compiler=yes], + [gl_cv_c_amsterdam_compiler=no]) + ]) + if test -z "$AR"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + AR='cc -c.a' + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + dnl Use the Automake-documented default values for AR and ARFLAGS, + dnl but prefer ${host}-ar over ar (useful for cross-compiling). + AC_CHECK_TOOL([AR], [ar], [ar]) + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + else + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + AC_SUBST([AR]) + AC_SUBST([ARFLAGS]) + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + dnl Use the ranlib program if it is available. + AC_PROG_RANLIB + fi + fi + AC_SUBST([RANLIB]) +]) + # AC_PROG_MKDIR_P # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix # for interoperability with automake-1.9.6 from autoconf-2.62. # Remove this macro when we can assume autoconf >= 2.62 or # autoconf >= 2.60 && automake >= 1.10. +# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. +m4_ifndef([AC_AUTOCONF_VERSION],[ m4_ifdef([AC_PROG_MKDIR_P], [ dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. m4_define([AC_PROG_MKDIR_P], @@ -165,13 +306,15 @@ m4_ifdef([AC_PROG_MKDIR_P], [ [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) +]) # AC_C_RESTRICT # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ # works. # This definition can be removed once autoconf >= 2.62 can be assumed. -m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[ +# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. +m4_ifndef([AC_AUTOCONF_VERSION],[ AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], [ac_cv_c_restrict=no diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 837538e4..21c05ad5 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -1,12 +1,24 @@ # -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2011 Free Software Foundation, Inc. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. # -# This file is free software, distributed under the terms of the GNU -# General Public License. As a special exception to the GNU General -# Public License, this file may be distributed as part of a program -# that contains a configuration script generated by Autoconf, under +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. @@ -27,29 +39,34 @@ AC_DEFUN([gl_EARLY], m4_pattern_allow([^gl_ES$])dnl a valid locale name m4_pattern_allow([^gl_LIBOBJS$])dnl a variable m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) + AC_REQUIRE([gl_PROG_AR_RANLIB]) AC_REQUIRE([AM_PROG_CC_C_O]) + # Code from module acl: # Code from module alloca: # Code from module alloca-opt: + # Code from module allocator: # Code from module areadlink: # Code from module areadlinkat: - # Code from module arg-nonnull: # Code from module argmatch: # Code from module argp: # Code from module argp-version-etc: + # Code from module at-internal: # Code from module backupfile: # Code from module bitrotate: # Code from module btowc: - # Code from module c++defs: # Code from module c-ctype: + # Code from module c-strcase: + # Code from module c-strcaseeq: # Code from module canonicalize-lgpl: + # Code from module careadlinkat: + # Code from module chdir: # Code from module chdir-long: # Code from module chown: # Code from module clock-time: # Code from module cloexec: # Code from module close: - # Code from module close-hook: # Code from module close-stream: + # Code from module closedir: # Code from module closeout: # Code from module configmake: # Code from module d-ino: @@ -60,6 +77,7 @@ AC_DEFUN([gl_EARLY], # Code from module dirname-lgpl: # Code from module dosname: # Code from module double-slash-root: + # Code from module dup: # Code from module dup2: # Code from module environ: # Code from module errno: @@ -68,23 +86,31 @@ AC_DEFUN([gl_EARLY], # Code from module exitfail: # Code from module extensions: AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + # Code from module extern-inline: # Code from module fchdir: - # Code from module fclose: + # Code from module fchmodat: + # Code from module fchownat: # Code from module fcntl: # Code from module fcntl-h: + # Code from module fd-hook: # Code from module fdopendir: # Code from module fdutimensat: # Code from module fileblocks: + # Code from module filename: # Code from module filenamecat-lgpl: # Code from module float: # Code from module fnmatch: # Code from module fnmatch-gnu: # Code from module fpending: + # Code from module fseek: # Code from module fseeko: AC_REQUIRE([AC_FUNC_FSEEKO]) + # Code from module fstat: + # Code from module fstatat: # Code from module full-write: # Code from module futimens: # Code from module getcwd: + # Code from module getcwd-lgpl: # Code from module getdelim: # Code from module getdtablesize: # Code from module getline: @@ -100,22 +126,27 @@ AC_DEFUN([gl_EARLY], # Code from module havelib: # Code from module human: # Code from module include_next: - # Code from module inline: # Code from module intprops: # Code from module inttostr: # Code from module inttypes: + # Code from module inttypes-incomplete: # Code from module iswblank: # Code from module langinfo: + # Code from module largefile: + AC_REQUIRE([AC_SYS_LARGEFILE]) # Code from module lchown: # Code from module link: # Code from module link-follow: # Code from module linkat: # Code from module localcharset: + # Code from module locale: + # Code from module localeconv: # Code from module lseek: # Code from module lstat: # Code from module malloc-gnu: # Code from module malloc-posix: # Code from module malloca: + # Code from module manywarnings: # Code from module mbchar: # Code from module mbrtowc: # Code from module mbscasecmp: @@ -127,53 +158,76 @@ AC_DEFUN([gl_EARLY], # Code from module mempcpy: # Code from module memrchr: # Code from module mkdir: + # Code from module mkdirat: # Code from module mkdtemp: # Code from module mkfifo: # Code from module mkfifoat: # Code from module mknod: # Code from module mktime: # Code from module modechange: + # Code from module msvc-inval: + # Code from module msvc-nothrow: # Code from module multiarch: # Code from module nl_langinfo: + # Code from module nocrash: # Code from module obstack: # Code from module open: # Code from module openat: # Code from module openat-die: + # Code from module openat-h: + # Code from module opendir: # Code from module parse-datetime: # Code from module pathmax: # Code from module priv-set: # Code from module progname: + # Code from module qacl: # Code from module quote: # Code from module quotearg: # Code from module quotearg-simple: + # Code from module raise: # Code from module rawmemchr: + # Code from module read: + # Code from module readdir: # Code from module readlink: # Code from module readlinkat: # Code from module realloc-posix: # Code from module regex: # Code from module rename: # Code from module renameat: + # Code from module rewinddir: # Code from module rmdir: + # Code from module root-uid: # Code from module rpmatch: # Code from module safe-read: # Code from module safe-write: # Code from module same-inode: # Code from module save-cwd: # Code from module savedir: + # Code from module secure_getenv: + # Code from module selinux-at: + # Code from module selinux-h: # Code from module setenv: + # Code from module signal-h: # Code from module size_max: # Code from module sleep: + # Code from module snippet/_Noreturn: + # Code from module snippet/arg-nonnull: + # Code from module snippet/c++defs: + # Code from module snippet/unused-parameter: + # Code from module snippet/warn-on-use: # Code from module snprintf: # Code from module ssize_t: # Code from module stat: # Code from module stat-macros: # Code from module stat-time: + # Code from module statat: + # Code from module stdalign: # Code from module stdarg: dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, - dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC + dnl gl_PROG_CC_C99 arranges for this. With older Autoconf gl_PROG_CC_C99 dnl shouldn't hurt, though installers are on their own to set c99 mode. - AC_REQUIRE([AC_PROG_CC_STDC]) + gl_PROG_CC_C99 # Code from module stdbool: # Code from module stddef: # Code from module stdint: @@ -185,14 +239,13 @@ AC_DEFUN([gl_EARLY], # Code from module strdup-posix: # Code from module streq: # Code from module strerror: + # Code from module strerror-override: # Code from module string: # Code from module strings: # Code from module strndup: # Code from module strnlen: # Code from module strnlen1: - # Code from module strtoimax: # Code from module strtol: - # Code from module strtoll: # Code from module strtoul: # Code from module strtoull: # Code from module strtoumax: @@ -200,6 +253,7 @@ AC_DEFUN([gl_EARLY], # Code from module symlinkat: # Code from module sys_stat: # Code from module sys_time: + # Code from module sys_types: # Code from module sysexits: # Code from module tempname: # Code from module time: @@ -211,6 +265,7 @@ AC_DEFUN([gl_EARLY], # Code from module uniwidth/base: # Code from module uniwidth/width: # Code from module unlink: + # Code from module unlinkat: # Code from module unlinkdir: # Code from module unlocked-io: # Code from module unsetenv: @@ -222,7 +277,7 @@ AC_DEFUN([gl_EARLY], # Code from module version-etc: # Code from module version-etc-fsf: # Code from module vsnprintf: - # Code from module warn-on-use: + # Code from module warnings: # Code from module wchar: # Code from module wcrtomb: # Code from module wctype-h: @@ -230,6 +285,7 @@ AC_DEFUN([gl_EARLY], # Code from module write: # Code from module xalloc: # Code from module xalloc-die: + # Code from module xalloc-oversized: # Code from module xgetcwd: # Code from module xsize: # Code from module xstrndup: @@ -254,482 +310,721 @@ AC_DEFUN([gl_INIT], m4_pushdef([gl_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gnu' - # Code from module alloca: - # Code from module alloca-opt: gl_FUNC_ALLOCA - # Code from module areadlink: - # Code from module areadlinkat: gl_MODULE_INDICATOR([areadlinkat]) - # Code from module arg-nonnull: - # Code from module argmatch: - gl_ARGMATCH - # Code from module argp: gl_ARGP m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=argp_error:2:c-format]) AM_][XGETTEXT_OPTION([--flag=argp_failure:4:c-format])]) - # Code from module argp-version-etc: - # Code from module backupfile: + AC_LIBOBJ([openat-proc]) gl_BACKUPFILE - # Code from module bitrotate: - AC_REQUIRE([AC_C_INLINE]) - # Code from module btowc: gl_FUNC_BTOWC + if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then + AC_LIBOBJ([btowc]) + gl_PREREQ_BTOWC + fi gl_WCHAR_MODULE_INDICATOR([btowc]) - # Code from module c++defs: - # Code from module c-ctype: - # Code from module canonicalize-lgpl: gl_CANONICALIZE_LGPL + if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then + AC_LIBOBJ([canonicalize-lgpl]) + fi gl_MODULE_INDICATOR([canonicalize-lgpl]) gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name]) gl_STDLIB_MODULE_INDICATOR([realpath]) - # Code from module chdir-long: + AC_CHECK_FUNCS_ONCE([readlinkat]) + gl_UNISTD_MODULE_INDICATOR([chdir]) gl_FUNC_CHDIR_LONG - # Code from module chown: + if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then + AC_LIBOBJ([chdir-long]) + gl_PREREQ_CHDIR_LONG + fi gl_FUNC_CHOWN + if test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1; then + AC_LIBOBJ([chown]) + fi + if test $REPLACE_CHOWN = 1 && test $ac_cv_func_fchown = no; then + AC_LIBOBJ([fchown-stub]) + fi gl_UNISTD_MODULE_INDICATOR([chown]) - # Code from module clock-time: gl_CLOCK_TIME - # Code from module cloexec: - gl_CLOEXEC gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) - # Code from module close: gl_FUNC_CLOSE + if test $REPLACE_CLOSE = 1; then + AC_LIBOBJ([close]) + fi gl_UNISTD_MODULE_INDICATOR([close]) - # Code from module close-hook: - # Code from module close-stream: gl_CLOSE_STREAM gl_MODULE_INDICATOR([close-stream]) - # Code from module closeout: + gl_FUNC_CLOSEDIR + if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then + AC_LIBOBJ([closedir]) + fi + gl_DIRENT_MODULE_INDICATOR([closedir]) gl_CLOSEOUT - # Code from module configmake: gl_CONFIGMAKE_PREP - # Code from module d-ino: gl_CHECK_TYPE_STRUCT_DIRENT_D_INO - # Code from module dirent: gl_DIRENT_H - # Code from module dirent-safer: gl_DIRENT_SAFER gl_MODULE_INDICATOR([dirent-safer]) - # Code from module dirfd: gl_FUNC_DIRFD + if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then + AC_LIBOBJ([dirfd]) + gl_PREREQ_DIRFD + fi gl_DIRENT_MODULE_INDICATOR([dirfd]) - # Code from module dirname: gl_DIRNAME gl_MODULE_INDICATOR([dirname]) - # Code from module dirname-lgpl: gl_DIRNAME_LGPL - # Code from module dosname: - # Code from module double-slash-root: gl_DOUBLE_SLASH_ROOT - # Code from module dup2: + gl_FUNC_DUP + if test $REPLACE_DUP = 1; then + AC_LIBOBJ([dup]) + gl_PREREQ_DUP + fi + gl_UNISTD_MODULE_INDICATOR([dup]) gl_FUNC_DUP2 + if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then + AC_LIBOBJ([dup2]) + gl_PREREQ_DUP2 + fi gl_UNISTD_MODULE_INDICATOR([dup2]) - # Code from module environ: gl_ENVIRON gl_UNISTD_MODULE_INDICATOR([environ]) - # Code from module errno: gl_HEADER_ERRNO_H - # Code from module error: gl_ERROR + if test $ac_cv_lib_error_at_line = no; then + AC_LIBOBJ([error]) + gl_PREREQ_ERROR + fi m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) - # Code from module exclude: - gl_EXCLUDE - # Code from module exitfail: - # Code from module extensions: - # Code from module fchdir: + AC_REQUIRE([gl_EXTERN_INLINE]) gl_FUNC_FCHDIR gl_UNISTD_MODULE_INDICATOR([fchdir]) - # Code from module fclose: - gl_FUNC_FCLOSE - gl_STDIO_MODULE_INDICATOR([fclose]) - # Code from module fcntl: + gl_FUNC_FCHMODAT + if test $HAVE_FCHMODAT = 0; then + AC_LIBOBJ([fchmodat]) + fi + gl_MODULE_INDICATOR([fchmodat]) dnl for lib/openat.h + gl_SYS_STAT_MODULE_INDICATOR([fchmodat]) + gl_FUNC_FCHOWNAT + if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then + AC_LIBOBJ([fchownat]) + fi + gl_MODULE_INDICATOR([fchownat]) dnl for lib/openat.h + gl_UNISTD_MODULE_INDICATOR([fchownat]) gl_FUNC_FCNTL + if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then + AC_LIBOBJ([fcntl]) + fi gl_FCNTL_MODULE_INDICATOR([fcntl]) - # Code from module fcntl-h: gl_FCNTL_H - # Code from module fdopendir: gl_FUNC_FDOPENDIR + if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then + AC_LIBOBJ([fdopendir]) + fi gl_DIRENT_MODULE_INDICATOR([fdopendir]) gl_MODULE_INDICATOR([fdopendir]) - # Code from module fdutimensat: - AC_REQUIRE([AC_C_INLINE]) dnl because 'inline' is used in lib/utimens.h gl_MODULE_INDICATOR([fdutimensat]) - # Code from module fileblocks: gl_FILEBLOCKS - # Code from module filenamecat-lgpl: + if test $ac_cv_member_struct_stat_st_blocks = no; then + AC_LIBOBJ([fileblocks]) + gl_PREREQ_FILEBLOCKS + fi gl_FILE_NAME_CONCAT_LGPL - # Code from module float: gl_FLOAT_H - # Code from module fnmatch: + if test $REPLACE_FLOAT_LDBL = 1; then + AC_LIBOBJ([float]) + fi + if test $REPLACE_ITOLD = 1; then + AC_LIBOBJ([itold]) + fi gl_FUNC_FNMATCH_POSIX - # Code from module fnmatch-gnu: + if test -n "$FNMATCH_H"; then + AC_LIBOBJ([fnmatch]) + gl_PREREQ_FNMATCH + fi gl_FUNC_FNMATCH_GNU - # Code from module fpending: + if test -n "$FNMATCH_H"; then + AC_LIBOBJ([fnmatch]) + gl_PREREQ_FNMATCH + fi gl_FUNC_FPENDING - # Code from module fseeko: + if test $ac_cv_func___fpending = no; then + AC_LIBOBJ([fpending]) + gl_PREREQ_FPENDING + fi + gl_FUNC_FSEEK + if test $REPLACE_FSEEK = 1; then + AC_LIBOBJ([fseek]) + fi + gl_STDIO_MODULE_INDICATOR([fseek]) gl_FUNC_FSEEKO + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + AC_LIBOBJ([fseeko]) + gl_PREREQ_FSEEKO + fi gl_STDIO_MODULE_INDICATOR([fseeko]) - # Code from module full-write: - # Code from module futimens: + gl_FUNC_FSTAT + if test $REPLACE_FSTAT = 1; then + AC_LIBOBJ([fstat]) + gl_PREREQ_FSTAT + fi + gl_SYS_STAT_MODULE_INDICATOR([fstat]) + gl_FUNC_FSTATAT + if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then + AC_LIBOBJ([fstatat]) + fi + gl_SYS_STAT_MODULE_INDICATOR([fstatat]) gl_FUNC_FUTIMENS + if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then + AC_LIBOBJ([futimens]) + fi gl_SYS_STAT_MODULE_INDICATOR([futimens]) - # Code from module getcwd: gl_FUNC_GETCWD + if test $REPLACE_GETCWD = 1; then + AC_LIBOBJ([getcwd]) + gl_PREREQ_GETCWD + fi + gl_MODULE_INDICATOR([getcwd]) + gl_UNISTD_MODULE_INDICATOR([getcwd]) + gl_FUNC_GETCWD_LGPL + if test $REPLACE_GETCWD = 1; then + AC_LIBOBJ([getcwd-lgpl]) + fi gl_UNISTD_MODULE_INDICATOR([getcwd]) - # Code from module getdelim: gl_FUNC_GETDELIM + if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then + AC_LIBOBJ([getdelim]) + gl_PREREQ_GETDELIM + fi gl_STDIO_MODULE_INDICATOR([getdelim]) - # Code from module getdtablesize: gl_FUNC_GETDTABLESIZE + if test $HAVE_GETDTABLESIZE = 0; then + AC_LIBOBJ([getdtablesize]) + gl_PREREQ_GETDTABLESIZE + fi gl_UNISTD_MODULE_INDICATOR([getdtablesize]) - # Code from module getline: gl_FUNC_GETLINE + if test $REPLACE_GETLINE = 1; then + AC_LIBOBJ([getline]) + gl_PREREQ_GETLINE + fi gl_STDIO_MODULE_INDICATOR([getline]) - # Code from module getopt-gnu: gl_FUNC_GETOPT_GNU + if test $REPLACE_GETOPT = 1; then + AC_LIBOBJ([getopt]) + AC_LIBOBJ([getopt1]) + gl_PREREQ_GETOPT + dnl Arrange for unistd.h to include getopt.h. + GNULIB_GL_UNISTD_H_GETOPT=1 + fi + AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) - # Code from module getopt-posix: gl_FUNC_GETOPT_POSIX - # Code from module getpagesize: + if test $REPLACE_GETOPT = 1; then + AC_LIBOBJ([getopt]) + AC_LIBOBJ([getopt1]) + gl_PREREQ_GETOPT + dnl Arrange for unistd.h to include getopt.h. + GNULIB_GL_UNISTD_H_GETOPT=1 + fi + AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) gl_FUNC_GETPAGESIZE + if test $REPLACE_GETPAGESIZE = 1; then + AC_LIBOBJ([getpagesize]) + fi gl_UNISTD_MODULE_INDICATOR([getpagesize]) - # Code from module gettext: dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. AM_GNU_GETTEXT_VERSION([0.18.1]) - # Code from module gettext-h: AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) - # Code from module gettime: gl_GETTIME - # Code from module gettimeofday: gl_FUNC_GETTIMEOFDAY + if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then + AC_LIBOBJ([gettimeofday]) + gl_PREREQ_GETTIMEOFDAY + fi gl_SYS_TIME_MODULE_INDICATOR([gettimeofday]) - # Code from module gitlog-to-changelog: - # Code from module hash: - gl_HASH - # Code from module havelib: - # Code from module human: gl_HUMAN - # Code from module include_next: - # Code from module inline: - gl_INLINE - # Code from module intprops: - # Code from module inttostr: gl_INTTOSTR - # Code from module inttypes: gl_INTTYPES_H - # Code from module iswblank: + gl_INTTYPES_INCOMPLETE gl_FUNC_ISWBLANK + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + : + else + if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then + AC_LIBOBJ([iswblank]) + fi + fi gl_WCTYPE_MODULE_INDICATOR([iswblank]) - # Code from module langinfo: gl_LANGINFO_H - # Code from module lchown: + AC_REQUIRE([gl_LARGEFILE]) gl_FUNC_LCHOWN + if test $HAVE_LCHOWN = 0 || test $REPLACE_LCHOWN = 1; then + AC_LIBOBJ([lchown]) + fi gl_UNISTD_MODULE_INDICATOR([lchown]) - # Code from module link: gl_FUNC_LINK + if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then + AC_LIBOBJ([link]) + fi gl_UNISTD_MODULE_INDICATOR([link]) - # Code from module link-follow: gl_FUNC_LINK_FOLLOWS_SYMLINK - # Code from module linkat: gl_FUNC_LINKAT + if test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1; then + AC_LIBOBJ([linkat]) + fi + if test $HAVE_LINKAT = 0; then + AC_LIBOBJ([at-func2]) + fi gl_UNISTD_MODULE_INDICATOR([linkat]) - # Code from module localcharset: gl_LOCALCHARSET - LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" + LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) - # Code from module lseek: + gl_LOCALE_H + gl_FUNC_LOCALECONV + if test $REPLACE_LOCALECONV = 1; then + AC_LIBOBJ([localeconv]) + gl_PREREQ_LOCALECONV + fi + gl_LOCALE_MODULE_INDICATOR([localeconv]) gl_FUNC_LSEEK + if test $REPLACE_LSEEK = 1; then + AC_LIBOBJ([lseek]) + fi gl_UNISTD_MODULE_INDICATOR([lseek]) - # Code from module lstat: gl_FUNC_LSTAT + if test $REPLACE_LSTAT = 1; then + AC_LIBOBJ([lstat]) + gl_PREREQ_LSTAT + fi gl_SYS_STAT_MODULE_INDICATOR([lstat]) - # Code from module malloc-gnu: gl_FUNC_MALLOC_GNU + if test $REPLACE_MALLOC = 1; then + AC_LIBOBJ([malloc]) + fi gl_MODULE_INDICATOR([malloc-gnu]) - # Code from module malloc-posix: gl_FUNC_MALLOC_POSIX + if test $REPLACE_MALLOC = 1; then + AC_LIBOBJ([malloc]) + fi gl_STDLIB_MODULE_INDICATOR([malloc-posix]) - # Code from module malloca: gl_MALLOCA - # Code from module mbchar: gl_MBCHAR - # Code from module mbrtowc: gl_FUNC_MBRTOWC + if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then + AC_LIBOBJ([mbrtowc]) + gl_PREREQ_MBRTOWC + fi gl_WCHAR_MODULE_INDICATOR([mbrtowc]) - # Code from module mbscasecmp: gl_STRING_MODULE_INDICATOR([mbscasecmp]) - # Code from module mbsinit: gl_FUNC_MBSINIT + if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then + AC_LIBOBJ([mbsinit]) + gl_PREREQ_MBSINIT + fi gl_WCHAR_MODULE_INDICATOR([mbsinit]) - # Code from module mbsrtowcs: gl_FUNC_MBSRTOWCS + if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then + AC_LIBOBJ([mbsrtowcs]) + AC_LIBOBJ([mbsrtowcs-state]) + gl_PREREQ_MBSRTOWCS + fi gl_WCHAR_MODULE_INDICATOR([mbsrtowcs]) - # Code from module mbtowc: gl_FUNC_MBTOWC + if test $REPLACE_MBTOWC = 1; then + AC_LIBOBJ([mbtowc]) + gl_PREREQ_MBTOWC + fi gl_STDLIB_MODULE_INDICATOR([mbtowc]) - # Code from module mbuiter: gl_MBITER - # Code from module memchr: gl_FUNC_MEMCHR + if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then + AC_LIBOBJ([memchr]) + gl_PREREQ_MEMCHR + fi gl_STRING_MODULE_INDICATOR([memchr]) - # Code from module mempcpy: gl_FUNC_MEMPCPY + if test $HAVE_MEMPCPY = 0; then + AC_LIBOBJ([mempcpy]) + gl_PREREQ_MEMPCPY + fi gl_STRING_MODULE_INDICATOR([mempcpy]) - # Code from module memrchr: gl_FUNC_MEMRCHR + if test $ac_cv_func_memrchr = no; then + AC_LIBOBJ([memrchr]) + gl_PREREQ_MEMRCHR + fi gl_STRING_MODULE_INDICATOR([memrchr]) - # Code from module mkdir: gl_FUNC_MKDIR - # Code from module mkdtemp: - gt_FUNC_MKDTEMP + if test $REPLACE_MKDIR = 1; then + AC_LIBOBJ([mkdir]) + fi + gl_FUNC_MKDIRAT + if test $HAVE_MKDIRAT = 0; then + AC_LIBOBJ([mkdirat]) + gl_PREREQ_MKDIRAT + fi + gl_SYS_STAT_MODULE_INDICATOR([mkdirat]) + gl_FUNC_MKDTEMP + if test $HAVE_MKDTEMP = 0; then + AC_LIBOBJ([mkdtemp]) + gl_PREREQ_MKDTEMP + fi gl_STDLIB_MODULE_INDICATOR([mkdtemp]) - # Code from module mkfifo: gl_FUNC_MKFIFO + if test $HAVE_MKFIFO = 0 || test $REPLACE_MKFIFO = 1; then + AC_LIBOBJ([mkfifo]) + fi gl_UNISTD_MODULE_INDICATOR([mkfifo]) - # Code from module mkfifoat: gl_FUNC_MKFIFOAT - gl_UNISTD_MODULE_INDICATOR([mkfifoat]) - gl_UNISTD_MODULE_INDICATOR([mknodat]) - # Code from module mknod: + if test $HAVE_MKFIFOAT = 0; then + AC_LIBOBJ([mkfifoat]) + fi + if test $HAVE_MKNODAT = 0; then + AC_LIBOBJ([mknodat]) + fi + gl_SYS_STAT_MODULE_INDICATOR([mkfifoat]) + gl_SYS_STAT_MODULE_INDICATOR([mknodat]) gl_FUNC_MKNOD + if test $HAVE_MKNOD = 0 || test $REPLACE_MKNOD = 1; then + AC_LIBOBJ([mknod]) + fi gl_UNISTD_MODULE_INDICATOR([mknod]) - # Code from module mktime: gl_FUNC_MKTIME + if test $REPLACE_MKTIME = 1; then + AC_LIBOBJ([mktime]) + gl_PREREQ_MKTIME + fi gl_TIME_MODULE_INDICATOR([mktime]) - # Code from module modechange: gl_MODECHANGE - # Code from module multiarch: + gl_MSVC_INVAL + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + AC_LIBOBJ([msvc-inval]) + fi + gl_MSVC_NOTHROW + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + AC_LIBOBJ([msvc-nothrow]) + fi gl_MULTIARCH - # Code from module nl_langinfo: gl_FUNC_NL_LANGINFO + if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then + AC_LIBOBJ([nl_langinfo]) + fi gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) - # Code from module obstack: AC_FUNC_OBSTACK dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). - # Code from module open: gl_FUNC_OPEN + if test $REPLACE_OPEN = 1; then + AC_LIBOBJ([open]) + gl_PREREQ_OPEN + fi gl_FCNTL_MODULE_INDICATOR([open]) - # Code from module openat: gl_FUNC_OPENAT - # Code from module openat-die: - # Code from module parse-datetime: + if test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1; then + AC_LIBOBJ([openat]) + gl_PREREQ_OPENAT + fi + gl_MODULE_INDICATOR([openat]) dnl for lib/getcwd.c + gl_FCNTL_MODULE_INDICATOR([openat]) + gl_FUNC_OPENDIR + if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then + AC_LIBOBJ([opendir]) + fi + gl_DIRENT_MODULE_INDICATOR([opendir]) gl_PARSE_DATETIME - # Code from module pathmax: gl_PATHMAX - # Code from module priv-set: gl_PRIV_SET - # Code from module progname: AC_CHECK_DECLS([program_invocation_name], [], [], [#include ]) AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) - # Code from module quote: + gl_FUNC_ACL gl_QUOTE - # Code from module quotearg: gl_QUOTEARG - # Code from module quotearg-simple: - # Code from module rawmemchr: + gl_FUNC_RAISE + if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then + AC_LIBOBJ([raise]) + gl_PREREQ_RAISE + fi + gl_SIGNAL_MODULE_INDICATOR([raise]) gl_FUNC_RAWMEMCHR + if test $HAVE_RAWMEMCHR = 0; then + AC_LIBOBJ([rawmemchr]) + gl_PREREQ_RAWMEMCHR + fi gl_STRING_MODULE_INDICATOR([rawmemchr]) - # Code from module readlink: + gl_FUNC_READ + if test $REPLACE_READ = 1; then + AC_LIBOBJ([read]) + gl_PREREQ_READ + fi + gl_UNISTD_MODULE_INDICATOR([read]) + gl_FUNC_READDIR + if test $HAVE_READDIR = 0; then + AC_LIBOBJ([readdir]) + fi + gl_DIRENT_MODULE_INDICATOR([readdir]) gl_FUNC_READLINK + if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + AC_LIBOBJ([readlink]) + gl_PREREQ_READLINK + fi gl_UNISTD_MODULE_INDICATOR([readlink]) - # Code from module readlinkat: gl_FUNC_READLINKAT + if test $HAVE_READLINKAT = 0; then + AC_LIBOBJ([readlinkat]) + fi gl_UNISTD_MODULE_INDICATOR([readlinkat]) - # Code from module realloc-posix: gl_FUNC_REALLOC_POSIX + if test $REPLACE_REALLOC = 1; then + AC_LIBOBJ([realloc]) + fi gl_STDLIB_MODULE_INDICATOR([realloc-posix]) - # Code from module regex: gl_REGEX - # Code from module rename: + if test $ac_use_included_regex = yes; then + AC_LIBOBJ([regex]) + gl_PREREQ_REGEX + fi gl_FUNC_RENAME + if test $REPLACE_RENAME = 1; then + AC_LIBOBJ([rename]) + fi gl_STDIO_MODULE_INDICATOR([rename]) - # Code from module renameat: gl_FUNC_RENAMEAT + if test $HAVE_RENAMEAT = 0 || test $REPLACE_RENAMEAT = 1; then + AC_LIBOBJ([renameat]) + fi + if test $HAVE_RENAMEAT = 0; then + AC_LIBOBJ([at-func2]) + fi gl_STDIO_MODULE_INDICATOR([renameat]) - # Code from module rmdir: + gl_FUNC_REWINDDIR + if test $HAVE_REWINDDIR = 0; then + AC_LIBOBJ([rewinddir]) + fi + gl_DIRENT_MODULE_INDICATOR([rewinddir]) gl_FUNC_RMDIR + if test $REPLACE_RMDIR = 1; then + AC_LIBOBJ([rmdir]) + fi gl_UNISTD_MODULE_INDICATOR([rmdir]) - # Code from module rpmatch: gl_FUNC_RPMATCH + if test $HAVE_RPMATCH = 0; then + AC_LIBOBJ([rpmatch]) + gl_PREREQ_RPMATCH + fi gl_STDLIB_MODULE_INDICATOR([rpmatch]) - # Code from module safe-read: - gl_SAFE_READ - # Code from module safe-write: - gl_SAFE_WRITE - # Code from module same-inode: - # Code from module save-cwd: + gl_PREREQ_SAFE_READ + gl_PREREQ_SAFE_WRITE gl_SAVE_CWD - # Code from module savedir: gl_SAVEDIR - # Code from module setenv: + gl_FUNC_SECURE_GETENV + if test $HAVE_SECURE_GETENV = 0; then + AC_LIBOBJ([secure_getenv]) + gl_PREREQ_SECURE_GETENV + fi + gl_STDLIB_MODULE_INDICATOR([secure_getenv]) + AC_CHECK_HEADERS([selinux/flask.h]) + AC_LIBOBJ([selinux-at]) + gl_HEADERS_SELINUX_SELINUX_H + gl_HEADERS_SELINUX_CONTEXT_H + if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then + AC_LIBOBJ([getfilecon]) + fi gl_FUNC_SETENV + if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then + AC_LIBOBJ([setenv]) + fi gl_STDLIB_MODULE_INDICATOR([setenv]) - # Code from module size_max: + gl_SIGNAL_H gl_SIZE_MAX - # Code from module sleep: gl_FUNC_SLEEP + if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then + AC_LIBOBJ([sleep]) + fi gl_UNISTD_MODULE_INDICATOR([sleep]) - # Code from module snprintf: gl_FUNC_SNPRINTF gl_STDIO_MODULE_INDICATOR([snprintf]) gl_MODULE_INDICATOR([snprintf]) - # Code from module ssize_t: gt_TYPE_SSIZE_T - # Code from module stat: gl_FUNC_STAT + if test $REPLACE_STAT = 1; then + AC_LIBOBJ([stat]) + gl_PREREQ_STAT + fi gl_SYS_STAT_MODULE_INDICATOR([stat]) - # Code from module stat-macros: - # Code from module stat-time: gl_STAT_TIME gl_STAT_BIRTHTIME - # Code from module stdarg: + gl_MODULE_INDICATOR([statat]) dnl for lib/openat.h + gl_STDALIGN_H gl_STDARG_H - # Code from module stdbool: AM_STDBOOL_H - # Code from module stddef: gl_STDDEF_H - # Code from module stdint: gl_STDINT_H - # Code from module stdio: gl_STDIO_H - # Code from module stdlib: gl_STDLIB_H - # Code from module stpcpy: gl_FUNC_STPCPY + if test $HAVE_STPCPY = 0; then + AC_LIBOBJ([stpcpy]) + gl_PREREQ_STPCPY + fi gl_STRING_MODULE_INDICATOR([stpcpy]) - # Code from module strcase: gl_STRCASE - # Code from module strchrnul: + if test $HAVE_STRCASECMP = 0; then + AC_LIBOBJ([strcasecmp]) + gl_PREREQ_STRCASECMP + fi + if test $HAVE_STRNCASECMP = 0; then + AC_LIBOBJ([strncasecmp]) + gl_PREREQ_STRNCASECMP + fi gl_FUNC_STRCHRNUL + if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then + AC_LIBOBJ([strchrnul]) + gl_PREREQ_STRCHRNUL + fi gl_STRING_MODULE_INDICATOR([strchrnul]) - # Code from module strdup-posix: gl_FUNC_STRDUP_POSIX + if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then + AC_LIBOBJ([strdup]) + gl_PREREQ_STRDUP + fi gl_STRING_MODULE_INDICATOR([strdup]) - # Code from module streq: - # Code from module strerror: gl_FUNC_STRERROR + if test $REPLACE_STRERROR = 1; then + AC_LIBOBJ([strerror]) + fi + gl_MODULE_INDICATOR([strerror]) gl_STRING_MODULE_INDICATOR([strerror]) - # Code from module string: + AC_REQUIRE([gl_HEADER_ERRNO_H]) + AC_REQUIRE([gl_FUNC_STRERROR_0]) + if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then + AC_LIBOBJ([strerror-override]) + gl_PREREQ_SYS_H_WINSOCK2 + fi gl_HEADER_STRING_H - # Code from module strings: gl_HEADER_STRINGS_H - # Code from module strndup: gl_FUNC_STRNDUP + if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then + AC_LIBOBJ([strndup]) + fi gl_STRING_MODULE_INDICATOR([strndup]) - # Code from module strnlen: gl_FUNC_STRNLEN + if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then + AC_LIBOBJ([strnlen]) + gl_PREREQ_STRNLEN + fi gl_STRING_MODULE_INDICATOR([strnlen]) - # Code from module strnlen1: - # Code from module strtoimax: - gl_FUNC_STRTOIMAX - gl_INTTYPES_MODULE_INDICATOR([strtoimax]) - # Code from module strtol: gl_FUNC_STRTOL - # Code from module strtoll: - gl_FUNC_STRTOLL - gl_STDLIB_MODULE_INDICATOR([strtoll]) - # Code from module strtoul: + if test $ac_cv_func_strtol = no; then + AC_LIBOBJ([strtol]) + fi gl_FUNC_STRTOUL - # Code from module strtoull: + if test $ac_cv_func_strtoul = no; then + AC_LIBOBJ([strtoul]) + fi gl_FUNC_STRTOULL + if test $HAVE_STRTOULL = 0; then + AC_LIBOBJ([strtoull]) + gl_PREREQ_STRTOULL + fi gl_STDLIB_MODULE_INDICATOR([strtoull]) - # Code from module strtoumax: gl_FUNC_STRTOUMAX + if test $ac_cv_func_strtoumax = no; then + AC_LIBOBJ([strtoumax]) + gl_PREREQ_STRTOUMAX + fi gl_INTTYPES_MODULE_INDICATOR([strtoumax]) - # Code from module symlink: gl_FUNC_SYMLINK + if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then + AC_LIBOBJ([symlink]) + fi gl_UNISTD_MODULE_INDICATOR([symlink]) - # Code from module symlinkat: gl_FUNC_SYMLINKAT + if test $HAVE_SYMLINKAT = 0; then + AC_LIBOBJ([symlinkat]) + fi gl_UNISTD_MODULE_INDICATOR([symlinkat]) - # Code from module sys_stat: gl_HEADER_SYS_STAT_H AC_PROG_MKDIR_P - # Code from module sys_time: gl_HEADER_SYS_TIME_H AC_PROG_MKDIR_P - # Code from module sysexits: + gl_SYS_TYPES_H + AC_PROG_MKDIR_P gl_SYSEXITS - # Code from module tempname: gl_FUNC_GEN_TEMPNAME - # Code from module time: gl_HEADER_TIME_H - # Code from module time_r: gl_TIME_R + if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then + AC_LIBOBJ([time_r]) + gl_PREREQ_TIME_R + fi gl_TIME_MODULE_INDICATOR([time_r]) - # Code from module timespec: gl_TIMESPEC - # Code from module unistd: gl_UNISTD_H - # Code from module unistd-safer: gl_UNISTD_SAFER - # Code from module unitypes: gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h]) - # Code from module uniwidth/base: gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h]) - # Code from module uniwidth/width: gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width]) - # Code from module unlink: gl_FUNC_UNLINK + if test $REPLACE_UNLINK = 1; then + AC_LIBOBJ([unlink]) + fi gl_UNISTD_MODULE_INDICATOR([unlink]) - # Code from module unlinkdir: + gl_FUNC_UNLINKAT + if test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1; then + AC_LIBOBJ([unlinkat]) + fi + gl_UNISTD_MODULE_INDICATOR([unlinkat]) gl_UNLINKDIR - # Code from module unlocked-io: gl_FUNC_GLIBC_UNLOCKED_IO - # Code from module unsetenv: gl_FUNC_UNSETENV + if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then + AC_LIBOBJ([unsetenv]) + gl_PREREQ_UNSETENV + fi gl_STDLIB_MODULE_INDICATOR([unsetenv]) - # Code from module utimens: gl_UTIMENS - # Code from module utimensat: gl_FUNC_UTIMENSAT + if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then + AC_LIBOBJ([utimensat]) + fi gl_SYS_STAT_MODULE_INDICATOR([utimensat]) - # Code from module vasnprintf: gl_FUNC_VASNPRINTF - # Code from module vasprintf: gl_FUNC_VASPRINTF gl_STDIO_MODULE_INDICATOR([vasprintf]) m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format]) AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) - # Code from module verify: - # Code from module version-etc: gl_VERSION_ETC - # Code from module version-etc-fsf: - # Code from module vsnprintf: gl_FUNC_VSNPRINTF gl_STDIO_MODULE_INDICATOR([vsnprintf]) - # Code from module warn-on-use: - # Code from module wchar: gl_WCHAR_H - # Code from module wcrtomb: gl_FUNC_WCRTOMB + if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then + AC_LIBOBJ([wcrtomb]) + gl_PREREQ_WCRTOMB + fi gl_WCHAR_MODULE_INDICATOR([wcrtomb]) - # Code from module wctype-h: gl_WCTYPE_H - # Code from module wcwidth: gl_FUNC_WCWIDTH + if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then + AC_LIBOBJ([wcwidth]) + fi gl_WCHAR_MODULE_INDICATOR([wcwidth]) - # Code from module write: gl_FUNC_WRITE + if test $REPLACE_WRITE = 1; then + AC_LIBOBJ([write]) + gl_PREREQ_WRITE + fi gl_UNISTD_MODULE_INDICATOR([write]) - # Code from module xalloc: gl_XALLOC - # Code from module xalloc-die: - # Code from module xgetcwd: gl_XGETCWD - # Code from module xsize: gl_XSIZE - # Code from module xstrndup: gl_XSTRNDUP - # Code from module xstrtol: gl_XSTRTOL - # Code from module xstrtoumax: - # Code from module xvasprintf: gl_XVASPRINTF m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=xasprintf:1:c-format])]) @@ -873,14 +1168,22 @@ AC_DEFUN([gltests_LIBSOURCES], [ # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ - build-aux/arg-nonnull.h - build-aux/c++defs.h build-aux/config.rpath build-aux/gitlog-to-changelog - build-aux/warn-on-use.h + build-aux/snippet/_Noreturn.h + build-aux/snippet/arg-nonnull.h + build-aux/snippet/c++defs.h + build-aux/snippet/unused-parameter.h + build-aux/snippet/warn-on-use.h doc/parse-datetime.texi + lib/acl-errno-valid.c + lib/acl-internal.h + lib/acl.h + lib/acl_entries.c lib/alloca.c lib/alloca.in.h + lib/allocator.c + lib/allocator.h lib/anytostr.c lib/areadlink.c lib/areadlink.h @@ -910,25 +1213,35 @@ AC_DEFUN([gl_FILE_LIST], [ lib/backupfile.h lib/basename-lgpl.c lib/basename.c + lib/bitrotate.c lib/bitrotate.h lib/btowc.c lib/c-ctype.c lib/c-ctype.h + lib/c-strcase.h + lib/c-strcasecmp.c + lib/c-strcaseeq.h + lib/c-strncasecmp.c lib/canonicalize-lgpl.c + lib/careadlinkat.c + lib/careadlinkat.h lib/chdir-long.c lib/chdir-long.h + lib/chmodat.c lib/chown.c + lib/chownat.c lib/cloexec.c lib/cloexec.h - lib/close-hook.c - lib/close-hook.h lib/close-stream.c lib/close-stream.h lib/close.c + lib/closedir.c lib/closeout.c lib/closeout.h lib/config.charset + lib/copy-acl.c lib/dirent--.h + lib/dirent-private.h lib/dirent-safer.h lib/dirent.in.h lib/dirfd.c @@ -937,6 +1250,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/dirname.h lib/dosname.h lib/dup-safer.c + lib/dup.c lib/dup2.c lib/errno.in.h lib/error.c @@ -949,30 +1263,38 @@ AC_DEFUN([gl_FILE_LIST], [ lib/fchmodat.c lib/fchown-stub.c lib/fchownat.c - lib/fclose.c lib/fcntl.c lib/fcntl.in.h + lib/fd-hook.c + lib/fd-hook.h lib/fd-safer.c lib/fdopendir.c lib/fdutimensat.c + lib/file-has-acl.c lib/fileblocks.c + lib/filename.h lib/filenamecat-lgpl.c lib/filenamecat.h lib/float+.h + lib/float.c lib/float.in.h lib/fnmatch.c lib/fnmatch.in.h lib/fnmatch_loop.c lib/fpending.c lib/fpending.h + lib/fseek.c lib/fseeko.c + lib/fstat.c lib/fstatat.c lib/full-write.c lib/full-write.h lib/futimens.c + lib/getcwd-lgpl.c lib/getcwd.c lib/getdelim.c lib/getdtablesize.c + lib/getfilecon.c lib/getline.c lib/getopt.c lib/getopt.in.h @@ -992,12 +1314,15 @@ AC_DEFUN([gl_FILE_LIST], [ lib/inttostr.h lib/inttypes.in.h lib/iswblank.c + lib/itold.c lib/langinfo.in.h lib/lchown.c lib/link.c lib/linkat.c lib/localcharset.c lib/localcharset.h + lib/locale.in.h + lib/localeconv.c lib/lseek.c lib/lstat.c lib/malloc.c @@ -1014,6 +1339,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/mbsrtowcs.c lib/mbtowc-impl.h lib/mbtowc.c + lib/mbuiter.c lib/mbuiter.h lib/memchr.c lib/memchr.valgrind @@ -1030,6 +1356,10 @@ AC_DEFUN([gl_FILE_LIST], [ lib/mktime.c lib/modechange.c lib/modechange.h + lib/msvc-inval.c + lib/msvc-inval.h + lib/msvc-nothrow.c + lib/msvc-nothrow.h lib/nl_langinfo.c lib/obstack.c lib/obstack.h @@ -1041,6 +1371,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/openat.c lib/openat.h lib/opendir-safer.c + lib/opendir.c lib/parse-datetime.h lib/parse-datetime.y lib/pathmax.h @@ -1053,12 +1384,16 @@ AC_DEFUN([gl_FILE_LIST], [ lib/priv-set.h lib/progname.c lib/progname.h - lib/quote.c + lib/qcopy-acl.c + lib/qset-acl.c lib/quote.h lib/quotearg.c lib/quotearg.h + lib/raise.c lib/rawmemchr.c lib/rawmemchr.valgrind + lib/read.c + lib/readdir.c lib/readlink.c lib/readlinkat.c lib/realloc.c @@ -1072,7 +1407,9 @@ AC_DEFUN([gl_FILE_LIST], [ lib/regexec.c lib/rename.c lib/renameat.c + lib/rewinddir.c lib/rmdir.c + lib/root-uid.h lib/rpmatch.c lib/safe-read.c lib/safe-read.h @@ -1083,13 +1420,25 @@ AC_DEFUN([gl_FILE_LIST], [ lib/save-cwd.h lib/savedir.c lib/savedir.h + lib/se-context.c + lib/se-context.in.h + lib/se-selinux.c + lib/se-selinux.in.h + lib/secure_getenv.c + lib/selinux-at.c + lib/selinux-at.h + lib/set-acl.c lib/setenv.c + lib/signal.in.h lib/size_max.h lib/sleep.c lib/snprintf.c lib/stat-macros.h + lib/stat-time.c lib/stat-time.h lib/stat.c + lib/statat.c + lib/stdalign.in.h lib/stdarg.in.h lib/stdbool.in.h lib/stddef.in.h @@ -1103,6 +1452,8 @@ AC_DEFUN([gl_FILE_LIST], [ lib/strchrnul.valgrind lib/strdup.c lib/streq.h + lib/strerror-override.c + lib/strerror-override.h lib/strerror.c lib/string.in.h lib/strings.in.h @@ -1114,7 +1465,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/strnlen1.h lib/strtoimax.c lib/strtol.c - lib/strtoll.c lib/strtoul.c lib/strtoull.c lib/strtoumax.c @@ -1122,16 +1472,19 @@ AC_DEFUN([gl_FILE_LIST], [ lib/symlinkat.c lib/sys_stat.in.h lib/sys_time.in.h + lib/sys_types.in.h lib/sysexits.in.h lib/tempname.c lib/tempname.h lib/time.in.h lib/time_r.c + lib/timespec.c lib/timespec.h lib/uinttostr.c lib/umaxtostr.c lib/unistd--.h lib/unistd-safer.h + lib/unistd.c lib/unistd.in.h lib/unitypes.in.h lib/uniwidth.in.h @@ -1156,15 +1509,18 @@ AC_DEFUN([gl_FILE_LIST], [ lib/vsnprintf.c lib/wchar.in.h lib/wcrtomb.c + lib/wctype-h.c lib/wctype.in.h lib/wcwidth.c lib/write.c lib/xalloc-die.c + lib/xalloc-oversized.h lib/xalloc.h lib/xasprintf.c lib/xgetcwd.c lib/xgetcwd.h lib/xmalloc.c + lib/xsize.c lib/xsize.h lib/xstrndup.c lib/xstrndup.h @@ -1176,8 +1532,8 @@ AC_DEFUN([gl_FILE_LIST], [ lib/xvasprintf.c lib/xvasprintf.h m4/00gnulib.m4 + m4/acl.m4 m4/alloca.m4 - m4/argmatch.m4 m4/argp.m4 m4/backupfile.m4 m4/bison.m4 @@ -1186,9 +1542,9 @@ AC_DEFUN([gl_FILE_LIST], [ m4/chdir-long.m4 m4/chown.m4 m4/clock_time.m4 - m4/cloexec.m4 m4/close-stream.m4 m4/close.m4 + m4/closedir.m4 m4/closeout.m4 m4/codeset.m4 m4/configmake.m4 @@ -1198,15 +1554,18 @@ AC_DEFUN([gl_FILE_LIST], [ m4/dirfd.m4 m4/dirname.m4 m4/double-slash-root.m4 + m4/dup.m4 m4/dup2.m4 m4/eealloc.m4 m4/environ.m4 m4/errno_h.m4 m4/error.m4 - m4/exclude.m4 + m4/exponentd.m4 m4/extensions.m4 + m4/extern-inline.m4 m4/fchdir.m4 - m4/fclose.m4 + m4/fchmodat.m4 + m4/fchownat.m4 m4/fcntl-o.m4 m4/fcntl.m4 m4/fcntl_h.m4 @@ -1216,7 +1575,10 @@ AC_DEFUN([gl_FILE_LIST], [ m4/float_h.m4 m4/fnmatch.m4 m4/fpending.m4 + m4/fseek.m4 m4/fseeko.m4 + m4/fstat.m4 + m4/fstatat.m4 m4/futimens.m4 m4/getcwd-abort-bug.m4 m4/getcwd-path-max.m4 @@ -1232,11 +1594,9 @@ AC_DEFUN([gl_FILE_LIST], [ m4/glibc2.m4 m4/glibc21.m4 m4/gnulib-common.m4 - m4/hash.m4 m4/human.m4 m4/iconv.m4 m4/include_next.m4 - m4/inline.m4 m4/intdiv0.m4 m4/intl.m4 m4/intldir.m4 @@ -1249,6 +1609,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/inttypes_h.m4 m4/iswblank.m4 m4/langinfo_h.m4 + m4/largefile.m4 m4/lchown.m4 m4/lcmessage.m4 m4/lib-ld.m4 @@ -1262,12 +1623,16 @@ AC_DEFUN([gl_FILE_LIST], [ m4/locale-fr.m4 m4/locale-ja.m4 m4/locale-zh.m4 + m4/locale_h.m4 + m4/localeconv.m4 m4/lock.m4 m4/longlong.m4 m4/lseek.m4 m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 + m4/manywarnings.m4 + m4/math_h.m4 m4/mbchar.m4 m4/mbiter.m4 m4/mbrtowc.m4 @@ -1279,6 +1644,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/mempcpy.m4 m4/memrchr.m4 m4/mkdir.m4 + m4/mkdirat.m4 m4/mkdtemp.m4 m4/mkfifo.m4 m4/mkfifoat.m4 @@ -1287,11 +1653,16 @@ AC_DEFUN([gl_FILE_LIST], [ m4/mmap-anon.m4 m4/mode_t.m4 m4/modechange.m4 + m4/msvc-inval.m4 + m4/msvc-nothrow.m4 m4/multiarch.m4 m4/nl_langinfo.m4 m4/nls.m4 + m4/nocrash.m4 + m4/off_t.m4 m4/open.m4 m4/openat.m4 + m4/opendir.m4 m4/parse-datetime.m4 m4/pathmax.m4 m4/po.m4 @@ -1301,26 +1672,35 @@ AC_DEFUN([gl_FILE_LIST], [ m4/progtest.m4 m4/quote.m4 m4/quotearg.m4 + m4/raise.m4 m4/rawmemchr.m4 + m4/read.m4 + m4/readdir.m4 m4/readlink.m4 m4/readlinkat.m4 m4/realloc.m4 m4/regex.m4 m4/rename.m4 m4/renameat.m4 + m4/rewinddir.m4 m4/rmdir.m4 m4/rpmatch.m4 m4/safe-read.m4 m4/safe-write.m4 m4/save-cwd.m4 m4/savedir.m4 + m4/secure_getenv.m4 + m4/selinux-context-h.m4 + m4/selinux-selinux-h.m4 m4/setenv.m4 + m4/signal_h.m4 m4/size_max.m4 m4/sleep.m4 m4/snprintf.m4 m4/ssize_t.m4 m4/stat-time.m4 m4/stat.m4 + m4/stdalign.m4 m4/stdarg.m4 m4/stdbool.m4 m4/stddef_h.m4 @@ -1337,16 +1717,16 @@ AC_DEFUN([gl_FILE_LIST], [ m4/strings_h.m4 m4/strndup.m4 m4/strnlen.m4 - m4/strtoimax.m4 m4/strtol.m4 - m4/strtoll.m4 m4/strtoul.m4 m4/strtoull.m4 m4/strtoumax.m4 m4/symlink.m4 m4/symlinkat.m4 + m4/sys_socket_h.m4 m4/sys_stat_h.m4 m4/sys_time_h.m4 + m4/sys_types_h.m4 m4/sysexits.m4 m4/tempname.m4 m4/threadlib.m4 @@ -1358,6 +1738,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/unistd-safer.m4 m4/unistd_h.m4 m4/unlink.m4 + m4/unlinkat.m4 m4/unlinkdir.m4 m4/unlocked-io.m4 m4/utimbuf.m4 @@ -1370,6 +1751,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/visibility.m4 m4/vsnprintf.m4 m4/warn-on-use.m4 + m4/warnings.m4 m4/wchar_h.m4 m4/wchar_t.m4 m4/wcrtomb.m4 diff --git a/m4/human.m4 b/m4/human.m4 index 21c12f56..f1529057 100644 --- a/m4/human.m4 +++ b/m4/human.m4 @@ -1,13 +1,11 @@ -#serial 10 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +#serial 11 +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Prerequisites of lib/human.c. AC_DEFUN([gl_HUMAN], [ - AC_LIBOBJ([human]) - - dnl Prerequisites of lib/human.c. : ]) diff --git a/m4/iconv.m4 b/m4/iconv.m4 index 085cd068..a5036465 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,5 +1,5 @@ -# iconv.m4 serial 17 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2011 Free Software Foundation, Inc. +# iconv.m4 serial 18 (gettext-0.18.2) +dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -242,7 +242,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); diff --git a/m4/include_next.m4 b/m4/include_next.m4 index b3c78491..108d9456 100644 --- a/m4/include_next.m4 +++ b/m4/include_next.m4 @@ -1,5 +1,5 @@ -# include_next.m4 serial 18 -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +# include_next.m4 serial 23 +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -143,7 +143,7 @@ choke me # even if the compiler does not support include_next. # The three "///" are to pacify Sun C 5.8, which otherwise would say # "warning: #include of /usr/include/... may be non-portable". -# Use `""', not `<>', so that the /// cannot be confused with a C99 comment. +# Use '""', not '<>', so that the /// cannot be confused with a C99 comment. # Note: This macro assumes that the header file is not empty after # preprocessing, i.e. it does not only define preprocessor macros but also # provides some type/enum definitions or function/variable declarations. @@ -175,11 +175,13 @@ AC_DEFUN([gl_NEXT_HEADERS_INTERNAL], [AC_CHECK_HEADERS_ONCE([$1]) ]) +dnl FIXME: gl_next_header and gl_header_exists must be used unquoted +dnl until we can assume autoconf 2.64 or newer. m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_defn([gl_HEADER_NAME])) if test $gl_cv_have_include_next = yes; then - AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) + AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_defn([gl_HEADER_NAME])[>], @@ -205,33 +207,57 @@ AC_DEFUN([gl_NEXT_HEADERS_INTERNAL], aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac +changequote(,) + case "$host_os" in + mingw*) + dnl For the sake of native Windows compilers (excluding gcc), + dnl treat backslash as a directory separator, like /. + dnl Actually, these compilers use a double-backslash as + dnl directory separator, inside the + dnl # line "filename" + dnl directives. + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + dnl A sed expression that turns a string into a basic regular + dnl expression, for use within "/.../". + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' +changequote([,]) + gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ +changequote(,)dnl + s|^/[^/]|//&| +changequote([,])dnl + p + q + }' dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. - AS_VAR_SET([gl_next_header], + AS_VAR_SET(gl_next_header, ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{ - s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1# - s#^/[^/]#//&# - p - q - }'`'"']) + sed -n "$gl_absolute_header_sed"`'"']) m4_if([$2], [check], [else - AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) + AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) fi ]) ]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), - [AS_VAR_GET([gl_next_header])]) + [AS_VAR_GET(gl_next_header)]) if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'gl_HEADER_NAME'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=AS_VAR_GET([gl_next_header]) + gl_next_as_first_directive=AS_VAR_GET(gl_next_header) fi AC_SUBST( AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 index 51f85477..ab97d39f 100644 --- a/m4/intlmacosx.m4 +++ b/m4/intlmacosx.m4 @@ -1,5 +1,5 @@ -# intlmacosx.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +# intlmacosx.m4 serial 5 (gettext-0.18.2) +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,11 +13,11 @@ dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. -dnl Checks for special options needed on MacOS X. +dnl Checks for special options needed on Mac OS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ - dnl Check for API introduced in MacOS X 10.2. + dnl Check for API introduced in Mac OS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" @@ -31,9 +31,9 @@ AC_DEFUN([gt_INTL_MACOSX], LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi - dnl Check for API introduced in MacOS X 10.3. + dnl Check for API introduced in Mac OS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" @@ -46,7 +46,7 @@ AC_DEFUN([gt_INTL_MACOSX], LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then diff --git a/m4/intmax_t.m4 b/m4/intmax_t.m4 index 7341054b..6ea70531 100644 --- a/m4/intmax_t.m4 +++ b/m4/intmax_t.m4 @@ -1,5 +1,5 @@ # intmax_t.m4 serial 8 -dnl Copyright (C) 1997-2004, 2006-2007, 2009-2011 Free Software Foundation, +dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/inttostr.m4 b/m4/inttostr.m4 index b9875c91..1a0ce74d 100644 --- a/m4/inttostr.m4 +++ b/m4/inttostr.m4 @@ -1,5 +1,5 @@ #serial 8 -dnl Copyright (C) 2004-2006, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/inttypes-pri.m4 b/m4/inttypes-pri.m4 index e252b27e..e5a1e057 100644 --- a/m4/inttypes-pri.m4 +++ b/m4/inttypes-pri.m4 @@ -1,5 +1,5 @@ # inttypes-pri.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1997-2002, 2006, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2002, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 index 92a4ac01..3b483d39 100644 --- a/m4/inttypes.m4 +++ b/m4/inttypes.m4 @@ -1,5 +1,5 @@ -# inttypes.m4 serial 18 -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +# inttypes.m4 serial 26 +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,133 +8,15 @@ dnl From Derek Price, Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_INTTYPES_H], +[ + AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) + gl_INTTYPES_PRI_SCN +]) + +AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE], [ AC_REQUIRE([gl_STDINT_H]) - AC_REQUIRE([gt_INTTYPES_PRI]) AC_CHECK_HEADERS_ONCE([inttypes.h]) - AC_CHECK_DECLS_ONCE([imaxabs]) - AC_CHECK_DECLS_ONCE([imaxdiv]) - AC_CHECK_DECLS_ONCE([strtoimax]) - AC_CHECK_DECLS_ONCE([strtoumax]) - - dnl Now see if we need a substitute . - dnl A complete requires - dnl - a complete , - dnl - the existence of an , - dnl - that imaxabs, imaxdiv, strtoimax, strtoumax are declared, - dnl - some additional tests. - AC_CACHE_CHECK([whether inttypes.h conforms to C99], - [gl_cv_header_working_inttypes_h], - [gl_cv_header_working_inttypes_h=no - if test "$gl_cv_header_working_stdint_h" = yes \ - && test $ac_cv_header_inttypes_h = yes \ - && test "$ac_cv_have_decl_imaxabs" = yes \ - && test "$ac_cv_have_decl_imaxdiv" = yes \ - && test "$ac_cv_have_decl_strtoimax" = yes \ - && test "$ac_cv_have_decl_strtoumax" = yes; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */ -#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */ -#include - -/* No need to duplicate the tests of stdint.m4; they are subsumed by - $gl_cv_header_working_stdint_h = yes. */ - -/* Tests for macros supposed to be defined in inttypes.h. */ - -const char *k = /* implicit string concatenation */ -#ifdef INT8_MAX - PRId8 PRIi8 -#endif -#ifdef UINT8_MAX - PRIo8 PRIu8 PRIx8 PRIX8 -#endif -#ifdef INT16_MAX - PRId16 PRIi16 -#endif -#ifdef UINT16_MAX - PRIo16 PRIu16 PRIx16 PRIX16 -#endif -#ifdef INT32_MAX - PRId32 PRIi32 -#endif -#ifdef UINT32_MAX - PRIo32 PRIu32 PRIx32 PRIX32 -#endif -#ifdef INT64_MAX - PRId64 PRIi64 -#endif -#ifdef UINT64_MAX - PRIo64 PRIu64 PRIx64 PRIX64 -#endif - PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 - PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 - PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 - PRIdLEAST64 PRIiLEAST64 - PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 - PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 - PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 - PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 - PRIdFAST64 PRIiFAST64 - PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 - PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX -#ifdef INTPTR_MAX - PRIdPTR PRIiPTR -#endif -#ifdef UINTPTR_MAX - PRIoPTR PRIuPTR PRIxPTR PRIXPTR -#endif - ; -const char *l = /* implicit string concatenation */ -#ifdef INT8_MAX - SCNd8 SCNi8 -#endif -#ifdef UINT8_MAX - SCNo8 SCNu8 SCNx8 -#endif -#ifdef INT16_MAX - SCNd16 SCNi16 -#endif -#ifdef UINT16_MAX - SCNo16 SCNu16 SCNx16 -#endif -#ifdef INT32_MAX - SCNd32 SCNi32 -#endif -#ifdef UINT32_MAX - SCNo32 SCNu32 SCNx32 -#endif -#ifdef INT64_MAX - SCNd64 SCNi64 -#endif -#ifdef UINT64_MAX - SCNo64 SCNu64 SCNx64 -#endif - SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 - SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 - SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 - SCNdLEAST64 SCNiLEAST64 - SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 - SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 - SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 - SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 - SCNdFAST64 SCNiFAST64 - SCNoFAST64 SCNuFAST64 SCNxFAST64 - SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX -#ifdef INTPTR_MAX - SCNdPTR SCNiPTR -#endif -#ifdef UINTPTR_MAX - SCNoPTR SCNuPTR SCNxPTR -#endif - ; - ]])], - [gl_cv_header_working_inttypes_h=yes]) - fi]) dnl Override always, so that the portability warnings work. AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) @@ -142,22 +24,17 @@ const char *l = /* implicit string concatenation */ AC_REQUIRE([gl_MULTIARCH]) - dnl Ensure that defines the limit macros, since gnulib's - dnl relies on them. This macro is only needed when a - dnl C++ compiler is in use; it has no effect for a C compiler. - dnl Also be careful to define __STDC_LIMIT_MACROS only when gnulib's - dnl is going to be created, and to avoid redefinition warnings - dnl if the __STDC_LIMIT_MACROS is already defined through the CPPFLAGS. - AC_DEFINE([GL_TRIGGER_STDC_LIMIT_MACROS], [1], - [Define to make the limit macros in visible.]) - AH_VERBATIM([__STDC_LIMIT_MACROS_ZZZ], -[/* Ensure that defines the limit macros, since gnulib's - relies on them. */ -#if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS 1 -#endif + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[#include + ]], [imaxabs imaxdiv strtoimax strtoumax]) ]) +# Ensure that the PRI* and SCN* macros are defined appropriately. +AC_DEFUN([gl_INTTYPES_PRI_SCN], +[ + AC_REQUIRE([gt_INTTYPES_PRI]) + PRIPTR_PREFIX= if test -n "$STDINT_H"; then dnl Using the gnulib . It always defines intptr_t to 'long'. @@ -181,30 +58,6 @@ const char *l = /* implicit string concatenation */ fi AC_SUBST([PRIPTR_PREFIX]) - if test "$ac_cv_have_decl_imaxabs" = yes; then - HAVE_DECL_IMAXABS=1 - else - HAVE_DECL_IMAXABS=0 - fi - - if test "$ac_cv_have_decl_imaxdiv" = yes; then - HAVE_DECL_IMAXDIV=1 - else - HAVE_DECL_IMAXDIV=0 - fi - - if test "$ac_cv_have_decl_strtoimax" = yes; then - HAVE_DECL_STRTOIMAX=1 - else - HAVE_DECL_STRTOIMAX=0 - fi - - if test "$ac_cv_have_decl_strtoumax" = yes; then - HAVE_DECL_STRTOUMAX=1 - else - HAVE_DECL_STRTOUMAX=0 - fi - gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT32_MAX_LT_INTMAX_MAX], [defined INT32_MAX && defined INTMAX_MAX], @@ -233,11 +86,6 @@ const char *l = /* implicit string concatenation */ else UINT64_MAX_EQ_ULONG_MAX=-1 fi - - dnl Check for declarations of anything we want to poison if the - dnl corresponding gnulib module is not in use. - gl_WARN_ON_USE_PREPARE([[#include - ]], [imaxabs imaxdiv strtoimax strtoumax]) ]) # Define the symbol $1 to be 1 if the condition is true, 0 otherwise. @@ -299,4 +147,11 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS], HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) + REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) + INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) + INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX]) + PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN]) + PRIPTR_PREFIX=__PRIPTR_PREFIX; AC_SUBST([PRIPTR_PREFIX]) + UINT32_MAX_LT_UINTMAX_MAX=1; AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX]) + UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; AC_SUBST([UINT64_MAX_EQ_ULONG_MAX]) ]) diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4 index f10fd54f..5f05ac58 100644 --- a/m4/inttypes_h.m4 +++ b/m4/inttypes_h.m4 @@ -1,5 +1,5 @@ # inttypes_h.m4 serial 10 -dnl Copyright (C) 1997-2004, 2006, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/iswblank.m4 b/m4/iswblank.m4 index 38641ffb..b7364970 100644 --- a/m4/iswblank.m4 +++ b/m4/iswblank.m4 @@ -1,5 +1,5 @@ -# iswblank.m4 serial 2 -dnl Copyright (C) 2011 Free Software Foundation, Inc. +# iswblank.m4 serial 4 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,7 +11,17 @@ AC_DEFUN([gl_FUNC_ISWBLANK], dnl Persuade glibc to declare iswblank(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([iswblank]) - AC_CHECK_DECLS_ONCE([iswblank]) + AC_CHECK_DECLS([iswblank], , , [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include +#include +]]) if test $ac_cv_func_iswblank = no; then HAVE_ISWBLANK=0 if test $ac_cv_have_decl_iswblank = yes; then @@ -24,7 +34,7 @@ AC_DEFUN([gl_FUNC_ISWBLANK], else if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then dnl Redefine only iswblank. - AC_LIBOBJ([iswblank]) + : fi fi diff --git a/m4/langinfo_h.m4 b/m4/langinfo_h.m4 index 4cced8a5..73bef8bc 100644 --- a/m4/langinfo_h.m4 +++ b/m4/langinfo_h.m4 @@ -1,5 +1,5 @@ # langinfo_h.m4 serial 7 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/largefile.m4 b/m4/largefile.m4 new file mode 100644 index 00000000..1e605e3d --- /dev/null +++ b/m4/largefile.m4 @@ -0,0 +1,146 @@ +# Enable large files on systems where this is not the default. + +# Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# The following implementation works around a problem in autoconf <= 2.69; +# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, +# or configures them incorrectly in some cases. +m4_version_prereq([2.70], [] ,[ + +# _AC_SYS_LARGEFILE_TEST_INCLUDES +# ------------------------------- +m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], +[@%:@include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl +]) + + +# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, +# CACHE-VAR, +# DESCRIPTION, +# PROLOGUE, [FUNCTION-BODY]) +# -------------------------------------------------------- +m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], +[AC_CACHE_CHECK([for $1 value needed for large files], [$3], +[while :; do + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( + [AC_LANG_PROGRAM([$5], [$6])], + [$3=no; break]) + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( + [AC_LANG_PROGRAM([@%:@define $1 $2 +$5], [$6])], + [$3=$2; break]) + $3=unknown + break +done]) +case $$3 in #( + no | unknown) ;; + *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; +esac +rm -rf conftest*[]dnl +])# _AC_SYS_LARGEFILE_MACRO_VALUE + + +# AC_SYS_LARGEFILE +# ---------------- +# By default, many hosts won't let programs access large files; +# one must use special compiler options to get large-file access to work. +# For more details about this brain damage please see: +# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html +AC_DEFUN([AC_SYS_LARGEFILE], +[AC_ARG_ENABLE(largefile, + [ --disable-largefile omit support for large files]) +if test "$enable_largefile" != no; then + + AC_CACHE_CHECK([for special C compiler options needed for large files], + ac_cv_sys_largefile_CC, + [ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) + AC_COMPILE_IFELSE([], [break]) + CC="$CC -n32" + AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi]) + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, + ac_cv_sys_file_offset_bits, + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + if test $ac_cv_sys_file_offset_bits = unknown; then + _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, + ac_cv_sys_large_files, + [Define for large files, on AIX-style hosts.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + fi + + AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1], + [Enable large inode numbers on Mac OS X 10.5.]) +fi +])# AC_SYS_LARGEFILE +])# m4_version_prereq 2.70 + +# Enable large files on systems where this is implemented by Gnulib, not by the +# system headers. +# Set the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE if Gnulib +# overrides ensure that off_t or 'struct size.st_size' are 64-bit, respectively. +AC_DEFUN([gl_LARGEFILE], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + dnl Native Windows. + dnl mingw64 defines off_t to a 64-bit type already, if + dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE. + AC_CACHE_CHECK([for 64-bit off_t], [gl_cv_type_off_t_64], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; + ]], + [[]])], + [gl_cv_type_off_t_64=yes], [gl_cv_type_off_t_64=no]) + ]) + if test $gl_cv_type_off_t_64 = no; then + WINDOWS_64_BIT_OFF_T=1 + else + WINDOWS_64_BIT_OFF_T=0 + fi + dnl But all native Windows platforms (including mingw64) have a 32-bit + dnl st_size member in 'struct stat'. + WINDOWS_64_BIT_ST_SIZE=1 + ;; + *) + dnl Nothing to do on gnulib's side. + dnl A 64-bit off_t is + dnl - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX, + dnl OSF/1, Cygwin, + dnl - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on + dnl glibc, HP-UX, Solaris, + dnl - enabled by _LARGE_FILES=1 (ensured by AC_SYS_LARGEFILE) on AIX, + dnl - impossible to achieve on Minix 3.1.8. + WINDOWS_64_BIT_OFF_T=0 + WINDOWS_64_BIT_ST_SIZE=0 + ;; + esac +]) diff --git a/m4/lchown.m4 b/m4/lchown.m4 index b567d81b..9401d9f4 100644 --- a/m4/lchown.m4 +++ b/m4/lchown.m4 @@ -1,7 +1,7 @@ -# serial 15 +# serial 17 # Determine whether we need the lchown wrapper. -dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2011 Free Software Foundation, +dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -17,13 +17,22 @@ AC_DEFUN([gl_FUNC_LCHOWN], AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_CHOWN]) AC_CHECK_FUNCS_ONCE([lchmod]) - AC_REPLACE_FUNCS([lchown]) + AC_CHECK_FUNCS([lchown]) if test $ac_cv_func_lchown = no; then HAVE_LCHOWN=0 - elif test "$gl_cv_func_chown_slash_works" != yes \ - || test "$gl_cv_func_chown_ctime_works" != yes; then + else dnl Trailing slash and ctime bugs in chown also occur in lchown. - AC_LIBOBJ([lchown]) - REPLACE_LCHOWN=1 + case "$gl_cv_func_chown_slash_works" in + *yes) ;; + *) + REPLACE_LCHOWN=1 + ;; + esac + case "$gl_cv_func_chown_ctime_works" in + *yes) ;; + *) + REPLACE_LCHOWN=1 + ;; + esac fi ]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 index ae003f7c..c145e478 100644 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 @@ -1,33 +1,39 @@ -# lib-ld.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 1996-2003, 2009-2011 Free Software Foundation, Inc. +# lib-ld.m4 serial 6 +dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +[# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 /dev/null 2>&1; do + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" @@ -78,23 +85,26 @@ else fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do + IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + case `"$acl_cv_path_LD" -v 2>&1 decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; +#endif return 0; } changequote([,])dnl @@ -80,7 +82,7 @@ changequote([,])dnl # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) - # Test for the native Win32 locale name. + # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else @@ -90,7 +92,7 @@ changequote([,])dnl ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. @@ -152,9 +154,9 @@ int main () { #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, + /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) @@ -163,7 +165,7 @@ int main () { if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, @@ -189,10 +191,12 @@ int main () { || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif +#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; +#endif return 0; } changequote([,])dnl @@ -206,7 +210,7 @@ changequote([,])dnl # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) - # Test for the hypothetical native Win32 locale name. + # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else @@ -216,7 +220,7 @@ changequote([,])dnl ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. diff --git a/m4/locale-ja.m4 b/m4/locale-ja.m4 index d44c2c80..132a3e77 100644 --- a/m4/locale-ja.m4 +++ b/m4/locale-ja.m4 @@ -1,5 +1,5 @@ -# locale-ja.m4 serial 9 -dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc. +# locale-ja.m4 serial 12 +dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -28,9 +28,9 @@ int main () const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, + /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) @@ -39,7 +39,7 @@ int main () if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, @@ -84,13 +84,14 @@ changequote([,])dnl # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) - # Note that on native Win32, the Japanese locale is Japanese_Japan.932, - # and CP932 is very different from EUC-JP, so we cannot use it here. + # Note that on native Windows, the Japanese locale is + # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we + # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. diff --git a/m4/locale-zh.m4 b/m4/locale-zh.m4 index e03f91f0..4eed73f4 100644 --- a/m4/locale-zh.m4 +++ b/m4/locale-zh.m4 @@ -1,5 +1,5 @@ -# locale-zh.m4 serial 8 -dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc. +# locale-zh.m4 serial 12 +dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -29,9 +29,9 @@ int main () const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ - /* On native Win32, setlocale(category, "") looks at the system settings, + /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such - as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE + as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) @@ -40,7 +40,7 @@ int main () if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". - On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) + On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, @@ -85,7 +85,7 @@ changequote([,])dnl # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) - # Test for the hypothetical native Win32 locale name. + # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else @@ -93,9 +93,15 @@ changequote([,])dnl gt_cv_locale_zh_CN=none fi ;; + solaris2.8) + # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are + # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. + # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. + gt_cv_locale_zh_CN=none + ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 new file mode 100644 index 00000000..8bd12e80 --- /dev/null +++ b/m4/locale_h.m4 @@ -0,0 +1,122 @@ +# locale_h.m4 serial 19 +dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_LOCALE_H], +[ + dnl Use AC_REQUIRE here, so that the default behavior below is expanded + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + + dnl Persuade glibc to define locale_t and the int_p_*, int_n_* + dnl members of 'struct lconv'. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + dnl If is replaced, then must also be replaced. + AC_REQUIRE([gl_STDDEF_H]) + + dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' + dnl only if _LCONV_C99 is defined. + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + solaris*) + AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.]) + ;; + esac + + AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], + [gl_cv_header_locale_h_posix2001], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + int x = LC_MESSAGES; + int y = sizeof (((struct lconv *) 0)->decimal_point);]], + [[]])], + [gl_cv_header_locale_h_posix2001=yes], + [gl_cv_header_locale_h_posix2001=no])]) + + dnl Check for . + AC_CHECK_HEADERS_ONCE([xlocale.h]) + if test $ac_cv_header_xlocale_h = yes; then + HAVE_XLOCALE_H=1 + dnl Check whether use of locale_t requires inclusion of , + dnl e.g. on Mac OS X 10.5. If does not define locale_t by + dnl itself, we assume that will do so. + AC_CACHE_CHECK([whether locale.h defines locale_t], + [gl_cv_header_locale_has_locale_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + locale_t x;]], + [[]])], + [gl_cv_header_locale_has_locale_t=yes], + [gl_cv_header_locale_has_locale_t=no]) + ]) + if test $gl_cv_header_locale_has_locale_t = yes; then + gl_cv_header_locale_h_needs_xlocale_h=no + else + gl_cv_header_locale_h_needs_xlocale_h=yes + fi + else + HAVE_XLOCALE_H=0 + gl_cv_header_locale_h_needs_xlocale_h=no + fi + AC_SUBST([HAVE_XLOCALE_H]) + + dnl Check whether 'struct lconv' is complete. + dnl Bionic libc's 'struct lconv' is just a dummy. + dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, + dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members. + AC_CACHE_CHECK([whether struct lconv is properly defined], + [gl_cv_sys_struct_lconv_ok], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + struct lconv l; + int x = sizeof (l.decimal_point); + int y = sizeof (l.int_p_cs_precedes);]], + [[]])], + [gl_cv_sys_struct_lconv_ok=yes], + [gl_cv_sys_struct_lconv_ok=no]) + ]) + if test $gl_cv_sys_struct_lconv_ok = no; then + REPLACE_STRUCT_LCONV=1 + fi + + dnl is always overridden, because of GNULIB_POSIXCHECK. + gl_NEXT_HEADERS([locale.h]) + + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[#include +/* Some systems provide declarations in a non-standard header. */ +#if HAVE_XLOCALE_H +# include +#endif + ]], + [setlocale duplocale]) +]) + +AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) +]) + +AC_DEFUN([gl_LOCALE_H_DEFAULTS], +[ + GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) + GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) + GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) + REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) + REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) + REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) + REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) +]) diff --git a/m4/localeconv.m4 b/m4/localeconv.m4 new file mode 100644 index 00000000..b8bb5964 --- /dev/null +++ b/m4/localeconv.m4 @@ -0,0 +1,22 @@ +# localeconv.m4 serial 1 +dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_LOCALECONV], +[ + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + AC_REQUIRE([gl_LOCALE_H]) + + if test $REPLACE_STRUCT_LCONV = 1; then + REPLACE_LOCALECONV=1 + fi +]) + +# Prerequisites of lib/localeconv.c. +AC_DEFUN([gl_PREREQ_LOCALECONV], +[ + AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [], + [[#include ]]) +]) diff --git a/m4/longlong.m4 b/m4/longlong.m4 index aed816cf..3af6ab5a 100644 --- a/m4/longlong.m4 +++ b/m4/longlong.m4 @@ -1,5 +1,5 @@ -# longlong.m4 serial 16 -dnl Copyright (C) 1999-2007, 2009-2011 Free Software Foundation, Inc. +# longlong.m4 serial 17 +dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -51,7 +51,7 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT], fi]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], [1], - [Define to 1 if the system has the type `long long int'.]) + [Define to 1 if the system has the type 'long long int'.]) fi ]) @@ -77,7 +77,7 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], fi]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], - [Define to 1 if the system has the type `unsigned long long int'.]) + [Define to 1 if the system has the type 'unsigned long long int'.]) fi ]) diff --git a/m4/lseek.m4 b/m4/lseek.m4 index f6452f6f..df9302af 100644 --- a/m4/lseek.m4 +++ b/m4/lseek.m4 @@ -1,5 +1,5 @@ -# lseek.m4 serial 6 -dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. +# lseek.m4 serial 10 +dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,43 +7,65 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LSEEK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_CC]) + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], - [if test $cross_compiling = no; then - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + [case "$host_os" in + mingw*) + dnl Native Windows. + dnl The result of lseek (fd, (off_t)0, SEEK_CUR) or + dnl SetFilePointer(handle, 0, NULL, FILE_CURRENT) + dnl for a pipe depends on the environment: In a Cygwin 1.5 + dnl environment it succeeds (wrong); in a Cygwin 1.7 environment + dnl it fails with a wrong errno value. + gl_cv_func_lseek_pipe=no + ;; + *) + if test $cross_compiling = no; then + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include /* for off_t */ #include /* for SEEK_CUR */ -#include ]], [[ +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif +]], [[ /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; ]])], - [if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && test 1 = "`echo hi \ - | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi], - [gl_cv_func_lseek_pipe=no]) - else - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ -/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ + [if test -s conftest$ac_exeext \ + && ./conftest$ac_exeext < conftest.$ac_ext \ + && test 1 = "`echo hi \ + | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then + gl_cv_func_lseek_pipe=yes + else + gl_cv_func_lseek_pipe=no + fi + ], + [gl_cv_func_lseek_pipe=no]) + else + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[ +#if defined __BEOS__ +/* BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif]])], - [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) - fi]) + [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) + fi + ;; + esac + ]) if test $gl_cv_func_lseek_pipe = no; then - gl_REPLACE_LSEEK + REPLACE_LSEEK=1 + AC_DEFINE([LSEEK_PIPE_BROKEN], [1], + [Define to 1 if lseek does not detect pipes.]) fi -]) -AC_DEFUN([gl_REPLACE_LSEEK], -[ - AC_LIBOBJ([lseek]) - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - REPLACE_LSEEK=1 - AC_DEFINE([LSEEK_PIPE_BROKEN], [1], - [Define to 1 if lseek does not detect pipes.]) + AC_REQUIRE([gl_SYS_TYPES_H]) + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_LSEEK=1 + fi ]) diff --git a/m4/lstat.m4 b/m4/lstat.m4 index b9b22a6b..5f4db64a 100644 --- a/m4/lstat.m4 +++ b/m4/lstat.m4 @@ -1,6 +1,6 @@ -# serial 21 +# serial 26 -# Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc. +# Copyright (C) 1997-2001, 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -15,24 +15,26 @@ AC_DEFUN([gl_FUNC_LSTAT], dnl "#define lstat stat", and lstat.c is a no-op. AC_CHECK_FUNCS_ONCE([lstat]) if test $ac_cv_func_lstat = yes; then - AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) - if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then - dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ([lstat]). - REPLACE_LSTAT=1 - fi - # Prerequisites of lib/lstat.c. - AC_REQUIRE([AC_C_INLINE]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *no) + REPLACE_LSTAT=1 + ;; + esac else HAVE_LSTAT=0 fi ]) -# Redefine AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, because it is no longer -# maintained in Autoconf. -AC_DEFUN([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], +# Prerequisites of lib/lstat.c. +AC_DEFUN([gl_PREREQ_LSTAT], [:]) + +AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], [ + dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it + dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ. AC_CACHE_CHECK([whether lstat correctly handles trailing slash], - [ac_cv_func_lstat_dereferences_slashed_symlink], + [gl_cv_func_lstat_dereferences_slashed_symlink], [rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then @@ -45,25 +47,27 @@ AC_DEFUN([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ]])], - [ac_cv_func_lstat_dereferences_slashed_symlink=yes], - [ac_cv_func_lstat_dereferences_slashed_symlink=no], - [# When cross-compiling, be pessimistic so we will end up using the - # replacement version of lstat that checks for trailing slashes and - # calls lstat a second time when necessary. - ac_cv_func_lstat_dereferences_slashed_symlink=no + [gl_cv_func_lstat_dereferences_slashed_symlink=yes], + [gl_cv_func_lstat_dereferences_slashed_symlink=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac ]) else # If the 'ln -s' command failed, then we probably don't even # have an lstat function. - ac_cv_func_lstat_dereferences_slashed_symlink=no + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" fi rm -f conftest.sym conftest.file ]) - test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && - AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1], - [Define to 1 if `lstat' dereferences a symlink specified - with a trailing slash.]) - if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then - AC_LIBOBJ([lstat]) - fi + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *yes) + AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1], + [Define to 1 if 'lstat' dereferences a symlink specified + with a trailing slash.]) + ;; + esac ]) diff --git a/m4/malloc.m4 b/m4/malloc.m4 index 80944445..4b24a0b1 100644 --- a/m4/malloc.m4 +++ b/m4/malloc.m4 @@ -1,9 +1,47 @@ -# malloc.m4 serial 12 -dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. +# malloc.m4 serial 14 +dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +m4_version_prereq([2.70], [] ,[ + +# This is taken from the following Autoconf patch: +# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 +AC_DEFUN([_AC_FUNC_MALLOC_IF], +[ + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles + AC_CHECK_HEADERS([stdlib.h]) + AC_CACHE_CHECK([for GNU libc compatible malloc], + [ac_cv_func_malloc_0_nonnull], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H + # include + #else + char *malloc (); + #endif + ]], + [[return ! malloc (0);]]) + ], + [ac_cv_func_malloc_0_nonnull=yes], + [ac_cv_func_malloc_0_nonnull=no], + [case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* \ + | hpux* | solaris* | cygwin* | mingw*) + ac_cv_func_malloc_0_nonnull=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_malloc_0_nonnull=no ;; + esac + ]) + ]) + AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2]) +])# _AC_FUNC_MALLOC_IF + +]) + # gl_FUNC_MALLOC_GNU # ------------------ # Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if @@ -17,7 +55,7 @@ AC_DEFUN([gl_FUNC_MALLOC_GNU], [Define to 1 if your system has a GNU libc compatible 'malloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_MALLOC_GNU], [0]) - gl_REPLACE_MALLOC + REPLACE_MALLOC=1 ]) ]) @@ -33,7 +71,7 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX], AC_DEFINE([HAVE_MALLOC_POSIX], [1], [Define if the 'malloc' function is POSIX compliant.]) else - gl_REPLACE_MALLOC + REPLACE_MALLOC=1 fi ]) @@ -58,9 +96,3 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX], [gl_cv_func_malloc_posix=no]) ]) ]) - -AC_DEFUN([gl_REPLACE_MALLOC], -[ - AC_LIBOBJ([malloc]) - REPLACE_MALLOC=1 -]) diff --git a/m4/malloca.m4 b/m4/malloca.m4 index aec43f58..791ce10d 100644 --- a/m4/malloca.m4 +++ b/m4/malloca.m4 @@ -1,5 +1,5 @@ # malloca.m4 serial 1 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2011 Free Software Foundation, +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4 new file mode 100644 index 00000000..be6d4c91 --- /dev/null +++ b/m4/manywarnings.m4 @@ -0,0 +1,222 @@ +# manywarnings.m4 serial 5 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson + +# gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR) +# -------------------------------------------------- +# Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR. +# Elements separated by whitespace. In set logic terms, the function +# does OUTVAR = LISTVAR \ REMOVEVAR. +AC_DEFUN([gl_MANYWARN_COMPLEMENT], +[ + gl_warn_set= + set x $2; shift + for gl_warn_item + do + case " $3 " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + $1=$gl_warn_set +]) + +# gl_MANYWARN_ALL_GCC(VARIABLE) +# ----------------------------- +# Add all documented GCC warning parameters to variable VARIABLE. +# Note that you need to test them using gl_WARN_ADD if you want to +# make sure your gcc understands it. +AC_DEFUN([gl_MANYWARN_ALL_GCC], +[ + dnl First, check for some issues that only occur when combining multiple + dnl gcc warning categories. + AC_REQUIRE([AC_PROG_CC]) + if test -n "$GCC"; then + + dnl Check if -W -Werror -Wno-missing-field-initializers is supported + dnl with the current $CC $CFLAGS $CPPFLAGS. + AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported]) + AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_nomfi_supported=yes], + [gl_cv_cc_nomfi_supported=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_nomfi_supported]) + + if test "$gl_cv_cc_nomfi_supported" = yes; then + dnl Now check whether -Wno-missing-field-initializers is needed + dnl for the { 0, } construct. + AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed]) + AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[void f (void) + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + } + ]], + [[]])], + [gl_cv_cc_nomfi_needed=no], + [gl_cv_cc_nomfi_needed=yes]) + CFLAGS="$gl_save_CFLAGS" + ]) + AC_MSG_RESULT([$gl_cv_cc_nomfi_needed]) + fi + + dnl Next, check if -Werror -Wuninitialized is useful with the + dnl user's choice of $CFLAGS; some versions of gcc warn that it + dnl has no effect if -O is not also used + AC_MSG_CHECKING([whether -Wuninitialized is supported]) + AC_CACHE_VAL([gl_cv_cc_uninitialized_supported], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_uninitialized_supported=yes], + [gl_cv_cc_uninitialized_supported=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_uninitialized_supported]) + + fi + + # List all gcc warning categories. + gl_manywarn_set= + for gl_manywarn_item in \ + -W \ + -Wabi \ + -Waddress \ + -Waggressive-loop-optimizations \ + -Wall \ + -Warray-bounds \ + -Wattributes \ + -Wbad-function-cast \ + -Wbuiltin-macro-redefined \ + -Wcast-align \ + -Wchar-subscripts \ + -Wclobbered \ + -Wcomment \ + -Wcomments \ + -Wcoverage-mismatch \ + -Wcpp \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdisabled-optimization \ + -Wdiv-by-zero \ + -Wdouble-promotion \ + -Wempty-body \ + -Wendif-labels \ + -Wenum-compare \ + -Wextra \ + -Wformat-contains-nul \ + -Wformat-extra-args \ + -Wformat-nonliteral \ + -Wformat-security \ + -Wformat-y2k \ + -Wformat-zero-length \ + -Wfree-nonheap-object \ + -Wignored-qualifiers \ + -Wimplicit \ + -Wimplicit-function-declaration \ + -Wimplicit-int \ + -Winit-self \ + -Winline \ + -Wint-to-pointer-cast \ + -Winvalid-memory-model \ + -Winvalid-pch \ + -Wjump-misses-init \ + -Wlogical-op \ + -Wmain \ + -Wmaybe-uninitialized \ + -Wmissing-braces \ + -Wmissing-declarations \ + -Wmissing-field-initializers \ + -Wmissing-include-dirs \ + -Wmissing-parameter-type \ + -Wmissing-prototypes \ + -Wmudflap \ + -Wmultichar \ + -Wnarrowing \ + -Wnested-externs \ + -Wnonnull \ + -Wnormalized=nfc \ + -Wold-style-declaration \ + -Wold-style-definition \ + -Woverflow \ + -Woverlength-strings \ + -Woverride-init \ + -Wpacked \ + -Wpacked-bitfield-compat \ + -Wparentheses \ + -Wpointer-arith \ + -Wpointer-sign \ + -Wpointer-to-int-cast \ + -Wpragmas \ + -Wreturn-local-addr \ + -Wreturn-type \ + -Wsequence-point \ + -Wshadow \ + -Wsizeof-pointer-memaccess \ + -Wstack-protector \ + -Wstrict-aliasing \ + -Wstrict-overflow \ + -Wstrict-prototypes \ + -Wsuggest-attribute=const \ + -Wsuggest-attribute=format \ + -Wsuggest-attribute=noreturn \ + -Wsuggest-attribute=pure \ + -Wswitch \ + -Wswitch-default \ + -Wsync-nand \ + -Wsystem-headers \ + -Wtrampolines \ + -Wtrigraphs \ + -Wtype-limits \ + -Wuninitialized \ + -Wunknown-pragmas \ + -Wunsafe-loop-optimizations \ + -Wunused \ + -Wunused-but-set-parameter \ + -Wunused-but-set-variable \ + -Wunused-function \ + -Wunused-label \ + -Wunused-local-typedefs \ + -Wunused-macros \ + -Wunused-parameter \ + -Wunused-result \ + -Wunused-value \ + -Wunused-variable \ + -Wvarargs \ + -Wvariadic-macros \ + -Wvector-operation-performance \ + -Wvla \ + -Wvolatile-register-var \ + -Wwrite-strings \ + \ + ; do + gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + done + + # Disable specific options as needed. + if test "$gl_cv_cc_nomfi_needed" = yes; then + gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + fi + + if test "$gl_cv_cc_uninitialized_supported" = no; then + gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + fi + + $1=$gl_manywarn_set +]) diff --git a/m4/mbchar.m4 b/m4/mbchar.m4 index 763dd81e..b18ecef1 100644 --- a/m4/mbchar.m4 +++ b/m4/mbchar.m4 @@ -1,5 +1,5 @@ -# mbchar.m4 serial 8 -dnl Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc. +# mbchar.m4 serial 9 +dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,5 +10,4 @@ dnl From Bruno Haible. AC_DEFUN([gl_MBCHAR], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([AC_C_INLINE]) ]) diff --git a/m4/mbiter.m4 b/m4/mbiter.m4 index 8582b30b..9b5fceda 100644 --- a/m4/mbiter.m4 +++ b/m4/mbiter.m4 @@ -1,5 +1,5 @@ -# mbiter.m4 serial 6 -dnl Copyright (C) 2005, 2008-2011 Free Software Foundation, Inc. +# mbiter.m4 serial 7 +dnl Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,7 +9,6 @@ dnl From Bruno Haible. AC_DEFUN([gl_MBITER], [ - AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) : ]) diff --git a/m4/mbrtowc.m4 b/m4/mbrtowc.m4 index c3538629..4c9f3886 100644 --- a/m4/mbrtowc.m4 +++ b/m4/mbrtowc.m4 @@ -1,5 +1,5 @@ -# mbrtowc.m4 serial 22 -dnl Copyright (C) 2001-2002, 2004-2005, 2008-2011 Free Software Foundation, +# mbrtowc.m4 serial 25 +dnl Copyright (C) 2001-2002, 2004-2005, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -15,6 +15,22 @@ AC_DEFUN([gl_FUNC_MBRTOWC], AC_CHECK_FUNCS_ONCE([mbrtowc]) if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 + AC_CHECK_DECLS([mbrtowc],,, [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +]]) + if test $ac_cv_have_decl_mbrtowc = yes; then + dnl On Minix 3.1.8, the system's declares mbrtowc() although + dnl it does not have the function. Avoid a collision with gnulib's + dnl replacement. + REPLACE_MBRTOWC=1 + fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBRTOWC=1 @@ -53,11 +69,6 @@ AC_DEFUN([gl_FUNC_MBRTOWC], esac fi fi - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - gl_REPLACE_WCHAR_H - AC_LIBOBJ([mbrtowc]) - gl_PREREQ_MBRTOWC - fi ]) dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that @@ -88,9 +99,6 @@ AC_DEFUN([gl_MBSTATE_T_BROKEN], else REPLACE_MBSTATE_T=1 fi - if test $REPLACE_MBSTATE_T = 1; then - gl_REPLACE_WCHAR_H - fi ]) dnl Test whether mbrtowc puts the state into non-initial state when parsing an diff --git a/m4/mbsinit.m4 b/m4/mbsinit.m4 index 47e2d14a..2e6d0921 100644 --- a/m4/mbsinit.m4 +++ b/m4/mbsinit.m4 @@ -1,5 +1,5 @@ -# mbsinit.m4 serial 5 -dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc. +# mbsinit.m4 serial 8 +dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,6 +15,22 @@ AC_DEFUN([gl_FUNC_MBSINIT], AC_CHECK_FUNCS_ONCE([mbsinit]) if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 + AC_CHECK_DECLS([mbsinit],,, [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +]]) + if test $ac_cv_have_decl_mbsinit = yes; then + dnl On Minix 3.1.8, the system's declares mbsinit() although + dnl it does not have the function. Avoid a collision with gnulib's + dnl replacement. + REPLACE_MBSINIT=1 + fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSINIT=1 @@ -27,11 +43,6 @@ AC_DEFUN([gl_FUNC_MBSINIT], esac fi fi - if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then - gl_REPLACE_WCHAR_H - AC_LIBOBJ([mbsinit]) - gl_PREREQ_MBSINIT - fi ]) # Prerequisites of lib/mbsinit.c. diff --git a/m4/mbsrtowcs.m4 b/m4/mbsrtowcs.m4 index 1fe8dcf2..c4934c28 100644 --- a/m4/mbsrtowcs.m4 +++ b/m4/mbsrtowcs.m4 @@ -1,5 +1,5 @@ -# mbsrtowcs.m4 serial 10 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# mbsrtowcs.m4 serial 13 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,6 +14,22 @@ AC_DEFUN([gl_FUNC_MBSRTOWCS], AC_CHECK_FUNCS_ONCE([mbsrtowcs]) if test $ac_cv_func_mbsrtowcs = no; then HAVE_MBSRTOWCS=0 + AC_CHECK_DECLS([mbsrtowcs],,, [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +]]) + if test $ac_cv_have_decl_mbsrtowcs = yes; then + dnl On Minix 3.1.8, the system's declares mbsrtowcs() although + dnl it does not have the function. Avoid a collision with gnulib's + dnl replacement. + REPLACE_MBSRTOWCS=1 + fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSRTOWCS=1 @@ -25,12 +41,6 @@ AC_DEFUN([gl_FUNC_MBSRTOWCS], esac fi fi - if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then - gl_REPLACE_WCHAR_H - AC_LIBOBJ([mbsrtowcs]) - AC_LIBOBJ([mbsrtowcs-state]) - gl_PREREQ_MBSRTOWCS - fi ]) dnl Test whether mbsrtowcs works. diff --git a/m4/mbstate_t.m4 b/m4/mbstate_t.m4 index f7c46b8c..ed001179 100644 --- a/m4/mbstate_t.m4 +++ b/m4/mbstate_t.m4 @@ -1,5 +1,5 @@ # mbstate_t.m4 serial 13 -dnl Copyright (C) 2000-2002, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2000-2002, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/mbtowc.m4 b/m4/mbtowc.m4 index 9215892f..e4794619 100644 --- a/m4/mbtowc.m4 +++ b/m4/mbtowc.m4 @@ -1,5 +1,5 @@ -# mbtowc.m4 serial 1 -dnl Copyright (C) 2011 Free Software Foundation, Inc. +# mbtowc.m4 serial 2 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,10 +11,6 @@ AC_DEFUN([gl_FUNC_MBTOWC], if false; then REPLACE_MBTOWC=1 fi - if test $REPLACE_MBTOWC = 1; then - AC_LIBOBJ([mbtowc]) - gl_PREREQ_MBTOWC - fi ]) # Prerequisites of lib/mbtowc.c. diff --git a/m4/memchr.m4 b/m4/memchr.m4 index 3c2b3139..2d8abe75 100644 --- a/m4/memchr.m4 +++ b/m4/memchr.m4 @@ -1,5 +1,5 @@ -# memchr.m4 serial 10 -dnl Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc. +# memchr.m4 serial 12 +dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,10 +11,16 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) - dnl These days, we assume memchr is present. But just in case... AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([memchr]) - if test $ac_cv_func_memchr = yes; then + m4_ifdef([gl_FUNC_MEMCHR_OBSOLETE], [ + dnl These days, we assume memchr is present. But if support for old + dnl platforms is desired: + AC_CHECK_FUNCS_ONCE([memchr]) + if test $ac_cv_func_memchr = no; then + HAVE_MEMCHR=0 + fi + ]) + if test $HAVE_MEMCHR = 1; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 # http://bugzilla.redhat.com/499689 @@ -73,12 +79,6 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], if test "$gl_cv_func_memchr_works" != yes; then REPLACE_MEMCHR=1 fi - else - HAVE_MEMCHR=0 - fi - if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then - AC_LIBOBJ([memchr]) - gl_PREREQ_MEMCHR fi ]) diff --git a/m4/mempcpy.m4 b/m4/mempcpy.m4 index cc36900a..a48f2d10 100644 --- a/m4/mempcpy.m4 +++ b/m4/mempcpy.m4 @@ -1,5 +1,5 @@ -# mempcpy.m4 serial 10 -dnl Copyright (C) 2003-2004, 2006-2007, 2009-2011 Free Software Foundation, +# mempcpy.m4 serial 11 +dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -14,10 +14,9 @@ AC_DEFUN([gl_FUNC_MEMPCPY], AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS([mempcpy]) + AC_CHECK_FUNCS([mempcpy]) if test $ac_cv_func_mempcpy = no; then HAVE_MEMPCPY=0 - gl_PREREQ_MEMPCPY fi ]) diff --git a/m4/memrchr.m4 b/m4/memrchr.m4 index 90a89440..5920f574 100644 --- a/m4/memrchr.m4 +++ b/m4/memrchr.m4 @@ -1,5 +1,5 @@ -# memrchr.m4 serial 9 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation, +# memrchr.m4 serial 10 +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -16,10 +16,7 @@ AC_DEFUN([gl_FUNC_MEMRCHR], HAVE_DECL_MEMRCHR=0 fi - AC_REPLACE_FUNCS([memrchr]) - if test $ac_cv_func_memrchr = no; then - gl_PREREQ_MEMRCHR - fi + AC_CHECK_FUNCS([memrchr]) ]) # Prerequisites of lib/memrchr.c. diff --git a/m4/mkdir.m4 b/m4/mkdir.m4 index b6fd09de..bcbce18d 100644 --- a/m4/mkdir.m4 +++ b/m4/mkdir.m4 @@ -1,6 +1,6 @@ -# serial 9 +# serial 11 -# Copyright (C) 2001, 2003-2004, 2006, 2008-2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,6 +11,7 @@ AC_DEFUN([gl_FUNC_MKDIR], [dnl AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether mkdir handles trailing slash], [gl_cv_func_mkdir_trailing_slash_works], @@ -21,14 +22,22 @@ AC_DEFUN([gl_FUNC_MKDIR], ]], [return mkdir ("conftest.dir/", 0700);])], [gl_cv_func_mkdir_trailing_slash_works=yes], [gl_cv_func_mkdir_trailing_slash_works=no], - [gl_cv_func_mkdir_trailing_slash_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; + esac + ]) rm -rf conftest.dir ] ) - if test "$gl_cv_func_mkdir_trailing_slash_works" != yes; then - REPLACE_MKDIR=1 - AC_LIBOBJ([mkdir]) - fi + case "$gl_cv_func_mkdir_trailing_slash_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 + ;; + esac AC_CACHE_CHECK([whether mkdir handles trailing dot], [gl_cv_func_mkdir_trailing_dot_works], @@ -39,14 +48,22 @@ AC_DEFUN([gl_FUNC_MKDIR], ]], [return !mkdir ("conftest.dir/./", 0700);])], [gl_cv_func_mkdir_trailing_dot_works=yes], [gl_cv_func_mkdir_trailing_dot_works=no], - [gl_cv_func_mkdir_trailing_dot_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; + esac + ]) rm -rf conftest.dir ] ) - if test "$gl_cv_func_mkdir_trailing_dot_works" != yes; then - REPLACE_MKDIR=1 - AC_LIBOBJ([mkdir]) - AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly - creates a directory given with a trailing dot component.]) - fi + case "$gl_cv_func_mkdir_trailing_dot_works" in + *yes) ;; + *) + REPLACE_MKDIR=1 + AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly + creates a directory given with a trailing dot component.]) + ;; + esac ]) diff --git a/m4/mkdirat.m4 b/m4/mkdirat.m4 new file mode 100644 index 00000000..d22604ac --- /dev/null +++ b/m4/mkdirat.m4 @@ -0,0 +1,23 @@ +# mkdirat.m4 serial 1 +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +AC_DEFUN([gl_FUNC_MKDIRAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([mkdirat]) + if test $ac_cv_func_mkdirat != yes; then + HAVE_MKDIRAT=0 + fi +]) + +# Prerequisite of mkdirat's declaration and of lib/mkdirat.c. +AC_DEFUN([gl_PREREQ_MKDIRAT], +[ + AC_REQUIRE([AC_TYPE_MODE_T]) +]) diff --git a/m4/mkdtemp.m4 b/m4/mkdtemp.m4 index 0ef7dfb4..b7c0a61b 100644 --- a/m4/mkdtemp.m4 +++ b/m4/mkdtemp.m4 @@ -1,17 +1,16 @@ -# mkdtemp.m4 serial 6 -dnl Copyright (C) 2001-2003, 2006-2007, 2009-2011 Free Software Foundation, +# mkdtemp.m4 serial 8 +dnl Copyright (C) 2001-2003, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN([gt_FUNC_MKDTEMP], +AC_DEFUN([gl_FUNC_MKDTEMP], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_REPLACE_FUNCS([mkdtemp]) + AC_CHECK_FUNCS([mkdtemp]) if test $ac_cv_func_mkdtemp = no; then HAVE_MKDTEMP=0 - gl_PREREQ_MKDTEMP fi ]) diff --git a/m4/mkfifo.m4 b/m4/mkfifo.m4 index 4475e2ef..e571c64e 100644 --- a/m4/mkfifo.m4 +++ b/m4/mkfifo.m4 @@ -1,7 +1,7 @@ -# serial 2 +# serial 4 # See if we need to provide mkfifo replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,10 +11,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MKFIFO], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([mkfifo]) if test $ac_cv_func_mkfifo = no; then HAVE_MKFIFO=0 - AC_LIBOBJ([mkfifo]) else dnl Check for Solaris 9 and FreeBSD bug with trailing slash. AC_CHECK_FUNCS_ONCE([lstat]) @@ -38,13 +38,21 @@ AC_DEFUN([gl_FUNC_MKFIFO], return result; ]])], [gl_cv_func_mkfifo_works=yes], [gl_cv_func_mkfifo_works=no], - [gl_cv_func_mkfifo_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mkfifo_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mkfifo_works="guessing no" ;; + esac + ]) rm -f conftest.tmp conftest.lnk]) - if test "$gl_cv_func_mkfifo_works" != yes; then - AC_DEFINE([MKFIFO_TRAILING_SLASH_BUG], [1], [Define to 1 if mkfifo - does not reject trailing slash]) - REPLACE_MKFIFO=1 - AC_LIBOBJ([mkfifo]) - fi + case "$gl_cv_func_mkfifo_works" in + *yes) ;; + *) + AC_DEFINE([MKFIFO_TRAILING_SLASH_BUG], [1], [Define to 1 if mkfifo + does not reject trailing slash]) + REPLACE_MKFIFO=1 + ;; + esac fi ]) diff --git a/m4/mkfifoat.m4 b/m4/mkfifoat.m4 index fe7fcdff..61e052c2 100644 --- a/m4/mkfifoat.m4 +++ b/m4/mkfifoat.m4 @@ -1,7 +1,7 @@ -# serial 2 +# serial 3 # See if we need to provide mkfifoat/mknodat replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,7 +18,5 @@ AC_DEFUN([gl_FUNC_MKFIFOAT], # No known system has mkfifoat but not mknodat HAVE_MKFIFOAT=0 HAVE_MKNODAT=0 - AC_LIBOBJ([mkfifoat]) - AC_LIBOBJ([mknodat]) fi ]) diff --git a/m4/mknod.m4 b/m4/mknod.m4 index d9f68f4c..478ee559 100644 --- a/m4/mknod.m4 +++ b/m4/mknod.m4 @@ -1,7 +1,7 @@ -# serial 3 +# serial 5 # See if we need to provide mknod replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,12 +11,12 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MKNOD], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_FUNC_MKFIFO]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([mknod]) if test $ac_cv_func_mknod = no; then HAVE_MKNOD=0 - AC_LIBOBJ([mknod]) else dnl Detect BSD bug, where mknod requires root privileges to create fifo. AC_CACHE_CHECK([whether mknod can create fifo without root privileges], @@ -25,9 +25,16 @@ AC_DEFUN([gl_FUNC_MKNOD], [AC_LANG_PROGRAM( [[#include #include + + /* Copied from root-uid.h. FIXME: Just use root-uid.h. */ + #ifdef __TANDEM + # define ROOT_UID 65535 + #else + # define ROOT_UID 0 + #endif ]], [[/* Indeterminate for super-user, assume no. Why are you running configure as root, anyway? */ - if (!geteuid ()) return 99; + if (geteuid () == ROOT_UID) return 99; if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2;]])], [gl_cv_func_mknod_works=yes], [if test $? = 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then @@ -35,16 +42,25 @@ AC_DEFUN([gl_FUNC_MKNOD], [(set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)]) fi gl_cv_func_mknod_works=no], - [gl_cv_func_mknod_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_mknod_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_mknod_works="guessing no" ;; + esac + ]) rm -f conftest.fifo]) - if test "$gl_cv_func_mknod_works" != yes; then - AC_DEFINE([MKNOD_FIFO_BUG], [1], [Define to 1 if mknod cannot create - a fifo without super-user privileges]) - fi + case "$gl_cv_func_mknod_works" in + *yes) ;; + *) + REPLACE_MKNOD=1 + AC_DEFINE([MKNOD_FIFO_BUG], [1], [Define to 1 if mknod cannot create + a fifo without super-user privileges]) + ;; + esac dnl Systems that mishandle trailing slash on mkfifo also goof on mknod. - if test $REPLACE_MKFIFO = 1 || test "$gl_cv_func_mknod_works" != yes; then + if test $REPLACE_MKFIFO = 1; then REPLACE_MKNOD=1 - AC_LIBOBJ([mknod]) fi fi ]) diff --git a/m4/mktime.m4 b/m4/mktime.m4 index 56b2416d..faefb770 100644 --- a/m4/mktime.m4 +++ b/m4/mktime.m4 @@ -1,5 +1,5 @@ -# serial 19 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation, +# serial 25 +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,21 +7,24 @@ dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. -# Redefine AC_FUNC_MKTIME, because it is no longer maintained in Autoconf. -# AC_FUNC_MKTIME -# -------------- -AC_DEFUN([AC_FUNC_MKTIME], -[AC_CHECK_HEADERS_ONCE([unistd.h]) -AC_CHECK_FUNCS_ONCE([alarm]) -AC_REQUIRE([gl_MULTIARCH]) -if test $APPLE_UNIVERSAL_BUILD = 1; then - # A universal build on Apple MacOS X platforms. - # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. - # But we need a configuration result that is valid in both modes. - ac_cv_func_working_mktime=no -fi -AC_CACHE_CHECK([for working mktime], [ac_cv_func_working_mktime], -[AC_RUN_IFELSE([AC_LANG_SOURCE( +AC_DEFUN([gl_FUNC_MKTIME], +[ + AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + + dnl We don't use AC_FUNC_MKTIME any more, because it is no longer maintained + dnl in Autoconf and because it invokes AC_LIBOBJ. + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_CHECK_DECLS_ONCE([alarm]) + AC_REQUIRE([gl_MULTIARCH]) + if test $APPLE_UNIVERSAL_BUILD = 1; then + # A universal build on Apple Mac OS X platforms. + # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. + # But we need a configuration result that is valid in both modes. + gl_cv_func_working_mktime=no + fi + AC_CACHE_CHECK([for working mktime], [gl_cv_func_working_mktime], + [AC_RUN_IFELSE( + [AC_LANG_SOURCE( [[/* Test program from Paul Eggert and Tony Leneis. */ #include #include @@ -31,8 +34,8 @@ AC_CACHE_CHECK([for working mktime], [ac_cv_func_working_mktime], # include #endif -#ifndef HAVE_ALARM -# define alarm(X) /* empty */ +#if HAVE_DECL_ALARM +# include #endif /* Work around redefinition to rpl_putenv by other config tests. */ @@ -168,10 +171,13 @@ main () int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; int time_t_signed = ! ((time_t) 0 < (time_t) -1); +#if HAVE_DECL_ALARM /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ + signal (SIGALRM, SIG_DFL); alarm (60); +#endif time_t_max = (! time_t_signed ? (time_t) -1 @@ -189,20 +195,23 @@ main () if (tz_strings[i]) putenv (tz_strings[i]); - for (t = 0; t <= time_t_max - delta; t += delta) + for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) if (! mktime_test (t)) result |= 1; - if (! (mktime_test ((time_t) 1) - && mktime_test ((time_t) (60 * 60)) - && mktime_test ((time_t) (60 * 60 * 24)))) + if ((result & 2) == 0 + && ! (mktime_test ((time_t) 1) + && mktime_test ((time_t) (60 * 60)) + && mktime_test ((time_t) (60 * 60 * 24)))) result |= 2; - for (j = 1; ; j <<= 1) - if (! bigtime_test (j)) - result |= 4; - else if (INT_MAX / 2 < j) - break; - if (! bigtime_test (INT_MAX)) + for (j = 1; (result & 4) == 0; j <<= 1) + { + if (! bigtime_test (j)) + result |= 4; + if (INT_MAX / 2 < j) + break; + } + if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) result |= 8; } if (! irix_6_4_bug ()) @@ -213,29 +222,32 @@ main () result |= 64; return result; }]])], - [ac_cv_func_working_mktime=yes], - [ac_cv_func_working_mktime=no], - [ac_cv_func_working_mktime=no])]) -if test $ac_cv_func_working_mktime = no; then - AC_LIBOBJ([mktime]) -fi -])# AC_FUNC_MKTIME + [gl_cv_func_working_mktime=yes], + [gl_cv_func_working_mktime=no], + [gl_cv_func_working_mktime=no]) + ]) -AC_DEFUN([gl_FUNC_MKTIME], -[ - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) - AC_FUNC_MKTIME - dnl Note: AC_FUNC_MKTIME does AC_LIBOBJ([mktime]). - if test $ac_cv_func_working_mktime = no; then + if test $gl_cv_func_working_mktime = no; then REPLACE_MKTIME=1 - gl_PREREQ_MKTIME else REPLACE_MKTIME=0 fi ]) -# Prerequisites of lib/mktime.c. -AC_DEFUN([gl_PREREQ_MKTIME], -[ - AC_REQUIRE([AC_C_INLINE]) +AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [ + AC_REQUIRE([gl_FUNC_MKTIME]) + if test $REPLACE_MKTIME = 0; then + dnl BeOS has __mktime_internal in libc, but other platforms don't. + AC_CHECK_FUNC([__mktime_internal], + [AC_DEFINE([mktime_internal], [__mktime_internal], + [Define to the real name of the mktime_internal function.]) + ], + [dnl mktime works but it doesn't export __mktime_internal, + dnl so we need to substitute our own mktime implementation. + REPLACE_MKTIME=1 + ]) + fi ]) + +# Prerequisites of lib/mktime.c. +AC_DEFUN([gl_PREREQ_MKTIME], [:]) diff --git a/m4/mmap-anon.m4 b/m4/mmap-anon.m4 index 7ba7fd26..9b60ddfa 100644 --- a/m4/mmap-anon.m4 +++ b/m4/mmap-anon.m4 @@ -1,5 +1,5 @@ -# mmap-anon.m4 serial 9 -dnl Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc. +# mmap-anon.m4 serial 10 +dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,7 +9,7 @@ dnl with or without modifications, as long as this notice is preserved. # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS # and MAP_ANON exist and have the same value. # - On HP-UX, only MAP_ANONYMOUS exists. -# - On MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. +# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be # used. @@ -27,18 +27,18 @@ AC_DEFUN([gl_FUNC_MMAP_ANON], gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then AC_MSG_CHECKING([for MAP_ANONYMOUS]) - AC_EGREP_CPP([I cant identify this map.], [ + AC_EGREP_CPP([I cannot identify this map], [ #include #ifdef MAP_ANONYMOUS - I cant identify this map. + I cannot identify this map #endif ], [gl_have_mmap_anonymous=yes]) if test $gl_have_mmap_anonymous != yes; then - AC_EGREP_CPP([I cant identify this map.], [ + AC_EGREP_CPP([I cannot identify this map], [ #include #ifdef MAP_ANON - I cant identify this map. + I cannot identify this map #endif ], [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON], diff --git a/m4/mode_t.m4 b/m4/mode_t.m4 index f9cf7047..d5b66d45 100644 --- a/m4/mode_t.m4 +++ b/m4/mode_t.m4 @@ -1,5 +1,5 @@ # mode_t.m4 serial 2 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/modechange.m4 b/m4/modechange.m4 index 8661ade6..949afb3d 100644 --- a/m4/modechange.m4 +++ b/m4/modechange.m4 @@ -1,5 +1,5 @@ -# modechange.m4 serial 6 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, +# modechange.m4 serial 7 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,5 +7,5 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MODECHANGE], [ - AC_LIBOBJ([modechange]) + : ]) diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4 new file mode 100644 index 00000000..9a6a47a7 --- /dev/null +++ b/m4/msvc-inval.m4 @@ -0,0 +1,19 @@ +# msvc-inval.m4 serial 1 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MSVC_INVAL], +[ + AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler]) + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 + AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1], + [Define to 1 on MSVC platforms that have the "invalid parameter handler" + concept.]) + else + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 + fi + AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER]) +]) diff --git a/m4/msvc-nothrow.m4 b/m4/msvc-nothrow.m4 new file mode 100644 index 00000000..a39618a4 --- /dev/null +++ b/m4/msvc-nothrow.m4 @@ -0,0 +1,10 @@ +# msvc-nothrow.m4 serial 1 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_MSVC_NOTHROW], +[ + AC_REQUIRE([gl_MSVC_INVAL]) +]) diff --git a/m4/multiarch.m4 b/m4/multiarch.m4 index 691d8927..552ec7e7 100644 --- a/m4/multiarch.m4 +++ b/m4/multiarch.m4 @@ -1,12 +1,12 @@ -# multiarch.m4 serial 6 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# multiarch.m4 serial 7 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Determine whether the compiler is or may be producing universal binaries. # -# On MacOS X 10.5 and later systems, the user can create libraries and +# On Mac OS X 10.5 and later systems, the user can create libraries and # executables that work on multiple system types--known as "fat" or # "universal" binaries--by specifying multiple '-arch' options to the # compiler but only a single '-arch' option to the preprocessor. Like diff --git a/m4/nl_langinfo.m4 b/m4/nl_langinfo.m4 index ca9d28da..25e21015 100644 --- a/m4/nl_langinfo.m4 +++ b/m4/nl_langinfo.m4 @@ -1,5 +1,5 @@ -# nl_langinfo.m4 serial 4 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +# nl_langinfo.m4 serial 5 +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -43,10 +43,8 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO], REPLACE_NL_LANGINFO=1 AC_DEFINE([REPLACE_NL_LANGINFO], [1], [Define if nl_langinfo exists but is overridden by gnulib.]) - AC_LIBOBJ([nl_langinfo]) fi else HAVE_NL_LANGINFO=0 - AC_LIBOBJ([nl_langinfo]) fi ]) diff --git a/m4/nls.m4 b/m4/nls.m4 index 6a21216d..8f8a147b 100644 --- a/m4/nls.m4 +++ b/m4/nls.m4 @@ -1,5 +1,5 @@ # nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2011 Free Software Foundation, +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/nocrash.m4 b/m4/nocrash.m4 new file mode 100644 index 00000000..105b884f --- /dev/null +++ b/m4/nocrash.m4 @@ -0,0 +1,130 @@ +# nocrash.m4 serial 4 +dnl Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini. + +AC_PREREQ([2.13]) + +dnl Expands to some code for use in .c programs that will cause the configure +dnl test to exit instead of crashing. This is useful to avoid triggering +dnl action from a background debugger and to avoid core dumps. +dnl Usage: ... +dnl ]GL_NOCRASH[ +dnl ... +dnl int main() { nocrash_init(); ... } +AC_DEFUN([GL_NOCRASH],[[ +#include +#if defined __MACH__ && defined __APPLE__ +/* Avoid a crash on Mac OS X. */ +#include +#include +#include +#include +#include +#include +/* The exception port on which our thread listens. */ +static mach_port_t our_exception_port; +/* The main function of the thread listening for exceptions of type + EXC_BAD_ACCESS. */ +static void * +mach_exception_thread (void *arg) +{ + /* Buffer for a message to be received. */ + struct { + mach_msg_header_t head; + mach_msg_body_t msgh_body; + char data[1024]; + } msg; + mach_msg_return_t retval; + /* Wait for a message on the exception port. */ + retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), + our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (retval != MACH_MSG_SUCCESS) + abort (); + exit (1); +} +static void +nocrash_init (void) +{ + mach_port_t self = mach_task_self (); + /* Allocate a port on which the thread shall listen for exceptions. */ + if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) + == KERN_SUCCESS) { + /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ + if (mach_port_insert_right (self, our_exception_port, our_exception_port, + MACH_MSG_TYPE_MAKE_SEND) + == KERN_SUCCESS) { + /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting + for us. */ + exception_mask_t mask = EXC_MASK_BAD_ACCESS; + /* Create the thread listening on the exception port. */ + pthread_attr_t attr; + pthread_t thread; + if (pthread_attr_init (&attr) == 0 + && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 + && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { + pthread_attr_destroy (&attr); + /* Replace the exception port info for these exceptions with our own. + Note that we replace the exception port for the entire task, not only + for a particular thread. This has the effect that when our exception + port gets the message, the thread specific exception port has already + been asked, and we don't need to bother about it. + See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ + task_set_exception_ports (self, mask, our_exception_port, + EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); + } + } + } +} +#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* Avoid a crash on native Windows. */ +#define WIN32_LEAN_AND_MEAN +#include +#include +static LONG WINAPI +exception_filter (EXCEPTION_POINTERS *ExceptionInfo) +{ + switch (ExceptionInfo->ExceptionRecord->ExceptionCode) + { + case EXCEPTION_ACCESS_VIOLATION: + case EXCEPTION_IN_PAGE_ERROR: + case EXCEPTION_STACK_OVERFLOW: + case EXCEPTION_GUARD_PAGE: + case EXCEPTION_PRIV_INSTRUCTION: + case EXCEPTION_ILLEGAL_INSTRUCTION: + case EXCEPTION_DATATYPE_MISALIGNMENT: + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: + case EXCEPTION_NONCONTINUABLE_EXCEPTION: + exit (1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +static void +nocrash_init (void) +{ + SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); +} +#else +/* Avoid a crash on POSIX systems. */ +#include +/* A POSIX signal handler. */ +static void +exception_handler (int sig) +{ + exit (1); +} +static void +nocrash_init (void) +{ +#ifdef SIGSEGV + signal (SIGSEGV, exception_handler); +#endif +#ifdef SIGBUS + signal (SIGBUS, exception_handler); +#endif +} +#endif +]]) diff --git a/m4/off_t.m4 b/m4/off_t.m4 new file mode 100644 index 00000000..d355d013 --- /dev/null +++ b/m4/off_t.m4 @@ -0,0 +1,18 @@ +# off_t.m4 serial 1 +dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Check whether to override the 'off_t' type. +dnl Set WINDOWS_64_BIT_OFF_T. + +AC_DEFUN([gl_TYPE_OFF_T], +[ + m4_ifdef([gl_LARGEFILE], [ + AC_REQUIRE([gl_LARGEFILE]) + ], [ + WINDOWS_64_BIT_OFF_T=0 + ]) + AC_SUBST([WINDOWS_64_BIT_OFF_T]) +]) diff --git a/m4/open.m4 b/m4/open.m4 index bfebdab7..a6cb1019 100644 --- a/m4/open.m4 +++ b/m4/open.m4 @@ -1,5 +1,5 @@ -# open.m4 serial 11 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# open.m4 serial 14 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,7 +9,7 @@ AC_DEFUN([gl_FUNC_OPEN], AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw* | pw*) - gl_REPLACE_OPEN + REPLACE_OPEN=1 ;; *) dnl open("foo/") should not create a file when the file name has a @@ -57,25 +57,35 @@ changequote([,])dnl *no) AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1], [Define to 1 if open() fails to recognize a trailing slash.]) - gl_REPLACE_OPEN + REPLACE_OPEN=1 ;; esac ;; esac -]) - -AC_DEFUN([gl_REPLACE_OPEN], -[ - AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) - REPLACE_OPEN=1 - AC_LIBOBJ([open]) - gl_PREREQ_OPEN + dnl Replace open() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + if test $REPLACE_OPEN = 0; then + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_OPEN=1 + fi + fi + ]) + dnl Replace open() for supporting the gnulib-defined O_NONBLOCK flag. + m4_ifdef([gl_NONBLOCKING_IO], [ + if test $REPLACE_OPEN = 0; then + gl_NONBLOCKING_IO + if test $gl_cv_have_open_O_NONBLOCK != yes; then + REPLACE_OPEN=1 + fi + fi + ]) ]) # Prerequisites of lib/open.c. AC_DEFUN([gl_PREREQ_OPEN], [ - AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) : ]) diff --git a/m4/openat.m4 b/m4/openat.m4 index 28c0e1da..3bf96174 100644 --- a/m4/openat.m4 +++ b/m4/openat.m4 @@ -1,7 +1,7 @@ -# serial 31 +# serial 45 # See if we need to use our replacement for Solaris' openat et al functions. -dnl Copyright (C) 2004-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,161 +11,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_OPENAT], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) - GNULIB_OPENAT=1 - - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - GNULIB_FCHMODAT=1 - GNULIB_FSTATAT=1 - GNULIB_MKDIRAT=1 - - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - GNULIB_FCHOWNAT=1 - GNULIB_UNLINKAT=1 - - AC_LIBOBJ([openat-proc]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS_ONCE([lchmod]) - AC_REPLACE_FUNCS([fchmodat fstatat mkdirat openat unlinkat]) - AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) - AC_REQUIRE([gl_FUNC_UNLINK]) - case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in - yes+yes) - # GNU/Hurd has unlinkat, but it has the same bug as unlink. - if test $REPLACE_UNLINK = 1; then - AC_LIBOBJ([unlinkat]) - REPLACE_UNLINKAT=1 - fi ;; + AC_CHECK_FUNCS_ONCE([openat]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in + yes+*yes) + ;; yes+*) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. - AC_LIBOBJ([openat]) REPLACE_OPENAT=1 - AC_LIBOBJ([fstatat]) - REPLACE_FSTATAT=1 - AC_LIBOBJ([unlinkat]) - REPLACE_UNLINKAT=1 ;; *) HAVE_OPENAT=0 - HAVE_UNLINKAT=0 # No known system with unlinkat but not openat - HAVE_FSTATAT=0 # No known system with fstatat but not openat - gl_PREREQ_OPENAT;; + ;; esac - if test $ac_cv_func_fchmodat != yes; then - HAVE_FCHMODAT=0 - fi - if test $ac_cv_func_mkdirat != yes; then - HAVE_MKDIRAT=0 - fi - gl_FUNC_FCHOWNAT -]) - -# gl_FUNC_FCHOWNAT_DEREF_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) -AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], -[ - dnl Persuade glibc's to declare fchownat(). - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - AC_CACHE_CHECK([whether fchownat works with AT_SYMLINK_NOFOLLOW], - gl_cv_func_fchownat_nofollow_works, - [ - gl_dangle=conftest.dangle - # Remove any remnants of a previous test. - rm -f $gl_dangle - # Arrange for deletion of the temporary file this test creates. - ac_clean_files="$ac_clean_files $gl_dangle" - ln -s conftest.no-such $gl_dangle - AC_RUN_IFELSE( - [AC_LANG_SOURCE( - [[ -#include -#include -#include -#include -#include -int -main () -{ - return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), - AT_SYMLINK_NOFOLLOW) != 0 - && errno == ENOENT); -} - ]])], - [gl_cv_func_fchownat_nofollow_works=yes], - [gl_cv_func_fchownat_nofollow_works=no], - [gl_cv_func_fchownat_nofollow_works=no], - ) - ]) - AS_IF([test $gl_cv_func_fchownat_nofollow_works = no], [$1], [$2]) -]) - -# gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) -AC_DEFUN([gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG], -[ - dnl Persuade glibc's to declare fchownat(). - AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - - AC_CACHE_CHECK([whether fchownat works with an empty file name], - [gl_cv_func_fchownat_empty_filename_works], - [AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #include - ]], - [[int fd; - int ret; - if (mkdir ("conftestdir", 0700) < 0) - return 2; - fd = open ("conftestdir", O_RDONLY); - if (fd < 0) - return 3; - ret = fchownat (fd, "", -1, -1, 0); - close (fd); - rmdir ("conftestdir"); - return ret == 0; - ]])], - [gl_cv_func_fchownat_empty_filename_works=yes], - [gl_cv_func_fchownat_empty_filename_works=no], - [gl_cv_func_fchownat_empty_filename_works="guessing no"]) - ]) - AS_IF([test "$gl_cv_func_fchownat_empty_filename_works" != yes], [$1], [$2]) -]) - -# If we have the fchownat function, and it has the bug (in glibc-2.4) -# that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then -# use the replacement function. -# Also if the fchownat function, like chown, has the trailing slash bug, -# use the replacement function. -# Also use the replacement function if fchownat is simply not available. -AC_DEFUN([gl_FUNC_FCHOWNAT], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_REQUIRE([gl_FUNC_CHOWN]) - AC_CHECK_FUNC([fchownat], - [gl_FUNC_FCHOWNAT_DEREF_BUG( - [REPLACE_FCHOWNAT=1 - AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1], - [Define to 1 if your platform has fchownat, but it cannot - perform lchown tasks.]) - ]) - gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG( - [REPLACE_FCHOWNAT=1 - AC_DEFINE([FCHOWNAT_EMPTY_FILENAME_BUG], [1], - [Define to 1 if your platform has fchownat, but it does - not reject an empty file name.]) - ]) - if test $REPLACE_CHOWN = 1; then - REPLACE_FCHOWNAT=1 - fi], - [HAVE_FCHOWNAT=0]) - if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then - AC_LIBOBJ([fchownat]) - fi ]) +# Prerequisites of lib/openat.c. AC_DEFUN([gl_PREREQ_OPENAT], [ - AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) : ]) diff --git a/m4/opendir.m4 b/m4/opendir.m4 new file mode 100644 index 00000000..d4116805 --- /dev/null +++ b/m4/opendir.m4 @@ -0,0 +1,25 @@ +# opendir.m4 serial 2 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_OPENDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([opendir]) + if test $ac_cv_func_opendir = no; then + HAVE_OPENDIR=0 + fi + dnl Replace opendir() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + if test $HAVE_OPENDIR = 1; then + REPLACE_OPENDIR=1 + fi + fi + ]) +]) diff --git a/m4/parse-datetime.m4 b/m4/parse-datetime.m4 index e665ef37..62ce16a5 100644 --- a/m4/parse-datetime.m4 +++ b/m4/parse-datetime.m4 @@ -1,5 +1,5 @@ -# parse-datetime.m4 serial 19 -dnl Copyright (C) 2002-2006, 2008-2011 Free Software Foundation, Inc. +# parse-datetime.m4 serial 21 +dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/pathmax.m4 b/m4/pathmax.m4 index 17b3d648..e11bf57a 100644 --- a/m4/pathmax.m4 +++ b/m4/pathmax.m4 @@ -1,5 +1,5 @@ -# pathmax.m4 serial 8 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, +# pathmax.m4 serial 10 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,6 +8,35 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PATHMAX], [ dnl Prerequisites of lib/pathmax.h. - AC_CHECK_FUNCS_ONCE([pathconf]) AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) + +# Expands to a piece of C program that defines PATH_MAX in the same way as +# "pathmax.h" will do. +AC_DEFUN([gl_PATHMAX_SNIPPET], [[ +/* Arrange to define PATH_MAX, like "pathmax.h" does. */ +#if HAVE_UNISTD_H +# include +#endif +#include +#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +# include +#endif +#if !defined PATH_MAX && defined MAXPATHLEN +# define PATH_MAX MAXPATHLEN +#endif +#ifdef __hpux +# undef PATH_MAX +# define PATH_MAX 1024 +#endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# undef PATH_MAX +# define PATH_MAX 260 +#endif +]]) + +# Prerequisites of gl_PATHMAX_SNIPPET. +AC_DEFUN([gl_PATHMAX_SNIPPET_PREREQ], +[ + AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) +]) diff --git a/m4/po.m4 b/m4/po.m4 index a3e99d6e..f3957234 100644 --- a/m4/po.m4 +++ b/m4/po.m4 @@ -1,5 +1,5 @@ -# po.m4 serial 17 (gettext-0.18) -dnl Copyright (C) 1995-2011 Free Software Foundation, Inc. +# po.m4 serial 20 (gettext-0.18.2) +dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,14 +17,14 @@ dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. -AC_PREREQ([2.50]) +AC_PREREQ([2.60]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AC_PROG_MKDIR_P])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that @@ -102,7 +102,7 @@ changequote([,])dnl case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -118,7 +118,8 @@ changequote([,])dnl if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration @@ -129,12 +130,12 @@ changequote([,])dnl test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES @@ -226,7 +227,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -254,6 +255,7 @@ EOT fi # A sed script that extracts the value of VARIABLE from a Makefile. + tab=`printf '\t'` sed_x_variable=' # Test if the hold space is empty. x @@ -261,9 +263,9 @@ s/P/P/ x ta # Yes it was empty. Look if we have the expected variable definition. -/^[ ]*VARIABLE[ ]*=/{ +/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ # Seen the first line of the variable definition. - s/^[ ]*VARIABLE[ ]*=// + s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// ba } bd @@ -315,7 +317,7 @@ changequote([,])dnl sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` fi - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) @@ -405,14 +407,15 @@ changequote([,])dnl fi sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" + tab=`printf '\t'` if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <= 5. freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. @@ -178,28 +178,28 @@ static double zero = 0.0; int main () { int result = 0; - if (sprintf (buf, "%f", 1.0 / 0.0) < 0 + if (sprintf (buf, "%f", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%f", -1.0 / 0.0) < 0 + if (sprintf (buf, "%f", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%f", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; - if (sprintf (buf, "%e", 1.0 / 0.0) < 0 + if (sprintf (buf, "%e", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 4; - if (sprintf (buf, "%e", -1.0 / 0.0) < 0 + if (sprintf (buf, "%e", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 4; if (sprintf (buf, "%e", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; - if (sprintf (buf, "%g", 1.0 / 0.0) < 0 + if (sprintf (buf, "%g", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 16; - if (sprintf (buf, "%g", -1.0 / 0.0) < 0 + if (sprintf (buf, "%g", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 16; if (sprintf (buf, "%g", zero / zero) < 0 @@ -222,7 +222,7 @@ changequote(,)dnl # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; darwin*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on HP-UX >= 11. @@ -251,6 +251,7 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl The user can set or unset the variable gl_printf_safe to indicate dnl that he wishes a safe handling of non-IEEE-754 'long double' values. @@ -294,34 +295,34 @@ int main () { int result = 0; nocrash_init(); - if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; - if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 + if (sprintf (buf, "%Le", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 + if (sprintf (buf, "%Le", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Le", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; - if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; - if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 + if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) +#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN @@ -478,6 +479,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_A], #include #include static char buf[100]; +static double zero = 0.0; int main () { int result = 0; @@ -502,17 +504,17 @@ int main () result |= 4; /* This catches a FreeBSD 6.1 bug. See */ - if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 + if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 || buf[0] == '0') result |= 8; - /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ + /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug. */ if (sprintf (buf, "%.1a", 1.999) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) result |= 16; - /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a + /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a glibc 2.4 bug . */ if (sprintf (buf, "%.1La", 1.999L) < 0 || (strcmp (buf, "0x1.0p+1") != 0 @@ -562,13 +564,14 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_F], #include #include static char buf[100]; +static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 || strcmp (buf, "1234567.000000 33") != 0) result |= 1; - if (sprintf (buf, "%F", 1.0 / 0.0) < 0 + if (sprintf (buf, "%F", 1.0 / zero) < 0 || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) result |= 2; /* This catches a Cygwin 1.5.x bug. */ @@ -587,7 +590,7 @@ changequote(,)dnl # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; darwin*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Solaris >= 2.10. @@ -615,12 +618,27 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N], AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include +#include #include +#ifdef _MSC_VER +/* See page about "Parameter Validation" on msdn.microsoft.com. */ +static void cdecl +invalid_parameter_handler (const wchar_t *expression, + const wchar_t *function, + const wchar_t *file, unsigned int line, + uintptr_t dummy) +{ + exit (1); +} +#endif static char fmtstring[10]; static char buf[100]; int main () { int count = -1; +#ifdef _MSC_VER + _set_invalid_parameter_handler (invalid_parameter_handler); +#endif /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ @@ -636,7 +654,8 @@ int main () [ changequote(,)dnl case "$host_os" in - *) gl_cv_func_printf_directive_n="guessing yes";; + mingw*) gl_cv_func_printf_directive_n="guessing no";; + *) gl_cv_func_printf_directive_n="guessing yes";; esac changequote([,])dnl ]) @@ -862,9 +881,10 @@ AC_DEFUN([gl_PRINTF_FLAG_ZERO], #include #include static char buf[100]; +static double zero = 0.0; int main () { - if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 + if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0 || (strcmp (buf, " inf") != 0 && strcmp (buf, " infinity") != 0)) return 1; @@ -892,7 +912,8 @@ dnl On mingw, precisions larger than 512 are treated like 512, in integer, dnl floating-point or pointer output. On Solaris 10/x86, precisions larger dnl than 510 in floating-point output crash the program. On Solaris 10/SPARC, dnl precisions larger than 510 in floating-point output yield wrong results. -dnl On BeOS, precisions larger than 1044 crash the program. +dnl On AIX 7.1, precisions larger than 998 in floating-point output yield +dnl wrong results. On BeOS, precisions larger than 1044 crash the program. dnl Result is gl_cv_func_printf_precision. AC_DEFUN([gl_PRINTF_PRECISION], @@ -921,6 +942,9 @@ int main () if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5 || buf[0] != '1') result |= 4; + if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5 + || buf[0] != '1') + result |= 4; return result; }]])], [gl_cv_func_printf_precision=yes], @@ -928,7 +952,7 @@ int main () [ changequote(,)dnl case "$host_os" in - # Guess no only on Solaris, native Win32, and BeOS systems. + # Guess no only on Solaris, native Windows, and BeOS systems. solaris*) gl_cv_func_printf_precision="guessing no" ;; mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; beos*) gl_cv_func_printf_precision="guessing no" ;; @@ -1004,8 +1028,9 @@ int main() changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then - (./conftest + (./conftest 2>&AS_MESSAGE_LOG_FD result=$? + _AS_ECHO_LOG([\$? = $result]) if test $result != 0 && test $result != 77; then result=1; fi exit $result ) >/dev/null 2>/dev/null @@ -1019,7 +1044,7 @@ changequote([,])dnl fi rm -fr conftest* else - dnl A universal build on Apple MacOS X platforms. + dnl A universal build on Apple Mac OS X platforms. dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. dnl But we need a configuration result that is valid in both modes. gl_cv_func_printf_enomem="guessing no" @@ -1072,6 +1097,7 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf truncates the result as in C99], [gl_cv_func_snprintf_truncation_c99], [ @@ -1079,11 +1105,25 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], [AC_LANG_SOURCE([[ #include #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); - snprintf (buf, 3, "%d %d", 4567, 89); + my_snprintf (buf, 3, "%d %d", 4567, 89); if (memcmp (buf, "45\0DEF", 6) != 0) return 1; return 0; @@ -1098,7 +1138,7 @@ changequote(,)dnl # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. @@ -1153,6 +1193,7 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], [gl_cv_func_snprintf_retval_c99], [ @@ -1160,15 +1201,29 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99], [AC_LANG_SOURCE([[ #include #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); - if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) + if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) return 1; - if (snprintf (buf, 0, "%d %d", 4567, 89) != 7) + if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) return 2; - if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7) + if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) return 3; return 0; }]])], @@ -1182,7 +1237,7 @@ changequote(,)dnl # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. @@ -1217,6 +1272,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], [gl_cv_func_snprintf_directive_n], [ @@ -1224,6 +1280,20 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], [AC_LANG_SOURCE([[ #include #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif static char fmtstring[10]; static char buf[100]; int main () @@ -1233,7 +1303,7 @@ int main () support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); - snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); + my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); if (count != 6) return 1; return 0; @@ -1248,7 +1318,7 @@ changequote(,)dnl # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on Solaris >= 2.6. @@ -1285,16 +1355,31 @@ dnl Result is gl_cv_func_snprintf_size1. AC_DEFUN([gl_SNPRINTF_SIZE1], [ AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf respects a size of 1], [gl_cv_func_snprintf_size1], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif int main() { static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - snprintf (buf, 1, "%d", 12345); + my_snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; }]])], [gl_cv_func_snprintf_size1=yes], @@ -1375,7 +1460,7 @@ changequote(,)dnl # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; - # Guess yes on MacOS X >= 10.3. + # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Cygwin. @@ -1455,17 +1540,18 @@ dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . -dnl MacOS X 10.5.8 . . . # # . . . . . . # . . . . . . . . -dnl MacOS X 10.3.9 . . . . # . . . . . . # . # . . . . . . +dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . . +dnl Mac OS X 10.3.9 . . . . # . . . . . . # . # . . . . . . dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . -dnl Solaris 11 2010-11 . . # # # . . # . . . # . . . . . . . . +dnl Solaris 11 2011-11 . . # # # . . # . . . # . . . . . . . . dnl Solaris 10 . . # # # . . # . . . # # . . . . . . . dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . . dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # -dnl AIX 5.2, 7.1 . . # # # . . . . . . # . . . . . . . . +dnl AIX 7.1 . . # # # . . . . . . # # . . . . . . . +dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . # . . . dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # @@ -1478,4 +1564,7 @@ dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . dnl Haiku . . . # # # . # . . . . . ? . . ? . . . dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . . -dnl mingw # # # # # # . . # # . # # ? . # # # . . +dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . . +dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . . +dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . . +dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . . diff --git a/m4/priv-set.m4 b/m4/priv-set.m4 index 1509ba66..41a0aaf4 100644 --- a/m4/priv-set.m4 +++ b/m4/priv-set.m4 @@ -1,6 +1,6 @@ -# serial 7 +# serial 8 -# Copyright (C) 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -10,7 +10,6 @@ AC_DEFUN([gl_PRIV_SET], [ - AC_REQUIRE([AC_C_INLINE]) AC_CHECK_FUNCS([getppriv]) AC_CHECK_HEADERS_ONCE([priv.h]) ]) diff --git a/m4/progtest.m4 b/m4/progtest.m4 index 5130d56a..7b391232 100644 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 @@ -1,5 +1,5 @@ # progtest.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1996-2003, 2005, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 1996-2003, 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/quote.m4 b/m4/quote.m4 index 23286841..ac49236e 100644 --- a/m4/quote.m4 +++ b/m4/quote.m4 @@ -1,5 +1,5 @@ -# quote.m4 serial 5 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, +# quote.m4 serial 6 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_QUOTE], [ - AC_LIBOBJ([quote]) - dnl Prerequisites of lib/quote.c. dnl (none) + : ]) diff --git a/m4/quotearg.m4 b/m4/quotearg.m4 index ff4a2fa4..bc0ef0c9 100644 --- a/m4/quotearg.m4 +++ b/m4/quotearg.m4 @@ -1,10 +1,10 @@ -# quotearg.m4 serial 8 -dnl Copyright (C) 2002, 2004-2011 Free Software Foundation, Inc. +# quotearg.m4 serial 9 +dnl Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_QUOTEARG], [ - AC_LIBOBJ([quotearg]) + : ]) diff --git a/m4/raise.m4 b/m4/raise.m4 new file mode 100644 index 00000000..7df3317d --- /dev/null +++ b/m4/raise.m4 @@ -0,0 +1,34 @@ +# raise.m4 serial 3 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_RAISE], +[ + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_MSVC_INVAL]) + AC_CHECK_FUNCS([raise]) + if test $ac_cv_func_raise = no; then + HAVE_RAISE=0 + else + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_RAISE=1 + fi + m4_ifdef([gl_SIGNALBLOCKING], [ + gl_SIGNALBLOCKING + if test $HAVE_POSIX_SIGNALBLOCKING = 0; then + m4_ifdef([gl_SIGNAL_SIGPIPE], [ + gl_SIGNAL_SIGPIPE + if test $gl_cv_header_signal_h_SIGPIPE != yes; then + REPLACE_RAISE=1 + fi + ], [:]) + fi + ]) + fi +]) + +# Prerequisites of lib/raise.c. +AC_DEFUN([gl_PREREQ_RAISE], [:]) diff --git a/m4/rawmemchr.m4 b/m4/rawmemchr.m4 index 542cba18..8c500547 100644 --- a/m4/rawmemchr.m4 +++ b/m4/rawmemchr.m4 @@ -1,5 +1,5 @@ -# rawmemchr.m4 serial 1 -dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc. +# rawmemchr.m4 serial 2 +dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,10 +10,9 @@ AC_DEFUN([gl_FUNC_RAWMEMCHR], AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS([rawmemchr]) + AC_CHECK_FUNCS([rawmemchr]) if test $ac_cv_func_rawmemchr = no; then HAVE_RAWMEMCHR=0 - gl_PREREQ_RAWMEMCHR fi ]) diff --git a/m4/read.m4 b/m4/read.m4 new file mode 100644 index 00000000..81f0f3a9 --- /dev/null +++ b/m4/read.m4 @@ -0,0 +1,26 @@ +# read.m4 serial 4 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_READ], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_READ=1 + fi + dnl This ifdef is just an optimization, to avoid performing a configure + dnl check whose result is not used. It does not make the test of + dnl GNULIB_UNISTD_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. + m4_ifdef([gl_NONBLOCKING_IO], [ + gl_NONBLOCKING_IO + if test $gl_cv_have_nonblocking != yes; then + REPLACE_READ=1 + fi + ]) +]) + +# Prerequisites of lib/read.c. +AC_DEFUN([gl_PREREQ_READ], [:]) diff --git a/m4/readdir.m4 b/m4/readdir.m4 new file mode 100644 index 00000000..4269bb48 --- /dev/null +++ b/m4/readdir.m4 @@ -0,0 +1,15 @@ +# readdir.m4 serial 1 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_READDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([readdir]) + if test $ac_cv_func_readdir = no; then + HAVE_READDIR=0 + fi +]) diff --git a/m4/readlink.m4 b/m4/readlink.m4 index a502ca56..96e50425 100644 --- a/m4/readlink.m4 +++ b/m4/readlink.m4 @@ -1,5 +1,5 @@ -# readlink.m4 serial 9 -dnl Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc. +# readlink.m4 serial 12 +dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,11 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([readlink]) if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 - AC_LIBOBJ([readlink]) - gl_PREREQ_READLINK else AC_CACHE_CHECK([whether readlink signature is correct], [gl_cv_decl_readlink_works], @@ -34,21 +33,31 @@ AC_DEFUN([gl_FUNC_READLINK], ]], [[char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], - [gl_cv_func_readlink_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_readlink_works="guessing no" ;; + esac + ]) rm -f conftest.link conftest.lnk2]) - if test "$gl_cv_func_readlink_works" != yes; then - AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink - fails to recognize a trailing slash.]) - REPLACE_READLINK=1 - AC_LIBOBJ([readlink]) - elif test "$gl_cv_decl_readlink_works" != yes; then - REPLACE_READLINK=1 - AC_LIBOBJ([readlink]) - fi + case "$gl_cv_func_readlink_works" in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) + AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink + fails to recognize a trailing slash.]) + REPLACE_READLINK=1 + ;; + esac fi ]) -# Like gl_FUNC_READLINK, except prepare for separate compilation (no AC_LIBOBJ). +# Like gl_FUNC_READLINK, except prepare for separate compilation +# (no REPLACE_READLINK, no AC_LIBOBJ). AC_DEFUN([gl_FUNC_READLINK_SEPARATE], [ AC_CHECK_FUNCS_ONCE([readlink]) diff --git a/m4/readlinkat.m4 b/m4/readlinkat.m4 index 8dc7d19a..b2ff40dc 100644 --- a/m4/readlinkat.m4 +++ b/m4/readlinkat.m4 @@ -1,7 +1,7 @@ -# serial 1 +# serial 3 # See if we need to provide readlinkat replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,12 +10,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READLINKAT], [ - AC_REQUIRE([gl_FUNC_OPENAT]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([readlinkat]) if test $ac_cv_func_readlinkat = no; then HAVE_READLINKAT=0 - AC_LIBOBJ([readlinkat]) fi ]) diff --git a/m4/realloc.m4 b/m4/realloc.m4 index a403d9fb..d477fb47 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -1,9 +1,47 @@ -# realloc.m4 serial 11 -dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. +# realloc.m4 serial 13 +dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +m4_version_prereq([2.70], [] ,[ + +# This is taken from the following Autoconf patch: +# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 +AC_DEFUN([_AC_FUNC_REALLOC_IF], +[ + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles + AC_CHECK_HEADERS([stdlib.h]) + AC_CACHE_CHECK([for GNU libc compatible realloc], + [ac_cv_func_realloc_0_nonnull], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H + # include + #else + char *realloc (); + #endif + ]], + [[return ! realloc (0, 0);]]) + ], + [ac_cv_func_realloc_0_nonnull=yes], + [ac_cv_func_realloc_0_nonnull=no], + [case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* \ + | hpux* | solaris* | cygwin* | mingw*) + ac_cv_func_realloc_0_nonnull=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_realloc_0_nonnull=no ;; + esac + ]) + ]) + AS_IF([test $ac_cv_func_realloc_0_nonnull = yes], [$1], [$2]) +])# AC_FUNC_REALLOC + +]) + # gl_FUNC_REALLOC_GNU # ------------------- # Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace @@ -17,7 +55,7 @@ AC_DEFUN([gl_FUNC_REALLOC_GNU], [Define to 1 if your system has a GNU libc compatible 'realloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_REALLOC_GNU], [0]) - gl_REPLACE_REALLOC + REPLACE_REALLOC=1 ]) ])# gl_FUNC_REALLOC_GNU @@ -33,12 +71,6 @@ AC_DEFUN([gl_FUNC_REALLOC_POSIX], AC_DEFINE([HAVE_REALLOC_POSIX], [1], [Define if the 'realloc' function is POSIX compliant.]) else - gl_REPLACE_REALLOC + REPLACE_REALLOC=1 fi ]) - -AC_DEFUN([gl_REPLACE_REALLOC], -[ - AC_LIBOBJ([realloc]) - REPLACE_REALLOC=1 -]) diff --git a/m4/regex.m4 b/m4/regex.m4 index 24198b55..6d29dcfb 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,6 +1,6 @@ -# serial 58 +# serial 64 -# Copyright (C) 1996-2001, 2003-2011 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -27,15 +27,21 @@ AC_DEFUN([gl_REGEX], # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. + AC_CHECK_DECLS_ONCE([alarm]) AC_CACHE_CHECK([for working re_compile_pattern], [gl_cv_func_re_compile_pattern_working], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( - [AC_INCLUDES_DEFAULT[ - #include - #include - #include - ]], + [[#include + + #include + #include + #include + #if HAVE_DECL_ALARM + # include + # include + #endif + ]], [[int result = 0; static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; @@ -43,26 +49,65 @@ AC_DEFUN([gl_REGEX], const char *s; struct re_registers regs; - /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html - This test needs valgrind to catch the bug on Debian - GNU/Linux 3.1 x86, but it might catch the bug better - on other platforms and it shouldn't hurt to try the - test here. */ +#if HAVE_DECL_ALARM + /* Some builds of glibc go into an infinite loop on this test. */ + signal (SIGALRM, SIG_DFL); + alarm (2); +#endif if (setlocale (LC_ALL, "en_US.UTF-8")) { - static char const pat[] = "insert into"; - static char const data[] = - "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; - re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE - | RE_ICASE); - memset (®ex, 0, sizeof regex); - s = re_compile_pattern (pat, sizeof pat - 1, ®ex); - if (s) - result |= 1; - else if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, ®s) - != -1) - result |= 1; + { + /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html + This test needs valgrind to catch the bug on Debian + GNU/Linux 3.1 x86, but it might catch the bug better + on other platforms and it shouldn't hurt to try the + test here. */ + static char const pat[] = "insert into"; + static char const data[] = + "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; + re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE + | RE_ICASE); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern (pat, sizeof pat - 1, ®ex); + if (s) + result |= 1; + else if (re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, ®s) + != -1) + result |= 1; + } + + { + /* This test is from glibc bug 15078. + The test case is from Andreas Schwab in + . + */ + static char const pat[] = "[^x]x"; + static char const data[] = + /* */ + "\xe1\x80\x80" + "\xe1\x80\xbb" + "\xe1\x80\xbd" + "\xe1\x80\x94" + "\xe1\x80\xba" + "\xe1\x80\xaf" + "\xe1\x80\x95" + "\xe1\x80\xba" + "x"; + re_set_syntax (0); + memset (®ex, 0, sizeof regex); + s = re_compile_pattern (pat, sizeof pat - 1, ®ex); + if (s) + result |= 1; + else + { + i = re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, 0); + if (i != 0 && i != 21) + result |= 1; + } + } + if (! setlocale (LC_ALL, "C")) return 1; } @@ -175,6 +220,9 @@ AC_DEFUN([gl_REGEX], esac if test $ac_use_included_regex = yes; then + AC_DEFINE([_REGEX_INCLUDE_LIMITS_H], [1], + [Define if you want to include , so that it + consistently overrides 's RE_DUP_MAX.]) AC_DEFINE([_REGEX_LARGE_OFFSETS], [1], [Define if you want regoff_t to be at least as wide POSIX requires.]) AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], @@ -207,8 +255,6 @@ AC_DEFUN([gl_REGEX], [Define to rpl_regerror if the replacement should be used.]) AC_DEFINE([regfree], [rpl_regfree], [Define to rpl_regfree if the replacement should be used.]) - AC_LIBOBJ([regex]) - gl_PREREQ_REGEX fi ]) @@ -219,7 +265,8 @@ AC_DEFUN([gl_PREREQ_REGEX], AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) + AC_REQUIRE([gl_EEMALLOC]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) - AC_CHECK_DECLS([isblank], [], [], [#include ]) + AC_CHECK_DECLS([isblank], [], [], [[#include ]]) ]) diff --git a/m4/rename.m4 b/m4/rename.m4 index 6648542c..66430aa8 100644 --- a/m4/rename.m4 +++ b/m4/rename.m4 @@ -1,6 +1,6 @@ -# serial 23 +# serial 26 -# Copyright (C) 2001, 2003, 2005-2006, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -54,16 +54,24 @@ AC_DEFUN([gl_FUNC_RENAME], [gl_cv_func_rename_slash_dst_works=yes], [gl_cv_func_rename_slash_dst_works=no], dnl When crosscompiling, assume rename is broken. - [gl_cv_func_rename_slash_dst_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_slash_dst_works="guessing no" ;; + esac + ]) rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk ]) - if test "x$gl_cv_func_rename_slash_dst_works" != xyes; then - AC_LIBOBJ([rename]) - REPLACE_RENAME=1 - AC_DEFINE([RENAME_TRAILING_SLASH_DEST_BUG], [1], - [Define if rename does not correctly handle slashes on the destination - argument, such as on Solaris 10 or NetBSD 1.6.]) - fi + case "$gl_cv_func_rename_slash_dst_works" in + *yes) ;; + *) + REPLACE_RENAME=1 + AC_DEFINE([RENAME_TRAILING_SLASH_DEST_BUG], [1], + [Define if rename does not correctly handle slashes on the destination + argument, such as on Solaris 10 or NetBSD 1.6.]) + ;; + esac dnl SunOS 4.1.1_U1 mistakenly forbids rename("dir/","name"). dnl Solaris 9 mistakenly allows rename("file/","name"). @@ -98,58 +106,79 @@ AC_DEFUN([gl_FUNC_RENAME], [gl_cv_func_rename_slash_src_works=yes], [gl_cv_func_rename_slash_src_works=no], dnl When crosscompiling, assume rename is broken. - [gl_cv_func_rename_slash_src_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_slash_src_works="guessing no" ;; + esac + ]) rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk ]) - if test "x$gl_cv_func_rename_slash_src_works" != xyes; then - AC_LIBOBJ([rename]) - REPLACE_RENAME=1 - AC_DEFINE([RENAME_TRAILING_SLASH_SOURCE_BUG], [1], - [Define if rename does not correctly handle slashes on the source - argument, such as on Solaris 9 or cygwin 1.5.]) - fi + case "$gl_cv_func_rename_slash_src_works" in + *yes) ;; + *) + REPLACE_RENAME=1 + AC_DEFINE([RENAME_TRAILING_SLASH_SOURCE_BUG], [1], + [Define if rename does not correctly handle slashes on the source + argument, such as on Solaris 9 or cygwin 1.5.]) + ;; + esac dnl NetBSD 1.6 and cygwin 1.5.x mistakenly reduce hard link count dnl on rename("h1","h2"). dnl This bug requires stat'ting targets prior to attempting rename. + AC_CHECK_FUNCS_ONCE([link]) AC_CACHE_CHECK([whether rename manages hard links correctly], [gl_cv_func_rename_link_works], - [rm -rf conftest.f conftest.f1 - if touch conftest.f && ln conftest.f conftest.f1 && - set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then - AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ -# include -# include -# include - ]], - [[int result = 0; - if (rename ("conftest.f", "conftest.f1")) - result |= 1; - if (unlink ("conftest.f1")) - result |= 2; - if (rename ("conftest.f", "conftest.f")) - result |= 4; - if (rename ("conftest.f1", "conftest.f1") == 0) - result |= 8; - return result; - ]])], - [gl_cv_func_rename_link_works=yes], - [gl_cv_func_rename_link_works=no], - dnl When crosscompiling, assume rename is broken. - [gl_cv_func_rename_link_works="guessing no"]) - else - gl_cv_func_rename_link_works="guessing no" - fi - rm -rf conftest.f conftest.f1 - ]) - if test "x$gl_cv_func_rename_link_works" != xyes; then - AC_LIBOBJ([rename]) - REPLACE_RENAME=1 - AC_DEFINE([RENAME_HARD_LINK_BUG], [1], - [Define if rename fails to leave hard links alone, as on NetBSD 1.6 - or Cygwin 1.5.]) - fi + [if test $ac_cv_func_link = yes; then + rm -rf conftest.f conftest.f1 + if touch conftest.f && ln conftest.f conftest.f1 && + set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ +# include +# include +# include + ]], + [[int result = 0; + if (rename ("conftest.f", "conftest.f1")) + result |= 1; + if (unlink ("conftest.f1")) + result |= 2; + if (rename ("conftest.f", "conftest.f")) + result |= 4; + if (rename ("conftest.f1", "conftest.f1") == 0) + result |= 8; + return result; + ]])], + [gl_cv_func_rename_link_works=yes], + [gl_cv_func_rename_link_works=no], + dnl When crosscompiling, assume rename is broken. + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_link_works="guessing no" ;; + esac + ]) + else + gl_cv_func_rename_link_works="guessing no" + fi + rm -rf conftest.f conftest.f1 + else + gl_cv_func_rename_link_works=yes + fi + ]) + case "$gl_cv_func_rename_link_works" in + *yes) ;; + *) + REPLACE_RENAME=1 + AC_DEFINE([RENAME_HARD_LINK_BUG], [1], + [Define if rename fails to leave hard links alone, as on NetBSD 1.6 + or Cygwin 1.5.]) + ;; + esac dnl Cygwin 1.5.x mistakenly allows rename("dir","file"). dnl mingw mistakenly forbids rename("dir1","dir2"). @@ -175,14 +204,22 @@ AC_DEFUN([gl_FUNC_RENAME], [gl_cv_func_rename_dest_works=yes], [gl_cv_func_rename_dest_works=no], dnl When crosscompiling, assume rename is broken. - [gl_cv_func_rename_dest_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rename_dest_works="guessing no" ;; + esac + ]) rm -rf conftest.f conftest.d1 conftest.d2 ]) - if test "x$gl_cv_func_rename_dest_works" != xyes; then - AC_LIBOBJ([rename]) - REPLACE_RENAME=1 - AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1], - [Define if rename does not work when the destination file exists, - as on Cygwin 1.5 or Windows.]) - fi + case "$gl_cv_func_rename_dest_works" in + *yes) ;; + *) + REPLACE_RENAME=1 + AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1], + [Define if rename does not work when the destination file exists, + as on Cygwin 1.5 or Windows.]) + ;; + esac ]) diff --git a/m4/renameat.m4 b/m4/renameat.m4 index 2fa2b8cf..30a7d911 100644 --- a/m4/renameat.m4 +++ b/m4/renameat.m4 @@ -1,7 +1,7 @@ -# serial 2 +# serial 3 # See if we need to provide renameat replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,12 +17,8 @@ AC_DEFUN([gl_FUNC_RENAMEAT], AC_CHECK_FUNCS_ONCE([renameat]) if test $ac_cv_func_renameat = no; then HAVE_RENAMEAT=0 - AC_LIBOBJ([renameat]) - AC_LIBOBJ([at-func2]) elif test $REPLACE_RENAME = 1; then dnl Solaris 9 and 10 have the same bugs in renameat as in rename. REPLACE_RENAMEAT=1 - AC_LIBOBJ([renameat]) - AC_LIBOBJ([at-func2]) fi ]) diff --git a/m4/rewinddir.m4 b/m4/rewinddir.m4 new file mode 100644 index 00000000..ee9d9b9b --- /dev/null +++ b/m4/rewinddir.m4 @@ -0,0 +1,15 @@ +# rewinddir.m4 serial 1 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_REWINDDIR], +[ + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + + AC_CHECK_FUNCS([rewinddir]) + if test $ac_cv_func_rewinddir = no; then + HAVE_REWINDDIR=0 + fi +]) diff --git a/m4/rmdir.m4 b/m4/rmdir.m4 index 41705a1e..f6a02dd2 100644 --- a/m4/rmdir.m4 +++ b/m4/rmdir.m4 @@ -1,5 +1,5 @@ -# rmdir.m4 serial 10 -dnl Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc. +# rmdir.m4 serial 13 +dnl Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,7 +7,9 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RMDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Detect cygwin 1.5.x bug. + AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works], [mkdir conftest.dir touch conftest.file @@ -15,7 +17,11 @@ AC_DEFUN([gl_FUNC_RMDIR], [AC_LANG_PROGRAM( [[#include #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif ]], [[int result = 0; if (!rmdir ("conftest.file/")) result |= 1; @@ -26,10 +32,18 @@ AC_DEFUN([gl_FUNC_RMDIR], return result; ]])], [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no], - [gl_cv_func_rmdir_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_rmdir_works="guessing no" ;; + esac + ]) rm -rf conftest.dir conftest.file]) - if test x"$gl_cv_func_rmdir_works" != xyes; then - REPLACE_RMDIR=1 - AC_LIBOBJ([rmdir]) - fi + case "$gl_cv_func_rmdir_works" in + *yes) ;; + *) + REPLACE_RMDIR=1 + ;; + esac ]) diff --git a/m4/rpmatch.m4 b/m4/rpmatch.m4 index a8d0f10f..4edc4665 100644 --- a/m4/rpmatch.m4 +++ b/m4/rpmatch.m4 @@ -1,5 +1,5 @@ -# rpmatch.m4 serial 9 -dnl Copyright (C) 2002-2003, 2007-2011 Free Software Foundation, Inc. +# rpmatch.m4 serial 10 +dnl Copyright (C) 2002-2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,10 +10,9 @@ AC_DEFUN([gl_FUNC_RPMATCH], AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_REPLACE_FUNCS([rpmatch]) + AC_CHECK_FUNCS([rpmatch]) if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 - gl_PREREQ_RPMATCH fi ]) diff --git a/m4/safe-read.m4 b/m4/safe-read.m4 index ea8eedbf..be5207a5 100644 --- a/m4/safe-read.m4 +++ b/m4/safe-read.m4 @@ -1,17 +1,10 @@ -# safe-read.m4 serial 5 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, +# safe-read.m4 serial 6 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN([gl_SAFE_READ], -[ - AC_LIBOBJ([safe-read]) - - gl_PREREQ_SAFE_READ -]) - # Prerequisites of lib/safe-read.c. AC_DEFUN([gl_PREREQ_SAFE_READ], [ diff --git a/m4/safe-write.m4 b/m4/safe-write.m4 index 7f6b9f81..bc2a33f8 100644 --- a/m4/safe-write.m4 +++ b/m4/safe-write.m4 @@ -1,16 +1,9 @@ -# safe-write.m4 serial 3 -dnl Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc. +# safe-write.m4 serial 4 +dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN([gl_SAFE_WRITE], -[ - AC_LIBOBJ([safe-write]) - - gl_PREREQ_SAFE_WRITE -]) - # Prerequisites of lib/safe-write.c. AC_DEFUN([gl_PREREQ_SAFE_WRITE], [ diff --git a/m4/save-cwd.m4 b/m4/save-cwd.m4 index 7437e053..74e1f562 100644 --- a/m4/save-cwd.m4 +++ b/m4/save-cwd.m4 @@ -1,12 +1,11 @@ -# serial 9 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +# serial 10 +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Prerequisites for lib/save-cwd.c. AC_DEFUN([gl_SAVE_CWD], [ - AC_LIBOBJ([save-cwd]) - dnl Prerequisites for lib/save-cwd.c. AC_CHECK_FUNCS_ONCE([fchdir]) ]) diff --git a/m4/savedir.m4 b/m4/savedir.m4 index 94f3e896..96fe9285 100644 --- a/m4/savedir.m4 +++ b/m4/savedir.m4 @@ -1,5 +1,5 @@ -# savedir.m4 serial 9 -dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, +# savedir.m4 serial 10 +dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,5 +7,5 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAVEDIR], [ - AC_LIBOBJ([savedir]) + : ]) diff --git a/m4/secure_getenv.m4 b/m4/secure_getenv.m4 new file mode 100644 index 00000000..5da5298f --- /dev/null +++ b/m4/secure_getenv.m4 @@ -0,0 +1,25 @@ +# Look up an environment variable more securely. +dnl Copyright 2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SECURE_GETENV], +[ + dnl Persuade glibc to declare secure_getenv(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([secure_getenv]) + if test $ac_cv_func_secure_getenv = no; then + HAVE_SECURE_GETENV=0 + fi +]) + +# Prerequisites of lib/secure_getenv.c. +AC_DEFUN([gl_PREREQ_SECURE_GETENV], [ + AC_CHECK_FUNCS([__secure_getenv]) + if test $ac_cv_func___secure_getenv = no; then + AC_CHECK_FUNCS([issetugid]) + fi +]) diff --git a/m4/selinux-context-h.m4 b/m4/selinux-context-h.m4 new file mode 100644 index 00000000..c85255b7 --- /dev/null +++ b/m4/selinux-context-h.m4 @@ -0,0 +1,22 @@ +# serial 3 -*- Autoconf -*- +# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# From Jim Meyering +# Provide , if necessary. + +AC_DEFUN([gl_HEADERS_SELINUX_CONTEXT_H], +[ + AC_REQUIRE([gl_LIBSELINUX]) + if test "$with_selinux" != no; then + AC_CHECK_HEADERS([selinux/context.h], + [SELINUX_CONTEXT_H=], + [SELINUX_CONTEXT_H=selinux/context.h]) + else + SELINUX_CONTEXT_H=selinux/context.h + fi + AC_SUBST([SELINUX_CONTEXT_H]) + AM_CONDITIONAL([GL_GENERATE_SELINUX_CONTEXT_H], [test -n "$SELINUX_CONTEXT_H"]) +]) diff --git a/m4/selinux-selinux-h.m4 b/m4/selinux-selinux-h.m4 new file mode 100644 index 00000000..17cccffb --- /dev/null +++ b/m4/selinux-selinux-h.m4 @@ -0,0 +1,69 @@ +# serial 5 -*- Autoconf -*- +# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# From Jim Meyering +# Provide , if necessary. +# If it is already present, provide wrapper functions to guard against +# misbehavior from getfilecon, lgetfilecon, and fgetfilecon. + +AC_DEFUN([gl_HEADERS_SELINUX_SELINUX_H], +[ + AC_REQUIRE([gl_LIBSELINUX]) + if test "$with_selinux" != no; then + AC_CHECK_HEADERS([selinux/selinux.h]) + + if test "$ac_cv_header_selinux_selinux_h" = yes; then + # We do have , so do compile getfilecon.c + # and arrange to use its wrappers. + gl_CHECK_NEXT_HEADERS([selinux/selinux.h]) + AC_DEFINE([getfilecon], [rpl_getfilecon], + [Always use our getfilecon wrapper.]) + AC_DEFINE([lgetfilecon], [rpl_lgetfilecon], + [Always use our lgetfilecon wrapper.]) + AC_DEFINE([fgetfilecon], [rpl_fgetfilecon], + [Always use our fgetfilecon wrapper.]) + fi + + case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in + no:*) # already warned + ;; + *:no) + AC_MSG_WARN([libselinux was found but selinux/selinux.h is missing.]) + AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.]) + esac + else + # Do as if does not exist, even if + # AC_CHECK_HEADERS_ONCE has already determined that it exists. + AC_DEFINE([HAVE_SELINUX_SELINUX_H], [0]) + fi +]) + +AC_DEFUN([gl_LIBSELINUX], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + + AC_ARG_WITH([selinux], + AS_HELP_STRING([--without-selinux], [do not use SELinux, even on systems with SELinux]), + [], [with_selinux=maybe]) + + LIB_SELINUX= + if test "$with_selinux" != no; then + gl_save_LIBS=$LIBS + AC_SEARCH_LIBS([setfilecon], [selinux], + [test "$ac_cv_search_setfilecon" = "none required" || + LIB_SELINUX=$ac_cv_search_setfilecon]) + LIBS=$gl_save_LIBS + fi + AC_SUBST([LIB_SELINUX]) + + # Warn if SELinux is found but libselinux is absent; + if test "$ac_cv_search_setfilecon" = no && + test "$host" = "$build" && test -d /selinux; then + AC_MSG_WARN([This system supports SELinux but libselinux is missing.]) + AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.]) + fi +]) diff --git a/m4/setenv.m4 b/m4/setenv.m4 index ba619b08..cb5351a0 100644 --- a/m4/setenv.m4 +++ b/m4/setenv.m4 @@ -1,5 +1,5 @@ -# setenv.m4 serial 21 -dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc. +# setenv.m4 serial 26 +dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,20 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SETENV], [ AC_REQUIRE([gl_FUNC_SETENV_SEPARATE]) - if test $HAVE_SETENV$REPLACE_SETENV != 10; then - AC_LIBOBJ([setenv]) - fi -]) - -# Like gl_FUNC_SETENV, except prepare for separate compilation (no AC_LIBOBJ). -AC_DEFUN([gl_FUNC_SETENV_SEPARATE], -[ - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_CHECK_DECLS_ONCE([setenv]) - if test $ac_cv_have_decl_setenv = no; then - HAVE_DECL_SETENV=0 - fi - AC_CHECK_FUNCS_ONCE([setenv]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 else @@ -47,27 +34,48 @@ AC_DEFUN([gl_FUNC_SETENV_SEPARATE], return result; ]])], [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], - [gl_cv_func_setenv_works="guessing no"])]) - if test "$gl_cv_func_setenv_works" != yes; then - REPLACE_SETENV=1 - AC_LIBOBJ([setenv]) - fi + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_setenv_works="guessing no" ;; + esac + ])]) + case "$gl_cv_func_setenv_works" in + *yes) ;; + *) + REPLACE_SETENV=1 + ;; + esac fi +]) + +# Like gl_FUNC_SETENV, except prepare for separate compilation +# (no REPLACE_SETENV, no AC_LIBOBJ). +AC_DEFUN([gl_FUNC_SETENV_SEPARATE], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([setenv]) + if test $ac_cv_have_decl_setenv = no; then + HAVE_DECL_SETENV=0 + fi + AC_CHECK_FUNCS_ONCE([setenv]) gl_PREREQ_SETENV ]) AC_DEFUN([gl_FUNC_UNSETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_DECLS_ONCE([unsetenv]) if test $ac_cv_have_decl_unsetenv = no; then HAVE_DECL_UNSETENV=0 fi AC_CHECK_FUNCS([unsetenv]) if test $ac_cv_func_unsetenv = no; then - AC_LIBOBJ([unsetenv]) - gl_PREREQ_UNSETENV + HAVE_UNSETENV=0 else + HAVE_UNSETENV=1 dnl Some BSDs return void, failing to do error checking. AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret], [AC_COMPILE_IFELSE( @@ -80,11 +88,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); -#else -int unsetenv(); -#endif ]], [[]])], [gt_cv_func_unsetenv_ret='int'], @@ -93,7 +97,6 @@ int unsetenv(); AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void instead of int.]) REPLACE_UNSETENV=1 - AC_LIBOBJ([unsetenv]) fi dnl Solaris 10 unsetenv does not remove all copies of a name. @@ -123,11 +126,19 @@ int unsetenv(); if (getenv ("a")) return 6; ]])], [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], - [gl_cv_func_unsetenv_works="guessing no"])]) - if test "$gl_cv_func_unsetenv_works" != yes; then - REPLACE_UNSETENV=1 - AC_LIBOBJ([unsetenv]) - fi + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_unsetenv_works="guessing no" ;; + esac + ])]) + case "$gl_cv_func_unsetenv_works" in + *yes) ;; + *) + REPLACE_UNSETENV=1 + ;; + esac fi ]) diff --git a/m4/signal_h.m4 b/m4/signal_h.m4 new file mode 100644 index 00000000..3de9f27a --- /dev/null +++ b/m4/signal_h.m4 @@ -0,0 +1,83 @@ +# signal_h.m4 serial 18 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_SIGNAL_H], +[ + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) + gl_NEXT_HEADERS([signal.h]) + +# AIX declares sig_atomic_t to already include volatile, and C89 compilers +# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. + AC_CHECK_TYPE([volatile sig_atomic_t], [], + [HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0], [[ +#include + ]]) + + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + AC_REQUIRE([AC_TYPE_UID_T]) + + dnl Persuade glibc to define sighandler_t. + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_TYPE([sighandler_t], [], [HAVE_SIGHANDLER_T=0], [[ +#include + ]]) + + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[#include + ]], [pthread_sigmask sigaction + sigaddset sigdelset sigemptyset sigfillset sigismember + sigpending sigprocmask]) +]) + +AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], +[ + AC_CHECK_TYPES([sigset_t], + [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no], + [[ + #include + /* Mingw defines sigset_t not in , but in . */ + #include + ]]) + if test $gl_cv_type_sigset_t != yes; then + HAVE_SIGSET_T=0 + fi +]) + +AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) +]) + +AC_DEFUN([gl_SIGNAL_H_DEFAULTS], +[ + GNULIB_PTHREAD_SIGMASK=0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) + GNULIB_RAISE=0; AC_SUBST([GNULIB_RAISE]) + GNULIB_SIGNAL_H_SIGPIPE=0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) + GNULIB_SIGPROCMASK=0; AC_SUBST([GNULIB_SIGPROCMASK]) + GNULIB_SIGACTION=0; AC_SUBST([GNULIB_SIGACTION]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) + HAVE_PTHREAD_SIGMASK=1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) + HAVE_RAISE=1; AC_SUBST([HAVE_RAISE]) + HAVE_SIGSET_T=1; AC_SUBST([HAVE_SIGSET_T]) + HAVE_SIGINFO_T=1; AC_SUBST([HAVE_SIGINFO_T]) + HAVE_SIGACTION=1; AC_SUBST([HAVE_SIGACTION]) + HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + AC_SUBST([HAVE_STRUCT_SIGACTION_SA_SIGACTION]) + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T]) + HAVE_SIGHANDLER_T=1; AC_SUBST([HAVE_SIGHANDLER_T]) + REPLACE_PTHREAD_SIGMASK=0; AC_SUBST([REPLACE_PTHREAD_SIGMASK]) + REPLACE_RAISE=0; AC_SUBST([REPLACE_RAISE]) +]) diff --git a/m4/size_max.m4 b/m4/size_max.m4 index e8070981..4b247abc 100644 --- a/m4/size_max.m4 +++ b/m4/size_max.m4 @@ -1,5 +1,5 @@ # size_max.m4 serial 10 -dnl Copyright (C) 2003, 2005-2006, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/sleep.m4 b/m4/sleep.m4 index 4a251dae..a27baa6d 100644 --- a/m4/sleep.m4 +++ b/m4/sleep.m4 @@ -1,5 +1,5 @@ -# sleep.m4 serial 4 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# sleep.m4 serial 7 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,16 +7,16 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl We expect to see the declaration of sleep() in a header file. dnl Older versions of mingw have a sleep() function that is an alias to dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep(): dnl it takes the number of milliseconds as argument and returns void. dnl mingw does not declare this function. - AC_CHECK_DECLS([sleep], , , [#include ]) + AC_CHECK_DECLS([sleep], , , [[#include ]]) AC_CHECK_FUNCS_ONCE([sleep]) if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 - AC_LIBOBJ([sleep]) else dnl Cygwin 1.5.x has a bug where sleep can't exceed 49.7 days. AC_CACHE_CHECK([for working sleep], [gl_cv_func_sleep_works], @@ -45,10 +45,18 @@ handle_alarm (int sig) return 0; ]])], [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no], - [gl_cv_func_sleep_works="guessing no"])]) - if test "$gl_cv_func_sleep_works" != yes; then - REPLACE_SLEEP=1 - AC_LIBOBJ([sleep]) - fi + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_sleep_works="guessing no" ;; + esac + ])]) + case "$gl_cv_func_sleep_works" in + *yes) ;; + *) + REPLACE_SLEEP=1 + ;; + esac fi ]) diff --git a/m4/snprintf.m4 b/m4/snprintf.m4 index 8aa5dbe5..3698e844 100644 --- a/m4/snprintf.m4 +++ b/m4/snprintf.m4 @@ -1,9 +1,13 @@ -# snprintf.m4 serial 5 -dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc. +# snprintf.m4 serial 6 +dnl Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Libintl 0.17 will replace snprintf only if it does not support %1$s, +dnl but defers to any gnulib snprintf replacements. Therefore, gnulib +dnl must guarantee that the decision for replacing snprintf is a superset +dnl of the reasons checked by libintl. AC_DEFUN([gl_FUNC_SNPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) @@ -16,7 +20,12 @@ AC_DEFUN([gl_FUNC_SNPRINTF], gl_SNPRINTF_RETVAL_C99 case "$gl_cv_func_snprintf_retval_c99" in *yes) - gl_cv_func_snprintf_usable=yes + gl_PRINTF_POSITIONS + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_snprintf_usable=yes + ;; + esac ;; esac ;; diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4 index d7127521..63381343 100644 --- a/m4/ssize_t.m4 +++ b/m4/ssize_t.m4 @@ -1,5 +1,5 @@ # ssize_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2001-2003, 2006, 2010-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stat-time.m4 b/m4/stat-time.m4 index 75ddbee4..d777f742 100644 --- a/m4/stat-time.m4 +++ b/m4/stat-time.m4 @@ -1,6 +1,6 @@ # Checks for stat-related time functions. -# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2011 Free Software +# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation @@ -19,7 +19,6 @@ dnl From Paul Eggert. AC_DEFUN([gl_STAT_TIME], [ - AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) @@ -70,7 +69,6 @@ AC_DEFUN([gl_STAT_TIME], # AC_DEFUN([gl_STAT_BIRTHTIME], [ - AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [], diff --git a/m4/stat.m4 b/m4/stat.m4 index 27f82d5a..2456297a 100644 --- a/m4/stat.m4 +++ b/m4/stat.m4 @@ -1,6 +1,6 @@ -# serial 7 +# serial 11 -# Copyright (C) 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -23,8 +23,9 @@ AC_DEFUN([gl_FUNC_STAT], mingw*) gl_cv_func_stat_dir_slash="guessing no";; *) gl_cv_func_stat_dir_slash="guessing yes";; esac])]) - dnl AIX 7.1, Solaris 9 mistakenly succeed on stat("file/") - dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/") + dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/"). + dnl (For mingw, this is due to a broken stat() override in libmingwex.a.) + dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/"). AC_CACHE_CHECK([whether stat handles trailing slashes on files], [gl_cv_func_stat_file_slash], [touch conftest.tmp @@ -46,7 +47,13 @@ AC_DEFUN([gl_FUNC_STAT], return result; ]])], [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no], - [gl_cv_func_stat_file_slash="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_stat_file_slash="guessing no" ;; + esac + ]) rm -f conftest.tmp conftest.lnk]) case $gl_cv_func_stat_dir_slash in *no) REPLACE_STAT=1 @@ -58,9 +65,7 @@ AC_DEFUN([gl_FUNC_STAT], AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs help when passed a file name with a trailing slash]);; esac - if test $REPLACE_STAT = 1; then - AC_LIBOBJ([stat]) - dnl Prerequisites of lib/stat.c. - AC_REQUIRE([AC_C_INLINE]) - fi ]) + +# Prerequisites of lib/stat.c. +AC_DEFUN([gl_PREREQ_STAT], [:]) diff --git a/m4/stdalign.m4 b/m4/stdalign.m4 new file mode 100644 index 00000000..a866ff67 --- /dev/null +++ b/m4/stdalign.m4 @@ -0,0 +1,52 @@ +# Check for stdalign.h that conforms to C11. + +dnl Copyright 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([gl_STDALIGN_H], +[ + AC_CACHE_CHECK([for working stdalign.h], + [gl_cv_header_working_stdalign_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + (__GNUC__ || __IBMC__ || __IBMCPP__ \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + struct alignas_test { char c; char alignas (8) alignas_8; }; + char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 + ? 1 : -1]; + #endif + ]])], + [gl_cv_header_working_stdalign_h=yes], + [gl_cv_header_working_stdalign_h=no])]) + + if test $gl_cv_header_working_stdalign_h = yes; then + STDALIGN_H='' + else + STDALIGN_H='stdalign.h' + fi + + AC_SUBST([STDALIGN_H]) + AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"]) +]) diff --git a/m4/stdarg.m4 b/m4/stdarg.m4 index a1ef178c..c087f61e 100644 --- a/m4/stdarg.m4 +++ b/m4/stdarg.m4 @@ -1,5 +1,5 @@ -# stdarg.m4 serial 5 -dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc. +# stdarg.m4 serial 6 +dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,8 +9,8 @@ dnl Provide a working va_copy in combination with . AC_DEFUN([gl_STDARG_H], [ - STDARG_H=''; AC_SUBST([STDARG_H]) - NEXT_STDARG_H=''; AC_SUBST([NEXT_STDARG_H]) + STDARG_H='' + NEXT_STDARG_H='' AC_MSG_CHECKING([for va_copy]) AC_CACHE_VAL([gl_cv_func_va_copy], [ AC_COMPILE_IFELSE( @@ -72,4 +72,7 @@ error, bail out fi fi fi + AC_SUBST([STDARG_H]) + AM_CONDITIONAL([GL_GENERATE_STDARG_H], [test -n "$STDARG_H"]) + AC_SUBST([NEXT_STDARG_H]) ]) diff --git a/m4/stdbool.m4 b/m4/stdbool.m4 index 838cf0f4..80d5559a 100644 --- a/m4/stdbool.m4 +++ b/m4/stdbool.m4 @@ -1,11 +1,11 @@ # Check for stdbool.h that conforms to C99. -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -#serial 4 +#serial 5 # Prepare for substituting if it is not supported. @@ -21,6 +21,7 @@ AC_DEFUN([AM_STDBOOL_H], STDBOOL_H='stdbool.h' fi AC_SUBST([STDBOOL_H]) + AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"]) if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 index 1942b6aa..5da8ab1e 100644 --- a/m4/stddef_h.m4 +++ b/m4/stddef_h.m4 @@ -1,6 +1,6 @@ dnl A placeholder for POSIX 2008 , for platforms that have issues. -# stddef_h.m4 serial 3 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +# stddef_h.m4 serial 4 +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,6 +9,7 @@ AC_DEFUN([gl_STDDEF_H], [ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) + STDDEF_H= if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h @@ -24,6 +25,8 @@ AC_DEFUN([gl_STDDEF_H], REPLACE_NULL=1 STDDEF_H=stddef.h fi + AC_SUBST([STDDEF_H]) + AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"]) if test -n "$STDDEF_H"; then gl_NEXT_HEADERS([stddef.h]) fi @@ -41,5 +44,4 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS], dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) - STDDEF_H=''; AC_SUBST([STDDEF_H]) ]) diff --git a/m4/stdint.m4 b/m4/stdint.m4 index e7d0d076..27cdcdb9 100644 --- a/m4/stdint.m4 +++ b/m4/stdint.m4 @@ -1,5 +1,5 @@ -# stdint.m4 serial 39 -dnl Copyright (C) 2001-2011 Free Software Foundation, Inc. +# stdint.m4 serial 43 +dnl Copyright (C) 2001-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Bruno Haible. dnl Test whether is supported or must be substituted. -AC_DEFUN([gl_STDINT_H], +AC_DEFUN_ONCE([gl_STDINT_H], [ AC_PREREQ([2.59])dnl @@ -69,8 +69,6 @@ AC_DEFUN([gl_STDINT_H], [gl_cv_header_working_stdint_h=no AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ @@ -219,8 +217,6 @@ struct s { dnl This detects a bug on HP-UX 11.23/ia64. AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ -#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ -#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include ] @@ -305,6 +301,7 @@ static const char *macro_values[] = STDINT_H=stdint.h fi AC_SUBST([STDINT_H]) + AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) @@ -465,6 +462,14 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], fi gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) + + dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99 + dnl requirement that wint_t is "unchanged by default argument promotions". + dnl In this case gnulib's and override wint_t. + dnl Set the variable BITSIZEOF_WINT_T accordingly. + if test $BITSIZEOF_WINT_T -lt 32; then + BITSIZEOF_WINT_T=32 + fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4 index 356b14e1..511ab4e9 100644 --- a/m4/stdint_h.m4 +++ b/m4/stdint_h.m4 @@ -1,5 +1,5 @@ # stdint_h.m4 serial 9 -dnl Copyright (C) 1997-2004, 2006, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index 7f3ae562..ebade067 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,5 +1,5 @@ -# stdio_h.m4 serial 33 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# stdio_h.m4 serial 43 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,8 +7,32 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDIO_H], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) - AC_REQUIRE([AC_C_INLINE]) gl_NEXT_HEADERS([stdio.h]) + + dnl No need to create extra modules for these functions. Everyone who uses + dnl likely needs them. + GNULIB_FSCANF=1 + gl_MODULE_INDICATOR([fscanf]) + GNULIB_SCANF=1 + gl_MODULE_INDICATOR([scanf]) + GNULIB_FGETC=1 + GNULIB_GETC=1 + GNULIB_GETCHAR=1 + GNULIB_FGETS=1 + GNULIB_FREAD=1 + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result + dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING + dnl or GNULIB_NONBLOCKING redundant. + m4_ifdef([gl_NONBLOCKING_IO], [ + gl_NONBLOCKING_IO + if test $gl_cv_have_nonblocking != yes; then + REPLACE_STDIO_READ_FUNCS=1 + AC_LIBOBJ([stdio-read]) + fi + ]) + dnl No need to create extra modules for these functions. Everyone who uses dnl likely needs them. GNULIB_FPRINTF=1 @@ -21,9 +45,11 @@ AC_DEFUN([gl_STDIO_H], GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 - dnl This ifdef is just an optimization, to avoid performing a configure - dnl check whose result is not used. It does not make the test of - dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result + dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or + dnl GNULIB_SIGPIPE redundant. m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then @@ -31,13 +57,25 @@ AC_DEFUN([gl_STDIO_H], AC_LIBOBJ([stdio-write]) fi ]) + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result + dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING + dnl or GNULIB_NONBLOCKING redundant. + m4_ifdef([gl_NONBLOCKING_IO], [ + gl_NONBLOCKING_IO + if test $gl_cv_have_nonblocking != yes; then + REPLACE_STDIO_WRITE_FUNCS=1 + AC_LIBOBJ([stdio-write]) + fi + ]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not - dnl guaranteed by C89. + dnl guaranteed by both C89 and C11. gl_WARN_ON_USE_PREPARE([[#include - ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat - snprintf tmpfile vdprintf vsnprintf]) + ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen + renameat snprintf tmpfile vdprintf vsnprintf]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], @@ -53,23 +91,31 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], [ GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) + GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) + GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) + GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) + GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD]) GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) + GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF]) GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) + GNULIB_GETC=0; AC_SUBST([GNULIB_GETC]) + GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) + GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) @@ -80,11 +126,15 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) + GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF]) GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) + GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) + GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF]) + GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF]) GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) @@ -104,11 +154,14 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) + HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE]) + HAVE_POPEN=1; AC_SUBST([HAVE_POPEN]) HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) + REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) @@ -129,6 +182,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT]) REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) + REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS]) REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE]) REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 index 25fdada0..2027ab3c 100644 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,5 +1,5 @@ -# stdlib_h.m4 serial 37 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# stdlib_h.m4 serial 42 +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -19,10 +19,11 @@ AC_DEFUN([gl_STDLIB_H], #if HAVE_RANDOM_H # include #endif - ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp - mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r - setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt - unsetenv]) + ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt + initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps + posix_openpt ptsname ptsname_r random random_r realpath rpmatch + secure_getenv setenv setstate setstate_r srandom srandom_r + strtod strtoll strtoull unlockpt unsetenv]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], @@ -50,12 +51,16 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) + GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) + GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) + GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) + GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) @@ -76,11 +81,15 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) + HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT]) HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) + HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R]) + HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM]) HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H]) HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) + HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) @@ -95,7 +104,10 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) + REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) + REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) + REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) diff --git a/m4/stpcpy.m4 b/m4/stpcpy.m4 index c321d496..41fcb0e5 100644 --- a/m4/stpcpy.m4 +++ b/m4/stpcpy.m4 @@ -1,5 +1,5 @@ -# stpcpy.m4 serial 7 -dnl Copyright (C) 2002, 2007, 2009-2011 Free Software Foundation, Inc. +# stpcpy.m4 serial 8 +dnl Copyright (C) 2002, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,10 +13,9 @@ AC_DEFUN([gl_FUNC_STPCPY], AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS([stpcpy]) + AC_CHECK_FUNCS([stpcpy]) if test $ac_cv_func_stpcpy = no; then HAVE_STPCPY=0 - gl_PREREQ_STPCPY fi ]) diff --git a/m4/strcase.m4 b/m4/strcase.m4 index 1c553ff2..22bf57c9 100644 --- a/m4/strcase.m4 +++ b/m4/strcase.m4 @@ -1,5 +1,5 @@ -# strcase.m4 serial 10 -dnl Copyright (C) 2002, 2005-2011 Free Software Foundation, Inc. +# strcase.m4 serial 11 +dnl Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,19 +13,20 @@ AC_DEFUN([gl_STRCASE], AC_DEFUN([gl_FUNC_STRCASECMP], [ AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) - AC_REPLACE_FUNCS([strcasecmp]) + AC_CHECK_FUNCS([strcasecmp]) if test $ac_cv_func_strcasecmp = no; then HAVE_STRCASECMP=0 - gl_PREREQ_STRCASECMP fi ]) AC_DEFUN([gl_FUNC_STRNCASECMP], [ AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) - AC_REPLACE_FUNCS([strncasecmp]) - if test $ac_cv_func_strncasecmp = no; then - gl_PREREQ_STRNCASECMP + AC_CHECK_FUNCS([strncasecmp]) + if test $ac_cv_func_strncasecmp = yes; then + HAVE_STRNCASECMP=1 + else + HAVE_STRNCASECMP=0 fi AC_CHECK_DECLS([strncasecmp]) if test $ac_cv_have_decl_strncasecmp = no; then diff --git a/m4/strchrnul.m4 b/m4/strchrnul.m4 index a64e805b..b59eda9d 100644 --- a/m4/strchrnul.m4 +++ b/m4/strchrnul.m4 @@ -1,5 +1,5 @@ -# strchrnul.m4 serial 7 -dnl Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc. +# strchrnul.m4 serial 9 +dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,10 +10,39 @@ AC_DEFUN([gl_FUNC_STRCHRNUL], AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS([strchrnul]) + AC_CHECK_FUNCS([strchrnul]) if test $ac_cv_func_strchrnul = no; then HAVE_STRCHRNUL=0 - gl_PREREQ_STRCHRNUL + else + AC_CACHE_CHECK([whether strchrnul works], + [gl_cv_func_strchrnul_works], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include /* for strchrnul */ +]], [[const char *buf = "a"; + return strchrnul (buf, 'b') != buf + 1; + ]])], + [gl_cv_func_strchrnul_works=yes], + [gl_cv_func_strchrnul_works=no], + [dnl Cygwin 1.7.9 introduced strchrnul, but it was broken until 1.7.10 + AC_EGREP_CPP([Lucky user], + [ +#if defined __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 9) + Lucky user + #endif +#else + Lucky user +#endif + ], + [gl_cv_func_strchrnul_works="guessing yes"], + [gl_cv_func_strchrnul_works="guessing no"]) + ]) + ]) + case "$gl_cv_func_strchrnul_works" in + *yes) ;; + *) REPLACE_STRCHRNUL=1 ;; + esac fi ]) diff --git a/m4/strdup.m4 b/m4/strdup.m4 index 3fb36dd9..efe2d571 100644 --- a/m4/strdup.m4 +++ b/m4/strdup.m4 @@ -1,6 +1,6 @@ -# strdup.m4 serial 12 +# strdup.m4 serial 13 -dnl Copyright (C) 2002-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,10 +10,6 @@ AC_DEFUN([gl_FUNC_STRDUP], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([strdup]) - if test $ac_cv_func_strdup != yes; then - AC_LIBOBJ([strdup]) - gl_PREREQ_STRDUP - fi AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 @@ -28,12 +24,7 @@ AC_DEFUN([gl_FUNC_STRDUP_POSIX], if test $ac_cv_func_strdup = yes; then if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 - AC_LIBOBJ([strdup]) - gl_PREREQ_STRDUP fi - else - AC_LIBOBJ([strdup]) - gl_PREREQ_STRDUP fi AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then diff --git a/m4/strerror.m4 b/m4/strerror.m4 index 73d1d54d..3989844b 100644 --- a/m4/strerror.m4 +++ b/m4/strerror.m4 @@ -1,68 +1,96 @@ -# strerror.m4 serial 9 -dnl Copyright (C) 2002, 2007-2011 Free Software Foundation, Inc. +# strerror.m4 serial 17 +dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR], -[ - AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) - if test $REPLACE_STRERROR = 1; then - AC_LIBOBJ([strerror]) - AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], - [Define this to 1 if strerror is broken.]) - fi -]) - -# Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ). -AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_ERRNO_H]) - if test -z "$ERRNO_H"; then + AC_REQUIRE([gl_FUNC_STRERROR_0]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ + AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) + ]) + if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then AC_CACHE_CHECK([for working strerror function], [gl_cv_func_working_strerror], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], - [[return !*strerror (-2);]])], + [[if (!*strerror (-2)) return 1;]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no], - [dnl Assume crossbuild works if it compiles. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include - ]], - [[return !*strerror (-2);]])], - [gl_cv_func_working_strerror=yes], - [gl_cv_func_working_strerror=no]) - ]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_strerror="guessing no" ;; + esac + ]) + ]) + case "$gl_cv_func_working_strerror" in + *yes) ;; + *) + dnl The system's strerror() fails to return a string for out-of-range + dnl integers. Replace it. + REPLACE_STRERROR=1 + ;; + esac + m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ + dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's + dnl buffer, we must replace strerror. + case "$gl_cv_func_strerror_r_works" in + *no) REPLACE_STRERROR=1 ;; + esac ]) - if test $gl_cv_func_working_strerror = no; then - dnl The system's strerror() fails to return a string for out-of-range - dnl integers. Replace it. - REPLACE_STRERROR=1 - fi else dnl The system's strerror() cannot know about the new errno values we add - dnl to . Replace it. + dnl to , or any fix for strerror(0). Replace it. REPLACE_STRERROR=1 fi - if test $REPLACE_STRERROR = 1; then - gl_PREREQ_STRERROR - fi ]) -# Prerequisites of lib/strerror.c. -AC_DEFUN([gl_PREREQ_STRERROR], [ - AC_CHECK_DECLS([strerror]) - AC_CHECK_HEADERS_ONCE([sys/socket.h]) - if test $ac_cv_header_sys_socket_h != yes; then - dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make - dnl the check for those headers unconditional; yet cygwin reports - dnl that the headers are present but cannot be compiled (since on - dnl cygwin, all socket information should come from sys/socket.h). - AC_CHECK_HEADERS([winsock2.h]) - fi +dnl Detect if strerror(0) passes (that is, does not set errno, and does not +dnl return a string that matches strerror(-1)). +AC_DEFUN([gl_FUNC_STRERROR_0], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + REPLACE_STRERROR_0=0 + AC_CACHE_CHECK([whether strerror(0) succeeds], + [gl_cv_func_strerror_0_works], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + ]], + [[int result = 0; + char *str; + errno = 0; + str = strerror (0); + if (!*str) result |= 1; + if (errno) result |= 2; + if (strstr (str, "nknown") || strstr (str, "ndefined")) + result |= 4; + return result;]])], + [gl_cv_func_strerror_0_works=yes], + [gl_cv_func_strerror_0_works=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_strerror_0_works="guessing no" ;; + esac + ]) + ]) + case "$gl_cv_func_strerror_0_works" in + *yes) ;; + *) + REPLACE_STRERROR_0=1 + AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0) + does not return a message implying success.]) + ;; + esac ]) diff --git a/m4/string_h.m4 b/m4/string_h.m4 index 30ddfbc3..cc5fbbb3 100644 --- a/m4/string_h.m4 +++ b/m4/string_h.m4 @@ -1,11 +1,11 @@ # Configure a GNU-like replacement for . -# Copyright (C) 2007-2011 Free Software Foundation, Inc. +# Copyright (C) 2007-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 19 +# serial 21 # Written by Paul Eggert. @@ -27,9 +27,9 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include ]], - [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup - strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r - strsignal strverscmp]) + [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul + strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r + strerror_r strsignal strverscmp]) ]) AC_DEFUN([gl_STRING_MODULE_INDICATOR], @@ -43,6 +43,8 @@ AC_DEFUN([gl_STRING_MODULE_INDICATOR], AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], [ + GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL]) + GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL]) GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) @@ -80,6 +82,8 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FFSL=1; AC_SUBST([HAVE_FFSL]) + HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL]) HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) @@ -104,6 +108,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) + REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) diff --git a/m4/strings_h.m4 b/m4/strings_h.m4 index 71d284b6..76ef2424 100644 --- a/m4/strings_h.m4 +++ b/m4/strings_h.m4 @@ -1,7 +1,7 @@ -# Configure a replacement for . -# serial 3 +# Configure a replacement for . +# serial 6 -# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,12 +16,23 @@ AC_DEFUN([gl_HEADER_STRINGS_H], AC_DEFUN([gl_HEADER_STRINGS_H_BODY], [ AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) + gl_CHECK_NEXT_HEADERS([strings.h]) + if test $ac_cv_header_strings_h = yes; then + HAVE_STRINGS_H=1 + else + HAVE_STRINGS_H=0 + fi + AC_SUBST([HAVE_STRINGS_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. - gl_WARN_ON_USE_PREPARE([[#include - ]], [strcasecmp strncasecmp]) + gl_WARN_ON_USE_PREPARE([[ + /* Minix 3.1.8 has a bug: must be included before + . */ + #include + #include + ]], [ffs strcasecmp strncasecmp]) ]) AC_DEFUN([gl_STRINGS_MODULE_INDICATOR], @@ -33,7 +44,9 @@ AC_DEFUN([gl_STRINGS_MODULE_INDICATOR], AC_DEFUN([gl_HEADER_STRINGS_H_DEFAULTS], [ + GNULIB_FFS=0; AC_SUBST([GNULIB_FFS]) dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FFS=1; AC_SUBST([HAVE_FFS]) HAVE_STRCASECMP=1; AC_SUBST([HAVE_STRCASECMP]) HAVE_DECL_STRNCASECMP=1; AC_SUBST([HAVE_DECL_STRNCASECMP]) ]) diff --git a/m4/strndup.m4 b/m4/strndup.m4 index d8f00cab..a1f82743 100644 --- a/m4/strndup.m4 +++ b/m4/strndup.m4 @@ -1,5 +1,5 @@ -# strndup.m4 serial 18 -dnl Copyright (C) 2002-2003, 2005-2011 Free Software Foundation, Inc. +# strndup.m4 serial 21 +dnl Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,13 +18,18 @@ AC_DEFUN([gl_FUNC_STRNDUP], fi if test $ac_cv_func_strndup = yes; then + HAVE_STRNDUP=1 # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works], [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include ]], [[ -#ifndef HAVE_DECL_STRNDUP - extern char *strndup (const char *, size_t); +#if !HAVE_DECL_STRNDUP + extern + #ifdef __cplusplus + "C" + #endif + char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); @@ -42,12 +47,9 @@ changequote(,)dnl changequote([,])dnl ])]) case $gl_cv_func_strndup_works in - *no) - REPLACE_STRNDUP=1 - AC_LIBOBJ([strndup]) - ;; + *no) REPLACE_STRNDUP=1 ;; esac else - AC_LIBOBJ([strndup]) + HAVE_STRNDUP=0 fi ]) diff --git a/m4/strnlen.m4 b/m4/strnlen.m4 index a1c59ac6..eae82b77 100644 --- a/m4/strnlen.m4 +++ b/m4/strnlen.m4 @@ -1,5 +1,5 @@ -# strnlen.m4 serial 12 -dnl Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation, +# strnlen.m4 serial 13 +dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -16,16 +16,14 @@ AC_DEFUN([gl_FUNC_STRNLEN], if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 else - AC_FUNC_STRNLEN + m4_pushdef([AC_LIBOBJ], [:]) dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]). + AC_FUNC_STRNLEN + m4_popdef([AC_LIBOBJ]) if test $ac_cv_func_strnlen_working = no; then REPLACE_STRNLEN=1 fi fi - if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then - AC_LIBOBJ([strnlen]) - gl_PREREQ_STRNLEN - fi ]) # Prerequisites of lib/strnlen.c. diff --git a/m4/strtol.m4 b/m4/strtol.m4 index 10f0284b..b07a06ce 100644 --- a/m4/strtol.m4 +++ b/m4/strtol.m4 @@ -1,10 +1,10 @@ -# strtol.m4 serial 5 -dnl Copyright (C) 2002-2003, 2006, 2009-2011 Free Software Foundation, Inc. +# strtol.m4 serial 6 +dnl Copyright (C) 2002-2003, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOL], [ - AC_REPLACE_FUNCS([strtol]) + AC_CHECK_FUNCS([strtol]) ]) diff --git a/m4/strtoul.m4 b/m4/strtoul.m4 index 06979d16..00934ef2 100644 --- a/m4/strtoul.m4 +++ b/m4/strtoul.m4 @@ -1,10 +1,10 @@ -# strtoul.m4 serial 4 -dnl Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc. +# strtoul.m4 serial 5 +dnl Copyright (C) 2002, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOUL], [ - AC_REPLACE_FUNCS([strtoul]) + AC_CHECK_FUNCS([strtoul]) ]) diff --git a/m4/strtoull.m4 b/m4/strtoull.m4 index abf607fd..ad386da6 100644 --- a/m4/strtoull.m4 +++ b/m4/strtoull.m4 @@ -1,5 +1,5 @@ -# strtoull.m4 serial 6 -dnl Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc. +# strtoull.m4 serial 7 +dnl Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,10 +11,9 @@ AC_DEFUN([gl_FUNC_STRTOULL], dnl unless the type 'unsigned long long int' exists. AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test "$ac_cv_type_unsigned_long_long_int" = yes; then - AC_REPLACE_FUNCS([strtoull]) + AC_CHECK_FUNCS([strtoull]) if test $ac_cv_func_strtoull = no; then HAVE_STRTOULL=0 - gl_PREREQ_STRTOULL fi fi ]) diff --git a/m4/strtoumax.m4 b/m4/strtoumax.m4 index 448c4d9b..6a6aeb5d 100644 --- a/m4/strtoumax.m4 +++ b/m4/strtoumax.m4 @@ -1,25 +1,18 @@ -# strtoumax.m4 serial 8 -dnl Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc. +# strtoumax.m4 serial 11 +dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOUMAX], [ - AC_CACHE_CHECK([whether defines strtoumax as a macro], - gl_cv_func_strtoumax_macro, - [AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include -#ifdef strtoumax - inttypes_h_defines_strtoumax -#endif], - gl_cv_func_strtoumax_macro=yes, - gl_cv_func_strtoumax_macro=no)]) + AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) - if test "$gl_cv_func_strtoumax_macro" != yes; then - AC_REPLACE_FUNCS([strtoumax]) - if test $ac_cv_func_strtoumax = no; then - gl_PREREQ_STRTOUMAX - fi + dnl On OSF/1 5.1 with cc, this function is declared but not defined. + AC_CHECK_FUNCS_ONCE([strtoumax]) + AC_CHECK_DECLS_ONCE([strtoumax]) + if test "$ac_cv_have_decl_strtoumax" != yes; then + HAVE_DECL_STRTOUMAX=0 fi ]) diff --git a/m4/symlink.m4 b/m4/symlink.m4 index 917d5f0e..82ede2a4 100644 --- a/m4/symlink.m4 +++ b/m4/symlink.m4 @@ -1,7 +1,7 @@ -# serial 4 +# serial 6 # See if we need to provide symlink replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,13 +11,13 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SYMLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([symlink]) dnl The best we can do on mingw is provide a dummy that always fails, so dnl that compilation can proceed with fewer ifdefs. On FreeBSD 7.2, AIX 7.1, dnl and Solaris 9, we want to fix a bug with trailing slash handling. if test $ac_cv_func_symlink = no; then HAVE_SYMLINK=0 - AC_LIBOBJ([symlink]) else AC_CACHE_CHECK([whether symlink handles trailing slash correctly], [gl_cv_func_symlink_works], @@ -35,11 +35,19 @@ AC_DEFUN([gl_FUNC_SYMLINK], return result; ]])], [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no], - [gl_cv_func_symlink_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlink_works="guessing no" ;; + esac + ]) rm -f conftest.f conftest.link conftest.lnk2]) - if test "$gl_cv_func_symlink_works" != yes; then - REPLACE_SYMLINK=1 - AC_LIBOBJ([symlink]) - fi + case "$gl_cv_func_symlink_works" in + *yes) ;; + *) + REPLACE_SYMLINK=1 + ;; + esac fi ]) diff --git a/m4/symlinkat.m4 b/m4/symlinkat.m4 index 48395686..779295ff 100644 --- a/m4/symlinkat.m4 +++ b/m4/symlinkat.m4 @@ -1,7 +1,7 @@ -# serial 4 +# serial 5 # See if we need to provide symlinkat replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -16,6 +16,5 @@ AC_DEFUN([gl_FUNC_SYMLINKAT], AC_CHECK_FUNCS_ONCE([symlinkat]) if test $ac_cv_func_symlinkat = no; then HAVE_SYMLINKAT=0 - AC_LIBOBJ([symlinkat]) fi ]) diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4 new file mode 100644 index 00000000..94863776 --- /dev/null +++ b/m4/sys_socket_h.m4 @@ -0,0 +1,176 @@ +# sys_socket_h.m4 serial 23 +dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson. + +AC_DEFUN([gl_HEADER_SYS_SOCKET], +[ + AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) + + dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have + dnl old-style declarations (with return type 'int' instead of 'ssize_t') + dnl unless _POSIX_PII_SOCKET is defined. + case "$host_os" in + osf*) + AC_DEFINE([_POSIX_PII_SOCKET], [1], + [Define to 1 in order to get the POSIX compatible declarations + of socket functions.]) + ;; + esac + + AC_CACHE_CHECK([whether is self-contained], + [gl_cv_header_sys_socket_h_selfcontained], + [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], + [gl_cv_header_sys_socket_h_selfcontained=yes], + [gl_cv_header_sys_socket_h_selfcontained=no]) + ]) + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + dnl If the shutdown function exists, should define + dnl SHUT_RD, SHUT_WR, SHUT_RDWR. + AC_CHECK_FUNCS([shutdown]) + if test $ac_cv_func_shutdown = yes; then + AC_CACHE_CHECK([whether defines the SHUT_* macros], + [gl_cv_header_sys_socket_h_shut], + [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], + [gl_cv_header_sys_socket_h_shut=yes], + [gl_cv_header_sys_socket_h_shut=no]) + ]) + if test $gl_cv_header_sys_socket_h_shut = no; then + SYS_SOCKET_H='sys/socket.h' + fi + fi + fi + # We need to check for ws2tcpip.h now. + gl_PREREQ_SYS_H_SOCKET + AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[ + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +]) + if test $ac_cv_type_struct_sockaddr_storage = no; then + HAVE_STRUCT_SOCKADDR_STORAGE=0 + fi + if test $ac_cv_type_sa_family_t = no; then + HAVE_SA_FAMILY_T=0 + fi + if test $ac_cv_type_struct_sockaddr_storage != no; then + AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family], + [], + [HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0], + [#include + #ifdef HAVE_SYS_SOCKET_H + #include + #endif + #ifdef HAVE_WS2TCPIP_H + #include + #endif + ]) + fi + if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ + || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then + SYS_SOCKET_H='sys/socket.h' + fi + gl_PREREQ_SYS_H_WINSOCK2 + + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[ +/* Some systems require prerequisite headers. */ +#include +#include + ]], [socket connect accept bind getpeername getsockname getsockopt + listen recv send recvfrom sendto setsockopt shutdown accept4]) +]) + +AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], +[ + dnl Check prerequisites of the replacement. + AC_REQUIRE([gl_CHECK_SOCKET_HEADERS]) + gl_CHECK_NEXT_HEADERS([sys/socket.h]) + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi + AC_SUBST([HAVE_SYS_SOCKET_H]) + AC_SUBST([HAVE_WS2TCPIP_H]) +]) + +# Common prerequisites of the replacement and of the +# replacement. +# Sets and substitutes HAVE_WINSOCK2_H. +AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], +[ + m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) + m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) + AC_CHECK_HEADERS_ONCE([sys/socket.h]) + if test $ac_cv_header_sys_socket_h != yes; then + dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make + dnl the check for those headers unconditional; yet cygwin reports + dnl that the headers are present but cannot be compiled (since on + dnl cygwin, all socket information should come from sys/socket.h). + AC_CHECK_HEADERS([winsock2.h]) + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + AC_SUBST([HAVE_WINSOCK2_H]) +]) + +AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], +[ + dnl Use AC_REQUIRE here, so that the default settings are expanded once only. + AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) +]) + +AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], +[ + GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) + GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) + GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) + GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) + GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) + GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) + GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) + GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) + GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) + GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) + GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) + GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) + GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) + GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) + GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) + HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; + AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) + HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) + HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4]) +]) diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4 index fc419129..6dd3d99b 100644 --- a/m4/sys_stat_h.m4 +++ b/m4/sys_stat_h.m4 @@ -1,5 +1,5 @@ -# sys_stat_h.m4 serial 24 -*- Autoconf -*- -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +# sys_stat_h.m4 serial 28 -*- Autoconf -*- +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,14 +11,27 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) - dnl For the mkdir substitute. - AC_REQUIRE([AC_C_INLINE]) - dnl Check for broken stat macros. AC_REQUIRE([AC_HEADER_STAT]) gl_CHECK_NEXT_HEADERS([sys/stat.h]) + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + + dnl Whether to override 'struct stat'. + m4_ifdef([gl_LARGEFILE], [ + AC_REQUIRE([gl_LARGEFILE]) + ], [ + WINDOWS_64_BIT_ST_SIZE=0 + ]) + AC_SUBST([WINDOWS_64_BIT_ST_SIZE]) + if test $WINDOWS_64_BIT_ST_SIZE = 1; then + AC_DEFINE([_GL_WINDOWS_64_BIT_ST_SIZE], [1], + [Define to 1 if Gnulib overrides 'struct stat' on Windows so that + struct stat.st_size becomes 64-bit.]) + fi + dnl Define types that are supposed to be defined in or dnl . AC_CHECK_TYPE([nlink_t], [], @@ -30,7 +43,7 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include - ]], [fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat + ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) ]) # gl_HEADER_SYS_STAT_H @@ -47,6 +60,7 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) + GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT]) GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4 index 3a3adc8c..0ac71ac5 100644 --- a/m4/sys_time_h.m4 +++ b/m4/sys_time_h.m4 @@ -1,7 +1,7 @@ # Configure a replacement for . -# serial 6 +# serial 8 -# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -27,6 +27,9 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], HAVE_SYS_TIME_H=0 fi + dnl On native Windows with MSVC, 'struct timeval' is defined in + dnl only. So include that header in the list. + gl_PREREQ_SYS_H_WINSOCK2 AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( @@ -34,12 +37,46 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], #include #endif #include + #if HAVE_WINSOCK2_H + # include + #endif ]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])], [gl_cv_sys_struct_timeval=yes], - [gl_cv_sys_struct_timeval=no])]) + [gl_cv_sys_struct_timeval=no]) + ]) if test $gl_cv_sys_struct_timeval != yes; then HAVE_STRUCT_TIMEVAL=0 + else + dnl On native Windows with a 64-bit 'time_t', 'struct timeval' is defined + dnl (in and for mingw64, in only + dnl for MSVC) with a tv_sec field of type 'long' (32-bit!), which is + dnl smaller than the 'time_t' type mandated by POSIX. + dnl On OpenBSD 5.1 amd64, tv_sec is 64 bits and time_t 32 bits, but + dnl that is good enough. + AC_CACHE_CHECK([for wide-enough struct timeval.tv_sec member], + [gl_cv_sys_struct_timeval_tv_sec], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif + ]], + [[static struct timeval x; + typedef int verify_tv_sec_type[ + sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 + ]; + ]])], + [gl_cv_sys_struct_timeval_tv_sec=yes], + [gl_cv_sys_struct_timeval_tv_sec=no]) + ]) + if test $gl_cv_sys_struct_timeval_tv_sec != yes; then + REPLACE_STRUCT_TIMEVAL=1 + fi fi dnl Check for declarations of anything we want to poison if the @@ -69,4 +106,5 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS], HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) HAVE_SYS_TIME_H=1; AC_SUBST([HAVE_SYS_TIME_H]) REPLACE_GETTIMEOFDAY=0; AC_SUBST([REPLACE_GETTIMEOFDAY]) + REPLACE_STRUCT_TIMEVAL=0; AC_SUBST([REPLACE_STRUCT_TIMEVAL]) ]) diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4 new file mode 100644 index 00000000..d15c1b37 --- /dev/null +++ b/m4/sys_types_h.m4 @@ -0,0 +1,24 @@ +# sys_types_h.m4 serial 5 +dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN_ONCE([gl_SYS_TYPES_H], +[ + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + gl_NEXT_HEADERS([sys/types.h]) + + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + + dnl Whether to override the 'off_t' type. + AC_REQUIRE([gl_TYPE_OFF_T]) +]) + +AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], +[ +]) diff --git a/m4/sysexits.m4 b/m4/sysexits.m4 index 4d145722..bd8abaa0 100644 --- a/m4/sysexits.m4 +++ b/m4/sysexits.m4 @@ -1,5 +1,5 @@ -# sysexits.m4 serial 5 -dnl Copyright (C) 2003, 2005, 2007, 2009-2011 Free Software Foundation, Inc. +# sysexits.m4 serial 6 +dnl Copyright (C) 2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -40,4 +40,5 @@ AC_DEFUN([gl_SYSEXITS], fi AC_SUBST([HAVE_SYSEXITS_H]) AC_SUBST([SYSEXITS_H]) + AM_CONDITIONAL([GL_GENERATE_SYSEXITS_H], [test -n "$SYSEXITS_H"]) ]) diff --git a/m4/tempname.m4 b/m4/tempname.m4 index 6bd74ab7..a6e42dce 100644 --- a/m4/tempname.m4 +++ b/m4/tempname.m4 @@ -1,6 +1,6 @@ -#serial 3 +#serial 5 -# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -9,9 +9,6 @@ # it as a public API, and provide it on systems that are lacking. AC_DEFUN([gl_FUNC_GEN_TEMPNAME], [ - AC_REQUIRE([AC_SYS_LARGEFILE]) - - AC_LIBOBJ([tempname]) gl_PREREQ_TEMPNAME ]) diff --git a/m4/time_h.m4 b/m4/time_h.m4 index 615da1cf..3b839005 100644 --- a/m4/time_h.m4 +++ b/m4/time_h.m4 @@ -1,8 +1,8 @@ # Configure a more-standard replacement for . -# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. -# serial 4 +# serial 7 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,7 +25,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY], AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) ]) -dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared +dnl Check whether 'struct timespec' is declared dnl in time.h, sys/time.h, or pthread.h. AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], diff --git a/m4/time_r.m4 b/m4/time_r.m4 index 9bb28005..c388a831 100644 --- a/m4/time_r.m4 +++ b/m4/time_r.m4 @@ -1,6 +1,6 @@ dnl Reentrant time functions: localtime_r, gmtime_r. -dnl Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,7 +17,7 @@ AC_DEFUN([gl_TIME_R], dnl Some systems don't declare localtime_r() and gmtime_r() if _REENTRANT is dnl not defined. - AC_CHECK_DECLS_ONCE([localtime_r]) + AC_CHECK_DECLS([localtime_r], [], [], [[#include ]]) if test $ac_cv_have_decl_localtime_r = no; then HAVE_DECL_LOCALTIME_R=0 fi @@ -50,10 +50,6 @@ AC_DEFUN([gl_TIME_R], else HAVE_LOCALTIME_R=0 fi - if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then - AC_LIBOBJ([time_r]) - gl_PREREQ_TIME_R - fi ]) # Prerequisites of lib/time_r.c. diff --git a/m4/timespec.m4 b/m4/timespec.m4 index 4a1c7adb..399404b5 100644 --- a/m4/timespec.m4 +++ b/m4/timespec.m4 @@ -1,6 +1,6 @@ -#serial 14 +#serial 15 -# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -8,8 +8,4 @@ dnl From Jim Meyering -AC_DEFUN([gl_TIMESPEC], -[ - dnl Prerequisites of lib/timespec.h. - AC_REQUIRE([AC_C_INLINE]) -]) +AC_DEFUN([gl_TIMESPEC], [:]) diff --git a/m4/tm_gmtoff.m4 b/m4/tm_gmtoff.m4 index d65ddc01..55e7ea32 100644 --- a/m4/tm_gmtoff.m4 +++ b/m4/tm_gmtoff.m4 @@ -1,5 +1,5 @@ # tm_gmtoff.m4 serial 3 -dnl Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/unistd-safer.m4 b/m4/unistd-safer.m4 index 00ff1bd4..e65c3c92 100644 --- a/m4/unistd-safer.m4 +++ b/m4/unistd-safer.m4 @@ -1,5 +1,5 @@ -#serial 8 -dnl Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc. +#serial 9 +dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,7 +7,4 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UNISTD_SAFER], [ AC_CHECK_FUNCS_ONCE([pipe]) - AC_LIBOBJ([dup-safer]) - AC_LIBOBJ([fd-safer]) - AC_LIBOBJ([pipe-safer]) ]) diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index c81a1138..32dcfa58 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,5 +1,5 @@ -# unistd_h.m4 serial 53 -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +# unistd_h.m4 serial 66 +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,7 +11,6 @@ AC_DEFUN([gl_UNISTD_H], dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_REQUIRE([AC_C_INLINE]) gl_CHECK_NEXT_HEADERS([unistd.h]) if test $ac_cv_header_unistd_h = yes; then @@ -21,9 +20,18 @@ AC_DEFUN([gl_UNISTD_H], fi AC_SUBST([HAVE_UNISTD_H]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Determine WINDOWS_64_BIT_OFF_T. + AC_REQUIRE([gl_TYPE_OFF_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. - gl_WARN_ON_USE_PREPARE([[#include + gl_WARN_ON_USE_PREPARE([[ +#if HAVE_UNISTD_H +# include +#endif /* Some systems declare various items in the wrong headers. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include @@ -33,12 +41,13 @@ AC_DEFUN([gl_UNISTD_H], # include # endif #endif - ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat - fsync ftruncate getcwd getdomainname getdtablesize getgroups - gethostname getlogin getlogin_r getpagesize getusershell setusershell - endusershell lchown link linkat lseek pipe pipe2 pread pwrite readlink - readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat - usleep]) + ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat + fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups + gethostname getlogin getlogin_r getpagesize + getusershell setusershell endusershell + group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite + readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r + unlink unlinkat usleep]) ]) AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], @@ -52,47 +61,54 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ - GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) - GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) - GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) - GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) - GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) - GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) - GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) - GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) - GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) - GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) - GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) - GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) - GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) - GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) - GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) - GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) - GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) - GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) - GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) - GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) - GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) - GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) - GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) - GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) - GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) - GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) - GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) - GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) - GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) - GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) - GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) - GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) - GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) - GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) - GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) - GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) - GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) - GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) - GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) - GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) - GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) + GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) + GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) + GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) + GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) + GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) + GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) + GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) + GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) + GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) + GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) + GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) + GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) + GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) + GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) + GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) + GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) + GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) + GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) + GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) + GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) + GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) + GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) + GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) + GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) + GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) + GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) + GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) + GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) + GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) + GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) + GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) + GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) + GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) + GNULIB_READ=0; AC_SUBST([GNULIB_READ]) + GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) + GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) + GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) + GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) + GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) + GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) + GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) + GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) + GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) + GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) + GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) + GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) + GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) + GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) @@ -101,6 +117,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) + HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) @@ -108,6 +125,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) + HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) HAVE_LINK=1; AC_SUBST([HAVE_LINK]) HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) @@ -117,6 +135,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) + HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) @@ -124,10 +143,12 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) + HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) + HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) @@ -136,17 +157,20 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) + REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) + REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) + REPLACE_READ=0; AC_SUBST([REPLACE_READ]) REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) diff --git a/m4/unlink.m4 b/m4/unlink.m4 index a49a6928..b6b99d17 100644 --- a/m4/unlink.m4 +++ b/m4/unlink.m4 @@ -1,5 +1,5 @@ -# unlink.m4 serial 7 -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +# unlink.m4 serial 11 +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,6 +8,8 @@ AC_DEFUN([gl_FUNC_UNLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + dnl Detect FreeBSD 7.2, AIX 7.1, Solaris 9 bug. AC_CACHE_CHECK([whether unlink honors trailing slashes], [gl_cv_func_unlink_honors_slashes], @@ -18,7 +20,11 @@ AC_DEFUN([gl_FUNC_UNLINK], fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( - [[#include + [[#if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + #endif #include ]], [[int result = 0; @@ -36,16 +42,28 @@ AC_DEFUN([gl_FUNC_UNLINK], ]])], [gl_cv_func_unlink_honors_slashes=yes], [gl_cv_func_unlink_honors_slashes=no], - [gl_cv_func_unlink_honors_slashes="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_unlink_honors_slashes="guessing no" ;; + esac + ]) rm -f conftest.file conftest.lnk]) - dnl Detect MacOS X 10.5.6 bug: On read-write HFS mounts, unlink("..") or + case "$gl_cv_func_unlink_honors_slashes" in + *no) + REPLACE_UNLINK=1 + ;; + esac + + dnl Detect Mac OS X 10.5.6 bug: On read-write HFS mounts, unlink("..") or dnl unlink("../..") succeeds without doing anything. AC_CACHE_CHECK([whether unlink of a parent directory fails as it should], [gl_cv_func_unlink_parent_fails], [case "$host_os" in darwin*) dnl Try to unlink a subdirectory of /tmp, because /tmp is usually on a - dnl HFS mount on MacOS X. Use a subdirectory, owned by the current + dnl HFS mount on Mac OS X. Use a subdirectory, owned by the current dnl user, because otherwise unlink() may fail due to permissions dnl reasons, and because when running as root we don't want to risk dnl destroying the entire /tmp. @@ -70,7 +88,12 @@ AC_DEFUN([gl_FUNC_UNLINK], AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include - #include + #if HAVE_UNISTD_H + # include + #else /* on Windows with MSVC */ + # include + # include + #endif int main () { int result = 0; @@ -83,7 +106,9 @@ AC_DEFUN([gl_FUNC_UNLINK], ]])], [gl_cv_func_unlink_parent_fails=yes], [gl_cv_func_unlink_parent_fails=no], - [gl_cv_func_unlink_parent_fails="guessing no"]) + [# If we don't know, assume the worst. + gl_cv_func_unlink_parent_fails="guessing no" + ]) unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else @@ -97,17 +122,9 @@ AC_DEFUN([gl_FUNC_UNLINK], ]) case "$gl_cv_func_unlink_parent_fails" in *no) + REPLACE_UNLINK=1 AC_DEFINE([UNLINK_PARENT_BUG], [1], [Define to 1 if unlink() on a parent directory may succeed]) ;; esac - if test "$gl_cv_func_unlink_honors_slashes" != yes \ - || { case "$gl_cv_func_unlink_parent_fails" in - *yes) false;; - *no) true;; - esac - }; then - REPLACE_UNLINK=1 - AC_LIBOBJ([unlink]) - fi ]) diff --git a/m4/unlinkat.m4 b/m4/unlinkat.m4 new file mode 100644 index 00000000..32cfbc11 --- /dev/null +++ b/m4/unlinkat.m4 @@ -0,0 +1,33 @@ +# unlinkat.m4 serial 2 +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Jim Meyering. + +AC_DEFUN([gl_FUNC_UNLINKAT], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([unlinkat]) + AC_REQUIRE([gl_FUNC_UNLINK]) + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + if test $ac_cv_func_unlinkat = no; then + HAVE_UNLINKAT=0 + else + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *no) + # Solaris 9 has *at functions, but uniformly mishandles trailing + # slash in all of them. + REPLACE_UNLINKAT=1 + ;; + *) + # GNU/Hurd has unlinkat, but it has the same bug as unlink. + if test $REPLACE_UNLINK = 1; then + REPLACE_UNLINKAT=1 + fi + ;; + esac + fi +]) diff --git a/m4/unlinkdir.m4 b/m4/unlinkdir.m4 index dabe5f40..b555fc96 100644 --- a/m4/unlinkdir.m4 +++ b/m4/unlinkdir.m4 @@ -1,6 +1,6 @@ -# serial 6 +# serial 7 -# Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -13,8 +13,6 @@ AC_DEFUN([gl_UNLINKDIR], AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([priv.h]) - AC_LIBOBJ([unlinkdir]) - # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # Cygwin, and mingw never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never diff --git a/m4/unlocked-io.m4 b/m4/unlocked-io.m4 index be4323c0..f1462068 100644 --- a/m4/unlocked-io.m4 +++ b/m4/unlocked-io.m4 @@ -1,6 +1,6 @@ # unlocked-io.m4 serial 15 -# Copyright (C) 1998-2006, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 1998-2006, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/m4/utimbuf.m4 b/m4/utimbuf.m4 index 58ead2fd..3c9df414 100644 --- a/m4/utimbuf.m4 +++ b/m4/utimbuf.m4 @@ -1,6 +1,6 @@ # serial 9 -# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2011 Free Software Foundation, +# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation @@ -9,7 +9,7 @@ dnl From Jim Meyering -dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared -- +dnl Define HAVE_STRUCT_UTIMBUF if 'struct utimbuf' is declared -- dnl usually in . dnl Some systems have utime.h but don't declare the struct anywhere. diff --git a/m4/utimens.m4 b/m4/utimens.m4 index f2c755e8..10fe2a68 100644 --- a/m4/utimens.m4 +++ b/m4/utimens.m4 @@ -1,18 +1,17 @@ -dnl Copyright (C) 2003-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -dnl serial 5 +dnl serial 7 AC_DEFUN([gl_UTIMENS], [ - AC_LIBOBJ([utimens]) - dnl Prerequisites of lib/utimens.c. AC_REQUIRE([gl_FUNC_UTIMES]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([futimes futimesat futimens utimensat lutimes]) if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then @@ -32,11 +31,20 @@ AC_DEFUN([gl_UTIMENS], ]])], [gl_cv_func_futimesat_works=yes], [gl_cv_func_futimesat_works=no], - [gl_cv_func_futimesat_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_futimesat_works="guessing no" ;; + esac + ]) rm -f conftest.file]) - if test "$gl_cv_func_futimesat_works" != yes; then - AC_DEFINE([FUTIMESAT_NULL_BUG], [1], - [Define to 1 if futimesat mishandles a NULL file name.]) - fi + case "$gl_cv_func_futimesat_works" in + *yes) ;; + *) + AC_DEFINE([FUTIMESAT_NULL_BUG], [1], + [Define to 1 if futimesat mishandles a NULL file name.]) + ;; + esac fi ]) diff --git a/m4/utimensat.m4 b/m4/utimensat.m4 index 78472a5f..396b8357 100644 --- a/m4/utimensat.m4 +++ b/m4/utimensat.m4 @@ -1,7 +1,7 @@ -# serial 4 +# serial 5 # See if we need to provide utimensat replacement. -dnl Copyright (C) 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,7 +15,6 @@ AC_DEFUN([gl_FUNC_UTIMENSAT], AC_CHECK_FUNCS_ONCE([utimensat]) if test $ac_cv_func_utimensat = no; then HAVE_UTIMENSAT=0 - AC_LIBOBJ([utimensat]) else AC_CACHE_CHECK([whether utimensat works], [gl_cv_func_utimensat_works], @@ -67,7 +66,6 @@ choke me [gl_cv_func_utimensat_works="guessing no"])]) if test "$gl_cv_func_utimensat_works" != yes; then REPLACE_UTIMENSAT=1 - AC_LIBOBJ([utimensat]) fi fi ]) diff --git a/m4/utimes.m4 b/m4/utimes.m4 index 593e43d8..f8b19285 100644 --- a/m4/utimes.m4 +++ b/m4/utimes.m4 @@ -1,7 +1,7 @@ # Detect some bugs in glibc's implementation of utimes. # serial 3 -dnl Copyright (C) 2003-2005, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2005, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4 index 32ea985b..d730e435 100644 --- a/m4/vasnprintf.m4 +++ b/m4/vasnprintf.m4 @@ -1,5 +1,5 @@ -# vasnprintf.m4 serial 32 -dnl Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc. +# vasnprintf.m4 serial 36 +dnl Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -29,7 +29,7 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF], gl_PREREQ_ASNPRINTF ]) -# Prequisites of lib/printf-args.h, lib/printf-args.c. +# Prerequisites of lib/printf-args.h, lib/printf-args.c. AC_DEFUN([gl_PREREQ_PRINTF_ARGS], [ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) @@ -37,7 +37,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_ARGS], AC_REQUIRE([gt_TYPE_WINT_T]) ]) -# Prequisites of lib/printf-parse.h, lib/printf-parse.c. +# Prerequisites of lib/printf-parse.h, lib/printf-parse.c. AC_DEFUN([gl_PREREQ_PRINTF_PARSE], [ AC_REQUIRE([gl_FEATURES_H]) @@ -55,7 +55,6 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE], # Prerequisites of lib/vasnprintf.c. AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], [ - AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) @@ -63,7 +62,10 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). - AC_CHECK_DECLS([_snprintf], , , [#include ]) + AC_CHECK_DECLS([_snprintf], , , [[#include ]]) + dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization + dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE. + AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) dnl We can avoid a lot of code by assuming that snprintf's return value dnl conforms to ISO C99. So check that. AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) diff --git a/m4/vasprintf.m4 b/m4/vasprintf.m4 index 6db52b18..c214ff11 100644 --- a/m4/vasprintf.m4 +++ b/m4/vasprintf.m4 @@ -1,5 +1,5 @@ # vasprintf.m4 serial 6 -dnl Copyright (C) 2002-2003, 2006-2007, 2009-2011 Free Software Foundation, +dnl Copyright (C) 2002-2003, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff --git a/m4/version-etc.m4 b/m4/version-etc.m4 index 5032bf85..5dbef8e5 100644 --- a/m4/version-etc.m4 +++ b/m4/version-etc.m4 @@ -1,5 +1,5 @@ # version-etc.m4 serial 1 -# Copyright (C) 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/vsnprintf.m4 b/m4/vsnprintf.m4 index e4725e45..4900764e 100644 --- a/m4/vsnprintf.m4 +++ b/m4/vsnprintf.m4 @@ -1,9 +1,13 @@ -# vsnprintf.m4 serial 5 -dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc. +# vsnprintf.m4 serial 6 +dnl Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Libintl 0.17 will replace vsnprintf only if it does not support %1$s, +dnl but defers to any gnulib vsnprintf replacements. Therefore, gnulib +dnl must guarantee that the decision for replacing vsnprintf is a superset +dnl of the reasons checked by libintl. AC_DEFUN([gl_FUNC_VSNPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) @@ -16,7 +20,12 @@ AC_DEFUN([gl_FUNC_VSNPRINTF], gl_SNPRINTF_RETVAL_C99 case "$gl_cv_func_snprintf_retval_c99" in *yes) - gl_cv_func_vsnprintf_usable=yes + gl_PRINTF_POSITIONS + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_vsnprintf_usable=yes + ;; + esac ;; esac ;; diff --git a/m4/warn-on-use.m4 b/m4/warn-on-use.m4 index e0d0f276..e43beebd 100644 --- a/m4/warn-on-use.m4 +++ b/m4/warn-on-use.m4 @@ -1,5 +1,5 @@ -# warn-on-use.m4 serial 2 -dnl Copyright (C) 2010-2011 Free Software Foundation, Inc. +# warn-on-use.m4 serial 5 +dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,8 +18,8 @@ dnl with or without modifications, as long as this notice is preserved. # some systems declare functions in the wrong header, then INCLUDES # should do likewise. # -# If you assume C89, then it is generally safe to assume declarations -# for functions declared in that standard (such as gets) without +# It is generally safe to assume declarations for functions declared +# in the intersection of C89 and C11 (such as printf) without # needing gl_WARN_ON_USE_PREPARE. AC_DEFUN([gl_WARN_ON_USE_PREPARE], [ @@ -27,6 +27,8 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])), [Define to 1 if ]m4_defn([gl_decl])[ is declared even after undefining macros.])])dnl +dnl FIXME: gl_Symbol must be used unquoted until we can assume +dnl autoconf 2.64 or newer. for gl_func in m4_flatten([$2]); do AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl AC_CACHE_CHECK([whether $gl_func is declared without a macro], @@ -35,8 +37,8 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], [@%:@undef $gl_func (void) $gl_func;])], [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])]) - AS_VAR_IF(gl_Symbol, [yes], - [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) + AS_VAR_IF(gl_Symbol, [yes], + [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) dnl shortcut - if the raw declaration exists, then set a cache dnl variable to allow skipping any later AC_CHECK_DECL efforts eval ac_cv_have_decl_$gl_func=yes]) diff --git a/m4/warnings.m4 b/m4/warnings.m4 new file mode 100644 index 00000000..18487328 --- /dev/null +++ b/m4/warnings.m4 @@ -0,0 +1,70 @@ +# warnings.m4 serial 8 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson + +# gl_AS_VAR_APPEND(VAR, VALUE) +# ---------------------------- +# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. +m4_ifdef([AS_VAR_APPEND], +[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], +[m4_define([gl_AS_VAR_APPEND], +[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) + + +# gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED], +# [PROGRAM = AC_LANG_PROGRAM()]) +# ----------------------------------------------------------------- +# Check if the compiler supports OPTION when compiling PROGRAM. +# +# FIXME: gl_Warn must be used unquoted until we can assume Autoconf +# 2.64 or newer. +AC_DEFUN([gl_COMPILER_OPTION_IF], +[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl +AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [ + gl_save_compiler_FLAGS="$gl_Flags" + gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $gl_unknown_warnings_are_errors $1"]) + AC_COMPILE_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])], + [AS_VAR_SET(gl_Warn, [yes])], + [AS_VAR_SET(gl_Warn, [no])]) + gl_Flags="$gl_save_compiler_FLAGS" +]) +AS_VAR_IF(gl_Warn, [yes], [$2], [$3]) +AS_VAR_POPDEF([gl_Flags])dnl +AS_VAR_POPDEF([gl_Warn])dnl +]) + +# gl_UNKNOWN_WARNINGS_ARE_ERRORS +# ------------------------------ +# Clang doesn't complain about unknown warning options unless one also +# specifies -Wunknown-warning-option -Werror. Detect this. +AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS], +[gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option], + [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'], + [gl_unknown_warnings_are_errors=])]) + +# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS], +# [PROGRAM = AC_LANG_PROGRAM()]) +# --------------------------------------------- +# Adds parameter to WARN_CFLAGS if the compiler supports it when +# compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). +# +# If VARIABLE is a variable name, AC_SUBST it. +AC_DEFUN([gl_WARN_ADD], +[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS]) +gl_COMPILER_OPTION_IF([$1], + [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])], + [], + [$3]) +m4_ifval([$2], + [AS_LITERAL_IF([$2], [AC_SUBST([$2])])], + [AC_SUBST([WARN_CFLAGS])])dnl +]) + +# Local Variables: +# mode: autoconf +# End: diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4 index 6255ff35..bedb15a4 100644 --- a/m4/wchar_h.m4 +++ b/m4/wchar_h.m4 @@ -1,13 +1,13 @@ dnl A placeholder for ISO C99 , for platforms that have issues. -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Eric Blake. -# wchar_h.m4 serial 38 +# wchar_h.m4 serial 39 AC_DEFUN([gl_WCHAR_H], [ @@ -119,13 +119,6 @@ Configuration aborted.]) fi ]) -dnl Unconditionally enables the replacement of . -AC_DEFUN([gl_REPLACE_WCHAR_H], -[ - dnl This is a no-op, because is always overridden. - : -]) - AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4 index d2c03c42..e1e1e699 100644 --- a/m4/wchar_t.m4 +++ b/m4/wchar_t.m4 @@ -1,5 +1,5 @@ # wchar_t.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/wcrtomb.m4 b/m4/wcrtomb.m4 index 2905d9ba..f56b5bae 100644 --- a/m4/wcrtomb.m4 +++ b/m4/wcrtomb.m4 @@ -1,5 +1,5 @@ -# wcrtomb.m4 serial 8 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# wcrtomb.m4 serial 11 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,6 +14,22 @@ AC_DEFUN([gl_FUNC_WCRTOMB], AC_CHECK_FUNCS_ONCE([wcrtomb]) if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 + AC_CHECK_DECLS([wcrtomb],,, [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +]]) + if test $ac_cv_have_decl_wcrtomb = yes; then + dnl On Minix 3.1.8, the system's declares wcrtomb() although + dnl it does not have the function. Avoid a collision with gnulib's + dnl replacement. + REPLACE_WCRTOMB=1 + fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 @@ -88,11 +104,6 @@ int main () esac fi fi - if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then - gl_REPLACE_WCHAR_H - AC_LIBOBJ([wcrtomb]) - gl_PREREQ_WCRTOMB - fi ]) # Prerequisites of lib/wcrtomb.c. diff --git a/m4/wctype_h.m4 b/m4/wctype_h.m4 index ef9fb049..82ada0ee 100644 --- a/m4/wctype_h.m4 +++ b/m4/wctype_h.m4 @@ -1,8 +1,8 @@ -# wctype_h.m4 serial 14 +# wctype_h.m4 serial 18 dnl A placeholder for ISO C99 , for platforms that lack it. -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -22,8 +22,6 @@ AC_DEFUN([gl_WCTYPE_H], fi AC_SUBST([HAVE_ISWCNTRL]) - AC_REQUIRE([AC_C_INLINE]) - AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 @@ -57,7 +55,8 @@ AC_DEFUN([gl_WCTYPE_H], #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif]], [])], - [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) + [gl_cv_func_iswcntrl_works="guessing yes"], + [gl_cv_func_iswcntrl_works="guessing no"]) ]) ]) fi @@ -67,15 +66,51 @@ AC_DEFUN([gl_WCTYPE_H], fi AC_SUBST([HAVE_WCTYPE_H]) - if test "$gl_cv_func_iswcntrl_works" = no; then - REPLACE_ISWCNTRL=1 - else - REPLACE_ISWCNTRL=0 - fi + case "$gl_cv_func_iswcntrl_works" in + *yes) REPLACE_ISWCNTRL=0 ;; + *) REPLACE_ISWCNTRL=1 ;; + esac AC_SUBST([REPLACE_ISWCNTRL]) if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then - dnl Redefine all of iswcntrl, ..., towupper in . + dnl Redefine all of iswcntrl, ..., iswxdigit in . + : + fi + + if test $REPLACE_ISWCNTRL = 1; then + REPLACE_TOWLOWER=1 + else + AC_CHECK_FUNCS([towlower]) + if test $ac_cv_func_towlower = yes; then + REPLACE_TOWLOWER=0 + else + AC_CHECK_DECLS([towlower],,, + [[/* Tru64 with Desktop Toolkit C has a bug: must be + included before . + BSD/OS 4.0.1 has a bug: , and + must be included before . */ + #include + #include + #include + #include + #if HAVE_WCTYPE_H + # include + #endif + ]]) + if test $ac_cv_have_decl_towlower = yes; then + dnl On Minix 3.1.8, the system's declares towlower() and + dnl towupper() although it does not have the functions. Avoid a + dnl collision with gnulib's replacement. + REPLACE_TOWLOWER=1 + else + REPLACE_TOWLOWER=0 + fi + fi + fi + AC_SUBST([REPLACE_TOWLOWER]) + + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then + dnl Redefine towlower, towupper in . : fi diff --git a/m4/wcwidth.m4 b/m4/wcwidth.m4 index bf39d1d2..740f81ee 100644 --- a/m4/wcwidth.m4 +++ b/m4/wcwidth.m4 @@ -1,5 +1,5 @@ -# wcwidth.m4 serial 18 -dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. +# wcwidth.m4 serial 23 +dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_WCWIDTH], AC_CHECK_HEADERS_ONCE([wchar.h]) AC_CHECK_FUNCS_ONCE([wcwidth]) - AC_CHECK_DECLS([wcwidth], [], [], [ + AC_CHECK_DECLS([wcwidth], [], [], [[ /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before @@ -29,13 +29,15 @@ AC_DEFUN([gl_FUNC_WCWIDTH], #include #include #include -]) +]]) if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = yes; then - dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1. + HAVE_WCWIDTH=1 + dnl On Mac OS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1. + dnl On OpenBSD 5.0, wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1. dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1. dnl This leads to bugs in 'ls' (coreutils). AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales], @@ -68,8 +70,10 @@ int main () { if (wcwidth (0x0301) > 0) result |= 1; - if (wcwidth (0x200B) > 0) + if (wcwidth (0x05B0) > 0) result |= 2; + if (wcwidth (0x200B) > 0) + result |= 4; } return result; }]])], @@ -89,13 +93,8 @@ changequote([,])dnl *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac - fi - if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1; then - AC_LIBOBJ([wcwidth]) - fi - if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1 \ - || test $HAVE_DECL_WCWIDTH = 0; then - gl_REPLACE_WCHAR_H + else + HAVE_WCWIDTH=0 fi dnl We don't substitute HAVE_WCWIDTH. We assume that if the system does not dnl have the wcwidth function, then it does not declare it. diff --git a/m4/wint_t.m4 b/m4/wint_t.m4 index da1ce3df..d7cd3db9 100644 --- a/m4/wint_t.m4 +++ b/m4/wint_t.m4 @@ -1,5 +1,5 @@ # wint_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/write.m4 b/m4/write.m4 index 8695c896..a79b2cc9 100644 --- a/m4/write.m4 +++ b/m4/write.m4 @@ -1,5 +1,5 @@ -# write.m4 serial 1 -dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +# write.m4 serial 5 +dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,6 +7,10 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WRITE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_MSVC_INVAL]) + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_WRITE=1 + fi dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_UNISTD_H_SIGPIPE or GNULIB_SIGPIPE redundant. @@ -14,7 +18,15 @@ AC_DEFUN([gl_FUNC_WRITE], gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_WRITE=1 - AC_LIBOBJ([write]) + fi + ]) + m4_ifdef([gl_NONBLOCKING_IO], [ + gl_NONBLOCKING_IO + if test $gl_cv_have_nonblocking != yes; then + REPLACE_WRITE=1 fi ]) ]) + +# Prerequisites of lib/write.c. +AC_DEFUN([gl_PREREQ_WRITE], [:]) diff --git a/m4/xalloc.m4 b/m4/xalloc.m4 index 49008208..64ca7014 100644 --- a/m4/xalloc.m4 +++ b/m4/xalloc.m4 @@ -1,24 +1,7 @@ -# xalloc.m4 serial 16 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +# xalloc.m4 serial 18 +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN([gl_XALLOC], -[ - AC_LIBOBJ([xmalloc]) - - gl_PREREQ_XALLOC - gl_PREREQ_XMALLOC -]) - -# Prerequisites of lib/xalloc.h. -AC_DEFUN([gl_PREREQ_XALLOC], [ - AC_REQUIRE([gl_INLINE]) - : -]) - -# Prerequisites of lib/xmalloc.c. -AC_DEFUN([gl_PREREQ_XMALLOC], [ - : -]) +AC_DEFUN([gl_XALLOC], [:]) diff --git a/m4/xgetcwd.m4 b/m4/xgetcwd.m4 index 4ad788bb..c972029d 100644 --- a/m4/xgetcwd.m4 +++ b/m4/xgetcwd.m4 @@ -1,12 +1,10 @@ -#serial 6 -dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc. +#serial 8 +dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XGETCWD], [ - AC_LIBOBJ([xgetcwd]) - - AC_REQUIRE([gl_FUNC_GETCWD]) + : ]) diff --git a/m4/xsize.m4 b/m4/xsize.m4 index 8c693bc6..8ea9f2cd 100644 --- a/m4/xsize.m4 +++ b/m4/xsize.m4 @@ -1,5 +1,5 @@ -# xsize.m4 serial 4 -dnl Copyright (C) 2003-2004, 2008-2011 Free Software Foundation, Inc. +# xsize.m4 serial 5 +dnl Copyright (C) 2003-2004, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,6 +8,5 @@ AC_DEFUN([gl_XSIZE], [ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) - AC_REQUIRE([AC_C_INLINE]) AC_CHECK_HEADERS([stdint.h]) ]) diff --git a/m4/xstrndup.m4 b/m4/xstrndup.m4 index 1400b0f1..4a9330bb 100644 --- a/m4/xstrndup.m4 +++ b/m4/xstrndup.m4 @@ -1,5 +1,5 @@ # xstrndup.m4 serial 2 -dnl Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff --git a/m4/xstrtol.m4 b/m4/xstrtol.m4 index 99b7db42..d52ee112 100644 --- a/m4/xstrtol.m4 +++ b/m4/xstrtol.m4 @@ -1,12 +1,10 @@ -#serial 10 -dnl Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc. +#serial 11 +dnl Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSTRTOL], [ - AC_LIBOBJ([xstrtol]) - AC_LIBOBJ([xstrtoul]) - AC_LIBOBJ([xstrtol-error]) + : ]) diff --git a/m4/xvasprintf.m4 b/m4/xvasprintf.m4 index 7abfaefa..772dcc86 100644 --- a/m4/xvasprintf.m4 +++ b/m4/xvasprintf.m4 @@ -1,11 +1,8 @@ -# xvasprintf.m4 serial 1 -dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. +# xvasprintf.m4 serial 2 +dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN([gl_XVASPRINTF], -[ - dnl Prerequisites of lib/xvasprintf.c. - AC_REQUIRE([AC_C_INLINE]) -]) +dnl Prerequisites of lib/xvasprintf.c. +AC_DEFUN([gl_XVASPRINTF], [:]) diff --git a/po/LINGUAS b/po/LINGUAS index b846e7a0..c892523e 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -4,6 +4,7 @@ cs da de el +eo es et eu diff --git a/po/POTFILES.in b/po/POTFILES.in index 94b29b6b..878910d6 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,22 +1,22 @@ # List of files which contain translatable strings. -# Copyright (C) 1996, 1999, 2000, 2003, 2004, 2005, 2007 Free Software +# Copyright 1996, 1999-2000, 2003-2005, 2007, 2013 Free Software # Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Library files gnu/argmatch.c diff --git a/po/bg.gmo b/po/bg.gmo index 69fb4c1923ad559f86ef438dcbae913cb2dd17ee..bbcf2e8828dfc27d70175cf7fd544283ca734fd5 100644 GIT binary patch delta 9166 zcmZA634D!L{>Slik%*8YB(bD~h&3CrB@$wZC5aG0P*Ph^MJYmU*OC;qyLOG8E{x*R z)u0&Kj-@qYY@L>Fbn&NyYSDH+-+LbO^7=oo{_gwy&a<88EYH2s^Iw(xZf{BV7r~`g zx{NVv`H06~%NY|{!k8mfjZuAOZEH{LLue~RcAFyf$Bh_)JFq66L@r~lJKn{)gF@|$YbL@nDk^jtQK7#NBhT}gm4u3}7xE2>_g>A7K zPDfpD4Tj;H7=lN!0$z-A8&iYA_f*uy06r>X94280R72d@9JgQ|UP9fVWj$l6U=B9G zQK%T;-Cv8IiK8=Z39dnUgW<08a+Z=Z}?ne#XLDX>%k?CWinFtBo-{erx zh32B>z*f{yypN2A`P|6^Xr0EiA*x|nsL47GwHjVV_1soe1CL@QyowQc7j^v*#!WpC zjqdUkGAX2De^i$hqb~3X>H;@VCp^MZ7*2PT!&+DpV^Krb1S7C3R=_bBf^O9LD^Zj1 z0O|p6HlzOoDU@$+TV4&-phQ$dx}b)lz{xkG8gK?R6#qb7_%ep#1JqDfzsw8>+`f zVHnOtU2hFm#@!f!$56+AScnmh0EZ(7H_!M~|nXC04~>P%1fAfHXP7G#- zY0RTgH%vs0Rcj|tbMkcbqdps}V=n56$D?{+Ax7X9R1Y4*n)oSdQr<>2JfJ;|QWqvr zsEf~{X8p@J4p*UiAfSV7P(9R>M5B752kOS7P+eVwdVp2f58p&hI=?jL3syv(mxpT5 z6Ca^kdIdFBcTim!KtHQT60tX?qV}&wP0C%UA^aS5-ES}y^&>(L z5{9}@bL8v7q<5nK%TRcU3ONV;aFL@2UF2(#HkkFO*?SG^VcE`hawcFDd3V%}3UDB< zM2-0`s2fLivB$MQHDG|7f|kWX$M;cPe**)tU%I_uK57*dqL$NUWEjl_RM%I_uszlY zYmv7{T{qvU_h1nDPE>>5L*M%U&M7>^+U%&nK#jx%tdAQoA5UTiiucX>wmtlV9Y+$th|D{(L*eY5j||f zqES7Nj@7UL)rHHPd#?Z-;(#n$}Wb1C84g*&b32133bDDs2)0ry3Re+b!zsZ|Ft|a zC{)71sJsC6<<_kT1ZS zxDD0C%Lg*Pco12krs^Pjy`iW{`YNg?j<_kzp>W%&m@wFm{WjDMPvHv~K7`jTE<~!# zm#7Q38)|!I5o&1OMy7+gh1D@F-}cNPOd?-_5qK77qWd-lmbMu;j3tMMuo$Ziw@>;m z`nnz&J`*~^j_FuDN&X6|2YWncpJ+33N%I-1!7X^1e5~Uz5qmz*j~QHyKWhE|LV?~k zUyZWA15!uZ9}xSI;Wl?L1GC21ui15|hF(KGQ3~CYhLh2ahmcE|)?@A0^iDiT{uAoB zH^%YRjkhpfXXL$T$9@TxWXIR2mS4y5n8Zgp+>O!r0fyrZ)N1jYU?*ufs_Qeb9d1Sz ziunc$FlD0cq5ari^-?Xa&)&v33IlNi=HMH+41Y&WrX`bXgMLEIfq|3xfr`ga4Qu+6 zJ#P?pAwPgjEAuDrz(G^^HG~0EZ4b>scQ-0-Q_z8_)9jDXEvN?V#kTl0GA&Hhbi03{ z<9bws-^4|D0MoJk4BLZ?Q4PF?1F#2At0&)sz45M_{?}y5m}yVgi&^BQW*Nh@Fge%& z52G6NJ;q`6+4f5(17pbNVF!F0b^Jr@j8Sv!x*vl}$Twmp#ueJRGp&%8L{jk%720tH z1F(LPUDu7#pFADgVK%1W3RHtGqi$U8W&5{dHqr^E2sMXF&b2+%8&k;#VJ+N(1M#?< z0=;XZ=Gm{^EvN-6m_FWY=*s%|I7kDG;|@a*!7){P080_BA!OtU`j9G-v)3o zHo`}!Ra1YVZHRk_Qz$}>;cNIRHY3q8JBRf#cClTSxfnyf3U#C7j(?yU+LC_mi6gNs z9>z>`Ew!)WEQ}=|gBp})sXj) zVKcvCXPmczZ#4W2o8r)o*0nf*{0wGb^d|eBn2deNzeF9MxY-Wz7^G9p3iQVYTj>9C z6ymqo*`9*hk&YU}Y}DBG$HBN68)B)gwmuG{$tR#D<7VuFS1=!=w%LX(Kt0H}*a~B} z(>NTt-EF%jeTTi_B2?F|LCxBaQOhRuHGAWBSf6|}Y8kFVJz>P__RFUiwjn={O)%sQ zd&ADC>l9)g+=Cj*^KJ^dq2HVQvk5lG5G=$?xDIvVgq`+-7L2-42W*Lx zoO}=VBL5n-DiZ%3a6>)@{WD- zuy^eRMqwuP$8Z={c+Y-0O+r1<2`8`kzFq$VF_-$UP*0xpft`FaP|NWm#$maGwuh2& z2lqEc6jCtyueOUuVt?{O*bA#4vOgrop>FVrW9`HC%VrAprT$k`gL@pY>w6<+k)Oam z81kWAHDjdwX{5{kYw>fW@-AYu$zQbwQ_Fs0W4q+$qTc`(Wae=oZ9z;6Q1o7cd zxTo+@mx>2OQ(`RnSp1b3O*xqOgR+*`Q^XzOB|?92YCA&AqC61i6E7222=%JA>lWW< zSEsB8(>C3u_2+E#l<&omiXlWt=LWU$RdQ{;C~MrbX#%z+Vu_ClZA=f7$T63E8AD3> zL&~!W=Hmah7pT{^z{UOjDLh5RbkzR^(^eBBag{IQwMyQWGQDrMJ9X2j%O|ugBT7Xs0V zhz;aPsBI#VK)Eq$)wChBogjKsA4B}+tFeCv{GD<|Cl_hXb+VnhK+V4+R zqhdAYI43?NuTS|6yhhZZT#mR%c|B2;vbJs(v&PAl_MzMbTR3%nv8TrW|8I||=U&d-;5a`b(Ww)W6Od~o_zZ)wM*_6M>eBymVTQ6d+uf$(D?EeqtQuqp?ZLq~8JNbF?kDNO7 zdOe~@>wgE8Sp;uN-@pCnm?}gyVj%~0Ar7jNtu^II_?9oTzj%J8+{4K?JBm=Jy!?r} zN>15}d0cCZS~7y94zYk}Pks`${e?I{R43x8k4A0th%)4_`7-;1^qx~*f=h{h#7d6I zBH9ob`He2;X z9_8n-7{4JJIQze&JccMqlp_W>^ zO_Z}g1W!@-qEjzCPPsYzMiM`f|LN2{kHN$+=lqdQz3%VZYCkSuQw|ElLL%HbA;t0W zVY%dS!~iO4;XtAj<@cNeW<5R-FB9p+QKCA>rJ%OY?YFr79j}U3L;#U@kujo0V~Jsu z8)zpR=bAs+mR|IJRVUKlJF3zA5}wYn!QR@jc_q9D<3r1MTuFVrg-I1%-uuY|U7n)W z$33IlH1uw7v!j%!puAvKEc~+ z_^EQ4Tvl;tiof*kV)9V$PPi-E&EP}WI_UACd^D&Eki(-f(kgGs35qp zh)Q5UBD))k>jXtxYX#g|TdDlD^>1yh|L^bJml&=6zYizhd+xjM-gC}9=f0Ql*}u<0L{5z}xuWM&nHcW;s zVJ}z*PI8$8*P<_g$?zXA4c2RKMVv)MP`nC;j;$PyBE=+y?c)$52~Top?8ZogmS*`a$JME|g(;P!4T?HQ*VjTzMJR zg_m7kh0GJNexRW}Ye4pCk4Ho4A;>N3fXjh=%s^&rkzzWHu$^RHy}up(Z*4l@n!9Tkx5Fg36RKJcLq)C(%D}5I(vU`762OM7VKN*H6@jVnI=B=Lfa@W7 zX1xYA!M9M)C-*kvQ(!gp;jj)I1FOR6P+OM;ZMY29gWG!(|LbWyMTZuA0WzocF_cHm zZo)g*7s~Qmp$wV>Wym6^t#}NQpVnJ$|G%LO>BL5BOFBc%-wSH|Bq&E$W)Oev?frCU z?=QiousRvo7}~Htya_6qMnG=@2Mr`mtgri+NVM;34wfNM22O%u7v~Ot5A;B zX1{AgPlSdB-UO*cYa&!g?|_ZqHmC@dK<(vOXv5z_J@+rDGHlY{?EOHfGV?(>5{B2p zjZpLMfC~LVsOKZkyEiVv26TK4Z-6xhn2@!F3iS{uLl!_yxE9KTtxzF;7|OuCumwB` zm7E_yd0cCtVG2~FM;b<~1vFIW_d*iVIt%5|_mC)C?T8;vT3*O0Z0&+1zI6^NVn0CD zw`Z`sw=jgh5;lR~KzUqmh)K#;P@bp36xII-8rA4n2<6E#D9cwu?fuhGo}YoriFctU z{1Uc=N{n{EhHc?cs7TC%ZQu&n89oLz?*+)2WF-t`t61OaMnj<=1a&}6fHs@~70TtX z8r%Wp(IapGJOP!>-$VXc9d9x71Yk4tl~Cg!f-;~Kwu7HTZRvHlvi}`u^r4|-%YicF zcBo|82(|E|um;@g>IYo?Fsx4hai|5KgNo1}pd$7Sv|*iLCiEVth-E;nH+2~Cmj^*Q z6q+5dJv;|hMpxkis5g-!5ri^mGn|${&Omwe)d=Hh%CXmA zZCGU#@uzLo9c3n%24!IpRAjb7d3F+NqTfMzb_FU@RY!9u!DJ|pWk3`4N|ez8d#6@t#dRKy7yr#_!ZOwN#jlbAb2hMRG13$U=rNw z@(I`){WP2lKY|_Ms0nxt7eeLM2T%sqVjt3BH`qt@pG`v(?}GC54QRu!VJ1wPWbRLe zns_bL1SL=gUxLb+Dw7RcL!F?5pbfL2JT8VB|02{m@fqyQ`c~~Jod2*7l;;bf4vxoM zz5*!(>kB9YdXmaI+h@Usa4A&(-7b$p8FUG1A#0k+_I6N)b%Bb=7#L|vV;PMkcrTQ` zA1YL5p(gqt$X;3Xr<)V8HB`j9LoMuexgHKdkHPNnTd3Uf%rMC}5*|PgLnUR~nZ#d~ zjGk%AYAO5_eG^PdAQH38mTbr}dwdXT;dh`SmEbiKr9;g#1t!DQP?6d0>Lsu?`pd8x zd>d-~mtNxEn?|$QCIaJO26{g13Lk^o>-S)NSToxkP)%SH^a1cXI2CH#Tv#1G09E(9 zU|+Zg>R|g6Hh^_9@WLoP!lXOhp{&w$#RS+FyVz{aoy zD&*%NXN~nINI_Y>a?RFmfbx7dT${ji=V|n!V``qM+k4;`^c_%pcm-SXh5`5@91FY8H@^w3 zg_`)!up{i@H(NFnQqtCaPDpJ=liMFs0wBaJS0&asNVUt3qAgo-tL-qeW4SAZy zF{TB!LMqKV1+~YGgCq{@3P;25U^*NYG6&2Oh;7zIh;!DcuyNp7cn-Zzkty$Y;T-gO z3oYv}a50?0`c}>&^TqN!?1$cSv3Xk+!4c?jI21NtVl2;w^6)gwgx|pdaKKWXryMkp zAX*8_OurwVKtBLAzTkF#`+y4adSKAWm7|!#Z%ma#McGVRQ8T zQ04XtOoJDpwnSewgJ2GnA$#Ctn6!eDhV!8!_{j?F9ZVysm|r^JWY`66hl%h_I1c^} zZib$fCfQCy8P=SPnhiHWcG3D8rox;%%yXOJF!WEM7pAYqIk*`TB&+ut*TUEulZ5tK zGq4cWWx#nTgD%5?u;Ds>(}feD?w@e^8kE8B!@J<8P)Qs5jfvzbCc9ce5bq32g(Gf zt$qk@gm1x-Fft2G$@C;_1OEthqxL3Vm2fg_485=hTne?f#ZbxgB9uXi?2i`i1H0)y zByFrCP!4sw$3$oi9Du$Vwo<;Hr;$a+-yjKTO^8w&@I0IgM{F^MJOk^XpN3uF>rmD4 zZ`cD4-)dPz*;)a|z{Gpac`y}rN52c+1fPfOw)HPqP=)2dV%}ouFcG~!>;Q*D84`r!;ZfKR)_K(I=?FLw{UMi^U^aT|$2iX68t8}r zgygd|_i_G)0Kb9iFW$}m7t^@9n@?^S++*GWe}aYRllSsH2+u)zc4D7No~y7AdY31R zL4KHz{uES_Hrj8#f?L4;=r)u?Suh>0gPmdN{)jorK6eM!c+!MwD3oXGp%#7}-U_X! z+`s?9Ow_&bSMaYe84h^bRL3M(7ySX)9`1u}VI0rc zOxEs$%I*(cJ?Wr1K!(8)^zVVW@M|~)PCaCvI}DW@pF;}7x-MoS^BAmyzTah})V=W% zOytJva0q-4&W6non{UAgRR0q&6@Cd-PR);)BX%P6q3?n+q{cJGp)7ba`aXCOehLS{ zmySB?MXXw-oMu%yTA}vDbKF$HOxOv1KTLt|!H%%X2~+2tppxwf><*ip)M>)03AN{M z!mhCHDPzb$cr*HXsCmyi5x;KfDb#K5Nc_e5fSe1qZ{=VPrTB&&%d@xfmuUkOOci z{qMbE3~O=DER+hh_cNe8S`T-^7oZ1bziL9i87@FCgCpSJ*G&0sgw4>8!in(h*Vr*x zp7Of+R+|k~*Q?+jcm|Gyd2jG*89c%dMPSvNW`f^B-A{kZRKe|VH2TL-j&+S2{nxM< z{dG7AjxIBi*j+~a)$t`A3dt?!P4;ep-OxXU>9EP$=7C{wH~KxWFTCj;6S+ljI{Ir+ zd)x7X`Qlj)HUE1q)8933#kEjXQa$pX@n9BgPsfu`9=r`F!`8nwWw#7!OU}SauqGL( z`?KH}SPErmt@lmc_lBL(XTq^?BkTn~f=c$Lzc;@NM*7pxgfmYrrRF z!h7K$9{d6-InqBhmac)V(Dy@m@CIxGtAA#4r6rVM)8QSk3~K8p{?WYF*Tbpk-$FS$ z?oZ~t*bk@c#JEJG2RHhDZqD!!9FM*p-T*JcmhgL+4{!Lh$(6M*1^qR+7=8n_K;SRN z)0bf;dXp~GzAAq&sL+o9*LX78SWx1j$X%Ck0K@@H1K7kc3E ztH#j9kO(_pKfw9>kT^g;xPE2eIH6`$4R)`H{`2pDP|hOjX?I0@?oA)Y%9--3o;k63iO|`?y)gqGXT)rz88RHbA+lRK{082I z)TA9mifBjSwaCp#Au<=aoBkn)uKwsx!AD{FRh>pv?fE6Z6a4I1PHX3l_&rpmh zy^z5-x@|pIgLZ3IU+I#!s71wDv(Y(AoLBN&ur=}yqH7KJ4#3gwGwOSUb`)Mj9@qZw zpkpdhggi&5-hev6#=xCOZDbv~uG?u(Msy8Awje6qONdU*A>7j+rpvDYjn|Qvk!^10 zV($O1+t&J4H98(}AG(YlL>i-WE?K;nod0m1q%pM1uZL*p(5itv&btJK_i5idGfpkE0 z^lm^-Ai8$ZSANB5JcZs8X-NB!>c2LPS#(rK^upNdj@|^Dy6yX69k+d-%PH^zlH=+x zxzthIhIGlgJF@*GM}=SAPR5vXaIsSNRNvct~%#jmRL{x<AbM9MiFPgB0__{=)1_yB&~-HyY~7|tb33bDc863uCqFmW zmt%WFwm%S@?=7%%^9y{@NXO)s?f~E7aL}6_{*N)SNXMO3>J{XN!nU^{==0_*vH2Mt z(dmX*=T0-Lq-A^k{y^BC?X!zQJe=>h!+Ac2EGY7YG+Ut17xaen1AcpcAjcP5;c0tK zvd^ExojfM<1?>W#e@-~h&JRU5_rE^6tLOBNzJeS(90=G20skC(Q67eB$(($&kl$Mv z%40p5ANxnoq=ZOT*c^U1-KAYobrRmZVW3_tw5>n@oHHv?c zf1W?E$ZwM^KiR~2z9owS!5nfa)FC?WrnAv&G8#thjGL=7*cXhA%{WjkWmHi?IG>1> zo9lY7RLLjiS)NfH$QGr_J^i0-OAZ*t$xkPt7!@K=JU^#szRw>{i$2l6PsDk`ZWqe1 z$1BRRGDpFdDa!YDA#02?Cd3j>AE7p_*#Q!7k=Gx#Lt!?+iv#)o!lH1c2L=Xqs4AGf#7+t4<%d#~ zDX~xbPe@4i1%u=vyZ6(a?l$nBRU$reA$wj?Av5IW<}ao=?5yQfagm>V3E3fE*qGq) zxC5AJ+^|u%jm(@iXyD)x6K6V@9Uh3%v!DvSN^tNOt-IehMa#o9iZ|-^cV!Ij`L2kWx6+ z_7}~c?F-_%F6VYdk6BIQ{P_i`kRtoz33)f{XG) zKFuQ|D(=`M^dj#P9S2zD4liFc+G)u9J;w)^C_ikEC(l<u&MnR`&Muw4X%!QN^5^(DnEc-Pz6?8dHFI9I8+~(h3WV+X zJ_X$#l{soq=2*|@fuk~&U^&IIaeOe-#GGj`;E}qWaJYBllUAkoS=+>!o z*I0DM>ve4VqZJRe%l>G^_Efv9xNJqdBz`D7`{G%T{W-(+n&wTOU7W^VAWZIb!SIX%;>u zt!!odNc?2%WT0d9=vT8FMGK1R5B7Kh+1W+GpwFM}Geb*3{8aoI#vaG6lT5nN1|>{U z8b9eYZO4~`OuI5(68kuOreXapEPR}&7{X9>-@L9_Lc$}_%Yo!t&Wy+Lw|M9E(JuQM z$0q)!ca;di8Sf1e9W!S<8s8Cr)W+u$#+Nw0mpI1Y8xO}1V-}Hf+&IoMr|kF%As(Yy z9zRQpHvQIP64v+pgtGXvK9oG=1ryu0GofbW;j&e9kT5b(vv9iU^gKdC#{=&J z40Vnn9p9X^j(^LsCsj)pD~dWHbc!?3In3iHc!wy#aIoSli$!#>l@%wJ58}a^C)F80 z6kT?xN53?i6mrtjaje{!RnB;2lygop+^L?DL@iCJa~3G@(Xt(lY~q5hw~6x9S>F9T zGs{Q4hi-^CpJ_jSrKKg3NXp1nP6?H7jT6adaf2DPW6TyW`Ngj|g~*9eOq=Z-S(SE* zxL~_^2Rd<${9<5rO#SS`&zXu+E7sOFYlnYfbv@~By&Ee6qEn5Rx>o<`2j*xk;M}J^nNR`y1uvaUDi8ht<6Z2& z-Rl#gn>QwpbdCV`vsCrMcW8N+^J(hTkn-CppNdZqOrZo$5lRkPbFA^3Tg$zD5~9JS z4eQAf^91RK>Cqnh?rcO)jCxUGINul<&Pv(QvVD!CFYaq~i*vr>zVmu_meld4QgIF= z<}^7h$4`?FYsh``BH&mxR%2~ibmPXxx0L(vpI^DA2%YIGUX;g4W7fqm=d7ss=1Pkm z*mr&G^L?+@iZ(dguxt4#pc=tSz6I>~p7?|Dt??ZmbClyM+e&>oZ&JRO4j$@SE86vZ z)2R1YpC*=ZK@nR`e6TUy3Gbn3+p}$>Kg8?AE+1=JJ59%lqK!$WAe|aMYz~xX-C}W0 z6g?hI*xS5@lk26?^if@^$r7 z`)@0&TXS%Qq0SEQ8OIdvQNgVg#|LKv`qQ*3Mpqsf9dV&eLRxgmh33(jzg_o#1Sl{# diff --git a/po/bg.po b/po/bg.po index 6b566f23..73875c91 100644 --- a/po/bg.po +++ b/po/bg.po @@ -9,12 +9,12 @@ # This file should be sent to translation@iro.umontreal.ca with the # following subject line: TP-Robot tar-1.16.bg.po # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.16\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2006-11-23 22:40+0200\n" "Last-Translator: Anton Zinoviev \n" "Language-Team: Bulgarian \n" @@ -35,36 +35,35 @@ msgid "ambiguous argument %s for %s" msgstr "двусмислен аргумент %s за %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Допустими аргументи са:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: стойността %s е по-малка или равна на %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: параметърът ARGP_HELP_FMT изисква стойност" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: параметърът ARGP_HELP_FMT трябва да бъде положителен" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: непознат параметър ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Боклук в ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -72,31 +71,31 @@ msgstr "" "Аргументите, задължителните или незадължителни за дългите опции, са " "съответно задължителни или незадължителни и за кратките опции." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Използване:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " или: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [ОПЦИЯ...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Използвайте „%s --help“ or „%s --usage“ за повече информация.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Съобщавайте за програмни грешки на %s.\n" "За грешки в българския превод на .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Непозната системна грешка" @@ -108,7 +107,7 @@ msgstr "показва тази справка" msgid "give a short usage message" msgstr "показва кратко съобщение за използването" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "ИМЕ" @@ -129,17 +128,16 @@ msgstr "спира за СЕК секунди (подразбира се 3600)" msgid "print program version" msgstr "показва версията на програмата" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Не е известна версията!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Твърде много аргументи\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябвало да е била разпозната!?" @@ -147,62 +145,62 @@ msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябва msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: опцията „%s“ е двусмислена\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: опцията „--%s“ не допуска аргумент\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: опцията „%c%s“ не допуска аргумент\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: опцията „%s“ изисква аргумент\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: непозната опция „--%s“\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: непозната опция „%c%s“\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неправилна опция -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: опцията изисква аргумент -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: опцията „-W %s“ е двусмислена\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: опцията „-W %s“ не допуска аргумент\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: опцията „%s“ изисква аргумент\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "паметта е изчерпана" @@ -218,28 +216,30 @@ msgstr "Не може да се запази работният каталог" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "„" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "“" @@ -249,7 +249,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[дДoOyY]" @@ -259,7 +259,7 @@ msgstr "^[дДoOyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[нНkKnN]" @@ -524,7 +524,12 @@ msgstr "стандартен изход" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Не може да се стартира отдалечена командна обвивка" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Не може да се стартира отдалечена командна обвивка" @@ -580,8 +585,8 @@ msgstr "Неочакван EOF" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "N" @@ -589,8 +594,8 @@ msgstr "N" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -605,7 +610,7 @@ msgstr "" msgid "cannot open %s" msgstr "Не може да се отвори „%s“" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "твърде много аргументи" @@ -614,9 +619,9 @@ msgstr "твърде много аргументи" msgid "Garbage command" msgstr "Непозната команда" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Това не прилича на tar-архив" @@ -654,65 +659,65 @@ msgstr "Не може да се проверяват архиви на стан msgid "Archive is compressed. Use %s option" msgstr "Архивът е компресиран. Използвайте опцията %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Не може да се актуализират компресирани архиви" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "В началото на лентата, край на изпълнението" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Твърде много грешки, край на изпълнението" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Размер на записа = %lu блок" msgstr[1] "Размер на записа = %lu блока" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Неподравнен блок (%lu байт) в архива" msgstr[1] "Неподравнен блок (%lu байта) в архива" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Невъзможно е връщане назад в архивния файл; той може да е нечитаем без опция " "-i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek не завърши при граница на запис" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: съдържа неправилен номер на том" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Препълване на номера на том" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Подгответе том №%d за %s и натиснете return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF, когато се очакваше отговор от потребителя" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ВНИМАНИЕ: Архивът е незавършен" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -724,66 +729,66 @@ msgstr "" " q Прекратява tar\n" " y или return Продължава изпълнението\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Поражда вторична командна обвивка\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Извежда този списък\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Няма повече томове; изход.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Не е посочено име на файл. Опитайте отново.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Неправилна команда. Използвайте ? за справка.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "командата %s не успя" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s вероятно продължава в този том: заглавният запис съдържа отрязано име" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s не продължава с този том" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s е грешен размер (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Този том е извън поредицата" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Архивът не е етикетиран да отговаря на %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Томът %s не съответства на %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -791,406 +796,431 @@ msgstr "" "%s: името на файла е твърде дълго, за да се побере в заглавен запис на " "многотомен ГНУ-архив и бе съкратено" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "EOF на архив %s не е на границата на блок" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Само %lu от %lu байт можаха да се прочетат" msgstr[1] "Само %lu от %lu байта можаха да се прочетат" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Съдържанието се различава" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Неочакван знак за край (EOF) в архива" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Файловите типове се различават" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Режимите за достъп се различават" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Собствениците се различават" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Групите се различават" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Времената на промяна се различават" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Размерите се различават" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Не е свързан с %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Символните връзки се различават" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Номерата на устройство се различават" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Проверка" -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Непознат файлов тип „%c“, сравнява се като обикновен файл" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Архивът съдържа файлови имена, с отстранени префикси." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Проверката може и да не открие оригиналните файлове." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "НЕУСПЕШНА ПРОВЕРКА: открита е %d неправилен заглавен запис" msgstr[1] "НЕУСПЕШНА ПРОВЕРКА: открити са %d неправилни заглавни записа" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Изолиран блок от нули при %s" -#: src/create.c:72 +#: src/create.c:73 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: каталогът е обозначен като кеш; не се архивира" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" "стойността на %s е извън границите %s на диапазона %s..%s; замества се с %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "стойността %s е извън границите %s на диапазона %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Генерират се отрицателни осмични заглавни записи" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: файловото име е твърде дълго (максимум %d); не е архивирано" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: файловото име е твърде дълго (не може да се раздели); не е архивирано" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: името на символната връзка е твърде дълго; не е архивирано" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Файлът намаля с %s байт; допълва се с нула" msgstr[1] "%s: Файлът намаля с %s байта; допълва се с нули" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файлът е в друга файлова система; не се архивира" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Непознат файлов тип; файлът се пренебрегва" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Неархивирани връзки с %s.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файлът не е променен; не се архивира" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файлът е архив; не се архивира" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: каталогът е обозначен като кеш; не се архивира" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файлът бе изменен по време на четене" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: гнездото се пренебрегва" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: пренебрегва се специалният файл тип door" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Пропуска се до следващия заглавен запис" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Изтрива се незаглавен запис от архива" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: записано е невероятно старо време %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: записано е време %s, което е %s сек. в бъдещето" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неочаквана несъгласуваност при създаване на каталог" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: каталогът бе преименуван преди да може да се извлече състоянието му" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Продължаващи файлове се извличат като обикновени файлове" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Опитва се извличането на символни връзки като твърди" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Не може да се извлича -- файлът продължава с друг том" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Неочаквано дълъг заглавен запис" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Непознат файлов тип „%c“, извлича се като обикновен файл" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Текущият %s е по-нов или със същата възраст" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Не можа да се направи резервно копие на този файл" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Бе невъзможно %s да се преименува на %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Каталогът бе преименуват от %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Каталогът бе преименуван" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Каталогът е нов" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: файлът е в друга файлова система; не се архивира" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Каталогът бе преименуван" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Записано е неправилно време" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Неправилно време на промяна (секунди)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Неправилно време на промяна (наносекунди)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Неправилен номер на устройство" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Неправилен номер на i-възел" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Твърде дълго поле при четене на snapshot-файл" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Грешка при четене в snapshot-файл" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Неочакван край на snapshot-файл" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Неочаквана стойност на поле в snapshot-файл" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Липсва завършител на записа" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Грешен инкрементален файлов формат" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Неподдържана версия на инкрементален формат: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Лошо формиран dumpdir: очаква се „%c“, а вместо това има %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Лошо формиран dumpdir: „X“ е дублиран" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Лошо формиран dumpdir: празно име в „R“" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Лошо формиран dumpdir: „T“ не се предхожда от „R“" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Лошо формиран dumpdir: празно име в „T“" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Лошо формиран dumpdir: очаква се „%c“, вместо това данните свършват" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Лошо формиран dumpdir: „X“ никога не се използва" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Не може да се създаде временен каталог, използвайки шаблона %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Каталогът не се изчиства: не може да се достъпи" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: каталогът е на друго устройство: не се изчиства" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Изтрива се %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Не може да се изтрие" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Пропуска се" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Блок от знаци NUL **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Край на файла **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Интервали в заглавен запис вместо числова стойност на %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1198,166 +1228,182 @@ msgstr "" "е допълнение до две" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Осмичната стойност %.*s в архива е извън диапазона за %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Архивът е подписан с низ по модул 64 %s, който е е извън диапазона за %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Стойността по модул 256 в архива е извън диапазона %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Архивът съдържа %.*s, вместо това се очаква числова стойност на %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Стойността %s в архива е извън допустимия диапазон за %s (%s..%s)" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " връзка към %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " непознат файлов тип %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Дълга връзка--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Дълго име--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Заглавен запис на тома--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Продължава при байт %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Създава се каталог:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Не може да се смени работният каталог" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Преименува се %s на %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Не може да се преименува на %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Преименува се %s обратно на %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файлът бе изтрит преди да бъде прочетен" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "породен процес" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "междупроцесен канал" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "командата %s не успя" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: файловият списък вече е прочетен" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "не може да се смени времето на „%s“" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: файловото име съдържа нулев байт" + +#: src/names.c:821 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Във файловите имена са използвани „*“ и „?“. Моля," -#: src/names.c:592 +#: src/names.c:823 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "използвайте --wildcards, за да позволите съпоставяне с образци," -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Не е открит в архива" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Необходимо срещане не е открито в архива" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Архивът не е етикетиран да отговаря на %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "И двете опции „-%s“ и „-%s“ изискват стандартен вход" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Неправилен архивен формат" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Поискани са ГНУ-възможности при несъвместим архивен формат" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Непознат начин за извеждане на спец. знаци „%s“. Използвайте „%s --quoting-" "style=help“, за да получите списък." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1374,9 +1420,10 @@ msgstr "" "tar\n" " tar -xf архив.tar # Извлича от архив.tar всички файлове\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1396,79 +1443,79 @@ msgstr "" "иначе\n" " never, simple винаги да се правят прости резервни копия\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Вид основно действие:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "изрежда съдържанието на архив" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "извлича файлове от архива" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "създава нов архив" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "намира разликите между архива и файловата система" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "добавя файлове в края на архив" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "добавя само файлове, по-нови от копието в архива" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "прибавя tar-файлове към архива" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "трие файлове от архива (не при магнитни ленти!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "проверява етикета на тома и завършва" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Модификатори на действието:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "работи ефективно с разредени файлове" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "ГОЛЯМ[.МАЛЪК]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "определя версията на формата разредени файлове (влече --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "със стар формат ГНУ за инкрементално архивиране" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "с новия формат на ГНУ за инкрем. архивиране" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "при нечитаеми файлове не завършва с грешка" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1480,122 +1527,133 @@ msgstr "" "list и когато списъкът от файлове е зададен или на командния ред, или с " "опция -T. Ако не е посочен N, се подразбира 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "архивът е с произволен достъп" -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "архивът е с произволен достъп" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Регулиране заместването на файлове:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "след записа опитва да провери архива" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "изтрива файловете след като ги добави в архива" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "при извличане не замества съществуващи файлове" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "при извличане не замества съществуващи файлове" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "не замества съществуващи файлове, ако са по-нови от копията им в архива" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "при извличане замества съществуващи файлове" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "изтрива всеки файл преди да извлича върху него" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "изпразва йерархията преди извличане на каталог" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "запазва метаданните на съществуващи каталози" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "при извличане замества метаданните на съществуващи каталози (подразбира се)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "при извличане замества съществуващи файлове" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Избор на изходен поток:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "извлича файловете на стандартния изход" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "подава с канал всеки извлечен файл към КОМАНДА" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "игнорира кода на завършване на породени процеси" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "счита за грешка всеки ненулев код на завършване на породен процес" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Подход спрямо файловите атрибути:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "прави ИМЕ да е собственик на добавените файлове" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "прави ИМЕ да бъде групата на добавените файлове" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "прави времето на промяна на добавяни файлове като ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ПРОМЕНИ" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "модифицира режима за достъп на добавени файлове" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "МЕТОД" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1605,33 +1663,33 @@ msgstr "" "времената след четене (при МЕТОД=„replace“, подразбира се), или не променя " "имената изобщо (МЕТОД=„system“)" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "не извлича времето на промяна на файловете" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "опитва да възстановява собствеността на файловете" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "извлича файловете от ваше име" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "използва числа вместо имена за потребител и група" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "възстановява точно (без umask) режима на достъп (подразбира се при " "привилегирован потребител)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1639,15 +1697,16 @@ msgstr "" "прилага umask на потребителя при извличане на файлове (подразбира се при " "обикновен потребител)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "файловете за извличане са сортирани според архива" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "същото като едновременно -p и -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1655,139 +1714,180 @@ msgstr "" "забавя настройката на времето на промяна и режима за достъп на извличаните " "каталози докато извличането завърши" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "отменя ефекта на --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Подход спрямо файловите атрибути:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Избор на устройство и смяна:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "АРХИВ" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "използва архивния файл или устройство АРХИВ" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "архивният файл е локален дори при двуеточие" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "използва посочената КОМАНДА вместо rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "използва посочената КОМАНДА вместо rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "посочва устройство и гъстота" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "създава/извежда/извлича многотомен архив" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "смяна на лентата след запис на 1024 x N байта" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "изпълнява скрипт в края на всяка лента (влече -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "ползва от и обновява във ФАЙЛ номера на тома" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Блокуване на устройството:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "БЛОКОВЕ" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "БЛОКОВЕ x 512 байта в секунда" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "прави N-байтови записи, кратно на 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "пренебрегва блоковете от нули и продължава" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "преформира при четене блоковете (канали 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Избор на архивен формат:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "създава архив с посочения формат" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "ФОРМАТ е някой от следните:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "стар формат tar, V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "формат на ГНУ при tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "формат на версия 1.13.x на tar на ГНУ" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "формат POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "формат POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "същото като pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "същото като --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "същото като --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ключдума[[:]=стойност][,ключдума[[:]=стойност]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "управляващи ключови думи за pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1795,176 +1895,178 @@ msgstr "" "създава архив с име на том ТЕКСТ; при извеждане или извличане сравнява името " "на тома с ТЕКСТ" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Противоречащи си опции за компресиране" -#: src/tar.c:616 +#: src/tar.c:662 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Не може да се пише към компресиращата програма" -#: src/tar.c:618 +#: src/tar.c:664 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Не може да се пише към компресиращата програма" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "ПРОГ" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "прекарва архива през ПРОГ (трябва да приема -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Избор на локален файл:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "КАТ" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "работи в каталога КАТ" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "взема имената за извличане или създаване от ФАЙЛ" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T чете имена, завършващи с нулев байт" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "декодира „\\“ във файловите имена на -T (подразб.)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "не декодира „\\“ във файловите имена на -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "ОБРАЗЕЦ" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "без файловете, отговарящи на ОБРАЗЕЦ" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ" -#: src/tar.c:658 +#: src/tar.c:704 #, fuzzy msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "без каталози, обозначени като кеширащи" -#: src/tar.c:661 +#: src/tar.c:707 #, fuzzy msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "без каталози, обозначени като кеширащи" -#: src/tar.c:664 +#: src/tar.c:710 #, fuzzy msgid "exclude directories containing CACHEDIR.TAG" msgstr "без каталози, обозначени като кеширащи" -#: src/tar.c:666 +#: src/tar.c:712 #, fuzzy msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "без каталози, обозначени като кеширащи" -#: src/tar.c:669 +#: src/tar.c:715 #, fuzzy msgid "exclude everything under directories containing FILE" msgstr "без каталози, обозначени като кеширащи" -#: src/tar.c:671 +#: src/tar.c:717 #, fuzzy msgid "exclude directories containing FILE" msgstr "без каталози, обозначени като кеширащи" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "без автоматично влизане в подкаталозите" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "работи в рамките на локалната файлова система" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "влиза рекурсивно в подкаталозите (подразбира се)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "не маха „/“ в началото на файлови имена" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "следва симв. връзки; архивира сочените файлове" -#: src/tar.c:687 +#: src/tar.c:733 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "следва симв. връзки; архивира сочените файлове" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "ЧЛЕН-ИМЕ" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "започва от файл с име ЧЛЕН-ИМЕ в архива" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "съхранява само файлове, по-нови от ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "сравнява времето само ако данните са променени" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "МЕТОД" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "резервно копира съществуващи файлове с МЕТОД" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "НИЗ" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1973,98 +2075,101 @@ msgstr "" "освен ако не е бил сменен с променливата от обкръжението " "SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Промени на файловите имена:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "при извличане маха N начални каталози от файловите пътеки" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "ИЗРАЗ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "преобразува файловите имена, използвайки посочения ИЗРАЗ за замяна на sed" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "пренебрегва разликата между големи/малки букви" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "съпоставянето с образците започва от началото на файловото име" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "отчита се разликата между малки и големи букви (подразбира се)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "ползва „*“ и „?“ (подразбира се за изключване)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "дословно низово сравнение" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "„/“ не пасва с „*“ и „?“" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Извеждане на информация:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "подробно изрежда обработените файлове" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 #, fuzzy msgid "warning control" msgstr "Регулиране заместването на файлове:" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "извежда напредъка след всеки N-ти запис (подразбира се 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "съобщава, ако не всички твърди връзки са включени" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2075,32 +2180,36 @@ msgstr "" "извежда текущите байтове при получаване на СИГНАЛ. Допустими СИГНАЛи са " "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2; имената без SIG също са позволени" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "извежда времената по Гринуич" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "изпраща подробния изход във ФАЙЛ" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "показва номера на блок в архива с всяко съобщение" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "изисква потвърждение за всяко действие" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "показва подразбираното от tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2108,32 +2217,32 @@ msgstr "" "при извеждане или извличане изрежда всеки каталог, който се пропуска по " "някаква причина" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "показва преобразуваните файлови имена в архива" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "НАЧИН" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "начин за цитиране на специални знаци; вж. по-долу за стойностите на НАЧИН" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "работи и със знаците от НИЗ като със специални" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "не работи със знаците от НИЗ като със специални" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Опции за съвместимост:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2141,64 +2250,56 @@ msgstr "" "при създаване е същото като --old-archive; при извличане е същото като --no-" "same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Други опции:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "забранява някои потенциално опасни опции" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Не може да се използва повече от една опция „-Acdtrux“" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Противоречащи си опции за компресиране" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Непознато име на сигнал: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Не е открит еталлонният файл за дата" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Използва се %s вместо непознатия файлов формат за дата %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Опция %s: Датата „%s“ се разглежда като %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: файловият списък вече е прочетен" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: файловото име съдържа нулев байт" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "прекарва архива през gzip" -#: src/tar.c:1296 +#: src/tar.c:1179 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "Правилни аргументи за опциите --quoting-style са:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2206,175 +2307,203 @@ msgstr "" "\n" "*Този* tar подразбира следното:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Неправилен собственик" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Неправилен фактор за блокуване" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Неправилна дължина на лента" -#: src/tar.c:1529 +#: src/tar.c:1466 #, fuzzy msgid "Invalid incremental level value" msgstr "Грешен инкрементален файлов формат" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Повече от една ограничителна дата" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Неправилна версия на формат разредени файлове" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' не се поддържа на тази платформа" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "стойността на --checkpoint не е цяло число" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Неправилна група" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "На опция е подаден неправилен режим" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Неправилно число" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Неправилен собственик" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Неправилен размер на запис" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Размерът на запис трябва да е кратен на %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Неправилен брой елементи" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Позволява се само една опция --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Лошо образуван аргумент за гъстота: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Непозната гъстота: „%c“" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Опциите „-[0-7][lmh]“ не се поддържат от *този* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Старата опция „%c“ изисква аргумент." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "без списък файлове опцията --occurrence е безсмислена" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "не може да се използва --occurrence при пожелания начин на работа" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Използването на много архивни файлове изисква опция „-M“" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Не може да се съчетават --listed-incremental с --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "без списък файлове опцията --occurrence е безсмислена" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Етикетът на тома е твърде дълъг (не повече от %lu байт)" msgstr[1] "%s: Етикетът на тома е твърде дълъг (не повече от %lu байта)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Не може да се проверяват многотомни архиви" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Не може да се проверяват компресирани архиви" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Образецът %s не може да се използва" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Не може да се използват многотомни компресирани архиви" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Не може да се съединяват компресирани архиви" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" "опцията --pax-option може да се използва само при архиви във формат POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "" +"опцията --pax-option може да се използва само при архиви във формат POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "" +"опцията --pax-option може да се използва само при архиви във формат POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "" +"опцията --pax-option може да се използва само при архиви във формат POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Образецът %s не може да се използва" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Страхлив отказ да се създава празен архив" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Опциите „-Aru“ са несъвместими с „-f -“" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Трябва да посочите поне една от опциите „-Acdtrux“" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2386,53 +2515,49 @@ msgstr[1] "%s: Файлът намаля с %s байта" msgid "Keyword %s is unknown or not yet implemented" msgstr "Ключовата дума %s е непозната или все още не е реализирана" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Записано е време извън допустимия диапазон" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Образецът %s не може да се използва" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Ключовата дума %s не може да се отмени" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Лошо формиран разширен заглавен запис: не е посочена дължина" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Дължината на разширен заглавен запис е извън допустимия диапазон" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Дължината %*s на разширен заглавен запис е извън допустимия диапазон" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Лошо формиран разширен заглавен запис: липсва интервал след дължината" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Лошо формиран разширен заглавен запис: липсва знак за равенство" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Лошо формиран разширен заглавен запис: липсва знак за нов ред" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" "Пренебрегва се непознатата ключова дума „%s“ за разширен заглавен запис" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2441,65 +2566,65 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Разширеният заглавен запис %s=%s е извън диапазона %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Неправилно формиран разширен заглавен запис: неправилен %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Неправилно формиран разширен заглавен запис: прекомерен %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Лошо формиран разширен заглавен запис: неправилен %s; очаква се разделител %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" "Лошо формиран разширен заглавен запис: неправилен %s; нечетен брой стойности" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Неправилна група" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Контролна точка при запис %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Контролна точка при четене %u" @@ -2650,7 +2775,7 @@ msgstr "Номер извън допустимия диапазон: %s" msgid "Negative size: %s" msgstr "Отрицателен размер: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "не успя stat(%s)" @@ -2679,8 +2804,8 @@ msgstr "Непознат формат за дата" msgid "[ARGS...]" msgstr "[АРГУМ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "Не може да се отвори „%s“" @@ -2695,68 +2820,101 @@ msgstr "Не може да се изпълни %s" msgid "file name contains null character" msgstr "името на файла съдържа нулев байт" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "не може да се създават разредени файлове на стандартния изход, използвайте " "опцията --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "неправилна маска (до „%s“)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Непознато поле „%s“" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "не може да се смени времето на „%s“" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Не може да се отвори „%s“" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "командата %s не успя" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Не може да се отвори „%s“" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Командата завърши успешно\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Командата завърши с код %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Командата бе прекратена със сигнал %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Командата бе спряна със сигнал %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Командата генерира core\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Командата бе прекратена\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat изисква файлови имена" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Не може да се смени работният каталог" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "файловете за извличане са сортирани според архива" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Твърде дълго поле при четене на snapshot-файл" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Грешка при четене в snapshot-файл" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Неочаквана стойност на поле в snapshot-файл" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Дължината на разширен заглавен запис е извън допустимия диапазон" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Неправилна група" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Файлът бе изтрит преди да бъде прочетен" diff --git a/po/ca.gmo b/po/ca.gmo index 312646a31e06766cf2492a1e643199fcb3379da0..f5b6a7a377852d90e5279c3df9241105d763fdbe 100644 GIT binary patch delta 11542 zcmYk?33yG{8piRR(M%FCCCG^+2r^2DkeEW07-F7^7)wnxSJcr~QE5$wsG6yoTO6|% zSG9FfLzT9QPWQHSLbX-2djD_Mav%Hg`F-Eo)7opTy%SIS)p@@YoBZ6@Lj0HbIF94v z>o|#+7UVcy@@6jDs7u#1hGJzxTNYNqR(KNoV<^_C=Qx4b6kXUFBXAg&#@W`zIGcKH zJ;&`-B#Di4oOof{et1H(Bf8#6H)XJHxKidFFdCg3GhM*=At zV@(XhfeCJNgXd_dM8kZnfE$s4aNfo0cm`|Y&!{I2r5EWKi|WW=Y=E<|A09^Cpjr~6 zhG`g!xu}uI$H6$qO~Pn6KchMjmh3qEagzBf3Wwl8d>J)TKcPD0SKo0aVGUFVmSHBo zgSycJ+a8nRIHXP+48m!s^It`7>A1I%=tkEt5`9x0ry)ioqvrHQU9bS#;vUp-dfafR zftspJ)B_AgJu72o%SYiCSeFWR-;bXh1KvfYVQ8DR!%bu zG7bG`Pe+YFCh`nU9%>O5q88~&EQ|ZBAE54Y5gT)V=Q@cNPjn+QR8Jt&>^x`Pj!meq zqUJP=iPsROVjb*?mC%j4@lq^?t58G#Cbq)MsF8HB0vSZ7Ev9pSX9kIe><}^}&ULJU z!Q53HtBVz}6KW)eq29#V*c!d48{J2BC_clCNH5flrlC5v3#;J)498E=%|dnVkmw1b zSwZS~6Kj?=2l?Z4(dM?U@qzc!;p39%*IGOf+g{5)C2s4U9nV4 z)3E`_8|;ilb!@$xM00k|HatLesCJf_vpCd^QczFa6*cEiV>Ir_&~0`y`2m{4zGhyGW;PZ6Hm?w3iZqU%y?QA^|H5HRk7n*I` z-#~R>Kk7+OVKKac>d0->kOx0uI+%%N^!|4x(UT3tKpc(g@kG=d&PA=>&8U&MXuXS? zf+}r|nW*o^AZ&mh$?-Y{g(|8(V@jlkU=p4rxj~%f& zzK7~qKzs9j2t$oT3YNxJs1fOm{x}BpKohVo=A+ieM${A?K(`jnSrT37I%=ryp-!yQ z!RSIgX)V-h&p~x$ChEJf49nt9)D#>=4gCdl;TNcp{0r5w@Q!BjxjHibx=XVXzn{-Ukt+Il_)&|Zl8bgn>++Q!BE_TdeW1q3w(zmcpvp7WxAW=Vo(=M$3$$68o|lPA7?s$ z@uD~vZ5`3WoHq&U>-{evN#KAZs6}%Vb>q7jhvj+fir5^rh;N3g5>Fz5h2zbi)#ikES37OJJ(CDQfPYuy#Zr>TcKyd!Sz1 zm8cthhTsR@W-c?WU9bl2PvHnGz}ol+hGE12exb#5)Re3lVBi1KH0ZVX8nuW@=b5?7 zz$VnAFcY_+I&cFuQWXc9_9p0}&c{}`0+a9?)Y=LiWPT=OAklXaccd%I$ z@u(Yi#uS{7k$4;<@HI2MjbcJO%hG= zI_k-fU}L<6jj-M@bK+2pqF!v>k9w`HpoX~SQ)Y-eqNZj9s(re3BdWvaQ1`oqS_|$9 z!%a^jQFGE1HCIogz5}yty&U!Adr=qq8nvi=nCM^(K}}6G*2Y}xRLr7YkJa%y*1}>> zJI>pB{}V`JY4{S=ff6H44^y!wb#JVI&*Oh_DTey+>-i}2Wn47ctc9gmgZ=MfJ^Tta z2@UA9c3TlJ~V-=i) z-=K!P%y=^b4X`0~FVtKwL@m<2n2euc43?U}`0Icq63uCMOvFi888@Ql>?o?oUt$Nm ziCr*rqUrb|)CFHdjoe|J#uS}I-8g$P4}-%|*UO$_&Ko*~@z)cLq(L27j-~M^hTumy zAHPC%aO|_@+r9u(sE?!O^d5#{)Kt^)G}P;ui+auGV0(NMHDbSE5Ju!P{#rDN`DVzv zpcYR7HpBg>p}mLtAyi|Ud7?&Gg}M(0<3!YTW@8d=!OD0Av+;LShclitZ^Jm`1#E;{W6g78!Q6sS!pU1VRk&2?j>PTnQ1&5>NbQR9T^H>SH&oCdL(Kv^CKBi%1 zF4hrqu`#;WlIVTBY8wJxFhk!QHMCu^B~C}p@iEl#*Rd4_y=X4f9UDBx;WHF&md)3|>Wb(2sFV#T3+3j6e

V#5r&2PI|*pj*cTj5#MBCSwh z7Gn$42n|M!*kW7nM|JQzcEjqgmhL@0c9GmBX^J7Qn)k9ZR;TWX(Ks2ke+B9W zS5Qyj%rn2T6|9d_wx{lmdc8McN&L!9q9^Jt>##!jX*RUHNu$Ftx{KH}hCeeNr6Yy7z#2U-Ylw@IL>Rzah zjzgx>?JOeE(Cx%n{1lVX=XG;|6x0xR#~_@EVYmdfICo$;UbOXX)D0>wH?MO8Y(V`4 zYVFKGb!0Wh=>6YMQksTqs8#tRHpQ?N=0?3yb3PHv;)_@e7hyQQj#^ZEF$*uFMj~RR znX+8e1HEEBf~~24#Xj8MX|&2b;S$t`<~`JfO072Soly03)S7q?ixw;D$!f2mbJ!nS z;zbO@Dr?P@rJzQ*8){1PQ5|21ZaluGtpc4%)?17r2DOenrVhFCmO6WyB$ti4$ zx3L#CdBfbO5H*E6a2S4xH86XF>DUNNr}m&8^vnjg`8ofPh7=l_zG+UFfa>8=)Dw77 zugyp3kM}STAKE%#qp3?`0PVr3k*I{x*bH^UA+~)9YKP?C?V-{2tX zyI2$ZY~?>5;0vfZJcY6N9qPQGZKjSvjZ{a}jfZ13oPoO0Dy)hJQ4jVh(qXq#ZaclA zArw2|3pfWapf1q&E%VcGDz>2ZVk!IsUFiF^X^%pU;84_!=Aedt18OmzL_K-&9p?Dz zn6CFfk0g#AD^O2%5@YZ;)CI$KnvOIM&M4^dBe4K;)}Q6mw$*DS^cm_|JgHAP#o1O6Lz zoyz;nzoP4+=Kd+v`7<#X-$Y$^|31cl9LZH0;<3|yGXiexOT7wH@BvoB!~^EFX=9y= zO=#bS*?0r9FzKNAMPw3c|1oTf|6mffJ!F26VIcjD(JBJPGn*l^$66|tj9Wd3cKMSSOs(3N6e0)*pY^Xn22Aa z7Gua!^9gQ(8lk?}2n#R=-$xC7$iK`g&qLj4HEL~~#Ha8+>H!8FGuJJ|s?_eIB+W>! zVg^=!&pbh2)D7p@dLQb7-(pKFf85Mr57d)PL%lVHs405~U3eQqFywtx$6#~n)>vQf z{~VH{6R@*RKn-2i2WBLmL)Mk^maT_;Xr`zT)uGc^7yrWQSo;M3*#)z)st?!xxB20g zd(!+^?}d5|mtlh5|6?TTz^|w|taZu^RX1!%JqI;ZM^R6D)p{4TnuAZ9k%+=b>NcqJ zMxdr@9S*=NsJ9{GBeVE=VI%JEY$wr>evi>u_l)@=)CpbG<53q}i~)EW1My>Qho56z zj5%w5yyjvD>O35QJ1`!@&zVKr7Hd(@M|W$IeI#}8A?m=`^ZWx5dtwr9L5cA=t!jsqozrbNw|AOi8a*U&1haq_G0^`pV6@5g&xj^w9E>@%6UbneF z^#Edut#^~>Ja!zVvzA~MohG#Zjkow;yXe zN&c-4wryz`ZSx!0m3`0SYdV?jH2FRvo~TUxL}=q9>og|sT~x7N^!%SwJV)bI!jJq* z+>GC1W9*Hy@Ez3l3KrV@b<Mpl+-2chSJB z`TuPT*?Y8IAzG0KU`gV0LYr24ccO!>1Fd7UlWnZ6>)=(>(pTYNwDt^{eYpY~%_!v6; zG9t0BF{-$j;;UXWY1~wm-?l{_-n9}J)exJNFeofRQrrCYs z4s{_G*tRF}E!sXH*xXKck~PGq#GRrx{_hm@qYfwdtULX1D4}h(q39nhpOSw`tRX%i z9&M9JPH}uP?#FlSxsUcwA^D!R%9{V5DAFk|V;kZb}-+x`Z=NQ`6uMO=h^@tWpe+c6@Nc$26{Jk8FA7)B%z+Wt#hFwu&5 zv~_$eFHhq|VhQn&ZT|v~Q|p(U=C*AFRFC&scYdd+n$AUhzhjT!aNKiS`t->cElN?68ln!mE_uDHUA|{?(Ag8RGW*%L|xkY zU<=f?!BF%o)m!90+xE%UL9}_u^$SKKQI0rb_vxdr-v>Gn+Mc2PPd9(X5vOQ4haVG< zZ)0tdf}gQ(E>^e4ti$<_9seu)x+!SOBpTX%5!TyylX#b7eDM(Bj-$vXNkVOR$!}r| zag_KEwYEO^n~t+}8g1u@5!%W23GG3|8RDQlW+v@F5?>M8IuZlew~%Uy56C8*zZBLF^*5CE{peA~B1&Ml>UW+4n}#5&SEO`Yd^X zy}#qNJH(F1@}cCNh+CZSEb%t^4I-8JhPppCBeXT3zDE=%&mayEUlWhEG3;APX!{pY zjr=Rk|8o?}h~TZTL;Yx* zM7@Aw9dYGRBQBwRxW?cWihofoBD7s1z9;4pe-VRdzi#(!ux`hD?0bCMOs;?s-S+r+8}(S^=dIN@ z*2gpZNv~&Mzc|l^e&xMB{ayav&4cdyde02q9pL?JWN2}3{CDc4(k^Jjq`*N!hdu{&3IH|}cf>#e+Jx4(Dwp$s2Sm3L2iDjd$L z*fMX_Sl8eo;~BRh!zNB}9orf+{@5Y!ox{Zfyzb)+mEVcq0=X K0z4_#xBU;|9AK9K delta 16321 zcmaLc2YeJo!^iPW=%H8XY=965BtSxuB0V6Igiw{vCAlOg$z8Y-K+yAf06|48XYV42 z0*ZPFDyWYjDi#D(RBTuu?B!9!%KQ88Y%u!py!&zZ&dl!4PQL-4zqiKGgEgY>HLH1D zf@N8q6D_L`j%aFG?-I}NY+1^GCf)cF9w6xY4cp-F_yV4hVOcHkL#&NIp^blFC+yVQ zvKruU*Bo3$dPZ+6YPBNr0U11Nop4R1CMl$+BlWSCVRKxI{AaD>59(*VisSG&cEw?R zEvq3GVtZVO6ltwRRpdz=g70BlY?~Q1ALyS+E65m!EpZ+;!3cK5ORyVmK(+KG9E=~J zD$+j7vIgLAoQsvH54?`8@muVH_4=8f$igDhBceol5!ryMz#*he>vN=%R)_wUMbw&z zU2p{!;Jv7xtIt^{9gP;yL&Y>iNNgEUO*PMh)R&JOgh>HFP_6z>iEiY9-K*sbplJ z=GSzzaRqkA4X*pK8R?%;&nGdEDku{*w)w6Vm_Yg}tbx~{dgOXkPda&kD+>^Ipd-V z^u#)R-^wJSf(K(Z`cYlG4H;(ZJ*3fAi{YjVCt@4Y%TN`&9$Vo~?1YD~Cw`A(vEv9+ zz86)In@~OS3`X^Ve-lxSI*c@3+7;W89)+wdYc8thS7II9=(^Q)2U17tDb(|SU^nbN z%2aSVs)0*U0H!g3}9!BVGG=jP661F^fBy!b;g)| zA_Z;IgHSy)6ZPIgR1aN(jq#o_QO1|Zb}}?Oe?k@1m2qf}qfjqQ$C_A)+R2t;4P1>H z>osWOM%1!;9$VsDsQ14?t)9k=hZ;H#lh79>q85a4D#lPXJBHc^PM|8*bDSBw^H9rg zIV%5QRK?!M+W0Z*gI}P=y8hXw2L>QTS-IF1uSHcn`WTVcL|((D_!UxF>m+&-h>tfF z*?5lWnIou{oj_Hz(F8LT9dS76A;>6NOK}7~iE8mltdGe#=J|AFxks&Yh^VUjI6Nv6!t=}+c1KOJL8uB&M^)^6)Ev1G>)wT!PdeQY;>`l65zWK4qMzweuYNJ|@T82llJ9e66_K&kMo%BVh zePs)3ZXCvFh)BX@emF3Ks@V?I2J;d&!B4RP{)Fn0no~>x$*9SfgKF6%R71|grnmyt z6W62W*cMcIdr>`hcnbZm7mt%6f5#N8$x=|u(@@K1BC2AmP;=x~)EIBWKKLf;!}X?_ zAF=+}h;#`y!%EapU5YkdjaqdNPow|Uf`eo<#>3bGKSlMxub6=?r<>V41~sNDQC%3r zvG^qFL$%H|J6vnj`~6TA%tJLSikc%EP(yb}8D|jr1yw+^^UN$w!RDlgqAHk=>Y-_F zdbXSPU@h`XQCq7YTjOP@58aI|@c`QRDQYO|%rHX`Z9zm8=!a@i4yr2`VK=-R)iW>P zLOg=%x}2G&VhfNmtqPo#z^@&ur75#b&rLvW-4|dRybW994rDGwtph~V(hrb#tsij! z=Fc(9W)#8mgv+W(!Zok)%to z9^U5~N6nchFsjHNA_=$;v++gLM$xp$d~gW1CtZjd+l#Ry-h=aTFKV)N^O~-mf@w_U!Sf3arKye8kOv8*S2U%goRW zK|S{mR0STuzW4^J;Ckie$7v9WO~XR_lL05slSS zCxgE@pjy5eRnTEhs#A~%iXou%#o*2lk(rFIgzx)^x#0$9P*+*bUCWU zk6`MI?Ed*>Y3yEYcaM7t632#xMi#LAHJCb<_}LU1)}2E~+P1 z;XvGk>d_BTle*4Drh+|CJu@41|DPAp{~F_sWN21Chpq7hcEqOKSB?8%9*)2%cqO*Q zk5E1H2dW`y7n=|C!TO}9>|A)(;zyo`LFt zV!RTUU?;4%!u&?`KuxwesIk5VH8i_W4LOJd@N?{d$t(Fg01ij>VDt(in%$40x^N$= z3%^87s;-xqlg}j7Y`+FIXLh1mbO<%JKcL3E(JE7pjeSXvMpYz&<8Upi!iRB;)_?ug z{56P-d{hk|$M*OpsvZx6*ihO}8F!3@@M>r5E*t!BWDGwoyw`yH( z_WsMzCcO?iPC-jbkvI zbQ!9=hj9>ojRn}9@pOLwFDIfgeH^p!2zJ3nSD9s!i8kp1H@zG)NXM}ceu#R$`PJt6 zfvzQ}3g3Wwev|84sG+WV4gIf3Pa=t!hc$2#s)f@q6Qh`f52MEN32cUku@QcTngb_r z95#!Y9+`=%;Kiu?hp<2Xj2g1u*V6y$nxbn>3-3f#=xNlDe2m%&J6vb>hb*i`dNAs} z5jX{xp`Jg0W3k@#W@z$JLvSr>vL3FhLwz8Owed!*gLk-Y#0jLgMu}t*`4zik@0(4RpNAt! zUyd5Pmr?hBLlvBIi`nbPquyVHJ#jPk!Z%RQ*SytKFdg+?4yuPMFa@JAA}xqKhH1DT z+v3l72DZ4(?J87$KIY&8)Yv|XD)2LGi4ATyAMT7bNl(Crn2+^vE~aBCQh}&-J&{&q z?80vND%$u9=3=`$%s${lO~SiSE!=_{s<*H)_P*2f#Bl6SI)sDqJ{*c4qk1a&E;A(4 z9Haag5b4B?LevAx-SiGDBK-yq!J+F+Pb@}t^{r^*^O%pH;lczydbde$S#KKlJE~_| zY%n`y8tT2FsK0+&a}>ci&cu56n60x2H94=xWPBD!<1y5b_1b8b<49BkW@1OY0M+F; zVG3?UE$5dp6MsULmv%4xud&D>qRDarHo?15W4#T#;w#u3f53KF_db)~74_lq*bIF* z0GFXE635nf2vw0UumLvRWF~dTO^p9=GIGh#2d_ZY{9e??vK{N-Uet$QM$O{Sa11uw zYjpeBHL#VlM95u_+9xyGN zg%Q%%poXIER#WjDv`LqsTDlrF<`1AM{tT+2N3jOl51NK`jS}fiMlWoNvr%2@M~%^1 zR2M#oYWY5_jbFL`fa#=v#qQYSA#;M7jBQ9?h3eT&s0QuDQTVf)jt+g;w5$Rfb7Lc_ z#ye0SdKGOvf*R9bu`afan=$W#+9w8}TAqjJU>IlMQ>cox*=EK(3rk2BU}vrW7l@>h z@fE5CtsgOCITF<~%Wwp4!G8D^@}kvwyQye4>H{9^iA%92ZbUU;i<^$S=|`~^`A=bY zzHjX%(v^&_Q6Fr+!&GE6_9b10E%A2LkZeP>^e_&@-*5=_d(_O83RDl?g%{%!XydTQ zOvUD*dY}joMHBdEHX^OaxMQa&a64*Dzeaty{Vr2rCbl4*=URw`q!;5*dngpN5~e;)|JNsS{?n$5Dp5CXz+^mvs?cw!A!@VR%_)^{uY4p}qGreYj0|lEzo5Eu)HCMSDvGM$ zrKm}Bo$D=_Nct`ujq6d9_ZVhj)4gVrW@8u9rPvYI;3C|Ns%V$!vu1ryLbd38?1mSk zCgVm-#W!#~p2Rgc{yFn2co^%EuJOF-sfK8iPQyVs0jJ_hY=%crL;Dpr!D!8WrfXZG zx@a&C!P%&>x)If72Qd%7K@~LY1=CZLP;+7}>itdF6ko!w_#Ota#*1eCSE71i1J2g^ ze};(Gb@EGQBbknxoqpFlQA2VFHAIbHHe2+$IDz!7sQbt898B47-mkzZq}Sm9JdXNK z`YR?~fSFqVHxcR2jhCHgjY$jvyVts0w(Hh+6P9>Vs|HFzNBwn{)&<%Qv9L^fOdT z8og8suJ z*>9VnT7s(BR#e5`M@_2w@9-B_OvCmG%%^wF&uqW<%+K#o?9TmVsP{L#NB^tlualv% zOnTpR*_k+y^a5;;ccWVTFV`d3l=Kg%9;toQ%>JIJ_i}L%uEhEH6t+YA12ZXyqV8W6 zC8Dl<0aZ|=56zC2g`G)PqK!A93Vs}G;rCb@PoP%8NmNfv_{jW>FG9_cRd_xgMh)%A zkIf{mKuyx z#e{#GU%MHo@}I`B_$AiX`p-IMx_&Tf(v)HXw&agmig5jCuwHS~1F*3hzlnRR-TUIW z8z10mC$gKm&yK|;!XNIve`)=1c5g0seF+Z`p5vi$xP?Gvtq}IdX@q7JT9@<=f=!y1 zI2YO05%Tt9ClahoXM#6$?wa#}qBjs~@Z3(mZ+$`JEy6Fv`(k&zkWh6^B=1)eH{c+` zJ;b%HtFG?k4JMpL*h9G2z0sBUJmL(!bDbc)k)YwMAk-&BSCH|dbKCqep0p;;60ClG zMPeP{X7bk&G#PcVaGdKO{P{fLUGCMSh}3AhX{)ZF~aMF z&$)jOE=OJci97%Qry(y?zr5V2ehnw_IC&>gd%)GiZ$bTbr~?m@)=zNN)tN{+d7t9j z_$8r|(1h?S;W78Y_Y-(MfedY>x{f-3@>7c*@~f^PL|VF)EFk|7>7|6*2t!C`6LN?* z;2AF-AXHt2+#5k+7hxcAU5gEt{{6}N-p!ouIt{OK<9g0d7)&^!1lKu)AFJITL3|bA zVdpMmk8is7=Mq1|&G(b{D&afQ>j_sWU)@*NZJE;Dc%TXCAdVrujnG&(xV|NvNBD_* zXX2CC2}=q6i2s9d6X7n>`t@r{IqPvdp*LX?;c~)V1YHX;`mCE!#tZs`>u2)PtL3+# zpgyGQxD~C9(|K-&`^*`54e2}aO&o=72z`jR#V2qL;c~(_!V~1VSJe6E@p4i(6B=-% z8}eIY)psAt#XY3|jlJ+9LX7Yz=`*OvWW0@_>nFphKkp^~AyOOgebiZE5n(auQTVa? z|1%Qv311OzBvV&}xURPdPZBO6J%+G>cpE;Nto!&NJVm??&LQYZF<2`xop8`iH{`kd z^&Z#L_#)w`*8kUpX9xw{c$`p=u#&W{VT2zDcPLTqy0u!oZMFC}yw{qF?RMXv@7_D) zrd!|?!qw#elR*3V;c;)aBmSE*xQ>(ehnuf-dqNgz&Z1Tk&Lwz=UqX0}xUQ`@(?qRa z#NQ!)C*fQ-Py9?+z`aMXeWLlk@}2(=EOjn>mz~9Qz-IV6Ci7l0en`6N>P%kMb(qM12yuPCrJGxmhdUESyXldx*Wm}`H^M@~3&fKs zY>RvU8O$PdB0q?e2)l@{#Sr0c;u_}riO2DI!l_IBzk`rU=8;pm3=m?c$u)7pzA(;f0Kz@*YLmxZhQuQOZszy zt}s4|jokDXPOkZ1X_dsUAb$d(3-QNr7Cz`cd)QU4^dS6)bPXlAIwU&nC!^Zr=*o?K z?n@oXToO@CNxe5`G|bAXHu75pPA}Tx^CHxZk(- zkyu7ZB3wymOCck9C;@xmXXG`TmknIly%ROawv9HW)rGy6C)BFqkfkl2N!wxU0@Vak!7l(tM!tj5+6fer$ zm)NAt7Yf^+vY^*fw8ZAm*v$SN;=}t_Cd7se>=fTV;I+hzLXY1c2-^i-I})N4pWhCb zdU5^vaE6bLTx`AevG&|4S|1ee6; z4Zovi?A6gN5`CfA$=sH)Uq;XF?ky{_!-0TZ7U0oEr8G%(DbkA}zo#Np%J?g% z5~B0No?xmS@>F_5cDcvD#JLrs06tji4N}8!!1mZ7UZ zY>&UlreS<0M6JBMQ{=1k6-C@04cW!PK)KUU_mzyKr0m6>@`^HVG&DHLrr4mJURYdJ zVusSiG@$_PF7{~ZANKzBu1ZuZD4YjX10K$(Dl1(1*TQV~>SE`ZF*0Kvvga`ZRh80L zE4{&jK*(FR=RV$u>0naM9FAQ)uw_CGpnq;bWSR3ky0ZS6@j1@M8Og}EnMmgrD>AHAI#g4 z(8?POG6fm9zfNaQ{*5)FUZz3ef=C4=6c_sz+dk@k5lcPdXR3tkkXDhZke=>7KuJ@^ z=jP{R&l@#z^n_{o^QKH2J9hke8A(%Fm&}Hc)?#769}Wh}SRhNZbgPx(evMM5XHT9o zJ~}aP-sp*WQzuW%>19`X%2?IvgTYBmOn<=7S_u>vyK~X+rFe>5P*vxUW^XUsA1N>J z25Gu3=k}=_^EEx^_m%asy^ER58aC4ArCE$aaaBS~LVXc35B6daYsuM+oj1717xJnc zRpQhgo4LHmvqU=qwQ?V?`e^+4lwJt~rUsX2g3y7b-m(fNTF^~KLY@+DDyxw;nN5Ib zxwDsLB*l`aZEIib)7Iql%72YsY~Qp&4U4?~kT1MsFeMhI#(tjGe#F8^z-eG8yo8Et zVrDQ|t7_ohO?U2|W$MFjrLEFqYctM>H<;d|W^_g%;tZWLvnsrWzTzdOj^R>vErx{| zIkK=Q9E>bB4N6ZBvz4Wnc?!H`Rcpy|N{O(;huk9cVxZXB*Z$x4>$>YN6z@0l*Tf#) z674x*yWFdBwsW&{M`ce=&l{PWtzOa3fxCmm)8}lj6}zpV{eVTKUO$8A{Pr;3R#Cv8 zs-+k7RoG?j-afx~s=Lu@TeSV2^7#7&t?PF66o>hWc6OeyyBB$jJ?tOOIC&QrmPItd zwXP?YIeUkDgrcd@(`c%F2F>FhN?aV%X zd9H7I-~P^X{bJ`;ewkp$$1GZ0H|k6o=5Z?1(D_|w&6YERZM8-}*?aDzvZ)dMq=y&N zA?6p~a&|voMTDE)s$07^rxfnqNk)iu?=6Y2CPS&}4{yXN^)!XV?~I0PB$UOz+t)fN zwUo(M#wds5jhEL>jNQAkbG+5cj2Z)}N(FmcB3^*d9RwC*o5?x$V*j60H5kj%?kJtvSMc~YZJfl%6n=hev+&(Ev_4&1*hxgp+_j%$gu3M21 z9hW!FHfIF-!$W1u!b~%#582vEf)RFhHW)uUtQ}&D^aL0CBC1p&CkKxmP?Xa`VK3X~ zw4ReoL}wg+;N3$0JS{kbP?qWx;T#dX1~~fq3O&wr^ZD75eWsCi*jvu;MfcdU zn`bo44+biH^g+ABQm%U$oJ=Tzk}(R?LN1-0DFbk|GFBxY!&-0Kf##8$1lZT>`4hSutoRGPKtPP3+U z{-Di89tO)a(^;P$om@ti7ZmB&SKkl#L)_;G!)JV_Vt#KSM*<%wvDkN8&xq#y^@l&l3!<`2#w^u%B|eW6{%TX&&c<@0?<+k!7sd zQ&k&mjpld}KlAR)#I$VZXrl?i0YAbZGV!XmrN6CC--btOMwuy`W9T#Im5^Py=V6A- z8IKSOspx+kiuhjDS%@!IM$P%i z>}w&4ttzmP&#I@=)Bkors(wDw8er-Lf_k5k;C#plE#N=>X(?bAGhcNy@ttaBluDdx z=V?w)#T0njF5$Su5@B#of0Q!!oSzRJv6z%>aHlC~8b6p-CFv05^saNrati+2*-Etu zvA#GHpQbE+&)qlU9X1V17|QCaWVg_~b`M)jtUy)TIc<@lxmB(K_W7MHLyL{$*38W> z_MNV-)x;>&-tY5kZ1}t7|DIB@u3NIBW1KUX^Vq4qWw5@=8nv8XkyD#a*r^QJ*_=Z8 zNz$GlHhao{J(FRNr7=vAN?)+54gY<7+r6`$)1p8DtI`)t=YaL+ew-1HZmCl%nipWU z6j9ipbIt7n=jWZZ=^o{r?$YmS)dp1UP)DWDrih|bD}d9C^Qk|du3id-R=r${BjN6y z@s$sqSECpEg4fS>%csiZNo_(ELFe4!WxaaJLf%S#V9g`D4tC<` zGy2(vbw}|RM=w8GT21~yIXjedcJs3MoxapcFAT7W`HGmwI(o7$^)Tb*{_Mmj?$50? ti7Xn#F9W+J_0!QL8$w(FoByXDpU{|~jetUUk# diff --git a/po/ca.po b/po/ca.po index ef527b7b..4fd42d73 100644 --- a/po/ca.po +++ b/po/ca.po @@ -3,20 +3,20 @@ # This file is distributed under the same license as the tar package. # Àngel Mompó , 2010, 2011. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar-1.25\n" +"Project-Id-Version: tar-1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2011-01-15 11:54+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-19 11:52+0100\n" "Last-Translator: Àngel Mompó \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1\n" +"Plural-Forms: nplurals=2; plural=n !=1\n" #: gnu/argmatch.c:135 #, c-format @@ -29,36 +29,35 @@ msgid "ambiguous argument %s for %s" msgstr "el paràmetre %s és ambigu per %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Els paràmetres vàlids són:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: el valor de %s és més petit o igual que %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: El paràmetre ARGP_HELP_FMT necessita un valor" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: El paràmetre ARGP_HELP_FMT ha de ser positiu" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Paràmetre ARGP_HELP_FMT desconegut" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Hi ha brossa a ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,29 +65,29 @@ msgstr "" "Els paràmetres obligatoris o opcionals per les opcions llargues també ho són " "per les corresponents opcions curtes." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Ús:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " o: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPCIÓ...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Proveu «%s --help» o «%s --usage» per més informació.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Informeu dels errors de programació a %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Error de sistema desconegut" @@ -100,7 +99,7 @@ msgstr "dóna aquesta llista d'ajuda" msgid "give a short usage message" msgstr "dóna un missatge curt sobre utilització" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NOM" @@ -121,17 +120,16 @@ msgstr "es penja durant SECS segons (per defecte 3600)" msgid "print program version" msgstr "mostra la versió del programa" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ERROR DE PROGRAMA) Versió desconeguda!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Massa paràmetres\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ERROR DE PROGRAMA) Hauria de conèixer l'opció!?" @@ -139,62 +137,62 @@ msgstr "(ERROR DE PROGRAMA) Hauria de conèixer l'opció!?" msgid "write error" msgstr "error d'escriptura" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: l'opció «%s» és ambigua\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l'opció «--%s» no permet cap paràmetre\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'opció «%c%s» no permet cap paràmetre\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l'opció «--%s» necessita un paràmetre\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opció no reconeguda «--%s»\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opció no reconeguda «%c%s»\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opció invàlida -- «%c»\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'opció necessita un paràmetre -- «%c»\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l'opció «-W %s» és ambigua\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l'opció «-W %s» no permet cap paràmetre\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opció «-W %s» necessita un paràmetre\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memòria exhaurida" @@ -210,28 +208,30 @@ msgstr "No es pot tornar al directori de treball inicial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "«" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "»" @@ -241,7 +241,7 @@ msgstr "»" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[sS]" @@ -251,7 +251,7 @@ msgstr "^[sS]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -537,7 +537,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "No es pot connectar amb %s: no s'ha pogut resoldre" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "No es pot executar un interpret d'ordres remot" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "No es pot executar un interpret d'ordres remot" @@ -586,8 +591,8 @@ msgstr "Arguments inesperats" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Manipula una unitat de cinta, acceptant comandes d'un procés remot" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NÚMERO" @@ -595,8 +600,8 @@ msgstr "NÚMERO" msgid "set debug level" msgstr "estableix el nivell de depuració" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -611,7 +616,7 @@ msgstr "estableix el nom del fitxer de sortida de la depuració" msgid "cannot open %s" msgstr "no es pot obrir %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "massa arguments" @@ -620,9 +625,9 @@ msgstr "massa arguments" msgid "Garbage command" msgstr "Ordre escombraria" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "No sembla un arxiu tar" @@ -660,64 +665,64 @@ msgstr "No es pot verificar l'arxiu stdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "L'arxiu està comprimit. Feu servir l'opció %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "No es poden actualitzar els arxius comprimits" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Al principi de la cinta, se surt" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Massa errors, se surt" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Mida del registre = %lu bloc" msgstr[1] "Mida del registre = %lu blocs" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloc desalineat(byte %lu) a l'arxiu" msgstr[1] "Bloc desalineat(bytes %lu) a l'arxiu" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "No es pot tornar enrere al fitxer d'arxiu; potser no es pot llegir sense -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek no s'ha aturat als límits d'un registre " -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: conté un número de volum invàlid" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Desbordament del número de volum" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Prepareu el volum #%d per %s i premeu retorn: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Final del fitxer on s'esperava una resposta de l'usuari" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "AVÍS: L'arxiu és incomplet" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -729,66 +734,66 @@ msgstr "" " q Interromp tar\n" " y Continua l'operació\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Engendra un interpret d'ordres\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Mostra aquesta ajuda\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "No hi ha cap volum nou; se surt.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "No s'ha especificat cap nom de fitxer. Torneu-ho a provar.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Entrada invàlida. Tecleja ? per mostrar l'ajuda.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "L'ordre %s ha fallat" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s possiblement continua en aquest volum: la capçalera conté un nom truncat" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s no continua a aquest volum" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s té una mida equivocada (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Aquest volum és fora de la seqüència (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "L'arxiu no està etiquetat per coincidir amb %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "El Volum %s no coincideix amb %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -796,406 +801,430 @@ msgstr "" "%s: El nom del fitxer és massa llarg per ser desat en una capçalera " "multivolum GNU. S'ha truncat" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "l'escriptura no ha acabat al límit d'un bloc" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Només es pot llegir %lu de %lu byte" msgstr[1] "Només es poden llegir %lu de %lu bytes" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "El contingut no coincideix" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Final de l'arxiu inesperat" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "El tipus de fitxer no coincideix" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "El mode no coincideix" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "L'identificador d'usuari no coincideix" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "L'identificador de grup d'usuaris no coincideix" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "La data de modificació no coincideix" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "La mida no coincideix" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "No s'ha enllaçat amb %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "L'enllaç tou no coincideix" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "El número de dispositiu no coincideix" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verifiqueu " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tipus de fitxer desconegut `%c', s'usa diff com si es tractés d'un " "fitxer normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "L'arxiu conté noms de fitxers amb els prefixes inicials esborrats." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "L'arxiu conté capçaleres amb base 64 que estan esdevenint obsoletes" +msgstr "L'arxiu conté noms de fitxers transformats." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Pot ser que la verificació no pugui trobar els fitxers originals." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "HA FALLAT LA VERIFICACIÓ: %d s'ha detectat una capçalera invàlida" msgstr[1] "HA FALLAT LA VERIFICACIÓ: %d s'han detectat capçaleres invàlides" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Un sol bloc zero a %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: conté una etiqueta de directori de memòria cau %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "el valor %s està fora del rang%s %s..%s; es substitueix per %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "el valor %s està fora del rang %s %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "S'estan generant les capçaleres octals negatives" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: el nom del fitxer és massa llarg (màx %d); no s'aboca" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: el nom del fitxer és massa llarg (no es pot dividir); no s'aboca" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: el nom de l'enllaç és massa llarg; no s'aboca" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: El fitxer s'encongeix %s byte; s'omple amb zero" msgstr[1] "%s: El fitxer s'encongeix %s bytes; s'omple amb zeros" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: el fitxer es troba a un sistema de fitxers diferent; no s'aboca" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "els continguts no s'aboquen" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipus de fitxer desconegut; el fitxer s'ignora" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Falten els enllaços a %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: el fitxer no ha canviat; no s'aboca" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: el fitxer és l'arxiu; no s'aboca" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "el directori no s'aboca" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: el fitxer ha canviat mentre es llegia" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: sòcol ignorat" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: porta ignorada" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Es salta fins a la propera capçalera" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "S'esborra la no-capçalera de l'arxiu" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: marca horària inversemblantment antiga %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: la marca horària %s pertany %s s al futur" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistència inesperada en crear el directori" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: S'ha canviat el nom del directori abans de poder extreure'n l'estat" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Els fitxers contigus s'extreuen com fitxers normals" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Es prova d'extreure els enllaços simbòlics com enllaços durs" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: No espot extreure -- el fitxer continua des d'un altre volum" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Nom de la capçalera inesperadament llarg" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tipus de fitxer «%c» desconegut, s'extreu com un fitxer normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "L'actual %s és igual d'antic o més nou" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: No es pot fer la còpia de seguretat d'aquest fitxer" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "No es pot canviar el nom de %s a %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: El directori ha canviat de nom a partir de %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: El directori ha canviat de nom" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: El directori és nou" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: el fitxer es troba a un sistema de fitxers diferent; no s'aboca" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: El directori ha canviat de nom" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Marca horària invàlida" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Modificació invalida del temps (segons)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Modificació invàlida del temps (nanosegons)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Número de dispositiu invàlid" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Número de node d'identificació invàlid" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Camp massa llarg en llegir el fitxer d'instantània" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Error de lectura del fitxer d'instantània" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Final de l'arxiu d'instantània inesperat" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Valor de camp inesperat del fitxer d'instantània" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Falta el terminador del registre" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Format del fitxer incremental erroni" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "No se suporta la versió del format incremental: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Directori d'abocament mal format: s'esperava «%c» i s'ha trobat %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Directori d'abocament mal format: «X» duplicada" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Directori d'abocament mal format: nom buit a «R»" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Directori d'abocament mal format: «T» no està  precedit de «R»" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Directori d'abocament mal format: nom buit a «T»" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Directori d'abocament mal format: s'esperava «%c» però s'ha trobat el final " "de les dades" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Directori d'abocament mal format: no s'ha fet servir «X»" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "No es pot crear el directori temporal fent servir la plantilla %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: No es purga el directori: no se'n pot saber l'estat" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: el directori és en un dispositiu diferent: no es purga" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: S'elimina %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: No es pot esborrar" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: S'ometen" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s: ** Bloc de NULs **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s: ** Final del Fitxer **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloc %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Capçalera amb blancs on hi hauria d'haver un valor numèric %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1203,109 +1232,125 @@ msgstr "" "complement a dos" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "El valor octal de l'arxiu %.*s està fora del rang %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "L'arxiu conté capçaleres amb base 64 que estan esdevenint obsoletes" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "La cadena de signatura %s amb base 64 de l'arxiu està fora del rang %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "El valor amb base 256 de l'arxiu està fora del rang %s " #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "L'arxiu conté %.*s on hi hauria d'haver un valor numèric de tipus %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "El valor %s de l'arxiu està fora del rang %s %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " enllaç cap a %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tipus de fitxer desconegut %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Enllaç llarg--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Nom Llarg--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Capçalera del volum--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua al byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Es crea el directori:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "No es pot trobar el directori de treball" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Es canvia el nom %s per %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: No es pot canviar el nom a %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Es torna a canviar el nom %s a %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: El fitxer s'ha esborrat abans de poder-lo llegir" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "procés descendent" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "canal d'intercomunicació" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "L'ordre %s ha fallat" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: la llista de fitxers ja s'ha llegit" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "no es pot definir el temps de «%s»" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: la lectura del nom del fixter conté un caràcter nul" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" "Caràcters de patró de coincidència que es fan servir en noms de fitxers" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1313,58 +1358,59 @@ msgstr "" "Feu servir --wildcards per habilitar els patrons de coincidència, o --no-" "wildcars per eliminar aquest avís." -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: No s'ha trobat a l'arxiu" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: No s'ha trobat cap coincidència a l'arxiu" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "L'etiqueta de l'arxiu no coincideix" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "No podeu fer servir la opció -C als llistats de fitxer amb --listed-" "incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Només podeu fer servit una opció -C amb --listed-incemental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Ambdues opcions «-%s» i «-%s» necessiten la sortida estàndard" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Format de fitxer invàlid" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" "El format de l'arxiu és incompatible perquè requereix característiques de GNU" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Estil de citació desconegut «%s». Feu servir «%s --quoting-style=help» per " "obtenir-ne una llista." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1381,9 +1427,10 @@ msgstr "" "ha a l'arxiu.tar.\n" " tar -xf arxiu.tar # Extreu tots els fitxers de l'arxiu.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1403,82 +1450,82 @@ msgstr "" "no simples\n" " never, simple fes sempre còpies de seguretat simples\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Mode d'operació principal:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "Llista els continguts d'un arxiu" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "extreu fitxers d'un arxiu" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "crea un arxiu nou" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "cerca diferències entre un arxiu i el sistema de fitxers" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "afegeix fitxers al final d'un arxiu" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "només afegeix els fitxers més nous que les còpies dins l'arxiu" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "afegeix fitxers tar a un arxiu" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "esborra de l'arxiu (excepte en cintes magnètiques!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "prova l'etiqueta de volum de l'arxiu i surt" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modificadors d'operació:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "tracta fitxers dispersos de manera eficient" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MENOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "estableix la versió del format de dispersió que cal fer servir (implica --" "sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "tracta l'antic format incremental GNU de còpies de seguretat" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "tracta el nou format de còpies de seguretat incrementals de GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "nivell de bolcat per l'arxiu llistat-incremental creat" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" "no surtis si l'estat és diferent de zero quan trobis fitxers il·legibles " -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1490,126 +1537,137 @@ msgstr "" "extract o --list i quan es dona una llista de fitxers ja sigui a la línia de " "comandes com amb l'opció -T; ENA val 1 per defecte" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "l'arxiu pot buscar-se" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "L'arxiu no pot buscar-se" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "no comprovis el número de dispositiu quan creis arxius incrementals" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "comprova el número de dispositiu quan creis arxius incrementals (per defecte)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Control de sobreescriptura:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "intenta verificar l'arxiu després d'escriure'l" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "eliminar els fitxers després d'afegir-los a l'arxiu" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "no reemplacis els fitxers existents quan els extreguis" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "no reemplacis els fitxers existents quan els extreguis" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "no reemplacis els fitxers existents que siguin més nous que les còpies de " "l'arxiu" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "sobreescriu els fitxers existents quan els extreguis" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "elimina cada fitxer abans d'extreure-hi a sobre" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "buida les jerarquies abans d'extreure el directori" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "conserva les metadades dels directoris existents" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "sobreescriu les metadades dels directoris existents quan s'extreguin (per " "defecte)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "sobreescriu els fitxers existents quan els extreguis" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Selecciona la sortida del flux de dades:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "extreu els fitxers a la sortida estàndard" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "COMANDA" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "condueix els fitxers extrets a un altre programa" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ignora els codis de sortida dels processos fill" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" "tracta els codis de sortida dels processos fills diferents de zero com a " "error" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Gestió dels atributs del fitxer:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "força NOM coma propietari dels fitxers afegits" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "força NOM com a grup pels fitxers afegits" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATA-O-FITXER" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "estableix mtime pels fitxers afegits des de DATA-O-FITXER" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "CANVIS" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "força CANVIS de mode (simbòlic) als fitxers que s'afegeixin" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "MÈTODE" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1619,11 +1677,11 @@ msgstr "" "hores després de llegir-los (MÈTODE='replace'; per defecte) o no posant " "primer les hores(MÈTODE='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "no extreguis la data de modificació dels fitxers" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1631,23 +1689,23 @@ msgstr "" "intenta extreure els fitxers amb el mateix propietari que existeix a l'arxiu " "(per defecte pel superusuari)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "extreu el fitxer com a tu mateix com a propietari (per defecte pels usuaris " "ordinaris" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "fes servir sempre números pels noms de usuari/grup" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "extreu la informació dels permisos del fitxer (per defecte per al " "superusuari)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1655,15 +1713,16 @@ msgstr "" "fes servir els permisos especificats per l'usuari qua s'extreguin permisos " "de l'arxiu (per defecte per usuaris normals)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "ordena els noms a extreure per que coincideixin amb els de l'arxiu" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "el mateix que per -p i -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1671,139 +1730,180 @@ msgstr "" "no modifiquis els temps i els permisos dels directoris extrets fins que " "s'acabi l'extracció" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "cancel·la l'efecte de l'opció --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Gestió dels atributs del fitxer:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Selecció i canvi de dispositiu:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARXIU" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "fes servir el fitxer o dispositiu ARXIU" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "l'arxiu és local encara que tingui dos punts" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "fes servir la COMANDA rmt en comtes de rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "fes servir la COMANDA remota en comptes de rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "especifica la unitat i la densitat" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "crea/llista/extreu arxius de múltiples volums" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "canvia la cinta després d'escriure NÚMERO x 1024 bytes" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "executa seqüència al final de cada cinta (implica -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "fes servir/actualitza el número de volum del FITXER" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blocs als dispositius:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCS" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCS x 512 bytes per registre" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NÚMERO de bytes per registre, múltiple de 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignora els blocs posats a zero de l'arxiu (volen dir fi del fitxer)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "refés els blocs mentre els llegeixes (per conductes de 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Selecció del format de l'arxiu: " -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "crea un arxiu del format especificat" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "El FORMAT és un dels següents" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "format tar de l'antiga versió 7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "format GNU tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "format GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "format POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "el mateix que pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "el mateix que --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "el mateix que --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "paraula clau[[:]=valor][,paraula clau[[:]=valor]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "controla les paraules clau de pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1811,76 +1911,76 @@ msgstr "" "crea l'arxiu amb el nom de volum TEXT. Quan es llista/s'extreu, utilitza " "TEXT com a patró global de noms de volum" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Opcions de compressió:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "utilitza el sufix de l'arxiu per determinar el programa de compressió" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" "no fa servir el sufix de l'arxiu per determinar el programa de compressió" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROGRAMA" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtra mitjançant PROGRAMA (ha d'acceptar -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Selecció de fixter local:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "afegeix el FITXER a l'arxiu (útil si el nom comença per un guió)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIRECTORI" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "Canvia al directori DIRECTORI" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "obté els noms que cal extreure u crear del FITXER" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T llegeix els noms acabats en nul, desactivar-ho amb -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "deshabilita l'efecte del la opció --null prèvia" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "treu les cometes dels noms dels fitxers llegits amb -T (per defecte)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "no treguis les cometes dels noms dels fitxers llegits amb -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATRÓ" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "exclou els fitxers que es donen com un PATRÓ" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "exclou els patrons que es llisten al FITXER" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1888,96 +1988,98 @@ msgstr "" "exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el " "propi fitxer d'etiquetes" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "exclou els directoris que continguin CACHEDIR.TAG " -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "exclou el contingut dels directoris que contenen el FITXER, excepte el " "FITXER mateix" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "exclou tot el que hi hagi al directori que contingui el FITXER" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "exclou els directoris que continguin el FITXER" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "exclou els directoris del sistema de control de versions" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "exclou els fitxers de còpia de seguretat i de blocat" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "no baixa automàticament als directoris" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "queda't al sistema de fitxers local quan creïs l'arxiu" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "incloure els subdirectoris (per defecte)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "no treguis les primeres «/» dels noms dels fitxers" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "segueix els enllaços simbòlics; arxiva i aboca els fitxers als quals apunten" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "segueix els enllaços durs; arxiva i aboca els fitxers als quals es refereix" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NOM-DEL-MEMBRE" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "comença al membre NOM-DEL MEMBRE de l'arxiu" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "desa només els fitxers més nous que DATA-O-FITXER" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "compara la data i l'hora només quan les dades hagin canviat" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" "fes una còpia de seguretat abans d'esborrar, tria el CONTROL de versions" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "CADENA" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1985,101 +2087,104 @@ msgstr "" "fa una còpia de seguretat abans d'esborrar, substitueix el sufix usual («~» " "si no s'ha definit la variable d'entorn SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Transformacions del nom del fitxer:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "treu NÚMERO components de la capçalera dels noms dels fitxers quan extreu" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "EXPRESSIÓ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "fes servir l'EXPRESSIÓ de substitució sed per transformar els noms dels " "fitxers" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "opcions de concordança de nom de fitxer (afecta tant als patrons de inclusió " "com als d'exclusió):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "ignora diferències majúscules/minúscules" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "comprova els patrons del començament del nom del fitxer" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "comprova els patrons després de qualsevol «/» (per defecte a les exclusions) " -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "comprova diferències majúscules/minúscules (per defecte)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "fa servir comodins (per defecte a les exclusions)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "concordància exacte a les cadenes" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "els comodins no han de concordar amb «/»" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Sortida informativa:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "llista els fitxers processats detalladament" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "PARAULA CLAU" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "control d'avisos" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "mostra els missatges de progres cada NÚMERO registres (per defecte 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ACCIÓ" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "executa ACCIÓ a cada punt de comprovació" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "mostra un missatge si no s'aboquen tots els enllaços" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SENYAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2091,31 +2196,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. També s'accepta els noms sense " "el prefix SIG" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "mostra l'hora de modificació del fitxer en UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "Mostra l'hora del fitxer amb alta precisió" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "envia la sortida detallada al FITXER" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "mostra el número de bloc de dins l'arxiu a cada missatge" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "demana la confirmació per cada acció" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "mostra els valors per defecte de tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2123,33 +2232,33 @@ msgstr "" "quan es llisti o s'extregui, llista tots els directoris que no es " "corresponguin amb el criteri de cerca" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "mostra el nom del fitxer o de l'arxiu després de la transformació" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "ESTIL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "estableix el nom de l'estil de citació; vegeu més avall una llista de valors " "vàlids per ESTIL" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "més caràcters de cometes des de CADENA" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "deshabilita els caràcters de cometa de la CADENA" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Opcions de compatibilitat:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2157,62 +2266,55 @@ msgstr "" "quan es crea, el mateix que --old-archive; quan s'extreu, el mateix que --no-" "same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Altres opcions:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "desactiva l'ús de certes opcions potencialment perjudicials" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "No podeu especificar més d'un «-Acdtrux» o d'opció «--test-label»" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Opcions de compressió conflictives" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Nom del senyal desconegut: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "No s'ha trobat el fitxer de mostra de la data" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "S'està substituint %s pel format de data desconegut %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Opció %s: S'està tractant la data «%s» com a %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: la llista de fitxers ja s'ha llegit" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: la lectura del nom del fixter conté un caràcter nul" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "filtra l'arxiu a mitjançant %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Les opcions vàlides per la opció --quoting-style són:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2220,51 +2322,48 @@ msgstr "" "\n" "*Aquest* tar va per defecte en:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Propietari invàlid" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Factor de blocs invàlid" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Longitud de la cinta invàlida" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "valor invàlid del nivell d'increment" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Més d'una data del llindar" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "valor de la versió de la opció de dispersió invalid" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "No es permet l'ús de --atime-preserve=«system» en aquesta plataforma" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "El valor --checkpoint no és un enter" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Grup invàlid" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Mode invàlid donat a les opcions" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Número invàlid" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Propietari invàlid" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2272,120 +2371,150 @@ msgstr "" "La opció --preserve es obsoleta, en comptes d'això feu servir --preserve-" "permissions --preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Mida del registre invàlida" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "La mida del registre ha de ser múltiple de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Nombre d'elements invàlid" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Només es permet una opció --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Argument de densitat mal format: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Densitat desconeguda: «%c»" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opcions «-[0-7][lmh]» no suportades per *aquest* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FITXER]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "L'opció antiga «%c» requereix un argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence no te sentit sense una llista de fitxers" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence no es pot utilitzar en el mode d'operació que ha requerit" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Per a múltiples arxius de fitxers es requereix l'opció «-M»" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "No es pot combinar --listed-incremental amb --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level no té sentit sense --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: l'etiqueta del volum és massa llarga (el limit és %lu byte)" msgstr[1] "%s: l'etiqueta del volum és massa llarga (el limit és %lu bytes)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "No es poden verificar els arxius multi-volum" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "No es poden verificar els arxius comprimits" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "No s'ha pogut utilitzar el patró %s " + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "No es poden utilitzar arxius comprimits multi-volum" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "No es poden concatenar arxius comprimits" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option només es pot utilitzar en arxius POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option només es pot utilitzar en arxius POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option només es pot utilitzar en arxius POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option només es pot utilitzar en arxius POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "No s'ha pogut utilitzar el patró %s " + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "La llargada del volum no pot ser inferior que la mida del registre" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order no és compatible amb --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "S'està refusant covardament crear un arxiu buit" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Les opcions «-Aru» son incompatibles amb «-f -»" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Heu d'especificar una opció «-Acdtrux» o «--test-label»" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Se surt amb estat de fallida degut a errors prèvis" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2397,51 +2526,47 @@ msgstr[1] "%s: El fitxer s'encongeix %s bytes" msgid "Keyword %s is unknown or not yet implemented" msgstr "La paraula clau %s és desconeguda o encara no s'ha implementat" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "La marca horària està fora del rang permés" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "No s'ha pogut utilitzar el patró %s " -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "No s'ha pogut sobreescriure la paraula clau %s" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Capçalera estesa mal formada: falta la longitud" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Longitud de la capçalera estesa està fora del rang permès" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "La longitud de la capçalera estesa %*s està fora de rang" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Capçalera estesa mal formada: falta l'espai després de la longitud" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Capçalera estesa mal formada: falta el signe igual" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Capçalera estesa mal formada: falta el salt de línia" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "S'ignora la paraula clau desconeguda de la capçalera estesa «%s»" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2450,63 +2575,63 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "La capçalera estesa %s=%s està fora del rang %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Capçalera estesa mal formada: %s=%s invàlid" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Capçalera estesa mal formada: excedeix %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Capçalera estesa mal formada: %s invàlid, delimitador %c inesperat" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Capçalera estesa mal formada: %s invàlid: nombre de valors incorrecte" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: no és un temps d'espera vàlid" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: acció del punt de comprovació desconegut" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "escriu" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "llegeix" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Punt de comprovació d'escriptura %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Punt de comprovació de lectura %u" @@ -2657,7 +2782,7 @@ msgstr "Número fora de l'abast permés: %s" msgid "Negative size: %s" msgstr "Mida negativa: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "Ha fallat la petició d'stat(%s)" @@ -2686,8 +2811,8 @@ msgstr "Format de data desconegut" msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "no es pot obrir «%s»" @@ -2701,68 +2826,99 @@ msgstr "no es pot cercar" msgid "file name contains null character" msgstr "el nom del fitxer conté un caràcter nul" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "no es pot generar fitxers dispersos a la sortida estàndard, empreu la opció " "--file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "màscara incorrecta (prop de «%s»)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Camp desconegut «%s»" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "no es pot definir el temps de «%s»" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "no es pot desfer l'enllaç «%s»" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "L'ordre %s ha fallat" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "no es pot desfer l'enllaç «%s»" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "La comanda ha finalitzat amb èxit\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "La comanda ha fallat amb estat %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "La comanda ha finalitzat amb la senyal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "La comanda ha parat amb la senyal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "La comanda ha abocat l'ànima\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Comanda finalitzada\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat requereix noms de fitxers" +#~ msgid "Cannot get working directory" +#~ msgstr "No es pot trobar el directori de treball" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "ordena els noms a extreure per que coincideixin amb els de l'arxiu" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Camp massa llarg en llegir el fitxer d'instantània" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Error de lectura del fitxer d'instantània" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Valor de camp inesperat del fitxer d'instantània" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Longitud de la capçalera estesa està fora del rang permès" + +#~ msgid "Invalid group" +#~ msgstr "Grup invàlid" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: El directori s'ha esborrat abans de poder-lo llegir" diff --git a/po/cs.gmo b/po/cs.gmo index d9dc46fadc8f5476d0101182f086baa4841a7c64..2a12a54f11a773ca20ce2f81ec741725402c0c24 100644 GIT binary patch delta 11571 zcmYk>2YgT0|Htv0jffI6BJve8B9Vkd1d$*u8nt3pk=QFKAuYj|RvV+{*B-SuRlc?= zic-|3>eo`8R9mBJwblRYopU|@?xP>ibIu*-oX6^r z(U?%&vfPxD9kfv|8euGj

?kFbGre1opsEShJR8`C?;q;L8|_{jezJ+s?*(>dR|c zPOA)s@JP#w!erZQtV;buEP+R`Bwj`h@>dMQU~YN^lduZDj{&$5E8rfijh9ga@ukuL zt6_P}tnD-%jG>_{4b!nSu0;}I?Z=9E8mr;&sF{{x6p0v)8c1)9$9(LLpQ1Vli6Lv4 zfZ^B{m5Ds;jT4;|$cFVhY5?V9EsOuGSpKMteJ~Rzp)&OwYCv9fEGrkoPy<+iN%#q> zqrdI;s&y@kqSYLW<7m|VQ;{w$=Ozm3=o(f+&p6AfhgFcQS=~?%oPsTJ2kJUaHyFZD zOO=G0KyTE9M%%8(>eMeIt7bhz2iBsK8uV|qG6gFa139r2b;C9c!KgN(RpnvNo1#O-x^-Zc;Aj@oxvE7Ufseg-F z)AB65QW%FdF&)dI6V>rN^urHPsb7PscomgN2Ro1?S}ie={;hEol(KzDO01h0geB-z z1B<{i*anq}eyBGwA74f{s-vf<0Yx=38R>%RXf$eI+b{(8U@(4#PByCbCk4%*3Oh(6 zZ)n@hHVygDO6Lz<@4{+$1U10hr~wpjY#!VUHQ=78z48`nzzgj9QPiIMr7`)}+W9A& z*D4AtP;ZJAu_tQ8PArK_(1BY~9h}Efcnd@E8NP%SQ}~u(6e_dXsOKz3J!dcK`qL>+ z%krl12MtB>Pt>NenwYirMhDeU)a#RsrLisQ0sWADY2{-jJb*>;25JJoVLJLZH3RF3 zyusF+sDZ6?QqY>6wHy9M4X8#lvu2T~j_RUjoQ_)aL0AR1VR`%t%i(=2f&T0`ZMqQt zP=~!x8JLTjz;;xooF^zK?LQPrPB8m`@@BLtzuCf zq@o7?I%C-%}gDr4(i$USM7QxYAJG256ZXOSD^;5 z8#U9D=!dsZ1G$Gvd5IQgfJqpj_dlJ2W|oP*n1veg2-F%*M(y79s7ze4eS}(qpq9oY z)OVv7#-j_Fp>+azqpkbMi(*B+YF_gp7)SrsTnhR$p2Bc^iZ!uHnq}o+YfQnzsDb&k zGT(>ts7%zwqL_-xNIUe#Y}AB?V+7`*_QqP&674~!Hq99ddeBW&s-B>340_GzK+Uu| zYPYAM1~LKl-B^Ida4TvF4x&DmsLbs~b#xAu(r4(vQtix=#Gx|U1eK{w)I>(1mSnY)LNyBK z@FjeVL$OeMld@5$fi1w!_#tYBk5HKkNjKm6G*l+CQ3IQV#c>6eL^pQDW9W}z9au(m zMp4j>d8m=j!BV&bHPaKQ2mFkI_!KphfR5(6s;CDhVl=*t%HUhbf7V$3;6<@6+4ay) z=Du94qxXLbh1y(j0JUlEpgMkpkyw&xm%$X&ChCkD&|9bsOtH`JMZIR{kOx}`A>XYR_!Lvh;6Vr=S@}Ovv2UDnTM!kl2P$T~rHQ<^( z%vvVdw#P8q`{O{If;I3VmdDVZ{6dR~s3lp}(|-R?(V*Aj25J)(%`j`%2pdu#f=Rdm zHGo^FOqIzr?G4dEJr7fHF~;EcsJ&IHm-(5{4B1vzCcc7udpXTWJbRl>5ryio9oEI^ zSP73{DE^EZs4vq{JqC5YEyiOGhTsNt;Bjn%w@{g_)z@6#6?NTcCxt2$7NTZ;02|<4 ztdF(&nH&3JW$LqSccWgbZ%`?&*59PKHEL-FqT0vWu0;*_EULe|sJ-AUJ;02l5^7Bv zqtO1hhU0;Nn`A*b>ZlE@m2Mb*S15ry;1#4hi+fmqz`bw;bH?cbU4YI5)djD%v z2&dsXY5;`?n-RugHR@flG>*rga2}TO;MemZ=F2!M%j|`D7{>YiSPQ>Hr92?poNs{Y zCj-^b6fC3ne-{O%>~ui`n+E-1~2h)H@)rvNZu~;`gYO2jrLx z#A7|`T~KR16SYZqVk}<4s^~wQ{Of`k3R=^S7>&7D4%edA>>z5y*YP#HgY7YCgcA?6uS=^@ zCZ&T=nOKC%&1Iv9icp|ujza4*(Dzp?ysgAMRQT;!w>LP38KEQ_5{ zYxgFq!*#d=_n-!rJ0&-;+W`8v3I)Q9hQ$g{V#P5jMsnSOdK$n+HTfJQ5l?y-nbQg>EGH(L8;r1eef<;$BrNH?>0CVo8d9kniZXDGE*Oe zs1LO36HpV`f%-6AL}e&|cdjiq!U&v>n#ewMYV-X_K{t3#H}7);45gle;h2G~a0+Ve zzD8esh=uT9ER4Q0%pNL^wW+^~)i4kBoD~>{r|fpmndCp1hVYqY#;K^+WC$u%%TY5v zieY#kYhvkHW~Rxg3G_hi`Y{-YOHmWphRVo!)a!T;mDxfr^L9nM$Ul>}QfN?W&Z0W{ z2X#Z}Z1ZzH9(||}!4jB*n(=$6%{m=*|0xW_$Ebn%&oP@b9JPe6piw}a zIww)+LSZR3#V1$}8!a#&q>iW=WuXJdqxQlI+q>A8deTC(sa9hE_0y;&`3B42GgM|v zFEYdRyTS~3EGnZe)Z4TPHPN%EjNd?~cA?)&vx$nKUXL=U)Fz=a&;cvrP%McvP@8QP z>i#d#AJ1YWeuEltkyU1CTB0)58w)la>bY}Pk$-OrTWP3-J24cmpmz0R)aJ8Rn>8V@*(-F&EXr5lq1A*a6F}F$2g#J$E8@!*!@7@>%ONU#!||%~}ma2Pc-G9{4G~ zgJ0uR?6%Gf>{r|Ss4w7C)c3$^z4^8Wpk^3|>NpCuH(tXE=)^c&tb%5E9xLNd=)l4o z%o^83ZK5uyFW(2K2k*iucmcz)$41lfBP#pztGE3VQwUi@K&vDMDpiQzJ zmD(?{H~xrvk6Uc!vx=QiBfo@I@ILCkvLBfNM5FHSihA%+48f^(eWQK;7}llz8Wz#} zUvi5{aYgLGiRH+fW_f&U)_f^ym+!&`cn7)Bir8v06_53)cS6m0CWhfI)OX=3#^VDl zff3tGMjE01|C5zNK`C5@dcX|_C>phUTVgTni2<06{x}Bxa1s{AndpU! zup=%-2R_7DEW4ebj`VM}q@WQGMeTvvs3q8q+RY(5OiDZ24ntix4K=fEs2{htFcpJ# znhf?p4dh?cQu*yN6LO$3nuN{{6mlu(f>X9Xp=SOJwbm7On~bDj4E0{98O%X#rsMbq z{({Ot>K?P%T45md5vaFdB9_5*s0<(2L;lB8xIsg~gZG*fb8sN-yHFj4?K3xa!0OZo zquOU<3p|F+vBW3lH=V9npZX?L`_EVhYwtHp+zZpGPufrZm9lFzBx03M%>a6!W;7mK z;&s#jYaTEI=!OlcPe2Xi5JunwtbvY$rrrXzR3lJ(Yyqa>VJwfuorlZ=BTzGGkMXz! zmHLYqice4-1bt>YOvN_T-$pIr7uX6z51WAw!MfC!;_G-3n_=`3^DEg1EJxkBm_i(d z9jK0PV@(V@YQ9*lFo^nC48!@T2k*nGco$1!na|BYYhg0=G}Ky8#ge$nuJ1+-^bFFU z(+W9eW|WStIgyW%_!UN@&vDCQa#lQQmp`!$|H5RX3o5nmVOiXQ5AYaP^58ElC(Ne2 zcG4`_&!{DkNlOZvB-QBX?b&zQ|J2!p9lM|H3flkgMt!N1WLJgUb-+y;}WXQM{?G3o&~QP-8d zU|z3e452;>wMpk=AnwKicoMTQ?xGp+YSjIkFaR%IB>yZ?!9&2hK;>tgtw#G;XqUaI z_axr7>)R=(y>J~>YdOJkTMcRd3-hto3)d8){3GrE*loF5e;vzTxJdP%i1tKVB9l1w z{QPri)6tliMq6#WJ;yf4HjDH6$EwA;m}4)oneZfv5C#2L#57en{JHo5&cMHkcPKZ; z7mq$vrqDK=V2@cNiOTi`WY)^0y%laF9uwzYxPKCL59*zVB>YJcrIMGu1 zchGREpvnBP0S?pl4UtOO2a6D26FT%6?nu05*L`iZ({;RQ*K6XprpbDT@({}J61OR* zU{&m-{r8N*^WzQ5e-Zq=DfnBE+M5vzXd92e6E}%nL~)`y?OpJHgpR`0hvLzK8ov`# z*HPABeStfOt;7Su`6(C7q%Z-0#g_?vTy*?P+fu?oSsxM|9&FuVwCSgxjy9B^Vo|(7 zR3kPTT3@fGoBL7Vwi+lzWI!H)r}JN6}Xi^55+kHy`%-@f0mSmFvXofvID zpq<(&weT~pD zl=jC?{)i+_(r^~f6E7Zb+LgL^g>#d!qJ7N@oc_Y~_c_-=L0b}0&psDwdk^mr`?1M-@&THLE=a1I$p;Iy3VdA(8li-1;3{2{6*S}6Q_y2_B9h|zfF8c z=x9y!Wy>+Lt&yQ@*%_DRiB0?yCr}ZC0WdV^#yiC0}p<|H2+Jx`fZLi`6ySxUc61zFy zkGN{LhvOf1d9v+s&R3?~8+AM+lzV3ejf;q)RB96KDUTzbA0sF%p}rO`5O;}gL{r*! z;tu=Tme|%V|4X}$AmV$X745~a4snmragJE5_x}hd9}@r3u#Tuk7CyUh;HTY}D7&(JMP^c*cON9LMls8Cf}fvxg1o)7#N^z~DZP ztc)Rja-!UMjXQa{?=+d`?b`85XLmyL5+3f2Eth$?My7Rh{gAfEwW3vu`(CSPA6HuY zJ+6rK$?pCgc6hk!cbetpuHG%&!gY!5;4AYdk$&x7TI62Cx6xHGD&T_n{5>zOMJSUUp5`w!&R!dtpy^ z=FTBL?)&@GJzO&nJaX+j*uWKdsDgX$p)20*(#NKGxzC)q;p;AS-oJ=D^P4q(?(`qa K__)s9TKRuwB5KY6 delta 16391 zcmaLc2Ygh;qQ~(QS|Ie^;RFbwC3KJ`y;o@pNZBMCvShOxwj?A7ixp8&aTP^SK|nX=8?7dujK z+Eucw9yqMNWxYduT06^9{^2y^bNCWL*B{s%|HPx%G~Kcq;c2XfKckI*VOwn5-Lh)o zP{&EQn)ICRR>W#Tcct z>TOy5a40Uo0#pUBVl(^}J7bMLW+ZxJ7U^LTBHf7WKsDevQl|Ae(nzayU&|tDO~v+j z1!myAsFABlt!iL9EWqKY20e`D<4IJ-E&7}MQAk^?#i$NOHW5()yHOP$Lsj%ACS&q> zrY9qjENcO3sy3hsF2f1<4eI%U11zg0UW}T;W!Mz&Ky`FKw#E-kI$|X-j;Um%qt@4K zwDAh;ggYExzy_p$Mm?XzM5>@(sJWfyn2!mhZ@|iUBWgr8phof$)FS;Fo3s9`ABof< zqwZj18&pMU$SrFaYH?kH8oI4c{;R0PRey+aIFe;8#TK{+HL^#r3x0|kiH6LJ8qgIJ zso&~FLv7cce_==LKEgC` zHmZZmQRVK%R(NcLv;RLOBbkgdsFo*>H0jBx#puU&7{x}oAL9jJ8`7U*YfKzv&WRMX zNe@7c%v{uaOHm_q71qVOM@5)lBKyhE>iij1PzUCrA&x-3FdM620qP`Mj+OCh)LgGc z8}C7Ft7ow>zKMGO8`SQp%Y3M#V=)Om5hChA2xnpx)v`}f=fE$hhIJil=I$cY_PZRF z{~)Si?_o9k5LMw9sJX5=&Wu1mq$q1LcEFoZ4UarRq#2PDSRcPa8f%?FR|4_zrXlxC zFeCF8s%O8T8d_(fnTj?zl=L8E7Omwt3=g4tdSd@!widPh zwxcRKfI8EkNA>I^YA%0A8|zIr1@^>L(o?WK7NEBEZK$5^M6HFxSQ}4bL+$_1oEv|} zGbntDnZr(~MK%D{z}cvVEkUi36_|*dPz~FL-LMqZ@NZESRhw#h-Uu~CHmU=u*oOM8 z!9=>^Jk(IFcHD`Yt7DGeVt3MwrRj24 zS{tunBuFG-IzJp3Mz!n!>VSC;>*2>(3x7t9NR=6;fMnF-n}q7w1*nc(g!SPqQ?&+dT#wpy56)uz)q|JGsEe;*Bm5XO0>5KAHlA%(^C;AuUWppQD2~BH zsEVpyXim6hsQ3Gz8aM^ju?T97>_AQ3ab+|m@*Apv1{axCnt}~U4@Na`8ft`QIq8d? zvhQ1FNc+G3LQ_#k z)LivK4Rt0mt=1Cc5VW3j(lr;EiZie``Gu%$xeK+(PNEv}0czWw!6umIG9xz%)xbcoCgQ9+xsc;asBAtnv+f~>G@5V(~hFWYL-DYTKpn8~#dOm{M zMLSRB7vHsh~F)g#+1zPm7q^z*0+-au9SGxo(si_MSA1l0ashb$s%GuFfs)Z9LT zn)8=289zi-TrJ00?5L5Ml*9OIKVL_NdaxPQ@*}9l^^W8B*p76fhxLG6uoK>lE$|T1 zDeFzt?itEMdOsJt;40MG+J&0Zw{bAmisYIzdpxQES7Qo3#+y!Ll%3)`iRH?y}&}yi}O$|T;o`R z<4M1a>T%0}8S+u6salB24?1o}b)XDY;YU~#lY*upO;97z2U}?WFCwD3S{~2f4+m7w zccBV;4eQ}gSRWHZW(u04DjwtL$5Etj#Xk5BY7sXGn_bis_mZB2ov}s%4WWLkHxadT zA$G(ourcn!kMK!sl)%Sjp*eCNTV~eClc+`c32IFw6`2w2k6J@+R7KaKdi)SJ!Bf}} zf5C_{Y89IyYL7Zdx?^3Oh%Im)s(=DK5AVW8coGNVx7Z82E;oyC0cxbKLv?5iHpgdB z<(|Us_}y~GzbcXBOU#j*ibF`Jqh9o41B_xi-i;jl)~l!~>b=5D!2;Astj7L$A8JHT zqZW1IO4Gp3sFArCb^o%JjKAji9x}8lpTTDM3%0@f+*gZx;1nE&Gw^zBfghko<}Xx7 zx~wu4^uU^=XX8UmT?T3@nq9`HJ&wTZuxsRU)AL7Bi|I+!Tz-xk!lqZ41FAEYknWGI z@gvj_R=(1VOmEbPWuQiE4YtC~I07HRw)h85#8y|ChDLITXt7;~>hX5eT$W-_{0WC) zr`4tc4{A5ufU00Cs^N#QHhzMt=toS!##fs~HwY(@o{qioPF$${{|b>i$mqSs^z1n5 z4F482m({N^6%NCPNMC?zSmL#&q5*h5={YzSZ^e=LK58U8tmV%;ya2Tps;@JPwhO+g z{qH8C#Wa)&$-^b67vDhjpz8JJg|4XGl8qg41rEaP*dE_Ul~d&gb0T)fiKM6DP~40f z*|%{q)?LrYQNLA4LEE6E_Dzhx9-Kg=GKR1cE<^QvIrhY@n24{S*2qb0fWKiwtbMatL&>O~ z_Qy_GhY#$P>JMTU)!p@#4s?1R;BF+)29tB`hKHO$6dn1^oM zf~i>TR`ZRQj-yByqNegO)B*GvYNRS}G#%-)k?}u|j2UEf$F+C?K89Vf&TXbA15w*9 z6ZQP1SQQ_|w)g~UB;Uu$n6$}E;YFwhhp{?df;I3;9EjIPh^XSDs5S5#s-Wb}=8I<{ zD*sZ{>b)0R;!#wOKgQlz=XNtvBTzlg#&#G*jp%;V)SbfCs4b`RB5jChE{CCdG6UOS z5S!qQsET%CJ$xD27}jaj2ra$SRCGJ)`6sX+zK$B9I$O*^)(F+}jyM>5An!-4JR)kq zMpVmoqgLrr)Es_;{jtwhGn8J`+y`+1-i>Nl)w|4ZM-$ZZGf|6gt&={4s`w|=l=R-F zMIB)th^WF5I0zSGE8K=Yd;+!Ix^FilvjA<ZE%lyKLsaKzcoe?ya}`MG-~^dztj zI2TjUi_P#x)cdmOb>^kUi6|`yb|@`2Gl+;!RGiRHo}vr=e|WfSACaR z6KzrX6H)n@sD>1yrfLhS;ScO${6`TvL55a!^WCQ4zF3F!1gwU0umvu{Hn<$Mk8i`y zcnsB%AD#S8CFcGd976szI1-;l?Uq`5OnTTJ#(xqSSCF9t=Vcs<)%KcIJOdJ${Atu>J$4=j~97Zyc&aS7IWrjSxvCauaH(9z%`9E2y4+ zgBtoe51K{V4pqQdtcg>w6VAmnyd2em2T)V>9ctui#!Le`;%L&DsI?H;No2SlM6KrD z`%DAIV-?bF)Z$x$ZE-EC<-4%~?nBM>GpG){hrRJ9oQz!_G7VUUIys{_3!g(87_r*z zH$yZSRY3+`jF+M2_C3^5S>u42<56gnE=2Y0R=f;jxDNY0Y#Mmj@j0wc{t2vs@1Q#N z3AWV!|B{F*uKtKwG@VfUe-8G=0#r|TqvrN;wDAMf+NkoVX;^RULOL5Yh3oNJEJ1Z- zz<*4|nW$}^gY6=fEbB!g+8*B@G!-^GWY)wK)EX$jmUuHZ!w0Yl9>pv?g%fbhQ9<4l@6$bWi9IdeW>T3#y2-!tQuIj>gAPLt6EyIcm3I4bm^7=JrigPrpYEb-iO|yNyHLzr*nW>bb~EL^=@p z8Z}f6pEEz3eNjDGjBW5XoR5!SA~t>AEYh~9-7yy1;#}0)C`OgH9xufh_Qbv~nEb`K zMEidY5mod9>c!L-O~L1*^0RR~Zp3l;0bYRJUNUQCB`W`6)WMVRvYGq7IFs}|R5|x! z5BvZ%l8uh*Tw(s_5>ZQUM)mLjPQb>mm=-U>RMI!%V0;vN;m_C=yPPmb@N85%g6(k^ zcE%TR68?%UaLlWwJQt3qerpX8&Gjp&sYrUw3}tszfm2ZxF2`xO2WR0KoQ$(xHx1o} zeMrBG^DyZR^97ZST8z6;Yv4Hc#V;_@k4W;H=H$8vHAI)Aw%b0`>U{xK@OPMk9p5tB zXA)}8GjJGQhE1>(8{%6|`fF4}tDZC+oq_7mH76PWsYDKvF#>D9ZGOe3p&GIhpTfP^ z9Ru$e??R2tanun1g-x;3yR0J|hRF%^@;$RyFMQuj-9l8wn^EPz_&(#`pNMtJ4B>g$ zh2#>{5Z#O|@fd38KEVcPoi@Mk4N+^O1Gd0P*bNt>7VS+q7T-m^-|+)e-%!WG2oVkK zUTlva;zX?ep{aN#)+3#d=i{YV6`#Or_%!PI=TRfn{3Fwl@u;cILN9K@bgcfdSv&nv z4UMcL(v!%e*a^Qx?f1r?m^tl(8lf<%fD+VmZ{q;0`l&fchN9NOeAEc7Ko8!4e*6tn zaLH$;+#9f(_W#R7I&tF-tc?kuoBuJoaRP-Cbp2?sUUbs^u&xu|$i1tb`{E}juHNgi zEAi#*JUa%H2!EMd))U(QyPTVsJ3fam5uV|pvACN+XRRP=P0S)RpwQ~14-jn9^dx?f zZM{VvXPMQO#0i{EP{(wwivMd_w_s(S`w#V7Ul4hd@Eh@-sL@zKD8HtX_dAJOZ~)r^T;J`S)4EJKU>6&p$w|_?bAEP=4tgD8F9S{AX9V`Fw@=awp!L zr_T`o8oMeGuSS?gycy2K(S$1q`k&f#jl_=$&zWR=;ns5EYso+1Jg55qakb~h^@I?) zFE|gC;bPLK3G<2DN)yURk0a=$+eXmkCw~dSOIS^ME*2BU#P71R7@6})4<+c@7a?*7 zp+4bBGPIX3BF=$mrC|AW4Uv|-d&5niRUKZ1B60Cl<+En zjb+`9m!qz}#N+?}Pi>Xu>4owRpyj zFA>VGOzsUM@fe{$ab3#{)=g^u_fF<)$60uT6W4P-!a%|=N^nge{8-`sFygBT5617B zsz& zZ83+?hxnz0jfAbFTVZ|5*^c`O-3b>Et|e?G=vs=Ar=5f{j_Mz-U&%|Wkl%=cdXP?Z z8d?o!^V}TgnWlIn=`HvMj=<)G9>iPVL0n6?mN1rZkUZy#SSv{6k-Cjgi+D%;h)~mc zXfl?P{sg<>NsmoxPBtZ~?(Z{3^mT#C7e(xh86LBmOq=Erbi5 zJn<_bmwOLkt4gMR<;VYjV5zT|2YH|ip(;H|#6Jm}3GWit5cEM&37^&rT$d5wgAMRc zOy<30JWaa%YDZrA^%{}?5@M>qv6EYchuaZGI_cq#H{&Vt>tH6~DDfl;+wI&xjJ*kM z$q(QKgvW?qhe5(N;+p0X;xT-daQ4#pA0VWX`PSK7rh#;Rg$M5>zJc(i^UOMY!nuDn zP9sbqa;XXG`+PYLq~x+Y;G6OI27QkQ3^lKzy?+R1O@DC%&3K!x-k-XHU#lTigf zB;zB(#e{T16JF5V*8QAMCXTXC2~CN2cHZF;>kQZM&ttv1j!V42UX+rV+Re`LWM{jx zY**0s`2%?_ubu7jx~-JpKzo)i*XJ+v#WUqw<~UQaM& zySxFnE33%n-{{=Ftz$#`79>Om^=}*7-|s}F^h}q}=MUK#ZaW;L6pzmi<+yovY1kc9 zvHpB_z!mcNeRiHd%N@I9K&Voz`QRy)8!vW;>_UGa*W+7Ey94gbkUvlqTR8O2D$!R) zHmc+aM$b%c9Q|$N#hu*VEIZ`)+g?A97Us|;wIxe027RvlU=H=Gqp=yI8YM&)gQ>7ZlEeY5@*}s=Wvqqc6z>Jrd7Vl?;;?k318KZY3bX&~&()fp+WyLab`?8qs943ZA&UF_t zw^=N*U~07L*acM=2mImu=-jc}qpyu^82xJO^s1~zcOcep+<>ZGCWpNt4`Wx}aAzE} zh*%i*qO{4WtRpR=sBiM4byyB26<@>ARs9<$q(?hWSsRHzVr#k2)Bwjpy>CccObwL zWa9q0oL$pytsHT)3^H@W`IL~I?OA4fX!}aGdf3NO3EDyJA~hi`&3S;5W{jUaZPMt4 zBZiNhIBVL%8MDTW8GliF(oFUxt0AbpnCbV00)8(Wq)1!0LMcvdlrnqt^cmwLQ>QE( zId#g+=~E|lvkP2acD2S}U=j<{=l8K!{Mp&gTJ*Uoo+5M0+Z@#D?PmMJc^U2iUDp-A zeKyC`rssSfZ#Ub$jK!>JBW+%q$2?@0C$uFr7D4l1H#V`hoXy<11BITTTji(`XYbgo z9Tbgr^jl|?p!4@#~+SQU3_KbyE8r6MW&6R98N8!g%vqGGbn!&>06kC&{k zmcoY9Yb;p?(Wy;QCNVSTY@@4SEbKfYhhBUE4&p1pN8@BgT@b98-p zWa&-)a@D**Ug=h^ue8Jt z`okIiK=jP27F{a567UyixV#MTzds&3v#MT|mO*zhL*tZCw%1J zqEhsQ)!n0uRwu@~uI^KLa9Wx_Gcz0rxP6(-gxg!pQS#K5e1F*?SC+rPOs}V)bZ5NW z2wygKacM~~mt9hve|S@f?}ce8}Q>MfsO|R*^syg@EA>M$qMbg6Q z@kK`i&nc<+soMW2D)!5*iIvjz1rcV(f?7|-Ebu%AE7x0Ea(JCTK5kxrfj_>egUnm> zyA92vf8MsV{uFn<*A?P%JID`#$LEUXZF(!(Xmgurzs(aGmft;S7kFJk9xKU>MK)hu zZSd^)9GecY#<{@(aCYztinNZ^8rF}S5z#(S-D#6mceQP=*ZXIFN@g_S>Lz@3oZPlO z!bF~ZN8cVZp4yVd_Rc%ocsnDU<+h7mnXJcRw~zIuZ5(`R3*RFZUUtW8Oi_1PTB_Z| z{TVF20+*ec6FR(U2_szog`(Y15R8Pv`R5kH$BN2XLLV95pf`MYohRhx&|pQfasO_z zX{Wwlc>dgS{{D_paXxpvz%C)SUdSK+f^pZ$V>4yNk139*qS(sqNtHT`%qgPPyk|7&jIW5-~uq<)=-x#29Dp|1OwVZQQt zGvA-*&m`yUH;~z-Z1BUIeCqPQe-O=f2Z|#swyi2nN1B?FrGv>Sui`LKxbtcBzYC9l zC;k1Ilx~mnYy0aLIfv2DC_NbZ*UzPRexjv-gE+c^+eNaud$sf^g# zJs(twOmXLx?bV!U-Ee4R>384!L~(5Br->i-3JX&|KQyEKbB}`99;VL~Kl;eGCWnLk z9P1?Fd~!<&|30?YV z0kg$Ty4sy)#ojqsE2&|=-_CWhjP&*4+=w1M-X`|?GY=U z53pSR*5?m0onMS`mdjhja&R6x`wJLb_hPfEW S>aBC1I_DWRF}mZ#w*LWtgjcBm diff --git a/po/cs.po b/po/cs.po index 6ef7c977..69571a71 100644 --- a/po/cs.po +++ b/po/cs.po @@ -2,7 +2,7 @@ # Copyright (C) 1997 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Vladimir Michl , 1997. -# Petr Pisar , 2009, 2010. +# Petr Pisar , 2009, 2010, 2011. # # Pozor: program sám zalamuje dlouhé řádky, ale místo (Å¡irokých) znaků počítá # bajty. Proto je nutné dodržovat nezlomitelné mezery, které program rovněž @@ -12,13 +12,13 @@ # tape → páska (rod ženský, vzor žena; ne pásek) # seek offset → pozice posunu (pásky) # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.24\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-10-25 10:05+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-13 19:24+0100\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -38,36 +38,35 @@ msgid "ambiguous argument %s for %s" msgstr "argument %s není pro %s jednoznačný" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Platné argumenty jsou:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: hodnota %s je menší nebo rovna %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parametr ARGP_HELP_FMT vyžaduje hodnotu" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: parametr ARGP_HELP_FMT musí být kladný" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Neznámý parametr ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Nepořádek v ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -75,31 +74,31 @@ msgstr "" "Povinné nebo volitelné argumenty dlouhých přepínačů jsou rovněž povinné\n" "nebo volitelné u odpovídajících krátkých přepínačů." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Použití:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "nebo: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [PŘEPÍNAČ…]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Více informací získáte pomocí „%s --help“ nebo „%s --usage“.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Chyby v programu oznamujte na adrese %s (anglicky), připomínky k překladu na " "adrese (česky).\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Neznámá systémová chyba" @@ -112,7 +111,7 @@ msgid "give a short usage message" msgstr "vypíše stručný návod na použití" # JMÉNO jako v přísluÅ¡né položce nápovědy -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "JMÉNO" @@ -133,17 +132,16 @@ msgstr "zastaví se na SEKUNDY sekund (implicitně 3600)" msgid "print program version" msgstr "vypíše verzi programu" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(CHYBA PROGRAMU) Verze není známa!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: PříliÅ¡ mnoho argumentů\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(CHYBA PROGRAMU) Přepínač by měl být znám!?" @@ -151,62 +149,62 @@ msgstr "(CHYBA PROGRAMU) Přepínač by měl být znám!?" msgid "write error" msgstr "chyba zápisu" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: přepínač „%s“ není jednoznačný\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: přepínač „--%s“ musí být zadán bez argumentu\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: přepínač „%c%s“ musí být zadán bez argumentu\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: přepínač „--%s“ vyžaduje argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nerozpoznaný přepínač „--%s“\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nerozpoznaný přepínač „%c%s“\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neplatný přepínač -- „%c“\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: přepínač vyžaduje argument -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: přepínač „-W %s“ není jednoznačný\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: přepínač „-W %s“ musí být zadán bez argumentu\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: přepínač „-W %s“ vyžaduje argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "paměť vyčerpána" @@ -222,28 +220,30 @@ msgstr "do původního pracovního adresáře se nelze vrátit" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "„" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "“" @@ -253,7 +253,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[aAyY].*" @@ -263,7 +263,7 @@ msgstr "^[aAyY].*" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN].*" @@ -559,7 +559,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "K %s se nelze připojit: selhal překlad" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Vzdálený shell není možné spustit" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Vzdálený shell není možné spustit" @@ -608,8 +613,8 @@ msgstr "Neočekávané argumenty" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Ovládá páskovou jednotku přijímaje příkazy ze vzdáleného procesu" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "ČÍSLO" @@ -617,8 +622,8 @@ msgstr "ČÍSLO" msgid "set debug level" msgstr "nastaví úroveň ladění" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -633,7 +638,7 @@ msgstr "nastaví název souboru pro výstup ladění" msgid "cannot open %s" msgstr "„%s“ nelze otevřít" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "příliÅ¡ mnoho argumentů" @@ -642,9 +647,9 @@ msgstr "příliÅ¡ mnoho argumentů" msgid "Garbage command" msgstr "Neznámý příkaz" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Toto pravděpodobně není tar archiv" @@ -682,19 +687,19 @@ msgstr "Stdin/Stdout archiv nelze ověřit" msgid "Archive is compressed. Use %s option" msgstr "Archiv je komprimován. Použijte přepínač %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Komprimovaný archiv nelze aktualizovat" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Páska na začátku, končím" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "PříliÅ¡ mnoho chyb, končím" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -702,7 +707,7 @@ msgstr[0] "Velikost záznamu = %'lu blok" msgstr[1] "Velikost záznamu = %'lu bloky" msgstr[2] "Velikost záznamu = %'lu bloků" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -710,37 +715,37 @@ msgstr[0] "Nezarovnaný blok (%'lu bajt) v archivu" msgstr[1] "Nezarovnaný blok (%'lu bajty) v archivu" msgstr[2] "Nezarovnaný blok (%'lu bajtů) v archivu" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "V archivu se nelze vrátit, bez -i může být nečitelný" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek se nezastavil na hranici záznamu" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: obsahuje neplatné číslo svazku" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "U čísla svazku nastalo přetečení" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Připravte svazek #%d pro archiv %s a stiskněte return:" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Místo uživatelské odpovědi byl zadán konec souboru" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "VAROVÁNÍ: Archiv je nekompletní" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -751,65 +756,65 @@ msgstr "" " q Ukončit program tar\n" " y nebo odřádkování Pokračovat v operaci\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Vytvořit podshell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Vypsat tuto nápovědu\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Není nový svazek; končím.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Název souboru nebyl zadán. Zkuste to znovu.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Neplatný vstup. Nápovědu obdržíte napsáním „?“ (otazníku).\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "příkaz %s selhal" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s možná pokračuje na tomto svazku: hlavička obsahuje zkrácený název" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s nepokračuje na tomto svazku" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je Å¡patné délky (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tento svazek není je mimo pořadí (%s − %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Pro vyhodnocení vzorku %s musí být archiv pojmenován" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Svazek %s neodpovídá vzorku %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -817,11 +822,11 @@ msgstr "" "%s: název souboru je příliÅ¡ dlouhý, aby byl uložen do vícesvazkové hlavičky " "GNU, bude zkrácen" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "zápis neskončil na konci hranice bloku" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" @@ -829,76 +834,75 @@ msgstr[0] "Bylo možné načíst pouze %'lu z %'lu bajtu" msgstr[1] "Bylo možné načíst pouze %'lu z %'lu bajtů" msgstr[2] "Bylo možné načíst pouze %'lu z %'lu bajtů" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Obsahy se liší" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Neočekávaný konec archivu" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Typ souboru se liší" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Práva se liší" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "UID se liší" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "GID se liší" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Čas poslední modifikace se liší" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Velikost se liší" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Není odkazem na %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symbolický odkaz se liší" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Číslo zařízení se liší" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Ověřuji " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Neznámý typ souboru „%c“, porovnáván jako normální soubor" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Archiv obsahuje názvy souborů, kterým byly odstraněny předpony." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Archiv obsahuje zastaralé base-64 hlavičky" +msgstr "Archiv obsahuje transformované názvy souborů." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Při kontrole může selhat nalezení původních souborů." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -906,46 +910,46 @@ msgstr[0] "SELHÁNÍ KONTROLY: zjiÅ¡těna %d chybná hlavička" msgstr[1] "SELHÁNÍ KONTROLY: zjiÅ¡těny %d chybné hlavičky" msgstr[2] "SELHÁNÍ KONTROLY: zjiÅ¡těno %d chybných hlaviček" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Osiřelý nulový blok na pozici %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: obsahuje značku keÅ¡e adresáře %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahrazuji za %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Generuji záporné osmičkové hlavičky" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: název souboru je příliÅ¡ dlouhý (max. %d); nezpracován" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: název souboru je příliÅ¡ dlouhý (nelze jej rozdělit); nezpracován" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: název odkazu je příliÅ¡ dlouhý; nezpracován" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -953,376 +957,417 @@ msgstr[0] "%s: Soubor je kratší o %s bajt; Doplňuji nulami." msgstr[1] "%s: Soubor je kratší o %s bajty; Doplňuji nulami." msgstr[2] "%s: Soubor je kratší o %s bajtů; Doplňuji nulami." -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: soubor je na jiném souborovém systému; nearchivován" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "obsah nezpracován" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Neznámý typ souboru; soubor ignorován" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Chybí odkazy na %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: soubor není změněn; neaktualizován" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: soubor je archiv; nearchivován" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "adresář nezpracován" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: soubor byl během čtení změněn" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: soket ignorován" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: dveře ignorovány" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Přeskakuji na další hlavičku" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Z archivu je mazáno to, co není hlavička" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: nemožně stará časová značka %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: časová značka %s je %s s v budoucnosti" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Neočekávaná inkonzistence, při vytváření adresáře" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Adresář byl přejmenován dříve, než bylo možné získat jeho stav" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Souvisle uložené soubory rozbaluji jako obyčejné soubory" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Zkouším rozbalit symbolické odkazy jako pevné odkazy" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nelze rozbalit – soubor je pokračováním jiného svazku" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Neočekávaná hlavička dlouhého názvu" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Neznámý typ souboru „%c“, rozbalen jako normální soubor" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Současný soubor %s je novější nebo stejně starý" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tento soubor nebylo možné zálohovat" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s nelze přejmenovat na %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Adresář byl přejmenován z %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Adresář byl přejmenován" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Adresář je nový" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: soubor je na jiném souborovém systému; nearchivován" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Adresář byl přejmenován" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Neplatný čas souboru" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Neplatný čas změny obsahu souboru (sekundy)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Neplatný čas změny obsahu souboru (nanosekundy)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Neplatné číslo zařízení" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Neplatné číslo i-uzlu" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Při čtení souboru snímku: položka je příliÅ¡ dlouhá" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Chyba čtení uvnitř souboru snímku" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Neočekávaný konec souboru snímku" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Neočekávaná hodnota položky v souboru snímku" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Chybí uzávěr záznamu" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Chybný formát přírůstkového souboru" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nepodporovaná verze přírůstkového formátu: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "PoÅ¡kozený dumpdir: očekáváno „%c“, ale nalezeno %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "PoÅ¡kozený dumpdir: „X“ duplikováno" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "PoÅ¡kozený dumpdir: prázdný název v „R“" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "PoÅ¡kozený dumpdir: „R“ není před „T“" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "PoÅ¡kozený dumpdir: prázdný název v „T“" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "PoÅ¡kozený dumpdir: očekáváno „%c“, ale zjiÅ¡těn konec dat" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "PoÅ¡kozený dumpdir: „X“ nebylo nikdy použito" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Podle Å¡ablony %s nelze vytvořit dočasný adresář" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Adresář nebude vyčiÅ¡těn: nelze provést stat()" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: adresář je na jiném zařízení: nebude vyčiÅ¡těn" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Mažu %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nelze smazat" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Vynechávám" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok NUL **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Konec souboru **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Mezery v hlavičce na místě, kde je očekávána číselná hodnota typu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "Osmičková hodnota %.*s typu %s je mimo rozsah; přiřazuji dvojkový complement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Osmičková hodnota %.*s typu %s je mimo rozsah" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Archiv obsahuje zastaralé base-64 hlavičky" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base-64 řetězec %s je mimo rozsah typu %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Hodnota base-256 je mimo rozsah typu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archiv obsahuje %.*s tam, kde je očekávána číselná hodnota typu %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Hodnota %s typu %s je mimo rozsah %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " odkaz na %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " neznámý souborový typ %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Dlouhý odkaz--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Dlouhý název--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Hlavička svazku--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Pokračováno od %s bajtu--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Vytvářím adresář:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Nelze zjistit pracovní adresář" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Přejmenovávám %s na %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: nelze přejmenovat na %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Přejmenovávám %s zpět na %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Soubor smazán dříve než mohl být přečten" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "potomek" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "meziprocesový kanál" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "příkaz %s selhal" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: seznam souborů již načten" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "Souboru „%s“ nelze nastavit čas" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: načtený název souboru obsahuje nulový znak" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "V názvech souborů se nachází žolíkové znaky" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1330,57 +1375,58 @@ msgstr "" "Porovnávání proti žolíkových znaků zapněte pomocí --wildcards, nebo varování " "potlačte prostřednictvím --no-wildcards" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: V archivu nenalezen" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Požadovaný výskyt nebyl v archivu nalezen" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Název archivu se neodpovídá" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Použití přepínače -C uvnitř seznamu souborů není spolu s --listed-" "incremental dovoleno" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "S --listed-incremental je dovolen pouze jediný přepínač -C" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Přepínače „-%s“ a „-%s“ oba dva chtějí standardní vstup" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Neplatný formát archivu" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU rozšíření požadovány na nekompatibilním formátu archivu" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Neznámý styl citování „%s“. Seznam stylů lze získat příkazem „%s --quoting-" "style=help“." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1397,9 +1443,10 @@ msgstr "" "tar.\n" " tar -xf archiv.tar # Rozbalí vÅ¡echny soubory z archiv.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1419,79 +1466,79 @@ msgstr "" " existují, jinak tvoří jednoduché\n" " never, simple tvoří vždy jednoduché záložní kopie souborů\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Hlavní operační režim:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "vypíše obsah archivu" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "vybalí soubory z archivu" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "vytvoří nový archiv" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "hledá rozdíly mezi archivem a systémem souborů" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "připojí soubory na konec archivu" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "připojí jen takové soubory, které jsou novější nežli kopie v archivu" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "připojí k archivu tarové soubory" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "smaže z archivu (ne na magnetických páskách!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "otestuje jmenovku archivního svazku a skončí" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Operační modifikátory:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "zachází s řídkými soubory efektivně" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "HLAVNÍ[.VEDLEJŠÍ]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "nastaví verzi řídkého formátu (implikuje --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "zpracuje přírůstkové zálohy starého formátu GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "zpracuje přírůstkové zálohy nového formátu GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "úroveň výpisu pro vytvářený archiv s přírůstkovým seznamem" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "neskoční nenulovým kódem při nečitelných souborech" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1503,121 +1550,132 @@ msgstr "" "--list a jen když je zadán seznam souborů na příkazovém řádku nebo přes " "přepínač -T; implicitní ČÍSLO je 1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "v archivu se lze posunovat" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "v archivu se lze posunovat" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "při vytváření přírůstkových archivů se nekontrolují čísla zařízení" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "při vytváření přírůstkových archivů se kontrolují čísla zařízení (implicitní)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Ovládání přepisování:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "pokusí se zkontrolovat archiv po té, co bude zapsán" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "odstraní soubory po té, co budou přidány do archivu" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "při rozbalovaní nenahrazuje existující soubory" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "při rozbalovaní nenahrazuje existující soubory" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "nenahrazuje existující soubory, které jsou novější než jejich archivní kopie" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "při rozbalování existující soubory přepisuje" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "před vybalením každého souboru jej odstraní" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "před vybalením adresáře vytvoří prázdnou hierarchii" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "zachovává metadata existujících adresářů" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "při rozbalování přepisuje metadata existujících adresářů (implicitní)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "při rozbalování existující soubory přepisuje" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Výběr výstupního proudu:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "soubory vybaluje na standardní výstup" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "PŘÍKAZ" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "vybalené soubory poÅ¡le rourou jinému programu" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ignoruje návratový kód potomků" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "nenulový návratový kód potomků považuje za chybu" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Zacházení s atributy souborů:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "vynutí JMÉNO jako vlastníka vkládaných souborů" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "vynutí JMÉNO jako skupinu vkládaných souborů" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATUM_NEBO_SOUBOR" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "nastaví čas změny obsahu vkládaných souborů podle DATA_NEBO_SOUBORU" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ZMĚNY" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "vynutí (symbolický) mód ZMĚN (přístupová práva) vkládaným souborům" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODA" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1627,11 +1685,11 @@ msgstr "" "(METODA=„REPLACE“; implicitní), nebo nenastavením časů v prvním pořadí " "(METODA=„system“)" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "nevybaluje čas změny obsahu souboru" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1639,19 +1697,19 @@ msgstr "" "pokusí se vybalit soubory se stejným vlastníkem jako je uveden v archivu " "(výchozí pro superuživatele)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "rozbaluje soubory pod vaší identitou (výchozí pro běžného uživatele)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "pro jména uživatel/skupin vždy použije čísla" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "vybaluje informace o právech souborů (implicitní pro superuživatele)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1659,15 +1717,16 @@ msgstr "" "při vybalování práv z archivu použije uživatelovu umask (implicitní pro " "běžné uživatele)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "při rozbalování seřadí názvy tak, aby odpovídaly pořadí v archivu" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "stejné jako -p -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1675,139 +1734,180 @@ msgstr "" "pozdrží nastavení časů modifikace a práv rozbalovaných adresářů až do " "dokončení rozbalování" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "zruší účinek přepínače --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Zacházení s atributy souborů:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Výběr a přepínání zařízení:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "pro archiv požije soubor zařízení ARCHIV" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "soubor archivu je místní, i když obsahuje dvojtečku" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "namísto příkazu rmt použije PŘÍKAZ" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "namísto rsh použije PŘÍKAZ" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "určuje mechaniku a hustotu" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "vytvoří/vypíše/rozbalí vícesvazkový archiv" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "po zapsaní ČÍSLO × 1024 bajtů vymění pásku" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "na konci každé pásky spustí skript (implikuje -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "použije/aktualizuje číslo svazku v SOUBORU" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Bloky zařízení:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKY" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKÅ® × 512 bajtů na záznam" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ČÍSLO bajtů na záznam, násobek 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "v archivu ignoruje vynulované bloky (znamená EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "předělat bloky v průběhu čtení (pro roury na BSD 4.2)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Výběr formátu archivu:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMÁT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "vytvoří archiv daného formátu" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMÁT je jeden z následujících:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "starý formát taru V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "formát taru GNU <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "formát taru GNU 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formát POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formát POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "stejné jako pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "stejné jako --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "stejné jako --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "klíčové_slovo[[:]=hodnota][,klíčové_slovo[[:]=hodnota]]…" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "řídicí klíčová slova paxu" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1815,77 +1915,77 @@ msgstr "" "vytvoří archiv s názvem svazku TEXT; při výpisu/rozbalení použije TEXT jako " "vzor se zástupnými symboly pro název svazku" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Přepínače komprese:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "kompresní program určí podle přípony archivu" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "kompresní program neurčí podle přípony archivu" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "archiv protáhne PROGRAMEM (musí znát -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Výběr místního souboru:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "zadaný SOUBOR přidá do archivu (užitečné, začíná-li jeho název spojovníkem)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "ADRESÁŘ" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "změní adresář na ADRESÁŘ" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T čte názvy zakončené nulovým znakem, vypne -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "zruší účinek předchozího přepínače --null" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "odčiní citování (escapování) názvů souboru načtených přes -T (implicitní)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "nezruší citování (escapování) názvů souboru načtených přes -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "VZOR" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "vynechá soubory, které odpovídají VZORU" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "vynechá soubory vyjmenované v SOUBORU" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1893,95 +1993,97 @@ msgstr "" "vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky " "samotného" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "vynechá vÅ¡e pod adresáři obsahujícími CACHEADR.ZNAČKA" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "vynechá obsah adresářů obsahujících SOUBOR, vyjma SOUBORU samotného" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "vynechá vÅ¡e pod adresáři obsahujícími SOUBOR" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "vynechá adresáře obsahující SOUBOR" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "vynechá adresáře systému správy verzí" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "vynechá soubory záloh a zámků" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "zabrání automatickému sestupu do adresářů" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "při tvorbě archivu se zdrží v místním systému souborů" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "sestupuje rekurzivně do adresářů (implicitní)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "neodstraní z názvů souborů úvodní „/“" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "následuje symbolické odkazy; archivuje a vybaluje soubory, na které je " "odkazováno" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "následuje pevné odkazy; archivuje a vybaluje soubory, na které je odkazováno" # část cesty (adresář) -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "SLOŽKA_NÁZVU" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "začne v archivu na složce SLOŽKA_NÁZVU" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "ukládá jen soubory novější než DATUM_NEBO_SOUBOR" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "při změně dat porovná datum i čas" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "STRATEGIE" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "před odstraněním vytvoří záložní kopii za použití STRATEGIE" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "ŘETĚZEC" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1989,97 +2091,100 @@ msgstr "" "před odstraněním vytvoří záložní kopii, potlačí obvyklou příponu („~“, není-" "li uvedeno jinak v proměnné prostředí SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Transformace názvů souborů:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "při rozbalování odřízne ČÍSLO úvodních složek z názvů souborů" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "VÝRAZ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "názvy souborů transformuje pomocí nahrazovacího VÝRAZU sedu" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Přepínače řídicí výběr souborů podle názvu (ovlivňuje vzory jak pro " "vyloučení, tak pro zahrnutí)" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "ignoruje velikost písmen" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "vzory se testují název souboru od začátku" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "testování je citlivé na velikost (implicitní)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "použije žolíkové znaky (implicitní u vyloučení)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "testuje se přesný řetězec" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "žolíkové znaky nezahrnují „/“" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informativní výstup:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "vypisuje zpracovávané soubory" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "KLÍČOVÉ_SLOVO" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "řídí varování" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "zobrazuje zprávy o postupu každých ČÍSLO. záznam (implicitně 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "AKCE" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "v každém kontrolním bodu vykoná AKCI" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "hlásí, že nebyly zpracovány vÅ¡echny odkazy" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNÁL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2090,31 +2195,35 @@ msgstr "" "hlášení, až bude doručen SIGNÁL; Povolené signály jsou SIGHUP, SIGQUIT, " "SIGINT, SIGUSR1 a SIGUSR2; názvy bez předpony SIG jsou rovněž přípustné" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "časy změn obsahu souborů vypisuje v UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "časy souborů vypisuje v plném znění" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "informativní výstup poÅ¡le do SOUBORU" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "každou zprávu opatří číslem bloku uvnitř archivu" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "na každou akcí žádá potvrzení" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "zobrazí implicitní argumenty taru" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2122,31 +2231,31 @@ msgstr "" "při vypisování nebo rozbalování zobrazí každý adresář, který neodpovídá " "vyhledávacím podmínkám" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "zobrazuje názvy souborů a archivů po transformaci" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STYL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "nastaví styl citování názvů; platné hodnoty STYLÅ® nalezte níže" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "cituje navíc znaky z ŘETĚZCE" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "zakáže citování znaků z ŘETĚZCE" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Přepínače pro kompatibilitu" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2154,63 +2263,56 @@ msgstr "" "při vytváření archivu má stejný význam jako --old-archive, při rozbalování " "jako --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Další přepínače:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "zakáže použití některých potenciálně nebezpečných přepínačů" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Nemůže být zadán více jak jeden přepínač z „-Acdtrux“ nebo „--test-label“" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Odporující si kompresní přepínače" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Neznámý název signálu: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Soubor, ze kterého se má vzít datum a čas, nebyl nalezen" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Datum neznámého formátu %2$s nahrazuji %1$s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Přepínač %s: S datem „%s“ bude zacházeno jako s %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: seznam souborů již načten" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: načtený název souboru obsahuje nulový znak" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "archiv protáhne skrze filtr %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Pro přepínač --quoting-style jsou platné argumenty:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2218,51 +2320,48 @@ msgstr "" "\n" "Implicitní přepínače *tohoto* taru:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Neplatný vlastník" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Neplatný počet bajtů na záznam" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Neplatná délka pásky" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Chybná hodnota úrovně přírůstku" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Více než jedeno počáteční datum" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Neplatná hodnota verze řídkého formátu" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' není na této platformě podporován" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "hodnota --checkpoint není celé číslo" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Neplatná skupina" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Zadána chybná práva" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Neplatné číslo" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Neplatný vlastník" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2270,68 +2369,70 @@ msgstr "" "Přepínač --preserve je zastaralý, místo něj používejte --preserve-" "permissions --preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Chybná velikost záznamu" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Velikost záznamu musí být násobek %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Neplatný počet prvků" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Povolen je jen jeden přepínač --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Neplatný argument hustoty: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Neznámá hustota: „%c“" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Přepínače „-[0-7][lmh]“ nejsou *tímto* tarem podporovány" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[SOUBOR]…" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Přepínač „%c“ vyžaduje argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "bez seznamu souborů nemá --occurrence smysl" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence nelze v požadovaném režimu operace použít" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Více archivačních souborů vyžaduje přepínač „-M“" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental a --newer nelze kombinovat" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level bez --listed-incremental postrádá smysl" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2339,52 +2440,80 @@ msgstr[0] "%s: Název svazku je příliÅ¡ dlouhý (limit je %'lu bajt)" msgstr[1] "%s: Název svazku je příliÅ¡ dlouhý (limit je %'lu bajty)" msgstr[2] "%s: Název svazku je příliÅ¡ dlouhý (limit je %'lu bajtů)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Vícesvazkový archiv není možné ověřit" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Komprimovaný archiv nelze ověřit" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Vzor %s nelze použít" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Vícesvazkový komprimovaný archiv nelze vytvořit" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Komprimované archivy nelze zřetězit" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "Přepínač --pax-option lze použít jen na posixových archivech" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "Přepínač --pax-option lze použít jen na posixových archivech" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "Přepínač --pax-option lze použít jen na posixových archivech" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "Přepínač --pax-option lze použít jen na posixových archivech" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Vzor %s nelze použít" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Délka svazku nemůže být kratší než délka záznamu" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order není slučitelný s --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Vytvoření prázdného archivu odmítnuto." -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Přepínače „-Aru“ jsou neslučitelné s přepínačem „-f -“" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Musíte zadat jeden z přepínačů „-Acdtrux“ nebo „--test-label“" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Končí se chybovým kódem, protože byly zaznamenány chyby" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2397,51 +2526,47 @@ msgstr[2] "%s: Soubor zkrácen o %s bajtů" msgid "Keyword %s is unknown or not yet implemented" msgstr "Klíčové slovo %s není známo nebo jeÅ¡tě nebylo implementováno" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Časový údaj je mimo povolený rozsah" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Vzor %s nelze použít" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Klíčové slovo %s nelze přebít" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Chybná rozšířená hlavička: chybí délka" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Délka rozšířené hlavičky je mimo povolený rozsah" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Délka rozšířené hlavičky %*s je mimo rozsah" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Chybná rozšířená hlavička: po délce chybí bílé místo" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Chybná rozšířená hlavička: chybí znak rovná se" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Chybná rozšířená hlavička: chybí odřádkování" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignoruje se neznámé klíčové slovo „%s“ rozšířené hlavičky" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2450,63 +2575,63 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "%s=%s v rozšířené hlavičce je mimo rozsah %s–%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Chybná rozšířená hlavička: %s=%s není platné" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Chybná rozšířená hlavička: nadbytečná %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Chybná rozšířená hlavička: neplatný %s: neočekávaný oddělovač %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Chybná rozšířená hlavička: neplatný %s: lichý počet hodnot" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: neplatný časový limit" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: neznámá akce kontrolního bodu" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "zápis" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "čtení" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Kontrolní bod zápisu %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Kontrolní bod čtení %u" @@ -2650,7 +2775,7 @@ msgstr "Číslo je mimo povolený rozsah: %s" msgid "Negative size: %s" msgstr "Záporná velikost: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) selhalo" @@ -2679,8 +2804,8 @@ msgstr "Neznámý formát data" msgid "[ARGS...]" msgstr "[ARGUMENT…]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "„%s“ nelze otevřít" @@ -2694,67 +2819,98 @@ msgstr "v souboru se nelze pohybovat" msgid "file name contains null character" msgstr "název souboru obsahuje nulový znak" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "na standardní výstup nelze generovat řídké soubory, použijte přepínač --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "nesprávná maska (poblíž „%s“)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Neznámá položka „%s“" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "Souboru „%s“ nelze nastavit čas" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "„%s“ nelze odstranit (unlink)" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "příkaz %s selhal" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "„%s“ nelze odstranit (unlink)" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Příkaz skončil úspěšně\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Příkaz selhal s kódem %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Příkaz skončil signálem %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Příkaz pozastaven signálem %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Příkaz skončil výpisem obrazu paměti\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Příkaz ukončen\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat potřebuje název souboru" +#~ msgid "Cannot get working directory" +#~ msgstr "Nelze zjistit pracovní adresář" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "při rozbalování seřadí názvy tak, aby odpovídaly pořadí v archivu" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Při čtení souboru snímku: položka je příliÅ¡ dlouhá" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Chyba čtení uvnitř souboru snímku" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Neočekávaná hodnota položky v souboru snímku" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Délka rozšířené hlavičky je mimo povolený rozsah" + +#~ msgid "Invalid group" +#~ msgstr "Neplatná skupina" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Adresář smazán dříve než mohl být přečten" diff --git a/po/da.gmo b/po/da.gmo index 2c05765bf0f9cc41a159e7b24544d16aa98e3de9..4ff91020e94b4745f7081240b1ad7c78cc2d97df 100644 GIT binary patch delta 11546 zcmYk=2Y6J)8piRnsX!jWG_pqB2o{IXKfpfowR}P#uU&bsYY4Qu$K@b1@rdp)&Ogszd(u9A_L>M|EH^ zrsD^w2i>#nHS0SLMW-Ex;$+n4=OT}EJew%!LFcd<`ZaKzMi_%+&FP1_;T-IMMX2jE z+{#cLHC5@T0py?tG}*cyW2v7;X3e>eZcN}IwRyhN$rPM%Se6qjP#@TaQFsP5cekw- z8=D2$82xEaLuDWx8G|zjwFnoW7U?o9jXSKLpq_IIoAP|;3I#2mm?kDw?U8AAp0{qs zX4KE3<}{LtR|*?o9qf)3(1UvLLJY>`sMNoWt?>*hlWtZZNpw138qas8Qc%kFASrRK zU?mLWsp?ofmd7rrObkWs#2MHIeW(ZBMRh2txyeW$)Pp9YI<^g?a2Hm_uh7Fnb$+Ly z5yY^9)bnQ6R@RQle@=J)=z1^K!h@&|{*3BCXok6QD^!OEqSnfIREHPa`XSVsyPQG( zHFqJIW?Lm;73wXqDh@>T*n{P88M<*R>H%M1I9|nQypLtDY8LMjOhRQgA9bIlsQc_j zU4Jyo<2V5nuG3Hwe@87Ur-hm80CZE0Ms1%=jKHp_8w^F(r85Jo;YU~kzef$=7wnE9 zEltM;B0Jc57S*xU9txVX}cmVWTQAqkC|;g5*zS*X8{Gh8b8B0yo+@(rlaGG#?F|9 z2T&ag>}1{#k*G}6$CB6@m60bf0P|4;8iVmzfLa^tP*b!EJz6x!DCkC4P^r3u`e3EU zjc(LPV^OQUBdR0QQ16Y!SQ@vYrr={#>QAB@|A)%t->8mN?ravHyEFOMjgo258?QAc z;Q-9USFscxLuKSFvhJK>UCe_zqdu37$v7En;$}?1lc*_hx|)vGMs+X~wVS$iCI4Dv z&(NTrO+k(PC0n0u>xCFd`vTOfb15owJ5dihflBFpbYu7vW=a~MGTH)_sch6hCZVQe zt%pJ_3Ma4(-p1#!ST~chNvMu3#@@IbHNsn{Oht7!@A{6YOyr|FHVZ>>6_!IE_Qk^( zg4KI4jp#|Dpbr+Hdin;2V-aekM^HDogk|wAY9yt4n(Jz!ZkUG2*anrs@yLJ96#lSL zoKvNR0ihQ^Se>o>;!US zr&J$v-z-$BpF^#MWmp3bVYK%DRSJ4waq^=nsENg~fi(j)_wB8n(M7!nw#HtlZMzKh zfWxS5cmp+6C7(1MPsM@MyQ0?2Hmtz&o%0klqFbmBg!D5bOF?B|p!HSM+V}uVVA50O z#!ava_1@S3$D&^08?iKAN3Df_P*YX9znQ{F^k_~~DOAJOs0R+U7rcR4)HkEH;SE&J z|3P)Q&Hyu)>DF#oo%W~k8JvT)@h^S+<@x9RaBah5fNuO0Ti{hxW)p^(>-(avo9v+wL*Y%- z$UnlS_$xNSgrVkxL$C(*`PQANZS^fG#kHO`DejD#nrBe$Q>^Py9X^hF-mj>&;E5P! zdQuHFCmE=@8jgAoOtz5Tp&YD)*X&jm_~aDg%{AnOAQMOrqWc*~-o|tb-R& zDK9nJWS}87qTUBJ*RP`%>2^%TudybEj3NKJAccbFv?nIxIIM{4P;>S%s>kQ?alC=u zFnz4)_&n4N7ojq@7uPdIM^N`4GoIgOivsv+w(% z7SCeT3+EG5>H;U5DTu{L>SUFPH~(!7%DmQ8$=}N_7!xZCtkP6<;)qv?lV`3` zK>c7zm|-5+64lY6r~xg)Vz?6ndA_rcf>!Hc?16VtZ>}yg%?o7;rc>XAO5ttPo2|^%#X$Um^cmt-*862&$oO&<<<11JJw_r^?j9M$#P*dqwXnrY0pr$Cbko;?I+tZ*-%s|~} z3u+g9fpzdlRA$P&W?oF;s1esdt(|zRimk8=4n}2awDncg0M=tNp2Hw4<9Xez?(*1^ zhNf5==b=*g7N+1SR3?Jwnf46yr#>2Wqw%OrPC;d05q8D*P*dpVHRoecBTq+dLr)J1 zS{%bsJ=})s`DN4%{pOqR`6{S-BDTf0*a{0#tNu&WgTmf09jJ$zOWRG&mP9p89R9f-wus`7BgwhoMqF5zFH|jKK9+4nM-mcoOyC8yJHD3rz>& zQ0>hyO8dVn1+C(I)ErL0hPV**z@u0a&tVAuj7s?}R7dWkK38Fp*=`N77WE;h#W@!> zz#Z1}sQU*mW*T_DlTJYwK96a*4wcdis1HWJY5q0b789t?L|tEGJ&%*97hhtw*ECc{ z4q|ycgX-W-RE9#AnkkAwk5+Xv3K~%sYTL9!-5?Ju;WX5?TaKE;y{K2|2~_6(MBV2; zy3v1`d7;H%1?s)9GUlT)I0tp#h0Dl)Fomr&xN#S%r)N+%yo06iKI*|Gmz%{Ijmk_K zW@0v0#MP+X@&R_j>!=YoTVdwB3)Z8ai+aB-Ug0tOd%tbChLM~oztTJ~1yyf_8p#0E zwi}PiSOFHt7j69&RL8wo1s7oy7NOoFCov4~V>E_(-ZD2%M$KtE)SQh%EuvYr{XNu( z&!BGXw~7UZ(Wul;$3R?#-SHi)ivOTSTxGS{1zk|7AB#HgDWsqWzH3h$!ok$fqek3v zjrq;@Bx)oZuo`}fO6^am4%|nLEOM=RUnHQ`P;*p!H`Em7q89N44AlN#OJNud8?ik` zylviu15h2?j+)cYu_6A8C9vT-^Pb4UM$|{5rfMx#$B$7R_yP6#JGLJGj``W1g(=$q zlPDx|!6wucoWYtHu-=Tc4r=5bQK@?d^pp$qq5OZ*VENL?Gu zR7PSn&v#nbhHOltJ{vU!yRa@sZ8THS2_K{oV`!g%n%iZl5uZRk=ntHOjW?Oac@VYO zj-saOI;LWY&E&r|h2|7O@g>v)=3^;bhe~M?Dg(!{FM-lOoMv(HEMO=#*rBDo=Me9s2glVb!b1<#oMxZjY-9tfhatt*UKVvGUY&V(6L5=tYRL7R0 z9=H$H;p?dDqjs3J(gkCwPerBp9n^h~VmyZLH22NK2M+WgKZFOz?Xlo^F9_RHx ztCs3wj@<+=Psfi?1|B?Lsqd%?M+g_Q?wr@~9`PdO41Dy+r80-MF~sMTClWR61z%z| z?VV7&<~DKSkUaeg*z%jE z>A_#Ny|bV8?e<(a^(FRvZQ52-u7cI<`7zWxDF1F6KC>5!4a5Q3z9m{y4#X0~H-rwo zMtc&E+j@{SUne=9we>o9)-*XUQXWb9CE{nwSy&T$Y5m=&@bGww@}II*2&v29P`yR>~maCn@a z6jl;n5x+lZYJE6V4ImBc5+!(%*!|8jjQ?!*u6XCI!Q zK;bfN6*d3AP)Vb52HOz_2pv<1uZcopvc16*YNz}J5oz0ec*vGH?R-qRG*OE9$+oY- zmxxiEKZWzKAD+|v>)20JBi<$wh~b=Ugpq_^wK^`+7Dlut9v+<^DVL-16!8Y}uWkPy z@)m#a%Q?%oJ%bUp{P6is6B_iTqGKK9)%Jo0));fj3AXi1RyDsvxwoy4z?rm_wRL^5 zjV4+UI!4moi>OR_mW%wac+kw32aTT-*Quuw$0#o%?h?ZY9rp-*#r}tSEDp8pt#Bq0 zL0c>i!m>n5q6+aCag?aQx%$L1$~xjS|HVz&*~*DYwk+lo@w7dOEl|f=gYz`LOI)+< z`uH_r7?(3Va#vge|$H}MAXA=mif9>SAIr7eXN)NzaQ4XjCgO#Db)$CLPnuCw*V zv>hj&(MgUkX%8ii61(j+(`f&h_>R!gnHb2q*NK-Ov?%`^@6m7{*JC=CLmkzL<&?YI zy4p@tUWglU6S0e^PHZD|Bx4>imY7bQBQl9F&aHWH1wX;5AEO*-pYQnW3Gv<|2 z5Wn()iNqGlSBVD11?mGZlhDzS`W>Pe<>tgL;(OxZkgpPeg6y@(U|IbrdOcW4p zsOJzmh8vts__A$#3^&;F+c=ll$@!tg8QUI**KK*W^;6E*pqzs`{vwon&mbC?5GAS9 zA-YkXN<2KqQdmZP9iAk9CHfI9Y1@uP_Sz2E)t3LET}LJ20?~=~(pZnUN$5C1EYN00YuOSR|A<3>(?L1;acJcEg zba^Ls?C1TV;}Y+xPFcR2ost8+9lP!F#&@6Xd%8!F%h#mWJbzzozc`n7##26TcK<~0 z+WzHyt^w`<-}=FK{d`AVU5bo$<@g6293+hP4carf6(9e;-b2N-iyon`f`?6 zarus|EOL1_t?J?pS-stRadnoj-kLdq-b?Ebd%xT;(^r4fr!HT)cQ^R^Ci&X9y!YNe z;5}EASbRwCh%xTinxkWVI4qqhb`V~9kZ}<$hFR-jk{16-Bk7(oX*bTc4 zu&ib{+H)GNC4I^OD`B-G@&Oq zfj#gXEXJErBiEE#)xhppjbl*_x(|=X1E`9#hnxHfNL#EjR0k7R5m5oRp(=b9Rnc#l zgE_~To{UGbti`CQ+Jq|jNjw3+LOnlngk^QYg{Uc9iS6+kR7ZDV7yQVi6IL4Im`6qd zYJJT^8_&VsxZU#~*oO3vsOK}7NEK9wn%kM4RhUNl60DCKP$RMlHInzE7U`GRk@aVN zPoxDIEk_xS@fvH&O3@h1xwWnGbbzGG<^PK}0=>;T%k&TJ|aG95{?>Sii|;?&hPm z-`S}AyHO2$4;$jgs0u$r&2`f$W(0;IMOj7I6E8zGJaIpf4n$tX*7ya|SnCM-(uhwr z4Y}zAGcs?XdUhDq&=x0}spyKMNgs>MqO}Ug;9gXZk6=^GnP#5PN49&yI)R9WdL?R+ zU5MI#+fWtlMxE);qk47#HJ87jjjf7IfrBuQ^mOcj)u?TKC90>lpw_|@*c=aFTkZdU zdN+P^GbntznZw?wMK%J}zKEkmu5)3Fg=g=*Lh*dHH9HT-K-MGa?|o@b(_$VPP_ z54%#oHHt_-T!0#?wVt=2=IU9`uW z)JSYXt+Crs5O%=xQ5D^QS@jZQIBkjNyW1`I*R8MmknvpvZb#$MG9dQeGz}?7NNLVitQBOZW-nG8R zVK{S<**0r&8tEjefcH_0=V#PZWiK{EIRG^RC!@-XqI$j-HL_cfGtIga)#0BoQ~SU5 z5>rtx)La#!hPniqR%;n@2wIPN>849f#l<+7{1vEexdXMx4xk$H5o+5V!FHJMGb1+v z)xZ)gNDx^;L=W7E+Q$!}3jPUIaDK6wl0~RRvktZT@4{~Q8mhwYQB&2r#2n!{IF@u7 zHo;pwQ>Zob5GE9PoJbn(!-@DT>Y!-tHx(X>ok^FV=JpKiiZ|j?d=jgfx7bl5Gp(HQ*M444hI(){s^$Aoi|ZZFZ?QY+Mgi6X_Ql?~ z5wmeG(kbgr)b1J0Lwdgg`{Eg>wY38^rElXXY?i1nXZBQ71J1)-yw}S=fHvvupqZLu zQO});YQXI{2wz7P+@#WcoJJr=ighwh#yhYd{)j!WN60iFF`38^GR{E_)%~bNbpX}! zU%Yg$u(>}8wLQzR3to#hK7`}&UChUvD)amd)N{+RCti#L@g8KcC#-`+M(70=f?iyJ zYT-K1oj8^BOQ;@qikKmvfSRf$sQjqs)u;|UiK_4*HpPsnX-GTNNDRSj?f<1jG*_$K z4F2MP>iG^-LHn^4{(!BqQOrz1M^wd=Ji|DF^c6S+-$5pV?L2QFbEWjI)W8ZoWHARC@H&d_}H4>2Rw{ju{HPA;(<6F$KY(d7_;#s z)X4mf>PX)+Oa%k6Dd~B53sYB&s<7Evd_i##s-9+vv(4F@i`~c=fa=K%%)kh?z|(OP zUWl5z9_N@vHXH|$4x%c!1~t@=qo(K`)YN>7Juvrg<~*2+TD*x%iRgtrs0O@>qwqV_ zq8fCrIiMD!hH?vPN*+dyz{{wfe1RINhHK5pwZmM}Ls1P`fSQ^rwDD$~to^@_2#1%| z`aDz68dQTWM=g@Ouo-@UKK#{> zZ~$({`6;*4!(047oi%q4g2E<>YQQ=ffh@2yQ?%@NVpbuc8)l;&&qLiR4^q_Uj1LP%XhW z7(*?-wb%}~q2~Aj)QJ3qDk$eFvpXiB7V$jP2%U*7@LW{SH)03ef}F4kYZnnMrq?hV z4|-Zxn;vvRjmS)Fh-ac!`FS`GccLmt-(p6xEe;|*88s3$UjAL42eCf+9j{S&%zqam z9m(j4D)@NRh?L+-xC%9N&!e9E3N;c8{%gPBDqAqMGb9-Tg_rAz;2|cpoX#>HASni zFRkR;f@i$&N{SMRPZdjlE;iw@#7MtKWFFg&_f!Wwu`+q(WtUouDB?uiAYr=g~76%N4n5=7b)Y59;D(md4MkHo>a1T_LlR7Jb+ z0{j_O(Ybrg>b@OS;eFT%-$0!M-{C~ed)Q2AC2H!{U~^1dN+g@ewb%vspoa7f)LgZG z#N>}hjgSv@PV7L<{ccpxKSs^*Z>S0~A2mathcVJc*bN`U&iEl#YX2W0qMlSfW(wGd zYS3+{{r?ndF2BYTG5c|ImY3pa(%Vtn_8=aIt)4I=HXU`aEk`wU4{E!9f-0}YlbVtQ zy(Q9O0gFHGi6^p?<3m5fvOp4b4{62t15x*juOykDwM&|9$591*k=|9`kT7s=`A!5t}_@ zcGWCYxoc3n<|;fM@500wB3~2fj)R^xLp}#p;OVIR?Wl^MMm6k5)Eu{Y&h#V~)xfc+ zZ52Y@KM!?YT!m`rPV9^Ccs72X@jsD_!Oxo(Cr}SQiCX>NW-`~)w-Be?QKbJnkX$&`0G_9y=?JQm-5iSbv@vR^hmor>yt5GUYes5yHR zHFV#iwrk^8%=WQSQ&fOj{j*W`m*Ge}3&-L^*cOlA9BlilX-Ij3h#IgFwf&yJ;rJn{ zpzPO71%=p$^vT!^&%~y<9<}PP#KHImW@5Ab<{-<#lSwbe-na{g;(OQ)6IrjDAsvbu z$`JO#i%>nd2M6F+n1kKkFpfp#m!Q@}5;e59V=Fv>C*$Wh9Vfi$J%_{e95&ScKS)F^ z`y4Yc>n(G%W~FiD5_ElUuwL-e!?2|n-^{)9y!+w@FRn^-+4b16-m{Z1gYdh#Wj&(( zzr(wEw&!#BBH<|>nvAy*w5Xz}p_@x+L!pgH?4|%hZM{Vv>(uH-f?2d?5ta}Q9z^%;>j2|p7bgc^<03ANV@@_r$4IgTLQNW8H2CiW(8B;h#1l+BV!sIU_1PN8U-J{=s*AQA09wp;M!hGTfFc)jD^NDog z<<;b^A-qkPLb!~e?G_-^5FQ|1kLOOny9g@?Ny2M{e{ugtJR5ZlCGP(FPjgw zdyOWshrA;=gm5YGt564z2Jj`)qp+cl8n363(b~&+ z-}5WWqCiG*pyoAHc;FA{3667G#5@gQM1aa}77)@5q` zw_fHv&$)Ps7uRzkf=IT=>g!zOYxpxfi#co(m7()C^!e+wtq&s74%Grjy z2m=Tw5iTHHPtdg-6My#-%6LY9aQ#GHex3YG3K~edk=M|MIFIK}@t$dq8%SS=Z{RrW zNEk>w8y~_82^SD16CNVZyAsyvBq~W=NoYpA7ak-u^&Tq1$4P&J{c#N;Nw|-6dm1te zw-9vwXgK=k&E(%jYCFD%y9g@?D@l*Tk2U`PB(aq61>p)Zb;XJ6dXuo1a4zWygzdyT zQfZFvJhC;k=hb)aF7dG9av?!D}#GjTTIQu5Ct(0@KW-px+Le^mz859Iys zBl6Sevif1CJqgp<8I@e`qfd-r1JdZvEmyZ;U> z^`qi$9_UMGKu;RsZ-lD}?-JG#!aP$C|E?Ff&LVz0w!z;phxc;uL(;WZck*hl{Y3sv zNU8oTFE^csyA#HH>9L+0@dNT(US98Bm&egsb4ZbBZJZyn8L8c0{wdGK1|n+TtK&s>C$c=yl4nFRgM$8y4Y!o%EujL?^G z2Votd?sW}`c0A|Ke<_KpNa)hPR_Tfp0>qc$MlbIe&k8+I=W0y6(7SgNaX;Z(!fe74 z@;m7sVJbXN*g?>Bi|W7C#H|fH@PQXU1-~Z!FM_TZ-iIx`^k;4^KQ^$Ma1r?@5_%B7 z9~a=A-n08X$#Q=||C@AuCAhlObNf$5oyF0U8~ePMy5c6%x7H~{FSh0R^T}&MSV;PH zWpXtozX{=W@~O5>22b;wZ%^f z3kbTVVWx??e`#sSvolD4O6cO{cl8u4xIdy!`gY!*^n#a>jvte8kg$+YKxoGcnp>Nd z`6@@*r-a_b`*`p0h;@W()?2B$>7|sva9_Pv!9X--`+^b2=dZE(GkNOJE~(K& ztJ9Ll4)2!QHSE=T1tq>vC>*nk9XlSSlt9Ril{-AUJnlqQY`Dsa_+o)@$gT|goz&_P zv3jYFqo&u-Dsy7?ig2VN5GteH5vL>;j?|=6! z7RJK1&yMms1;u;}ML0qWq7}9;Qc@nMcKX}Ckl&_bR1>9D4)6E_)d7Fp8_}p;8VOgr z9ra!*$jF$u(pOm(bP~~#88*d6?EI3_+7b(tE~N{_X!o$k)Bc$A$Ga*~y`XR&R10{x zpth`7^&bnfy{m^k&CHRR>!`hi8K`ZPYOQu6#o?$EtT|fL%D*m&W=%AUff=tY&FyEM z;tDcS#S^!u^)F+6Y5e2fvSJxIAwSby&crat6;2Iv>t~Tg^O6lFFK$p43CF9Fr%v9M z+&{T(@{7r{8n7CjNNU)W5e@nl#e=Z`V^`a7ZydCUSQz%w{GvS8krq)hRJ5lB%fY1F zHJm(Scvf0Lve)zr6Ye9nmirtHu)DG}&T54=MQ+rZ;XV_kOgE2FHnHMxtlVDV3&rec zjIsC8_CTmA9;@@h*hrjG+|^JLuB@W`Vw$`nz>7=sOYQu;!a5Hx7??kN(Sl%Q`Jz1b zBBjQws=^U%h~gT%Z>&5J?W;wSx^w#Ow02G;!V+ZS{ke}~8KuNQw7R{VCaml!`<4>GBbII(vlO|1_Uyw0}eaUKw zYA=?AL$OFW$Ofs=)~!>DR~x0wn>cIs)WnSGOUBQbK4;d9Y5nbLUyxm`F&LS_!VHB& z?3Hk7skatG4#iVsMQxj-TD|@4P`t9(iO_Xj?(L&FrZznn3IzMx&Po=urj4|DX#w+4 zTAR?8&{#yxgZ#!73J7#7oAbzA`6|-AJFzAwaa!J0BDn(d3TGpJp$)Z|;cZekT+S z#A-%TVo6@|r@5WSERToX4n|`&G+Ya_fW=zd0`G3Vd-pig9!@JAl|EaCaY3rtyguoP zQ^Ij~>fDu8<&*?UYfKws<(yhf3oCMLi9Z&JuQVOX&yR7Gz_p@>QnZEAG&^r>`_d zEjrnG!tU*NN`0Ik?mRgwOM-DN@YJDYmp060!|64aEQ9FPrYMtGQhu~i@#S69CkBH4 z5;lF*_J`g5Y965iYsJx9NAvzirG1i@#^T;ZVnfrIl0721OajT}0--@w9w z12bmM$e-m@2h_a$2^>o!?ZSbBc#i*u+XF|WPO1KP!i7@1FZLH?PJ0RlbUf|MgyKM50OkHd;o^NHC}^>Da+T(bR~ucBZw` zdC0hyk{_$_2g*`!p8ZU{K^3g007crxk$4#c8L(N?_Tf;pLN6cvxU*}6?!j4*+Ia5z zda0sykJryERht>+VrQ8@TH%ZNg5k1M!;3~VXgKXqsLbyqTW>h8hvQ9M&=)F;*?ymW zc$rfi3{*tvs2az*O zsFQZ_!H_@S#}AEa4y!U-Jt|}D_}%iK54)c9N-K@{XfsbcF@4o5qK?j(NaBy5b?*Q7 zM}2mMuh_h4?of^vZiH&|MW^aNf6!}-agRp+=wZ+Mf&=zHtqIhYSj4wH?k_zYVG+-y z!_|&IS-x>ri@9YrK^BEw7U4tYB=6t2J2_=j+vJi>v(lYqe8+FzbXkMEd7SZDKbmwJ z<@VmLh#b;Su{=KF`K3XQ)L8P^tDo*QS(B!@C(B**cCk}_SRWAT^+n3!OlhnjS#Qg_ z#3VhUH9yYbc=KycV*!7Z1;Zo-qmF5{wn}c)(!&lzo_F*EZ(`Lfr(&m!MN`gC!@6I2 zzn`U9=RNm3PaT0!h5MPG?|$bi=^Gv3GhgS?x?lM?i#-yJ9geYL&6e?%+I`tAA*ZkH zey7wU$NkyF9ew=I-?A^QtyAhO3o_<))_rQmwYS%AK3gArmY;jHC4En2C1_NhzWr*8 z4g>~TvqW~(J%0U1e+6WirT>X{2=pnc1Dm*{m`x)RCli~gn zm@z$3=a;~th(AERPUJ6t2?TxBEIxmP1rycj5h-^#0m4=`*QoquPJw){^D1J+o3M}O7++Ni15{B7H?7Usu< z6C3Gnmt?=~9VeCq%z}zWV_yW_ZBSslEnpuriGTh%;eI7qE2RhZS#duF1*uWn=cgwo z#N9>Up7myDvCL>AC#Ab1OIiI#e^QuEE&b!K3U_md9E*}T?Sp)wwLkyY%Xxo%xsmsF zDtSv`{a#L44b{5K++n|0@|$A9w24Ktr;nXCossd5=hWl3HE)<)dv~|wCwp4-D&-jR zzEy0EAfG3Fee(E;ptFy&DCDaSIjI-!KCSU6_e;(;b=;p4-3RE*t9`=mUHdlxGZCDC zT09lOILnORDyh*AbZay`%5RH*a&W3l_bcso+57&okPfma?J8e1$|g}iYMZ?1vD4BA kE(^0IVon), 2001. # Keld Jørn Simonsen , 2000-2001,2009,2010. # Keld Simonsen , 2010-2011. -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.25\n" +"Project-Id-Version: GNU tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2011-01-07 09:18+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-04-12 10:18+0100\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" "Language: da\n" @@ -32,36 +32,35 @@ msgid "ambiguous argument %s for %s" msgstr "flertydigt argument '%s' for %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Gyldige argumenter er:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s værdi er mindre eller lig med %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parameter for ARGP_HELP_FMT kræver en værdi" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parameter fra ARGP_HELP_FMT skal være positiv." -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Ukendt ARGP_HELP_FMT-parameter" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Skidt i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -69,29 +68,29 @@ msgstr "" "Obligatoriske eller valgfri argumenter til lange flag er også obligatoriske " "eller valgfri for alle tilsvarende korte flag." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Brug:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " eller: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [FLAG...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Prøv '%s --help' eller '%s --usage' for mere information.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Rapportér fejl til %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Ukendt systemfejl" @@ -103,7 +102,7 @@ msgstr "vis denne hj msgid "give a short usage message" msgstr "vis en kort hjælpemeddelelse" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAVN" @@ -124,17 +123,16 @@ msgstr "vent i SEK sekunder (standardv msgid "print program version" msgstr "vis programversion" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMFEJL) Ingen version kendt!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: For mange argumenter\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMFEJL) Flag burde være genkendt!?" @@ -142,62 +140,62 @@ msgstr "(PROGRAMFEJL) Flag burde v msgid "write error" msgstr "skrivefejl" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: flag '%s' er flertydigt\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flag '--%s' tillader ikke et argument\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flag '%c%s' tillader ikke et argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flag '--%s' kræver et argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ukendt flag '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ukendt flag '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ugyldigt flag -- '%c'\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flag kræver et argument -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flag '-W %s' er flertydigt\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flag '-W %s' tillader ikke et argument\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flag '-W %s' kræver et argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "hovedlager opbrugt" @@ -213,28 +211,30 @@ msgstr "Kan ikke g #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "'" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -244,7 +244,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[jJyY]" @@ -254,7 +254,7 @@ msgstr "^[jJyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -538,7 +538,12 @@ msgstr "standard-ud" msgid "Cannot connect to %s: resolve failed" msgstr "Kan ikke opkoble til %s: navneopslag mislykkedes" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Kan ikke eksekvere fjern skál" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Kan ikke eksekvere fjern skál" @@ -587,8 +592,8 @@ msgstr "Uventede argumenter" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Styr en båndstation via accept af kommandoer fra en fjernproces" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NUMMER" @@ -596,8 +601,8 @@ msgstr "NUMMER" msgid "set debug level" msgstr "sæt fejlsøgningsniveau" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -612,7 +617,7 @@ msgstr "s msgid "cannot open %s" msgstr "kan ikke åbne %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "for mange argumenter" @@ -621,9 +626,9 @@ msgstr "for mange argumenter" msgid "Garbage command" msgstr "Ugyldig kommando" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Dette ligner ikke et tar-arkiv" @@ -661,63 +666,63 @@ msgstr "Kan ikke verificere standard-ind/standard-ud arkiver" msgid "Archive is compressed. Use %s option" msgstr "Arkivet er komprimeret. Brug flaget %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Kan ikke opdatere komprimerede arkiver" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Ved begyndelsen af båndet, afslutter nu" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "For mange fejl, afslutter" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Poststørrelse = %lu blok" msgstr[1] "Poststørrelse = %lu blokke" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Ikke-justeret blok (%lu byte) i arkiv" msgstr[1] "Ikke-justerede blokke (%lu byte) i arkiv" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kunne ikke gå tilbage i arkivfilen. Den kan være ulæselig uden -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek stoppede ikke på en postgrænse" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: indeholder ugyldigt delarkivs-nummer" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Overløb på delarkiv-nummer" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Klargør delarkiv nummer %d for %s og tryk retur: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Filafslutning hvor svar fra bruger var forventet" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ADVARSEL: Arkivet er ufuldstændigt" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -729,66 +734,66 @@ msgstr "" " q Afbryd tar\n" " y eller ny linje Fortsæt handling\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Start en ny skál\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Udskriv denne liste\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Intet nyt delarkiv; afslutter.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Filnavn ikke angivet, prøv igen.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ugyldigt inddata. Skriv ? for at få hjælp.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "'%s'-kommando mislykkedes" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s fortsættes muligvis i dette delarkiv: hoved indeholder afkortet navn" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s fortsætter ikke i dette delarkiv" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s har forkert størrelse (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dette delarkiv er ude af rækkefølge (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkivet er ikke navngivet til at passe med %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Delarkivet '%s' stemmer ikke overens med %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -796,510 +801,550 @@ msgstr "" "%s: filnavnet er for langt til at gemmes i hovedet på et GNU-flerdelarkiv, " "afkortes" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "skrivning stoppede ikke på en blokgrænse" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kunne kun læse %lu af %lu byte" msgstr[1] "Kunne kun læse %lu af %lu byte" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Indhold er forskelligt" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Uventet filslutning i arkivet" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Filtype er forskellig" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Modus er forskellig" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Bruger-ID er forskellig" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gruppe-ID er forskellig" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Modificeringstid er forskellig" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Størrelse er forskellig" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Ikke lænket til %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symbolsk lænke er forskellig" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Enhedsnummer er forskellig" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verificér " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Ukendt filtype '%c', diff'et som en almindelig fil" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arkivet indeholder filnavne med indledende prefixer borttaget." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Arkiv indeholder forældede base-64 hoveder" +msgstr "Arkiv indeholder transformerede filnavne." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Verificering kan mislykkes med at finde originalfiler." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFICERINGSFEJL: %d ukendt hoved fundet" msgstr[1] "VERIFICERINGSFEJL: %d ukendte hoveder fundet" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "En enkeltstående nulblok ved %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: indeholder et cachekatalog-mærke %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "værdi %s ud af %s interval %s..%s; erstatter %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "værdi %s ud af %s interval %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Genererer negative oktale hoveder" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: filnavnet er for langt (max %d); ikke arkiveret" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: filnavnet er for langt (kan ikke opdeles); ikke arkiveret" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: lænkenavn er for langt; ikke arkiveret" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Filen formindsket med %s byte, fylder ud med nul" msgstr[1] "%s: Filen formindsket med %s byte, fylder ud med nuller" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fil er på et andet filesystem; ikke arkiveret" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "indholdet ikke arkiveret" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Ukendt filtype; filen blev ignoreret" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Mangler lænke til %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fil er uændret; ikke arkiveret" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fil er det samme som arkivet; ikke arkiveret" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "katalog ikke arkiveret" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Fil ændredes mens vi læste den" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: sokkel ignoreret" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: dør ignoreret" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Hopper til næste hoved" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Sletter ikke-hoved fra arkivet" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: usandsynligt gammelt tidsstempel %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tidsstempel %s er %s sekunder ud i fremtiden" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Uventet uoverensstemmelse ved oprettelse af katalog" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Katalog omdøbt før dets status kunne blive udpakket" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Udpakker sammenhængende filer som almindelige filer" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Forsøger at udpakke symbolske lænker som hårde lænker" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Kan ikke udpakke -- filen er fortsat fra et andet delarkiv" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Uventet langt filnavnshoved" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Ukendt filtype '%c', udpakket som en almindelig fil" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Nuværende %s er nyere eller lige så gammel" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kunne ikke sikkerhedskopiere denne fil" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan ikke omdøbe %s til %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Kataloget er blevet omdøbt fra %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Kataloget er blevet omdøbt" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Kataloget er nyt" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: fil er på et andet filesystem; ikke arkiveret" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Kataloget er blevet omdøbt" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Ugyldigt tidsstempel" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Ugyldig modifikationstid (sekunder)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Ugyldig modifikationstid (nanosekunder)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Ugyldigt enhedsnummer" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Ugyldigt inode-nummer" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Felt for langt da øjebliksfil læstes" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Læsefejl i øjebliksfil" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Uventet filslutning i øjebliksfil" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Uventet feltværdi i øjebliksfil" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Postafslutning mangler" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Fejlagtigt inkrementelt filformat" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Formatversion for inkrementel sikkerhedskopiering understøttes ikke: " "%" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Fejlagtigt dumpkatalog: \"X\" duplikeret" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Fejlagtigt dumpkatalog: tomt navn i \"R\"" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Fejlagtigt dumpkatalog: \"T\" foregås ikke af \"R\"" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Fejlagtigt dumpkatalog: tomt navn i \"T\"" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt slut på data" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Fejlagtigt dumpkatalog: \"X\" bruges aldrig" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "kan ikke oprette midlertidigt katalog ved brug af skabelonen %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Renser ikke katalog: kunne ikke tage status" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: fil er på et andet filesystem: sletter ikke" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Sletter %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "Kan ikke slette %s" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Udelader" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok med NULler **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Slut på fil **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Blank-tegn i hovedet hvor numerisk %s værdi var forventet" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Oktal værdi %.*s i arkiv er udenfor %s interval; antager to-komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Oktal værdi %.*s i arkiv er udenfor %s interval" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arkiv indeholder forældede base-64 hoveder" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base-64 streng med fortegn %s i arkiv er udenfor %s interval" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Base-256 værdi i arkiv er udenfor %s interval" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkiv indeholder %.*s hvor numerisk %s-værdi var forventet" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arkiv værdi %s er udenfor %s interval %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " lænke til %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " ukendt filtype %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Lang lænke--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Langt navn--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Delarkivhoved--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Fortsat ved byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Opretter katalog:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Kan ikke finde arbejdskatalog" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Omdøber %s til %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Kan ikke omdøbe til %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Omdøber %s tilbage til %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fil fjernet før vi læste den" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "underproces" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "mellemproces-kanal" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "'%s'-kommando mislykkedes" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: filliste allerede læst" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "kan ikke sætte tid på \"%s\"" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: filnavnet som læstes indeholder nultegn" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Mønstermatchningstegn bruges i filnavne" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1307,56 +1352,57 @@ msgstr "" "Brug --wildcards for at aktivere mønstermatchning, eller --no-wildcards for " "at undertrykke denne advarsel" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ikke fundet i arkivet" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Krævet forekomst blev ikke fundet i arkivet" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Arkivetiket stemmer ikke overrens" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "At bruge -C-flaget i en filliste er ikke tilladt med --listed-incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Kun ét -C-flag er tilladt med --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Flagene '-%s' and '-%s' vil begge have standard inddata" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: ugyldigt arkivformat" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-funktioner forsøgt på inkompatibelt arkiv-format" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Ukendt citeringsstíl \"%s\". Prøv \"%s --quoting-style=help for at få en " "liste." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1372,9 +1418,10 @@ msgstr "" " tar -tvf arkiv.tar # Vís alle filer i arkiv.tar udførligt.\n" " tar -xf arkiv.tar # Udpak alle filer fra arkiv.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1396,81 +1443,81 @@ msgstr "" " ellers simple\n" " never, simple lav altid simple sikkerhedskopier\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Hovedoperationstilstand:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "vis indholdet af et arkiv" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "udpak filer fra et arkiv" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "opret et nyt arkiv" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "find forskelle mellem filsystemet og arkivet" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "tilføj filer til slutningen af et arkiv" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "tilføj kun filer som er nyere end dem i arkivet" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "tilføj indholdet i tar-arkivfiler til et arkiv" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "fjern fra arkivet (ikke på magnetbånd!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "verificér arkivets delarkivnavn og afslut derefter." -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Ændringer til handling:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "håndtér filer med huller effektivt" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "ØVRE[.NEDRE]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "angiv hvilken formatversion som skal håndtere filer med huller (implicerer --" "sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "håndtér det gamle GNU-format for inkrementel sikkerhedskopiering" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "håndtér det nye GNU-format for inkrementel sikkerhedskopiering" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "dumpniveau for \"listed-incremental\" arkiv" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "afslut ikke med fejlslutstatus p.g.a. filer, der ikke kan læses" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1482,122 +1529,133 @@ msgstr "" "og når en liste af filer angives enten på kommandolinjen eller med flaget -" "T. Standardværdi for NUMMER er 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "arkivet er søgbart" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "arkivet er ikke søgbart" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "kontrollér ikke enhedsnumre når inkrementelle arkiver oprettes" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "kontrollér enhedsnumre når inkrementelle arkiver oprettes (standardværdi)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Kontrollér overskrivning:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "forsøg at verificere arkivet efter det blev skrevet" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "fjern filer efter de blev tilføjet til arkivet" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "erstat ikke eksisterende filer ved udpakning" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "erstat ikke eksisterende filer ved udpakning" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "erstat ikke eksisterende filer som er nyere end de, som findes i arkivet" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "overskriv eksisterende filer ved udpakning" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "fjern hver eksisterende fil inden en ny udpakkes oven i den" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "tøm kataloghierarkier før udpakning af katalog" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "bevar eksisterende katalogers metadata" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "overskriv metadata for eksisterende kataloger ved udpakning (standardværdi)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "overskriv eksisterende filer ved udpakning" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Vælg uddatastrøm:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "udpak filer til standard-ud" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "KOMMANDO" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "udpak filer til standard input til et andet program" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ignorér barneprocessers slutstatus" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "behandl slutstatus fra barneprocesser bortset fra 0 som fejl" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Håndtering af filattributter:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "sæt NAVN som ejer for tilføjede filer" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "sæt NAVN som gruppe for tilføjede filer" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATO-ELLER-FIL" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "sæt modificeringstid på tilføjede filer fra DATO-ELLER-FIL" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "RETTIGHEDER" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "sæt (symbolske) RETTIGHEDER for tilføjede filer" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODE" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1607,11 +1665,11 @@ msgstr "" "læsning (METODE=\"replace\", standardværdi) eller ved at ikke sætte tiderne " "overhovedet (METODE=\"system\")" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "udpak ikke filers modificeringstid" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1619,20 +1677,20 @@ msgstr "" "forsøg at udpakke filer til samme ejere som i arkivet (standardværdi for " "superbrugeren)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "udpak filer med dig selv som ejer (standardværdi for almindelige brugere)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "brug altid tal for bruger- og gruppnavn" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "udpak information om filrettigheder (standardværdi for superbrugeren)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1640,15 +1698,16 @@ msgstr "" "anvend brugerens umask når rettigheder udpakkes fra arkivet (standardværdi " "for almindelige brugere)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "sortér navne som skal udpakkes så de passer med arkivet" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "samme som både -p og -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1656,139 +1715,180 @@ msgstr "" "udsæt sætning af modifikationstider og rettigheder på udpakkede kataloger " "til slutningen på arkivudpakningen." -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "fjern effekten af flaget --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Håndtering af filattributter:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Enhedsvalg og enhedsskift:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARKIV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "brug arkivfil eller enhed ARKIV" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "arkivfilen er lokal selv om navnet har et kolon" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "brug KOMMANDO i stedet for rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "brug ekstern KOMMANDO i stedet for rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "angiv enhed og densitet" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "opret/vis/udpak et flerdelarkiv" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "skift bånd efter at NUMMER x 1024 byte er skrevet" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "kør kommandofil ved slutningen af hvert bånd (flaget -M sættes også)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "brug/opdatér delarkivnummer i FIL" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blokhåndtering:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOK" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOK x 512 byte per post" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ANTAL byte per post, deleligt med 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorér blok med kun nultegn (betyder filslut)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "lav nye blokke ved læsning (for 4.2BSD-datakanaler)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Valg af arkivformat:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "opret et arkiv med det angivne format" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT er et af følgende:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "gammelt V7-format" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU-format for tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "Format fra GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) format" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) format" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "samme som pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "samme som --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "samme som --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "nøgleord[[:]=værdi][,nøgleord[[:]=værdi]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "angiv nøgleord for pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1796,75 +1896,75 @@ msgstr "" "opret et arkiv med delarkivnavnet TEKST. Ved visning/udpakning er TEKST et " "skálmønster (\"globbing\") for delarkivnavn" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Komprimeringsflag:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "brug arkivsuffix til at bestemme komprimeringsprogrammet" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "brug ikke arkivsuffix til at bestemme komprimeringsprogrammet" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtrér med PROG (skal acceptere -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Lokalt filvalg:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "tilføj angivet FIL til arkivet (brugbart hvis FIL begynder med \"-\")" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "KATALOG" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "gå til arbejdskatalog KATALOG" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "hent navne at udpakke eller oprette fra FIL" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T læser navne adskilt med nultegn, deaktivér -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "fjern effekten af foregående --null-flag" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "afcitér filnavne som blev læst med -T (standardværdi)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "afcitér ikke filnavne som blev læst med -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MØNSTER" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "udelad filer som matcher MØNSTER" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "udelad filer som matcher mønster listet i FIL" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1872,91 +1972,93 @@ msgstr "" "udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen " "mærkefilen CACHEDIR.TAG selv" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "udelad kataloger som indeholder CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "udelad indholdet i kataloger som indeholder FIL, undtagen FIL selv" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "udelad alting i kataloger som indeholder FIL" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "udelad kataloger som indeholder FIL" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "udelad kataloger fra versionshåndteringssystemer" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "udelad sikkerhedskopier og låsefiler" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "gå ikke ned i kataloger automatisk" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "skift ikke filsystem når arkivet oprettes" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "gå rekursivt ned i kataloger (standardværdi)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "fjern ikke indledende '/' fra filnavne" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "følg symbolske lænker, arkivér filerne de peger på" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "følg hårde lænker, arkivér filerne de peger på" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "MEDLEMSNAVN" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "begynd med medlem MEDLEMSNAVN i arkivet" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "arkivér kun filer nyere end DATO-ELLER-FIL" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATO" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "sammenlign kun dato og tid for dataændringer" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "KONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "lav sikkerhedskopier før fjernelse, vælg type af versionshåndtering" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRENG" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1964,99 +2066,102 @@ msgstr "" "lav sikkerhedskopier før fjernelse, erstat den normale sikkerhedskopiendelse " "(\"~\" hvis ikke ændret med miljøvariablen SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Filnavnstransformationer:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "fjern ANTAL indledende komponenter fra filnavne ved udpakning" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "UDTRYK" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "brug sed's erstatnings-UDTRYK for at transformere filnavne" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Flag for match af filnavne (påvirker både ekskluderings- og " "inkluderingsmønstre):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "ingen forskel på store og små bogstaver" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "mønstre skal matche med begyndelsen på filnavne" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "mønstre matches efter \"/\" i filnavne (standardværdi ved ekskludering)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "match store og små bogstaver forskelligt (standardværdi)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "brug jokertegn (standardværdi for ekskludering)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "ordret strengsammenligning" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "jokertegn matcher ikke \"/\"" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "jokertegn matcher \"/\" (standardværdi for ekskludering)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informativ udskrift:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "vís navne på alle filer som bliver behandlet" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "NØGLEORD" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "advarselskontrol" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "vis forløbsmeddelelser efter hver gruppe af ANTAL poster (standardværdi 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "HANDLING" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "udfør HANDLING ved hvert kontrolpunkt" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "vis en meddelelse hvis ikke alle lænker bliver arkiveret" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2068,31 +2173,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Navne uden SIG-præfix " "accepteres også." -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "vis filers modificeringstid i UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "vis fuld opløsning på filtider" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "send informative meddelelser til FIL" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "vis bloknummer i arkivet for hver meddelelse" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "bed om bekræftelse for hver handling" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "vis standardværdier for \"tar\"" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2100,31 +2209,31 @@ msgstr "" "ved visning eller udpakning vises hvert katalog som ikke matcher " "søgekriterium" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "vis fil- eller arkivnavne efter transformering" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STÍL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "sæt citatstíl for navne. Se nedenfor for gyldige værdier på STÍL." -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "citér også tegn i STRENG" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "citér ikke tegn fra STRENG" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Kompatibilitetsflag:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2132,63 +2241,56 @@ msgstr "" "ved oprettelse det samme som --old-archive; ved udpakning det samme som --no-" "same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Andre flag:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "begræns brugen af potentielt farlige flag" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Du kan ikke angive mere end et af '-Acdtrux' eller `--test-label' flagene" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Konflikt i komprimeringsflag" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Ukendt signalnavn: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Tidsfil blev ikke fundet" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Erstatter %s for ukendt dato-format %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Flag %s: Behandler tidsangivelse \"%s\" som %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: filliste allerede læst" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: filnavnet som læstes indeholder nultegn" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "filtrér arkivet igennem %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Gyldige argumenter til flaget --quoting-style er:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2196,51 +2298,48 @@ msgstr "" "\n" "*Denne* tar har standardværdierne:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Ugyldig ejer" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Ugyldig blokfaktor" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Ugyldig båndlængde" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Fejlagtig værdi for inkrementelt niveau" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Mere end én grænse-dato" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Ugyldig version for filer med huller" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve=\"system\" understøttes ikke på denne platform" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint-værdien er ikke et heltal" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Ugyldig gruppe" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Ugyldig modus angivet i flag" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Ugyldigt nummer" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Ugyldig ejer" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2248,121 +2347,151 @@ msgstr "" "Flaget --preserve er forældet, brug --preserve-permissions --preserve-order " "i stedet" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Ugyldig poststørrelse" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Poststørrelse skal være deleligt med %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Ugyldigt antal elementer" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Kun ét --to-command flag tilladt" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Ugyldig densitetsangivelse: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Ukendt densitet: '%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "" "Flagene '-[0-7][lmh]' understøttes ikke af *denne* implementering af tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FIL]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Gammelt flag '%c' behøver et argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence er meningsløs uden en filliste" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence kan ikke bruges i den ønskede operationstilstand." -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Ved flere arkivfiler kræves '-M'-flaget" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Kan ikke kombinere --listed-incremental med --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level er meningsløs uden --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: etiket på delarkiv er for lang (grænse er %lu byte)" msgstr[1] "%s: etiket på delarkiv er for lang (grænse er %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Kan ikke verificere arkiv som går over flere delarkiver" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Kan ikke verificere komprimerede arkiver" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Mønster %s kan ikke bruges" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Kan ikke bruge komprimerede arkiver som går over flere delarkiver" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Kan ikke sammenlægge (konkatenere) komprimerede arkiver" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option kan kun bruges på POSIX-arkiver" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option kan kun bruges på POSIX-arkiver" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option kan kun bruges på POSIX-arkiver" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option kan kun bruges på POSIX-arkiver" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Mønster %s kan ikke bruges" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Delarkivlængden kan ikke være mindre end poststørrelsen" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order er ikke kompatibel med --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Nægter stædigt at oprette et tomt arkiv" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Flagene '-Aru' er inkompatible med '-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Du skal angive et af '-Acdtrux' eller '--test-label' flagene" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Afslutter med fejlstatus på grund af tidligere fejl" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2374,114 +2503,110 @@ msgstr[1] "%s: Filen formindskedes med %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "Nøgleordet %s er ukendt eller ikke implementeret endnu" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Tidsstempel udenfor tilladt interval" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Mønster %s kan ikke bruges" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Nøgleord %s kan ikke erstattes" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Fejlagtigt udvidet hoved: længden mangles" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Længde på udvidet hoved er udenfor gyldigt interval" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Længde %*s på udvidet hoved er udenfor gyldigt interval" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Fejlagtigt udvidet hoved: blanktegn efter længdangivelse mangles" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Fejlagtigt udvidet hoved: ligmedtegn mangles" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Fejlagtigt udvidet hoved: nylinje mangles" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignorerer nøgleord \"%s\" i udvidet hoved" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Genereret nøgle/værdi-par er for langt (nøgle=%s, længde=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Udvidet hoved %s=%s er udenfor intervallet %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Fejlagtigt udvidet hoved: ugyldig %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Fejlagtigt udvidet hoved: for mange %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: uventet skilletegn %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: ulige antal værdier" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: ugyldig tidsudløb" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: ukendt kontrolpunktshandling" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "skrive" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "læse" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Skrivekontrolpunkt %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Læsekontrolpunkt %u" @@ -2625,7 +2750,7 @@ msgstr "Nummer udenfor tilladt interval: %s" msgid "Negative size: %s" msgstr "Negativ størrelse: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "status (stat) kunne ikke tages på %s" @@ -2654,8 +2779,8 @@ msgstr "Ukendt datoformat" msgid "[ARGS...]" msgstr "[ARGUMENTER...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "kan ikke åbne '%s'" @@ -2669,66 +2794,97 @@ msgstr "Kan ikke s msgid "file name contains null character" msgstr "filnavnet indeholder nultegn" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "kan ikke oprette filer med huller til standard-ud, brug flaget --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "fejlagtig maske (nær \"%s\")" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Ukendt felt '%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "kan ikke sætte tid på \"%s\"" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "kan ikke fjerne (unlink) \"%s\"" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "'%s'-kommando mislykkedes" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "kan ikke fjerne (unlink) \"%s\"" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Kommandoen afsluttedes uden fejl\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Kommandoen mislykkedes med slutstatus %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Kommandoen termineredes af signal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Kommandoen stoppedes af signal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Kommandoen dumpede hukommelsen\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Kommandoen afsluttedes\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat kræver filnavne" +#~ msgid "Cannot get working directory" +#~ msgstr "Kan ikke finde arbejdskatalog" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "sortér navne som skal udpakkes så de passer med arkivet" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Felt for langt da øjebliksfil læstes" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Læsefejl i øjebliksfil" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Uventet feltværdi i øjebliksfil" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Længde på udvidet hoved er udenfor gyldigt interval" + +#~ msgid "Invalid group" +#~ msgstr "Ugyldig gruppe" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Katalog fjernet før vi læste det" diff --git a/po/de.gmo b/po/de.gmo index aac9e352fe7912744e2b8e74338fbc0f651e41f0..d32c51a631de802aa9e41282245556ba58c0ab25 100644 GIT binary patch delta 11630 zcmZ|UcYMy*-^cN9HeyDs1i6e@k;o7t2tiPyc8wZIh*7H~X4GZXY^_U;s#0oKTP|wW zs#cBKv_CDa_E)7Zl^Srn$eCEgH5d?Fp~D0SOSk?NxY02LsNs^c~fc!`cObj-(6xB*Fo^C4Em(^w6EM!jh$qe#Y@sDbpydN>pN-~rSF zD#VdBOv0Mj5tWHN?2ohDRLF+&Gim@~@s7hEC!W8mU^ZsqY*eOhqXy)c;5cKjGHL+J zF$MRd9`vW}kF4uBRGrpX94Df#e-(M8<9>&V9&`;Wp>Lw&)W@nw)|_6b8_vZxxD$1r zUN;;nqoyha^#c7-FEr7*39Hk-jLe$z54x~652?ZPopz?;jKL5NtU_I|9V_4!)ZG1H zEt_N(WD@$(pNz^t3i1w4CTbBbK`qjiSQK|zKS4d`5;o-d&P^&>JXIT*R6T=Cv-6U5 zD>kBi6*Z?}OuSN1*6{L|jvbM0MBY&JO{H60fSPhS&2KW_we_I@Rqs{#5SJQ5YYf7M0V?%(XwdXhxv6Pg5*~9Z@$Jh^$LzCRW0OSO~A9Uf?!% z!Qkd*U>V2`c3wmcY^|G$=IpHP_!Bjt8ZFG6MWY^67xl(nP;)*6tKxPH!_ToS{(>bi zm=&i*SAoCuz<#I<=tehDsd|LE zu-vmo7wS!`qgH!5Y9P~5-;L#16t|(K;1DYH7tn=YqB8jxYGC2*&Ej*lC;z%pEFJpd zrC|*A#ilq9i{KelMy?|3&MDBrJg7bDx-5*vi5Q7nu{K^nO@Y(V473JnfK5@msdGp2 zuSNC(9U9pr)SFMU?K!qR9|P!Lg8Fp6fy&%&)Pv5UQu+_NFtn4Il0;NSo1rq5g?f<* zs3}?Jrc#Z{IV^^M;7Bac*`#a&YGBK;JHCl}!-uF$Rp?^A_35Zgj6e-+HWtSpaxj*pG!U zrnk9q11wLwJ0{|2)F*rk7R5WLweUA;s*3h8Qy7MB&1pQ9N|=Uv;6QuAYnV!VD{33w zMUDJ#)PQUCHFKF_?TnS_AA~R9T&#h=V;Dwc@Cz*_qo!nahTZ?C=+L&fj#@;8GtJyJ z#zwSC*^ep)Y=N|XMQHMK$ex0g{^RJKeri)Z-28W zVo(q4gmrN~R>Gqgfj3YC4dgY{jzb;qi1jcBE8u2y;iuRPZ=o_trM^X?X_4DZ(?-} z8sa$bY5&)uQj?CaQ3EJA)Qm6@tI_U>rEm&AL6NkD%Iws*bRHn9J zGJb;b=)+#EgLP3E>W}4c3>L!$sQ>U|HONnzKWw5r2)( z;$7^FDWlE67ol#r43)V9xQQt`ftrfkvHXIHZ=nV@ew_K#ZyQJc6X@7OhX(R97RHeA zCZ!QLpLShT>W-pPdJXj^MJJd!O+|eHhoF8|%tGCFl|6m|d(i$HHFe$c%!^ISBme4H zLx=YLX>5qW6V02p!bI9jPy;xH%G3?ib_{&U?1Eb8qTLX+=z3uVoP*7AqwT+q?P!Nh z;s+QGa#JZ!TWsJq<$*4pko7u;%(HT@|k8nv9(ZdJQ$U+SFsK5L1oB)y7}ZL zV;|Z>u_~U#%6JboB_&@r*SA8Z((UA!inA8A_%2xeXPDKWh;j7yLe2R+)Bq2oGIbd> zu;7_ymDjO$L_hj-&=<#|UT6Yp5w68R?f);SXr$j_1P0AAtG_y`-4t752I|c>px)#H zYC8taHaDz?DYS=UIBrEU(iF_~(IHEB=AG~A53{+>1bRlEONQfbS9AsB?aP$NHxHSlX} zf(7Q8H))N*v`1qgPQijW3w57Gn2gs@FIJ8{ti{_Fm7%GqDLXu${OdvA(-DmU3(O}q z0jtvYJN|zgj#IlP#>bbSPH+u5WItWQ=esKAmwo=?cUe{PhcesUv37_7&V{_ zEQ*t{49>@rxB<&*|L>!sxxZ*n@O|AZmN3+|?1);$V^DLu8oAJU-+CPLw=ZhV1g$XN zjXGGG_H)=6hoN3*3u+*Tv4-~lf2e4LzHgY6mq1<60+phvSOiyLVcd$^C3{i(`3So3 zIyOb$mF9cU9Fu70VME+uy@zdR*M5`r!tUjxtGM7=vj{^_Q&A4edw~vJcm*rtzo-FK ze%oA79W|E?unKlSWhNKf<7U*{KF0c3e4WW;YgGSA)C0Y!>&~NgSAq3zlfs7U%^Quw zY8+UHmGBfQ#dlC|6t%(pP|3nT+5<2MhoRQSX!OUas6{;!lW`};;XTyitGv++AlXeN zoQ`1_g|jgNciQ$P)D3(#nNM*eRO+*lkD#*%t74VS=E1G8Kkas?0c^(v{08+Q3*BON zPYcuwx_eX6B5|Wq^g52jJ*ZSiy<=|J9(BPE)QvBrQtQ9fWGoD|EmN&MQTNS3&HX&o zn{Px7=nw{J|Nly5EFFJgGt7OLA4Iqdb%QGJncb0s&1sKCE_C)`HT($c;*Y2SMZ9lb zBoQ^BE~w+fP?=tXP4NKM*Z%*Pibhm_n@Q0SjH0~)tK%_LChnr9rsQ_BI}%Xejn-HQ zyI}xkp$0ez{qRNXj=30vpJ6Qig)W}&M0?E-k7rSn2IU;%<;+Cg!WEUCV#_7Ox|w>oUxz$r_iyLj*fU6 zwWv})H*KA1~LsZa2NK)vPaCn2aH2y!jNwb#5qF#6dCTag)prTb>_>}qexG`$c4Z?=F3`6iD7Q-J< ztNI}ZVbRY_N=u{8Yl52VPMC%hQ5iXc8sH<_A99)>>pb7-P9+Ifp;G+?Ds_)h+pEGE zlZiys07h8d*n;+ajKPbj0r;IYi?lS3rQIBB;XZ7GH&7XiJIDN|Q0YM>8keDN^a*Oj zzhNxaK5tUi8}(+hF&VvB1@EA47;?eiz>r%N`Cx%A}{tR-hWp=nULNMzC94!0A35a*t{el~3%+TF1a;ZC5@ z_o)-;a|Y3V@2S2M)W6fowl4{*+WIZ*!m%m1Oczs5QQt+x5M_zmgbH6@ry=#8`7Qou zhTi`_G+v_fD&a@{Yutq2p|)R7oPqmM#v)x{J;5fJ4fjMz#a>wy}}-^LEl>H z<*|}Io=dxp^6#R9t^B`bGqsQC`-(`T9)N|2{}3wrc<4j*tZfHcN9Z8sMcb~0S522Q zmHII1(}+j)-4YT|R^L4F_qxP*SR!--?m z```dVWu_tj)B8E~uZh*fC&ZJYuii<{kH_8kp}qFW@o`jsps%dv|2BP3kn#E-WBZJb7o;`k+8guU>Z=3nIqQHfYj z)Fy^-us((nbqJO3=_^5`5l>3{r|Ko?yhOZ4{A>Ha#G|zJIZw5HFJLKKfAV~%0Ug1d zq_TnfT6;pGwW>Mf1ljfttGYK*?{3>eaTa|cwymEhIYcu;Wf=Y4h;Zt&eaQc+{BC{$ zq4P814((*(4E1HiV`4C&@+VQ6I8IwXa0c4`7C4J2MPGHy#1Nu6QJ!c^oF>X}tS+&V zx=KyWe?e1swsByBt&7D(6n)QQGgMh;$p5F-cd7qu`^Q@Q(dVIF1ND=$7;(@Z(?`Dn z?Pm#2lUuRUiv z{XY@k5Gw7742~@%Ue51P{weR%@egjo6fB72tU8cSix8OU(9-=a_oluFz z;lyZS262sON|fN(+xchkn=V@I0aQ5PgvkQ51`lNTgoVUg)Eb&%czu7rj45 zw+`|yPxShFRwada$0v>P@fJzGE`FX+ia=7XJ@PK-lWzge7sxQtoHGYPw(aVE`5b(O}kX@{dTbd zp7hRpJW*Zdcn5Xe>EmtCZIPe1das&3o|(P9o~%C6o^^dndVTu3{Jop{J@)mU9*_NY+56R^`S7eTBK=z=a z1G97b4H}v`(3?2poWEz`+}Z#C8L_Wy^YuJ4Kg3&n{#74uiG}_Ay!#g~_pLdq-=M)` zT-n2O2YvMR(A@va)!^(=x!Ep_XRy*WJjUC3X{f(acuKyoR$9MAp delta 16431 zcmaLc2YePq!pHGV0z?8zuTqv0LP-LIUZe*^2t}%Zz>{Q?Jm$%h@RWomj|D^&QSK3J z*Z~!+1W`P|g1sY(3I~XV!?Sy*SWbC=|D6rSa_@d_@|~I8ot^#+-c9!`22J z>k=%>YM*FXJ#bh9%Q{SaQhUo%{<9gzSMg1PuK!{S`~_deW|@}N7(c{XcoJ>=729Il z?v_;-hkB03m837|ZpEyoM2?Zcv(^uuY1AZ@^mL>?)>3SQYmon0ckze%S^IGeevch- zNKeZ;6Z5bYE6$iV&(&VvSBusME>U9fg<(-XZgpY*U8k#r)PP!)I!DbxBFQc0_IAIlWM~- ziz?6!lli`tMMMP;#B2z{Hq8haxZo0H1o=tiLva+nXsG47k$#{?FL!OTzb+n#DJ^w3q z!tNtX1*fALxCB-1L)Z#m8R4z}6J)d_;}ojq?M9k(4r(%%Vtb5ZW88sm0oaE032cqY zqs%^$iZV@f81Itl6*%C~` zD^X*;8g0A>wX9ymCip(;{jX4~ryk>>hK|7$^v8&(1reNzaa7Gtp!R_uP!;Po#*E!e z)bhI=mA?&Dv7=ZEKSq7 zSW}UE&NDr85Y@6DP!&CEoEeHXIF$4tWE8C>I1KloT6_xYV7u|=`3z*a$E@>+sH+#E zCfRD#^4o~|&||1Q{WVm}4xz^KXSA_?jw!Gwrjee29k3j=tZzoO^gh&FcoxsZL)b{` z|5NYAFKz~fPcUQH88yiUpei^WRk4dubL3)7##>MoyBpJSFRJ2Sqdrt?qG@?!)DYRI z2BcvdzHbdC(hX;$x@x88eW zz~!i(SdW@x_oK>t4%K4^rqKU-@q04lFPMroSPE)+SJbkZh^p91)EwD>8sqKQ1K&e^ zxb`&jBi0AcB3+0Lu^cs2tI)=^s8zRZ8vU;p>?5Nd9>B(U9MuCqVy-^jMfNEF_HAgm~hVCt8G$Zm8s(^+w%`8pDMx+O$DmV$% zL({zU953y|n&cOuw$>mv$E#2ux*MC|n`q;4)KDg0V1^*pn20LS8`YxmsIIKQPIxz} zXI{nyco5Zf<7b(Q6(eO@WjH&5UprJwQ|FkT8;9Du7h?;&6`SK@$Xtk7ZxT^Uk0I|` z-(g>zbfH-`D{(yOII4gTP?P5;)KImYYr3*Kst0DE$_t}fz7o~5w<3F*^)RZzKVoC8 z{|58ShdQCgDht)sdC0I@7a^OV^|Y6+Gv9nT7kiOkfm)VZQIqTtsv;kumfb0AiWxrB zbE8ld%)`tWkqRPuU^8kR??x5;BdXwxTr(sWq9)BM)a-u*+u}Q@4}OOlss?#x3vY+R zNf%;myw9@|HD`8XOp(1r67VI=##c}qMT30v!9m!HbRKGKFTpmr8Rz43sL9sJF=XJ=zmSB9tCFd-GwQnUqgN1J=BL!VjpZ=XntJIL#^*?kV#~1 zz&iKP!;euPu2tksc2v)dFQWgop4X6}7HmM({3X=nI_&u^wkMtJXFgz8 z?2PNMCGJ5QWxbDDJwtg&?-yfNyaYA3wxWjgA2=B6#){3JJr-4gD=`%x_3{s)O}b^k z49y_abC;qj@F4cYcTok`E-^n&1CTAnnt@~RA?$`Hu>*DpnhM0m5a~_Ea#UCCL`|wg zsG9%mr8||H`=e3Ivj|(`?P%j}9DzqL1KX9E=O?0`TYw$$TI_+_k;xvjJ|QwdFEA1G z;%rn6S9v~wV@dBrwfO9i>GDyip_+%v4|{GvHQ+ha2S33&m=ZP>X^QHJ-q=#>e?Ae7 z)e<*@e>k98z7v}unX2M zry_jc>P18~orj%pIX1zq_z6CZjT1OrR+ue!*FrN#o<>c|f1>6@$|BQ){ZMnrL4D|I zREr08p#LdXIZ@q&WqFxu9A()Hm ziIvz7x1f6TL)4^BUS=xT1=TZiQ1>reM*nM!?;%68@&#;;KVTbdzXMROBr0XT-13j<~>FIbMLzjyhqPmx{RB-^Rq77n~n;(s_*o%zGsG6<7y0`_^ z)sNw|_$sO^=PWl}SdQxY&8V?{A6sG43NzL=s@#64`^9(xu0vHk_7xGmaP}1@qdyKN zosWa?PE^YeV;@XkX)2J5ZAmZ14!8leN}fU+_o0^ax7Zr(D=ljz4ngH#hB;dQ4-;Wx zTfd?zQohQ(5Xau6A3+VlaV)~`u`kZM%IxLqaVY5raV&m`!?6F=W{xaEy|)ol@yyj` zD0<;ycl{Glix1&=Y<`Vtxq}@^--)B}dDKwUSz{)hjYCL}MfJdys4l%9)sXk_Jp2yT zbHf-1^@m}o6ys?t6GqX1xHC7W*1znEa@gdX)j(X{&wPv#R^32Ch++T-1aTjV% ze2J=XyT6&9?29U=7_};{#h4cXb$%*HbfRqz5#$F--Y>8#cDccnKNWkCE7S(`Xu{PGc*_2Z+Mr0rvvr#QtkA3k)RL`73 zjoFY}%m;E&J#;l@;8yI9?_(M^++ZAteMsk`jW?p++lhMbeJ>qLzSS(RG}MRsVGEp% zO)!co=xS_^Poq}DK~z_^z0JHg1sjvDKuy}!SQB?)eS8Mh6Z^3x9z}*AX8lB@DH-Vdm)7~i+{5DDNZoP>eRW_|9)_N0%ZDwueWSw`*gEYcUDDzXS0;ab!X zZNdh)2Q}7jqMrK|HMg4HYbJ9J#x(0gL{f1B*28B|1-<3@8ER~6+-F{FfoY_NU?(g< z4dFF-4sJxX_(Rl(f56UIe~YR30Mt;OyM_MO3romog*)*~Jb-oaV@$?xunqo*Ha6dC z#&!VqBfS{43bx@O{LC}$ezOJV;Z*V;L_L@EfJqO2fc_sx##%BosSe|4Z1kY{z%0}( zzXb>58@LkdK4c2M9#yfUs4@K&HDoOwHmhhbwkACtdt(G^;C-GC#)xzwqY~A{hf&M# zThxnnA2D{tbkgVI85qS{xC~Xn6{rnrCu)q3pe9?BZKk}=sPBxxF&IGgd~7?BY$D%c z1MFXET67-j1AbJ&WvG^|L$%;>)bqPhWB&$rz~iW%Oxey484g3uh3im5wHc@45tARY zdOd2!bS$bXFTy^!3bXJ@RM&rt>VfV%%%q!x?MPpay1xng;)j@oEgmxsXpNdf9kDK^ zqZ%*(GqnDP5E)2D0DIy+*bLuCRp1-cy6^b7`BfW+T8;rPy&CoY z7S)3XQ6D~q`B>u#8WT&Ti-}~Aanmj{mM>s;(m!K!?6%vqbQHEEU4ZJTOK}0-fg`Zt z9y0{fP#;)?>Y*d3@~tP$P-J2^lA|!D^;#Sr$6o&Mr_5xUgX*Dj z?1gJkUHlAI;LE5Ajd+^F2ChJr`wjNTy3d%iVD>Zgzg}ELhAOfad*kES1i!#Gn6%ea zus!PjAk>hQ;V@i{{qQwZg=#))dT;=$rG8Aqb=U!SV_Q7-Y|JdXgy+nxY>H#JQH*C{ zC8pprSQB4ERd_!p;US!fM==xoKW~m^g=mw$5mRv|w#TEm1QTB{zoN@xL^Nskq8|7h z)3Dx)X6*W*=E4Q2*}V#{#HUa#8T*o{UjedHhIO2^<*4R+K+W`2M)$(uqmFx*4Xq_Q*duoLvpYfqo^J_hN@`& z*WAe)v$BY&g&R>dd>i%R*Ql{>{<>*N4(5=K;c$Enb-&&l=EyY)N0DBR>hhOxJbs0m zbc5eC&qr|x=`A=}>;F?CYWbjj{1-0FMSbXb)MRS>mbdldxum103hY5u)Y@-)qBE*O z4r*v_#xA%AC*uk1hy&j?lX4!O&-bmXiKxIMsIjx(FxE<$VlLL$= zMzJS8iGA@KoQ9p>H5=G6>`eL*Y>Wr78-9f`Mb3WD>|kRsi}YovF?tkjd>4D;4_-Rs zee>fo0aali>cf|!=F;Qd{X^J@^p~i)l6cSz#Zc6D79OPkrxV#qhI%0JkQs_mIDm99 zp1@6*iEI90#&kDoj8hJq9_oS3NzcUk2}~^Pf|ngJ$L;%%nmM)u)!^gU9~*uUGqZi% z2j;xL6uWcd9vp=4Vnb|n%$$rmVN=q5F&T4ET{{i++%nXduf=TqJE~_AJ~S2VkIJ8n zqw$6q5!K`fw!>y0nXw#z?MWA7GhBn}kNum|3X>bloaE&K@wV#j})***_d;N{o=x8f+= zjXq3d98)nLhv8LNlkZ!vcsKUpncO&u3D|@`H5K9d&S1UarTbz%FMbpEuJrDU@4dJx zuggwk<#^AI#uUP@=9cx8*8f)T=H;HR;+upQcxVjXPoNQ282g}>RznIsgY;trn{+LL zF0!qI+e#CjBYiGGJKWs_U8Uq-LAbZw6j zxsA|(@H83Y2s4SZ;aRCzbzMc|Y+hbU-ZH{J2gq$>{r`W?&!;R|KP!dm&cMA18u$K5Ocn(1wxR12<_o}NskrMKb z<01T^+|_N+vj$I_Iq7l6J`=l za<4z`!M0dL=uP}m!cBxbNw>lVl(P|c5V{j46RsxQNzk{YZDPUpD`yl0x>-$>tq@8Jk+LFhreCGN)6gsTZ-2)oJiu9$T(i4syb6Y3K0 zgr5-Vcn{^^Uef=>bX-P=6CNksjEbC(w-R)nG@Sl>FZqv<+Jr}O2cd$nkn{-rSpEMg ziTQ*t2se_cD@t6~`-DA&D@czbY$D!*kG9i&d>Ec2o{Sd~bfp@s6_`QT=cUi&xd-$f z*VFh4;RCJzFA2{Qa=GyYp*CR!XF@vnHVITd@xdw;%n?=3Ig z7^e`{l7AV2_VdHz-8`H4f0e=YJ$b)+`AWAU^dh|<^KmZ0NBj!H3&eFjgtJW4N+U_0JxhaZxzy4sUhbsZq`Z$hQM-^9zU!NctdBfa!+&vkf={If8R@G|if3cKIC z|19<*v?V`;lL@vG^YZ$8 z7VE)k*BQjKynFW$&nJ9Km_nFG{@J=m7z?ivwi0yRr|)kuaqDk9aLkKefM1jT7eQA9 zAIG!2^k;4^hYc(zTtogiLI>hIaW+2eJ$t~DEcf90Z_-IhaJ5c!+fPQd$EoUj+Gi7Xip0k2TLo0ZiXFMROWbZI13{oUtZ)-FIDDey_8r# z;15S^Um)c8@)z0sjnC@Sx^ifr@`U)Her+pv^nE)qGtUcPf_-h$L3F7(5}VNud+5D@sGf{$L^X4mo*|($J#Hc|&in z5#K+uaiTvQKb6xY{?o`got;3w9Vsof1EoA#QACqemwde#4*JT%MSNckt(-EdaYAf< z#1~4l!@hDSY?t_gi`-jb3gCl9PKX*tN^PGV=5-2+_~?q#5H$!F+rCg7wzFDsnJJaI*_#s53z=W)|EM>um_|-8pW!ZIVCdvx zXAxtY&m;?{#cPh4TeC1!8ZC>@8nZEeU`(U<7h}$^$!v5&m3_}0P_t`JG!XIAcU2Yl z`azS3iDA#r$Vp=!X%fYQIZvF$bTBD*4#zL)*CZh`-f6<>nEQyW={{8*?9MFpvudG5 zks7upy3d3u)6JuoO)R%GQe;>7f)P6$q3?av-5)HAMykCqJQSrAcQ)jemXuL`E>*7Z z^WyxB0y`rutJ=e}dt~&xaCV@i=)yGCBBe&l%1T385V?!&u8|^txT_{f<--#mOK9qZ zLQFvh?)TH#H|fTtn8P&4D~^^?LP3Flq3x&c%UJ5sAX6o5hqa1Sg^UdE0ZN)OHfPfK z?0F-Gj~q8`(!43tMvoplGc#o>>yp_J)>_Of4Mswx0T#$2E!}FRcweKG>DlK`85^58 zVcy7z6Q-U&aeTU6?hCN0)dvGpn3%!RAZw+xpun4pL5Jcgvbd_wVa?ujI~Xm=bwV^< zmwWqkj`^CN3;F};wzH7QtYITZbV>Qwyvk4F_ard&! zlz6*o+gla*wKciD@~6>@zcg*YnfXpI?2jxONQrrA@gJwP8nz%>>NYSOSwzJ(F*BL0 zRW2XL#!`T-kfp&xu`}LhU&b zyTs8r+d0`eBeKuWm@qsiTfL&618)bZ%(!qz&G@akt@>6JIY9=|{q14At^CqpnwDP3 zUuFlqy?uW7G;gETwrB@^C6z~Wo1f9qR}kSV+Sz%+?ws!w_}D+(adH;s1)`eZmB%ky zTPu|Xr`MRWbfWh)MH$4rqSKX%E@)FD+aJi!W6_80{8D$lnn(D6RdM>(>Ae5((Jt|| z(Wwc&yg!?N6Ms$8Rt9YepN4H6x-53JF7>}9vS>E ztFN8ab6~GNJXblpJiTVqar~&VTd^qeiWvH6xM1(DqEO}SOZL@>*&kkVTWa2imuyJ4 zN9pH2DYhaRR|i%j>52 zmrI*fCS7-L&06F4Zluh3WL;)$Clv5Sb167}=ep&YqqR^MN9_RLv~wLkK3)~G^;T7EMpv1->xLq@3mMbtS%M~3E3m`TfUgxq@;w0q9oi7&}+2fw*nbv>QhoxOpGzn>uhawXdvJOIb@7* z{NXZH&J> zgGD~pSvlict?a7F8DOe1qKh4MMO9&^j~c%#in2Ii{J!DUN^}=$k-w&9c1mT%4JnDE z-QxynYF#yr!y321-d$nNHXJn~?qm+TgXOM+P=(`XvTJ6ID=lNo@CV|to2E6G7A)Mm zi{nP2V~+{(qwK`@-}GLCy~{bhgrdR1Fb#;N1BWxpN^}3Gc_+>dPQqaEzR$~D(1bT zRXW09|IRmE6D|3zNxp!4cu`4AUJa#riHJUx>b6@W`djL^dQI^TG#T0KwEO^MS}Nys z0WrP9*+yN*p*Y{$bc($rj>92=9??Ubad_wtuj|HdhaD9X)g}{;?A;Yv9I?C7D`AJj z4$pau$z8^o)(m%i9J_MM-L(_l2+cqWCj8X3i?B~HSKlkqIjF{Q? zrZD}SP!XBo;!;)!>ys7BN0(8hbi2Y~%Q5?hT2pmcN^uvcR@t{HO0V5jn(_1{p;9 zxWGqaQ|zoio$maq>**){SYPcQk8D|-FoJn-`h=$`>JEEVrhCp)ZlOPyPWGnd*x>2Y zo_5}N*ZY5IqhFBYUYjAQat)#}ejK~?d$-+2AA&&jL|J#e5#Y&w1Wr%k~-|5a~p^;4kowL~s* zXfabH81)Vh-Vdk6ZsE8y^z=?a)v8XFzbmzMwZmmqv7AgRPSVX`iCx8=f@zYgu{=%Su4Ke`Ho}ELfyNI(CK zbHQ*90sOG=w=(I4lgZsVG&sRX8UOBZzg_JkIx}&QFh2*()lh^*Q+e|B|JKMpue4ad itEPHY70`5W4+q}&t-pFohX?O|e9&9%, 1995? # Karl Eichwalder , 1996 # Christian Kirsch , 1996, 2001 -# Michael Piefel , 2003, 2006, 2007, 2008, 2009, 2010 +# Michael Piefel , 2003, 2006, 2007, 2008, 2009, 2010, 2011 # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.24\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-10-26 21:35+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-14 21:35+0100\n" "Last-Translator: Michael Piefel \n" "Language-Team: German \n" "Language: de\n" @@ -32,36 +32,35 @@ msgid "ambiguous argument %s for %s" msgstr "mehrdeutiges Argument %s für %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Zulässige Argumente sind:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s-Wert ist kleiner oder gleich %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT-Parameter benötigt einen Wert" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT-Parameter muss positiv sein" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: unbekannter ARGP_HELP_FMT-Parameter" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Müll in ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -69,29 +68,29 @@ msgstr "" "Erforderliche oder optionale Argumente für lange Optionen sind ebenso " "erforderlich bzw. optional für die entsprechenden Kurzoptionen." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Aufruf:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " oder: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPTION...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "„%s --help“ oder „%s --usage“ gibt weitere Informationen.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Unbekannter Systemfehler." @@ -103,7 +102,7 @@ msgstr "diese Hilfe ausgeben" msgid "give a short usage message" msgstr "eine kurze Benutzungsübersicht ausgeben" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAME" @@ -124,17 +123,16 @@ msgstr "für SEK Sekunden hängenbleiben (Voreinst.: 3600)" msgid "print program version" msgstr "Programmversion ausgeben" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMMFEHLER) Keine Version bekannt!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Zu viele Argumente\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMMFEHLER) Option hätte erkannt werden müssen!?" @@ -142,62 +140,62 @@ msgstr "(PROGRAMMFEHLER) Option hätte erkannt werden müssen!?" msgid "write error" msgstr "Schreibfehler" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: Option „%s“ ist mehrdeutig\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: Option „--%s“ erlaubt keinen Parameter\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: Option „%c%s“ erlaubt keinen Parameter\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: Option „--%s“ benötigt einen Parameter\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: Unbekannte Option „--%s“\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: Unbekannte Option „%c%s“\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: Ungültige Option -- „%c“\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: Option benötigt einen Parameter -- „%c“.\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: Option „-W %s“ ist mehrdeutig\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: Option „-W %s“ erlaubt keinen Parameter\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: Option „-W %s“ benötigt einen Parameter\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "Kein Speicher mehr" @@ -213,28 +211,30 @@ msgstr "Konnte nicht zu ursprünglichem Arbeitsverzeichnis zurückkehren." #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "„" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "“" @@ -244,7 +244,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yYjJ]" @@ -254,7 +254,7 @@ msgstr "^[yYjJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -438,7 +438,7 @@ msgstr "Allgemeine Hilfe zu GNU-Software: \n" #: lib/paxerror.c:58 lib/paxerror.c:71 #, c-format msgid "%s: Cannot %s" -msgstr "%s: Kann %s nicht ausführen" +msgstr "%s: Funktion %s fehlgeschlagen" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -447,7 +447,7 @@ msgstr "%s: Kann %s nicht ausführen" #: lib/paxerror.c:84 #, c-format msgid "%s: Warning: Cannot %s" -msgstr "%s: Warnung: Kann %s nicht ausführen" +msgstr "%s: Warnung: Funktion %s fehlgeschlagen" #: lib/paxerror.c:93 #, c-format @@ -538,7 +538,12 @@ msgstr "Standardausgabe" msgid "Cannot connect to %s: resolve failed" msgstr "Kann nicht mit %s verbinden: Auflösung fehlgeschlagen" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Kann Remote-Shell nicht ausführen." + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Kann Remote-Shell nicht ausführen." @@ -588,8 +593,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Ein Bandlaufwerk bearbeiten, dabei Befehle von entferntem Prozess annehmen" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "ZAHL" @@ -597,8 +602,8 @@ msgstr "ZAHL" msgid "set debug level" msgstr "Debug-Level setzen" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -613,7 +618,7 @@ msgstr "Dateinamen für Debug-Ausschriften setzen" msgid "cannot open %s" msgstr "kann „%s“ nicht öffnen" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "zu viele Argumente" @@ -622,9 +627,9 @@ msgstr "zu viele Argumente" msgid "Garbage command" msgstr "Ungültiger Befehl" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Das sieht nicht wie ein „tar“-Archiv aus." @@ -662,63 +667,63 @@ msgstr "Kann Archive auf Standard-Ein-/Ausgabe nicht prüfen." msgid "Archive is compressed. Use %s option" msgstr "Archiv ist komprimiert. Benutzen Sie die Option %s." -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Kann komprimierte Archive nicht aktualisieren" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Am Anfang des Mediums, beende jetzt." -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Zu viele Fehler, beende." -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Recordgröße = %lu Block" msgstr[1] "Recordgröße = %lu Blöcke" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Falsch ausgerichteter Block (ein Byte) im Archiv." msgstr[1] "Falsch ausgerichteter Block (%lu Bytes) im Archiv." -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kann Archiv-Datei nicht zurücksetzen; könnte ohne „-i“ unlesbar sein." -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "„rmtlseek“ nicht an Recordgrenze angehalten" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: enthält ungültige Teil-Nummer." -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Teil-Nummer zu groß." -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Medium #%d für %s einlegen und Eingabetaste drücken: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Dateiende gefunden, Benutzereingabe erwartet" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "WARNUNG: Archiv unvollständig" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -730,67 +735,67 @@ msgstr "" " q „tar“ abbrechen\n" " j oder Enter fortfahren\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Shell in einem Unterprozess starten\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? diese Liste ausgeben\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Kein neues Medium; halte an.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Dateiname nicht angegeben. Versuchen Sie es noch einmal.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ungültige Eingabe. Geben Sie „?“ für Hilfe ein.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "„%s“-Befehl gescheitert." -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s wird möglicherweise auf diesem Teil fortgesetzt: Kopf enthält " "abgeschnittenen Namen." -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "Dieser Teil ist keine Fortsetzung von %s." -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s hat die falsche Größe (%s != %s + %s)." -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dieser Teil ist nicht an der Reihe (%s - %s != %s)." -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Kennzeichnung des Archivs passt nicht zu „%s“." -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Teil „%s“ passt nicht zu „%s“." -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -798,458 +803,482 @@ msgstr "" "%s: Dateiname zu lang, um in einem GNU-Mehrteil-Kopf abgelegt werden zu " "können, abgeschnitten" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "Schreiben endete nicht an Blockgrenze" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Konnte nur %lu von %lu Byte lesen" msgstr[1] "Konnte nur %lu von %lu Bytes lesen" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Unterschiedliche Inhalte" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Unerwartetes Dateiende im Archiv." -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Unterschiedliche Dateitypen " -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Modus ist unterschiedlich" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Benutzerkennung ist unterschiedlich" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gruppenkennung ist unterschiedlich" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Änderungszeit ist unterschiedlich" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Größe ist unterschiedlich" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Nicht mit „%s“ verknüpft" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symbolische Verknüpfung ist unterschiedlich" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Unterschiedliche Gerätenummern" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Prüfe " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Unbekannter Dateityp „%c“, Differenz wie für eine normale Datei." -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Archiv enthält Dateinamen, deren Präfixe entfernt wurden." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Archiv enthält veraltete Base64-Kopfteile" +msgstr "Archiv enthält transformierte Dateinamen." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Die Überprüfung findet möglicherweise die Originaldateien nicht." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "FEHLER BEI PRÜFUNG: %d ungültiger Kopfteil erkannt." msgstr[1] "FEHLER BEI PRÜFUNG: %d ungültige Kopfteile erkannt." -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Ein einzelner Nullblock bei %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: enthält eine „Cache-Verzeichnis“-Markierung %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "Wert %s außerhalb des %s-Bereich %s..%s; ersetze durch %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "Wert %s außerhalb des %s-Bereichs %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Erzeuge negative oktale Kopfteile" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: Dateiname ist zu lang (max. %d); nicht gesichert." -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: Dateiname ist zu lang (kann nicht aufgeteilt werden); nicht gesichert." -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: Verknüpfungsname ist zu lang; nicht gesichert." -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "Datei %s ist um ein Byte geschrumpft, fülle mit Null auf." msgstr[1] "Datei %s ist um %s Bytes geschrumpft, fülle mit Nullen auf." -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "Datei %s liegt auf einem anderen Dateisystem; nicht gesichert." -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "Inhalt nicht gesichert" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Unbekannter Dateityp; Datei ignoriert." -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Fehlende Verknüpfungen zu %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "Datei %s ist unverändert; nicht gesichert." -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s ist das Archiv; nicht gesichert." -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "Verzeichnis nicht gesichert" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Datei hat sich beim Lesen geändert." -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: Socket ignoriert" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: Klappe ignoriert" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Springe zum nächsten Kopfteil." -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Lösche nicht-Kopfteil aus dem Archiv" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: unplausibel alter Zeitstempel %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: Zeitstempel %s liegt %s Sekunden in der Zukunft." -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Unerwarteter Inkonsitenz beim Erstellen des Verzeichnisses." -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Verzeichnis umbenannt bevor sein Status ermittelt werden konnte" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extrahiere zusammenhängende Dateien („contiguous files“) als reguläre." -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Versuche symbolische Verknüpfungen als harte Verknüpfungen herauszuholen." -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "Kann „%s“ nicht herausholen – Datei ist Fortsetzung eines anderen Teils." -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Unerwarteter Kopfteil mit langem Namen" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Unbekannter Dateityp „%c“, wie normale Datei extrahiert." -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Aktuelles %s ist neuer oder hat dasselbe Alter." -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Konnte keine Sicherheitskopie von dieser Datei erstellen" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Kann %s nicht in %s umbenennen." -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Verzeichnis wurde von „%s“ umbenannt." -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Verzeichnis wurde umbenannt." - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "Verzeichnis „%s“ ist neu." -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "Datei %s liegt auf einem anderen Dateisystem; nicht gesichert." + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Verzeichnis wurde umbenannt." + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Ungültiger Zeitstempel" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Ungültige Änderungszeit (Sekunden)." -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Ungültige Änderungszeit (Nanosekunden)." -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Ungültige Gerätenummer" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Ungültige Inode-Nummer" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Feld zu lang beim Lesen der Schnappschussdatei" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Lesefehler in Schnappschussdatei" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Unerwartetes Dateiende im Schnappschussdatei." -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Unerwarteter Feldwert in Schnappschussdatei" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Fehlender Record-Abschluss" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "unzulässiges inkrementelles Dateiformat" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nicht unterstützte Version des inkrementellen Formats: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Fehlgeformtes Verzeichnis für Dump: „%c“ erwartet, aber %#3o gefunden" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ dupliziert" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „R“" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Fehlgeformtes Verzeichnis für Dump: „T“ folgt nicht „R“" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „T“" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Fehlgeformtes Verzeichnis für Dump: „%c“ erwartet, aber Ende der Daten " "gefunden" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ nie benutzt" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kann kein temporäres Verzeichnis mit der Schablone %s anlegen" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Entferne Verzeichnis nicht: kann nicht zugreifen" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Verzeichnis liegt auf einem anderen Dateisystem: entferne nicht." -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Lösche %s.\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kann nicht entfernen." -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Ausgelassen" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "Block %s: ** Block aus NULlen **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "Block %s: ** Ende der Datei **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "Block %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Leerzeichen im Kopfteil, wo numerische %s-Werte stehen sollten." #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs, nehme Zweierkomplement an?" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Archiv enthält veraltete Base64-Kopfteile" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Base64-Text %s außerhalb des %s-Bereichs." -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Base-256-Wert ist außerhalb des %s-Bereichs." #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archiv enthält „%.*s“ wo numerische %s-Werte stehen sollten." #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Wert %s außerhalb des %s-Bereichs %s..%s." -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " Verknüpfung zu %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " unbekannter Dateityp %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "––Lange Verknüpfung––\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "––Langer Name––\n" @@ -1257,57 +1286,73 @@ msgstr "––Langer Name––\n" # Alte Üs: Band Kopfteil. Kann diese Meldung auch bei Disketten # ausgegeben werden? Dann kann man ja nicht "Band" sagen; am besten # einfach "Volume" lassen. ke. -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "––Vorspann des Teils––\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "––Fortgesetzt bei Byte %s––\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Erzeuge Verzeichnis:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Kann Arbeitsverzeichnis nicht ermitteln." - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Benenne „%s“ in „%s“ um.\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Kann nicht in %s umbenennen" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Benenne „%s“ zurück in „%s“.\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Datei gelöscht, bevor sie gelesen wurde." -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "Kindprozess" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "Interprocess-Kanal" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "„%s“-Befehl gescheitert." + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: Dateiliste schon gelesen" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "kann an „%s“ keine Zeit setzen" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1315,55 +1360,56 @@ msgstr "" "Benutzen Sie --wildcards, um Musterüberdeckung zu ermöglichen oder\n" "--no-wildcards, um diese Warnung zu unterdrücken." -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nicht im Archiv gefunden." -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Erforderliches Auftreten nicht im Archiv gefunden." -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Kennzeichnung des Archivs passt nicht" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "Option -C in Dateiliste ist nicht erlaubt mit --listed-incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "In --listed-incremental ist nur eine Option -C erlaubt" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Die beiden Optionen „-%s“ und „-%s“ verlangen Standard-Eingabe." -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Ungültiges Archivformat" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-Erweiterungen bei einem inkompatiblen Archiv-Format verlangt." -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Unbekannter Zitatstil „%s“. Versuchen Sie „%s --quoting-style=help“ für eine " "Liste." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1380,9 +1426,10 @@ msgstr "" " tar -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen\n" " tar -xf archiv.tar # alle Dateien aus archiv.tar extrahieren\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1404,79 +1451,79 @@ msgstr "" " vorhanden sind, sonst einfache\n" " never, simple immer einfache Sicherheitskopien\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Hauptsächlicher Arbeitsmodus:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "den Inhalt eines Archivs auflisten" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "Dateien aus einem Archiv extrahieren" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "ein neues Archiv anlegen" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "Unterschiede zwischen Archiv und Dateisystem suchen" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "Dateien hinten an das Archiv anfügen" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "nur Dateien anfügen, die neuer als die Kopie im Archiv sind" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "tar-Dateien an ein Archiv anfügen" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "aus dem Archiv löschen (nicht auf Magnetband!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "den Archiv-Teil-Namen überprüfen und beenden" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Feineinstellungen:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "löchrige Dateien („sparse files“) effizient behandeln" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "zu benutzende Version des Sparse-Formats setzen (impliziert --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "inkrementelle Sicherung im alten GNU-Format" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "inkrementelle Sicherung im neuen GNU-Format" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "Niveau für erzeugte Archive mit --listed-incremental ausgeben" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "kein Abbruch mit Existatus!=0 bei unlesbaren Dateien" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1488,125 +1535,136 @@ msgstr "" "list und wenn eine Dateiliste entweder auf der Kommandozeile oder mittels " "der Option -T angegeben wurde benutzt werden; Zahl ist standardmäßig 1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "im Archiv kann positioniert werden" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "im Archiv kann nicht positioniert werden" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "Gerätenummer bei Erstellung inkrementeller Archive nicht prüfen" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "Gerätenummer bei Erstellung inkrementeller Archive prüfen (Voreinstellung)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Steuerung des Überschreibens:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "Archiv nach dem Schreiben prüfen" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "Dateien nach dem Hinzufügen zum Archiv löschen" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "vorhandene Dateien beim Extrahieren nicht überschreiben" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "vorhandene Dateien beim Extrahieren nicht überschreiben" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "vorhandene Dateien, die neuer als die Archivkopie sind, nicht überschreiben" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "vorhandene Dateien beim Extrahieren überschreiben" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "zu überschreibende Dateien vor dem Extrahieren löschen" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" "Verzeichnishierarchien rekursiv vor dem Extrahieren eines Verzeichnisses " "löschen" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "Metadaten existierender Verzeichnisse erhalten" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "Metadaten existierender Verzeichnisse beim Extrahieren überschreiben " "(Voreinstellung)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "vorhandene Dateien beim Extrahieren überschreiben" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Wahl des Ausgabestroms:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "Dateien auf die Standardausgabe extrahieren" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "BEFEHL" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "extrahierte Dateien an ein anderes Programm weiterreichen" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "Exitstatus der Kinder ignorieren" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "Exitstatus!=0 von Kindern als Fehler ansehen" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Behandlung der Datei-Attribute:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "Eigentümer für hinzugefügte Dateien auf NAME setzen" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "Gruppe für hinzugefügte Dateien auf NAME setzen" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATUM-ODER-DATEI" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "Änderungszeit für hinzugefügte Datei aus DATUM-ODER-DATEI beziehen" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ÄNDERUNGEN" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "den (symbolischen) Modus ÄNDERUNGEN für hinzugefügte Dateien erzwingen" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METHODE" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1617,11 +1675,11 @@ msgstr "" "oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden (METHODE=" "„system“)" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "die geänderte Zeit nicht extrahieren" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1629,23 +1687,23 @@ msgstr "" "versuchen, die Dateien mit denselben Eigentumsverhältnisse zu extrahieren " "(für den Admin ist dies die Voreinstellung)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "Dateien als aktueller Nutzer extrahieren (für normale Nutzer die " "Voreinstellung)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "immer Zahlen für Nutzer-/Gruppennamen verwenden" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "Informationen über Dateizugriffsrechte mit extrahieren (Voreinstellung für " "Root)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1653,15 +1711,16 @@ msgstr "" "die Umask des Nutzers anwenden beim Extrahieren von Dateizugriffsrechte aus " "dem Archiv (Voreinstellung für normale Nutzer)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "zu entpackende Dateinamen wie im Archiv sortieren" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "wie -p und -s zusammen" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1669,139 +1728,180 @@ msgstr "" "das Setzen von Zugriffszeiten und Rechten von extrahierten Verzeichnissen " "verschieben bis zum Ende des Entpackens" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "den Effekt von --delay-directory-restore aufheben" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Behandlung der Datei-Attribute:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Geräteauswahl und -umschaltung:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "Archivdatei oder Gerät ARCHIV benutzen" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "Archivdatei ist lokal, auch wenn der Name einen Doppelpunkt enthält" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "statt „rmt“ den gegebenen BEFEHL benutzen" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "statt „rsh“ den entfernten BEFEHL benutzen" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "Laufwerk und Schreibdichte angeben" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "mehrteiliges Archiv anlegen/listen/extrahieren" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "Medium wechseln, wenn ZAHL × 1024 Bytes geschrieben wurden" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "am Ende jedes Mediums das Skript ausführen (impliziert -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "Teil-Nummer in DATEI benutzen/aktualisieren" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blockung des Gerätes:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLÖCKE" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLÖCKE × 512 Bytes pro Record" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ZAHL Bytes pro Record, Vielfaches von 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "Blöcke mit Nullen im Archiv ignorieren (heißt EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "erneut Blocken beim Lesen (für 4.2BSD‐Pipes)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Auswahl des Archiv-Formats:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "Archiv mit dem gegebenen Format anlegen" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT ist eines der folgenden:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "altes V7-tar-Format" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU-Format wie mit tar <=1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU-tar-1.13.x-Format" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Format von POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Format von POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "wie pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "wie --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "wie --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "Pax-Schlüsselwörter steuern" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1809,78 +1909,78 @@ msgstr "" "Archiv mit dem Teilnamen TEXT anlegen; beim Listen/Extrahieren, TEXT als " "Muster für den Teilnamen benutzen" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Kompressionsoptionen:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "Archiverweiterung nehmen, um Kompressionsprogramm zu bestimmen" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "Archiverweiterung nicht nehmen, um Kompressionsprogramm zu bestimmen" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "durch PROG filten (muss -d akzeptieren)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Auswahl der lokalen Dateien:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "angegebene Datei zum Archiv hinzufügen (nützlich, wenn Datei mit einem " "Strich beginnt)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "VERZEICHNIS" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "zu VERZEICHNIS wechseln" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T liest null-terminierte Namen, verbiete -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "die Wirkung der vorangehenden Option --null aufheben" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "Dateinamen, die mit -T gelesen werden, von Zitat befreien (Voreinstellung)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "Dateinamen, die mit -T gelesen werden, nicht von Zitat befreien" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MUSTER" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "Dateien auslassen, auf die MUSTER passt" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1888,97 +1988,99 @@ msgstr "" "Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der " "Markierungsdatei selbst" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" "alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "Inhalt von Verzeichnissen auslassen, die DATEI enthalten, außer DATEI selbst" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "Verzeichnisse auslassen, die DATEI enthalten" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "Verzeichnisse von Versionskontrollsystemen auslassen" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "Backup- und Lock-Dateien ausschließen" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "automatischen Abstieg in Vezeichnisse vermeiden" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "beim Anlegen eines Archivs im lokalen Dateisystem bleiben" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "in Verzeichnisse absteigen (Voreinstellung)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "führende „/“-Zeichen in den Dateinamen erhalten" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "symbolischen Verknüpfungen folgen; die Dateien archivieren und abspeichern, " "auf die sie zeigen" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "harten Verknüpfungen folgen; die Dateien archivieren und abspeichern, auf " "die sie sich beziehen" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "ELEMENT-NAME" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "mit ELEMENT-NAME im Archiv beginnen" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "nur Dateien ablegen, die neuer als DATUM-ODER-DATEI sind" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "Datum und Zeit nur überprüfen, wenn Daten geändert wurden" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "KONTROLLE" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "Sicherung vor dem Entfernen, wähle Versions-KONTROLLE" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "ZEICHENKETTE" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1986,98 +2088,101 @@ msgstr "" "Sicherung vor dem Entfernen, übliches Suffix ersetzen („~“, wenn nicht durch " "Umgebungsvariable SIMPLE_BACKUP_SUFFIX anders gesetzt)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Dateinamentransformationen:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "ZAHL führende Komponenten beim Extrahieren von Dateinamen entfernen" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "AUSDRUCK" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "den sed-AUSDRUCK zur Dateinamentransformation benutzen" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Dateinamenauswahloptionen (sowohl für ein- als auch ausschließende Muster):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "Groß-/Kleinschreibung ignorieren" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "Muster am Dateinamensanfang ausrichten" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "Muster benutzen (Voreinstellung für Ausschluss)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "Zeichenketten sind buchstabengetreu" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "Jokerzeichen passen nicht auf „/“" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informationen:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "bearbeitete Dateien ausführlich listen" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "SCHLÜSSELWORT" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "Warnungssteuerung" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Fortschrittsnachrichten bei jedem ZAHLten Record (Voreinstellung 10) anzeigen" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "AKTION" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "AKTION bei jedem Kontrollpunkt ausführen" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" "eine Nachricht ausgeben, wenn nicht alle Verknüpfungen abgespeichert werden" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2089,31 +2194,35 @@ msgstr "" "wird; erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2; " "die Namen ohne das Präfix SIG sind auch erlaubt" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "Dateiänderungszeiten in UTC anzeigen" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "Dateizeit in voller Auflösung anzeigen" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "ausführliche Ausgabe in DATEI schreiben" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "bei jeder Nachricht die Blocknummer innerhalb des Archivs mit anzeigen" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "für jede Aktion um Bestätigung bitten" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "Voreinstellungen von tar anzeigen" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2121,93 +2230,86 @@ msgstr "" "beim Listen oder Extrahieren jedes Verzeichnis auflisten, dass nicht den " "Suchkriterien entspricht" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "Datei- oder Archivnamen nach der Transformation anzeigen" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STIL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "Zitatstil setzen; siehe unten für gültige STIL-Werte" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "zusätzliche Zeichen aus ZEICHENKETTE zitieren" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "Zeichen aus ZEICHENKETTE nicht zitieren" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Kompatibilitätsoptionen:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "beim Anlegen wie --old-archive; beim Extrahieren wie --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Weitere Optionen:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "möglicherweise schädliche Optionen deaktivieren" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Von den Optionen „-Acdtrux“ oder „--test-label“ ist jeweils nur eine erlaubt" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Kompressionsoptionen schließen sich gegenseitig aus." -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Unbekannter Signalname: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Datumsdatei nicht gefunden" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Ersetze %s für unbekanntes Datumsformat %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Option %s: Behandle Datum „%s“ als %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: Dateiliste schon gelesen" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "Archiv durch %s filtern" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Gültige Argumente für die Option --quoting-style sind:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2215,51 +2317,48 @@ msgstr "" "\n" "*Dieses* „tar“ hat als Voreinstellung:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Ungültiger Benutzer" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Ungültige Blockgröße" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Ungültige Bandlänge" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "unzulässiger Wert für inkrementelles Niveau" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Mehr als ein Datum angegeben." -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Ungültiger Wert für Sparse-Version (für löchrige Dateien)" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' wird auf dieser Plattform nicht unterstützt" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "Wert für --checkpoint ist keine ganze Zahl" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Ungültige Gruppe" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Ungültige Zugriffsrechte angegeben." -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Ungültige Zahl" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Ungültiger Benutzer" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2267,121 +2366,151 @@ msgstr "" "Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-" "permissions --preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Ungültiger Wert für Recordgröße." -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Die Recordgröße muss ein Vielfaches von %d sein." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Ungültige Elementanzahl" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Nur eine Option --to-command erlaubt" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Fehlgeformtes Dichteargument: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Unbekannte Dicht: „%c“" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Die Optionen „-[0-7][lmh]“ unterstützt *dieses* „tar“ nicht." -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[DATEI]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Die alte Option „%c“ benötigt einen Parameter." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence ist ohne Dateiliste bedeutungslos" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "" "--occurrence kann im angeforderten Operationsmodus nicht benutzt werden" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Mehrere Archivdateien verlangen die Option „-M“." -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental kann nicht mit --newer benutzt werden" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level ist ohne --listed-incremental bedeutungslos" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Band-Nummer ist zu lang (Maximum ist ein Byte)." msgstr[1] "%s: Band-Nummer ist zu lang (Maximum ist %lu Bytes)." -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Kann mehrteilige Archive nicht prüfen." -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Kann komprimierte Archive nicht prüfen" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Muster %s kann nicht benutzt werden" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Kann keine mehrteiligen komprimierten Archive verwenden." -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Kann komprimierte Archive nicht aneinanderhängen" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Muster %s kann nicht benutzt werden" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Teillänge kann nicht unter der Recordgröße liegen" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order ist nicht kompatibel mit --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Anlegen eines leeren Archivs wird feige verweigert." -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Die Optionen „-Aru“ sind nicht kompatibel mit „-f -“." -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Eine der Optionen „-Acdtrux“ oder „--test-label“ ist notwendig." -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Beende mit Fehlerstatus aufgrund vorheriger Fehler" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2393,51 +2522,47 @@ msgstr[1] "%s: Datei ist um %s Bytes geschrumpft." msgid "Keyword %s is unknown or not yet implemented" msgstr "Schlüsselwort %s ist unbekannt oder noch nicht implementiert" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Zeitstempel außerhalb des zulässigen Bereichs" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Muster %s kann nicht benutzt werden" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Schlüsselwort %s kann nicht überschrieben werden" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Fehlgeformter erweiterter Kopfteil: fehlende Länge" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Länge des erweiterten Kopfteils ist außerhalb des erlaubten Bereichs" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Länge %*s des erweiterten Kopfteils ist außerhalb des Bereichs" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Leerraum nach der Länge" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Fehlgeformter erweiterter Kopfteil: fehlendes Gleichheitszeichen" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Zeilenvorschub" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignoriere unbekanntes Schlüsselwort „%s“ für erweiterten Kopfteil" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2445,67 +2570,67 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Erweiterter Kopfteil %s=%s ist außerhalb des Bereichs %s..%s." -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Fehlgeformter erweiterter Kopfteil: ungültiges %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Fehlgeformter erweiterter Kopfteil: überzähliges %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Fehlgeformter erweiterter Kopfteil: ungültiges %s: unerwarteter Trenner %c" # Ist „odd“ hier ungerade oder merkwürdig? -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" "Fehlgeformter erweiterter Kopfteil: ungültiges %s: ungewöhnliche Anzahl von " "Werten" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: kein gültiger Zeitüberschreitungswert" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: unbekannte Kontrollpunkt-Aktion" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "lesen" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "schreiben" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Schreib-Kontrollpunkt %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Lese-Kontrollpunkt %u" @@ -2655,7 +2780,7 @@ msgstr "Zahl außerhalb des zulässigen Bereichs: %s" msgid "Negative size: %s" msgstr "Negative Größe: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) fehlgeschlagen" @@ -2684,8 +2809,8 @@ msgstr "Unbekanntes Datumsformat" msgid "[ARGS...]" msgstr "[ARGUMENTE...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "kann „%s“ nicht öffnen" @@ -2699,68 +2824,100 @@ msgstr "kann nicht positionieren" msgid "file name contains null character" msgstr "Dateiname enthält Null-Zeichen" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "kann auf der Standardausgabe keine löchrige Datei erstellen, benutzen Sie " "die Option --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "inkorrekte Maske (nahe „%s“)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "unbekannte Feld „%s“" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "kann an „%s“ keine Zeit setzen" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "kann „%s“ nicht entfernen (unlink)" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "„%s“-Befehl gescheitert." + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "kann „%s“ nicht entfernen (unlink)" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Befehl erfolgreich ausgeführt\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Befehl schlug mit Beendigungsstatus %d fehl.\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Befehl beendete sich bei Signal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Befehl hieltb bei Signal %d an\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Befehl erzeugte einen Core-Dump\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Befehl beendet\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat erfordert Dateinamen" +#~ msgid "Cannot get working directory" +#~ msgstr "Kann Arbeitsverzeichnis nicht ermitteln." + +#~ msgid "sort names to extract to match archive" +#~ msgstr "zu entpackende Dateinamen wie im Archiv sortieren" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Feld zu lang beim Lesen der Schnappschussdatei" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Lesefehler in Schnappschussdatei" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Unerwarteter Feldwert in Schnappschussdatei" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "" +#~ "Länge des erweiterten Kopfteils ist außerhalb des erlaubten Bereichs" + +#~ msgid "Invalid group" +#~ msgstr "Ungültige Gruppe" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Verzeichnis gelöscht, bevor es gelesen wurde." diff --git a/po/el.gmo b/po/el.gmo index f1860aac4340895aa5edbc243a18d781e00de036..1f4e0e14b786b0bd2464da7079a0043874a00d5b 100644 GIT binary patch delta 2575 zcmX}sdrXye9LMo5_qfPiE`iF$yAkJbqU5505<+NXpeRD2C}MUbl`fm&v8|k8%TO%0 z%CvZx!P>AX#JtMxy4%V&pAK(?R=lt?|IJi{4U?;_j^tZ zOzsHWNRK{dlmQ~27>hD{4?E*HP_D(BCE<0q0#TJ~2-I$31ti%yi$5$~2Z=(j5$e|2#uo#rF&9s}|G&irod1I57@KVN z09KZNQdq#N3w72$UC$i z47G!LWy7eoa0=DoCFhUG&&D~-z<<+u{|wUdxr?`8C8!50Q4O}E-nAcf-vL~RZ{r-i zh#J5xRKx0BnaV&tSBh%45p~}h)boDSgpOyDe>F791-;WNsF~ez=M%`!k{OLGMs1A6 zsE%q;i>(v2*mh$C9zjiH1X=L*iTi)dUH=(bE_P4(*Sm_P6?HHdwN0u}GhT}^xD~bd z{HXf}(1RoRAw7PL>d?=$OK}Km@dDQ4Kd6b;GRqe1#iucFo=Pv3EP8zr2eAq7Vl~z< zO*OC=Yw=5@EsLbLD$K(QY{x+y##T(>1wVp4$k^;1d>%i=Hk?no>a_m{sdRGT3*3PD zOivHKg!;go!Ik(u?!lr0v-Nla`|uvl$BnE^rG5yt7G6g^|31#eudoZpaThkRRrb-p zjZx8vtJp)E@i4xN6L<`VX{8(Ik-tVfh=X_?w_ppcci=hf$JBZ3dEAdW{}cV#!6>`& zG7jMaJ{n8u-_BBb5bxk7EMkdjMz7*({1}&_HoZEmL1pSBdNG1M`vUrqG1*6`30=d7 zaCS-fRjx-a*;`1Hb_oM&_-}Wigi)yDb*PlR>>NckbQSqoG%HNc`LG;!p$0OFT9iNG zUQFcV89az|VRw*ZTOl{MV7-_8t1`j`y{ntpgz;tJOthj#dLGr`Z&-~5zVLv$P;21` zs^htY~%k6wynlq!OF;{+o#vgtn7P29Zl>Ci#R)8nKG# zCm4LFJm!pbPSHn2+0;x`VhCkTMekpwA&do--W|j=VhzCrLxt@h%19itfJ0kGe*+e9v?H5JV6Uxd)?f;onrb;oDBzIDYkGlF=)WT^cqTRJA zmQYD|Cyl6e@GQYLx95ndvYN_PLOZ9M2p96Ny<6u_w;;R9dWa{8Wa4pRI#EDm5;eq1 zLhB%r$Rkv?6YGe@I-xunCUo4!k);q?8@o}vtd?j}3RN}{_l0WV@A6LS`U-0GYGJhz zY>v=ktiUWnpJ5di{r^R~K?_yecUjPz5E*~8F5|o4#mqxdslF1gr^HiUQ0A-jdKP(n U!LFQ`?BFY@P=nU@667;$Me4L zmfQYa;mA*^9d;VZ8e#zPYkOn%;K5FOP{wpIrW+PuU!01MU>QD&jhKRaQSV1_1fIpg zXu29R4lH~K7h*4Lz;t6G<~1sPxbXq@#G^O}zrfyj8OP#nRL7$k&4V}}HLwsLx!8z9 zFp3)Jcc^x*q25bjl+ugprxXX#zwuGY;YJgxfmVDN&tody!X)h8-I$Kp6Z>I0>iZmg z94BKw`f)gZh|0h>n1$DIDh}*nOdk3$lm1OJ6^-mPs)0-B#Q_Xc7GZx}hZ@*Bs0L5E z*H=&j??PVHPByCJ5~L}!3N@hhn1(HA;VFzL^%tqA;hU%j`!g-7W;*8Ld{jeQQO~`P ztcHmpYiPbgrybOi-9+t$?(|0TOctu+0@ots5mS*y{s&SCbAw5k?Z|SOJ*Wl_qZSzV>&%DZqHsvl%!nOz%%`}Fb81sYs zz-9M-M@FL*4neJH4yvOP)N!gpWn?`j<95_0ZALx68Jb=er81Gq zZ#Wr;(W+*;0*moYT#Og63JaM|1MbJC(W15SxE%HVKAebGQJM9yzTi*xWToPk#{gax_A zyo`r%IcDauv2Z7{TIMts<0aQo^sXh{jM}6JP#L>{8u(mBp#e4JlYh^8A(9DYv4+q-qC}h@ zi7>Ur&UNBL$K-AaP^l%9zV5`6ghkX70|*r@T`#AW`0+_~>m89(YhECf#TSWUqKME5 zaOU6Nsql-3vx#TjYti1V&vIpdnFrkZTwF;M5`Bqsf)nWcjjzVLWg(Sz#7v@&C?&KB zRmLg*>^bLuIP)-t(9zSL=s;-qYTbJhi-;+NN;;u^uuK<}An`n*Q=<)?Mm#~NXv3;B zBrwmovW3hPA0M3vew55AqKxQ4s7y~_p2N<>Aop76R4gTW6APkeI=Abb9BA-Y26voF zJr^ln>9YcL;hKQoDj&Ku!wOces;>!FhO7#|RS{fPUt8%9XPaW@iI7$985+vqE1z3i z5(rmY4Hf>d6$*2=BIvVf{B`x=dtN9E*7HWNk}sA9YU?V(HA_}jS`9V4SnjFHw>%m5 zJiNf`8C|wuWo>m?hUE{?YJFW@AQ-OnSxeSfnc?c1P^J~G2u9yd+tR*gj>ntl$;q{H za>nN8WqEU>x#`L2>G2Jgea!xZh}p;E8|@b2XnaF-c=m;)h<(I9!8ZpjyEWcOz9qh%izfS|eI(o1yX|BDf9nuECGue(*K2n#{%a)`-)gs6 z&bMuJ)MoE^cT{TRzD+rqV&tuQi4pLEnvFNbH!+5f8Qw-)opRA?DS67>{l;}~CfzpU xo0wm0674A?>*?TAjfyLEquIx|SedwqTP=25rlkiHgV9ql($(Umzl%56>0jKZ8|?r9 diff --git a/po/el.po b/po/el.po index db286c88..8801d262 100644 --- a/po/el.po +++ b/po/el.po @@ -3,12 +3,12 @@ # Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) , 2004. # Simos Xenitellis , 2004. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.13.25 \n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2004-03-08 14:44+0200\n" "Last-Translator: Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) \n" @@ -30,69 +30,68 @@ msgid "ambiguous argument %s for %s" msgstr "αμφιλεγόμενο όρισμα %s για %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Έγκυρα ορίσματα είναι:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Χρήση: %s [ΕΠΙΛΟΓΉ]...\n" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Προσπαθήστε `%s --help' για περισσότερες πληροφορίες.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Αναφορά σφαλμάτων στο .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Άγνωστο σφάλμα συστήματος" @@ -104,7 +103,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -125,17 +124,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -143,62 +141,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: η επιλογή`%s' είναι αμφιλεγόμενη\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: η επιλογή `--%s' δεν επιτρέπει όρισμα\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: η επιλογή `%c%s' δεν επιτρέπει όρισμα\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: μη αναγνωρίσιμη επιλογή `--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: άκυρη επιλογή -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: η επιλογή απαιτεί όρισμα -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: η επιλογή `-W %s' δεν επιτρέπει όρισμα\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "η μνήμη εξαντλήθηκε" @@ -214,28 +212,30 @@ msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχο #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -245,7 +245,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -255,7 +255,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -527,7 +527,12 @@ msgstr "κανονική έξοδος" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Δεν είναι δυνατή η εκτέλεση απομακρυσμένου κελύφους (φλοιού)" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Δεν είναι δυνατή η εκτέλεση απομακρυσμένου κελύφους (φλοιού)" @@ -583,8 +588,8 @@ msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην α msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -592,8 +597,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -608,7 +613,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -617,9 +622,9 @@ msgstr "" msgid "Garbage command" msgstr "Εντολή απορριμμάτων" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Αυτό δεν φαίνεται ως αρχειοθήκη tar" @@ -659,63 +664,63 @@ msgstr "" msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Στην αρχή της ταινίας, τερματισμός τώρα" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Πάρα πολλά σφάλματα, τερματισμός" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Μέγεθος εγγραφής = %lu block" msgstr[1] "Μέγεθος εγγραφής = %lu block" -#: src/buffer.c:913 +#: src/buffer.c:914 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Μη ευθυγραμμισμένο μπλοκ (%lu byte) στην αρχειοθήκη" msgstr[1] "Μη ευθυγραμμισμένο μπλοκ (%lu byte) στην αρχειοθήκη" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: περιέχει άκυρο αριθμό τόμου" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Υπερχήλιση αριθμού τόμου" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Προετοίμασε τον τόμο #%d για %s και πάτα το πλήκτρο επιστροφής γραμμής" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF (Τέλος Αρχείου) ενώ η απάντηση του χρήστη αναμενότανε" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η αρχειοθήκη είναι ημιτελής" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -727,468 +732,492 @@ msgstr "" " ! Παραγωγή νέου υπό-φλοιού\n" " ? Εκτύπωση αυτής της λίστας\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Κανένας νέος τόμος; έξοδος\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, fuzzy, c-format msgid "%s command failed" msgstr "`%s' η εντολή απέτυχε" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s είναι το εσφαλμένο μέγεθος (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Αυτός ο τόμος είναι εκτός συνέχειας" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Ο τόμος %s δεν ταιριάζει %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "" -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Δυνατή μόνο η ανάγνωση %lu από %lu byte" msgstr[1] "Δυνατή μόνο η ανάγνωση %lu από %lu byte" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Τα περιεχόμενα διαφέρουν" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Οι τύποι αρχείων διαφέρουν" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Οι καταστάσεις διαφέρουν" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Ταυτότητες χρήστη διαφέρουν" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Ταυτότητες ομάδας διαφέρουν" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Ώρες τροποποίησης διαφέρουν" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Τα μεγέθη διαφέρουν" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Δεν είναι συνδεδεμένο με %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Οι σύνδεσμοι διαφέρουν" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Οι αριθμοί των συσκευών διαφέρουν" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Επαλήθευση " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Άγνωστος τύπος αρχείου '%c', εκτέλεση της diff ως κανονικό αρχείο" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)" msgstr[1] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "η τιμή %s είναι εκτός του %s εύρος %s..%s; αντικαταστήθηκε από %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "η τιμή %s είναι εκτός του %s εύρους %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Παράχθηκαν αρνητικές οκταδικές επικεφαλίδες" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:622 +#: src/create.c:611 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά" msgstr[1] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Άγνωστος τύπος αρχείου; το αρχείο αγνοήθηκε" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " σύνδεσμος σε %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: αρχείο τροποποιήθηκε κατά την ανάγνωση" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: η υποδοχή αγνοήθηκε" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: η πόρτα αγνοήθηκε" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Παραλείποντας στην επόμενη επικεφαλίδα" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Διαγραφή μη-επικεφαλίδων από την αρχειοθήκη" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: η ένδειξη χρόνου %s είναι %lu s στο μέλλον" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Μη αναμενόμενη ανακολουθία κατά την δημιουργία του καταλόγου" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Ο κατάλογος μετονομάστηκε πριν η κατάστασή του γίνει μη εξαγώγιμη" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Εξαγωγή συνεχόμενων αρχείων ως κανονικών αρχείων" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Προσπάθεια εξαγωγής των συμβολικών συνδέσμων ως σθεναρών συνδέσμων" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Δεν είναι δυνατή η εξαγωγή -- το αρχείο συνεχίζεται σε άλλο τόμο" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Άγνωστος τύπος αρχείου '%c', εξαγωγή ως κανονικό αρχείο" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Δεν είναι δυνατή η αποθήκευση αυτού του αρχείου" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Ο κατάλογος έχει μετονομαστεί" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Ο κατάλογος έχει μετονομαστεί" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Ο κατάλογος είναι καινούριος" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Ο κατάλογος έχει μετονομαστεί" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Άκυρη ένδειξη χρόνου" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Άκυρος αριθμός συσκευής" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Άκυρος αριθμός i-κόμβου" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Δεν είναι δυνατή η δέσμευση μνήμης για τον συντελεστή ομαδοποίησης %d" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Διαγραφή %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Δεν είναι δυνατή η απομάκρυνση" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Παράλειψη" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "μπλοκ %s: ** Μπλοκ με χαρακτήρες NUL **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "μπλοκ %s: ** Τέλος Αρχείου **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "μπλοκ %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Κενά στην επικεφαλίδα ενώ αναμενόταν αριθμητική τιμή %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1196,164 +1225,179 @@ msgstr "" "συμπληρώματα" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Αρχειοθήκη οκταδικής τιμής %.*s είναι εκτός του %s εύρους" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του " "%s εύρους" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Η αρχειοθήκη με base-256 τιμές είναι εκτός του %s εύρους" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Η αρχειοθήκη περιέχει %.*s όπου αριθμητικές %s τιμές αναμένονται" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " σύνδεσμος σε %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " άγνωστος τύπος αρχείου %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Επικεφαλίδα Τόμου--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Συνέχιση στο byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Δημιουργία καταλόγου:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Μετονομασία %s σε %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Μετονομασία %s πίσω στο %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "θυγατρική διεργασία" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "κανάλι μεταξύ διεργασιών" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "`%s' η εντολή απέτυχε" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Οι επιλογές `-%s' και `-%s' απαιτούν κανονική είσοδο" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Άκυρη ομάδα" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Τα χαρακτηριστικά GNU απαιτούν μη συμβατή διαμόρφωση αρχειοθήκης" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1371,10 +1415,10 @@ msgstr "" "archive.tar με λεπτομέρειες.\n" " %s -xf archive.tar # Εξάγει όλα τα αρχεία από το archive.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1394,80 +1438,80 @@ msgstr "" "διαφορετικά\n" " never, simple πάντα κάνε απλά αντίγραφα\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1475,565 +1519,614 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "" + +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 #, fuzzy msgid "extract files to standard output" msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Συγκρουόμενες επιλογές συμπίεσης" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Απομακρύνονται τα αρχικά `%.*s' από τα ονόματα των μελών" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "Ο τόμος %s δεν ταιριάζει %s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2041,301 +2134,318 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Ίσως δεν καθορίσατε παραπάνω από μία επιλογή `-Acdtrux'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Συγκρουόμενες επιλογές συμπίεσης" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " άγνωστος τύπος αρχείου %s\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Το αρχείο ημερομηνίας δεν βρέθηκε" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Αντικατάσταση %s για άγνωστη διαμόρφωση ημερομηνίας %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 -#, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε" - -#: src/tar.c:1201 +#: src/tar.c:1108 #, c-format -msgid "%s: file name read contains nul character" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Άκυρος ιδιοκτήτης" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Άκυρος συντελεστής ομαδοποίησης" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Άκυρο μέγεθος ταινίας" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Παραπάνω από ένα όριο ημερομηνίας" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Άκυρη ομάδα" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή" -#: src/tar.c:1912 +#: src/tar.c:1858 #, fuzzy msgid "Invalid number" msgstr "Άκυρος αριθμός i-κόμβου" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Άκυρος ιδιοκτήτης" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Άκυρο μέγεθος εγγραφής" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Το μέγεθος της εγγραφής πρέπει να είναι πολλαπλάσιο του %d." -#: src/tar.c:2019 +#: src/tar.c:1975 #, fuzzy msgid "Invalid number of elements" msgstr "Άκυρο μέγεθος ταινίας" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr " άγνωστος τύπος αρχείου %s\n" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "" "Οι επιλογές `-[0-7][lmh]' δεν υποστηρίζονται από *αυτήν* την εντολή tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Παλιά επιλογή `%c' απαιτεί όρισμα." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Πολλαπλά αρχεία αρχειοθηκών απαιτούν την επιλογή `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Η ετικέτα του τόμου είναι πολύ μεγάλη (το όριο είναι %lu byte)" msgstr[1] "%s: Η ετικέτα του τόμου είναι πολύ μεγάλη (το όριο είναι %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Δεν είναι δυνατή η επαλήθευση των συμπιεσμένων αρχειοθηκών" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Δεν είναι δυνατή η χρήση πολλαπλών συμπιεσμένων αρχειοθηκών" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Αρνούμαι δειλά στη δημιουργία μίας κενής αρχειοθήκης" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Οι επιλογές `-Aru' δεν είναι συμβατές με `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Πρέπει να καθορίσεις μία από τις επιλογές `-Acdtrux'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2347,117 +2457,113 @@ msgstr[1] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Η ένδειξη χρόνου είναι εκτός εύρους" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "" "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του " "%s εύρους" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Άκυρη ομάδα" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Εγγραφή σημείου ελέγχου %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Ανάγνωση σημείου ελέγχου %d" @@ -2595,7 +2701,7 @@ msgstr "Ο αριθμός του i-κόμβου είναι εκτός εύρου msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2624,8 +2730,8 @@ msgstr "Άγνωστο σφάλμα συστήματος" msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "" @@ -2640,66 +2746,84 @@ msgstr "Δεν είναι δυνατό το κλείσιμο" msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " άγνωστος τύπος αρχείου %s\n" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "`%s' η εντολή απέτυχε" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Η θυγατρική διεργασία τερματίστηκε με το σήμα %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Κατακερματισμένα ονόματα αρχείων--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Άκυρη ομάδα" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε" diff --git a/po/eo.gmo b/po/eo.gmo new file mode 100644 index 0000000000000000000000000000000000000000..76463cbadea0ec195ee1338401b3ec35ba844b51 GIT binary patch literal 51581 zcmbWA34C2;ng0)?pcX`tMFEk+Qqn+gy0E7d8rrlJ+N2~Ys|YvAO?s1?d*i*iEiH(< zptvh8NEH?LUB`VLY~6RqWgNxPnNd+@-2NjjqyE3Y=Xu|A&rQ;8?x&}}bKdiw_q@xq zzwdc--(wzn$3aPw9P|%KvJ^b;(Mj?F&R3v^Te*HccnsKCNRlpaRlpj!kn7iiM}WJ)Bf;;2s^c%g zlfmP8XdQSVcq;fD@R8s3Crj+@I0^+yc|?N+yst-w}Es) z@?W6df86pU;a{?x|4so*;4t`HQ2q1(sQNtQ%p}h!o^>;yrEcqLlf{S^{B5-5Ct>9z0ejTX%?*~r+e*kLS{uuCa=Q%B& z2R?-KZcy#N5Tpr75fuHs0u+7j1P=#49Po3X-t!$$bnpvMbaU$Y-cRd6hB$djz;}Tc zaQ!1t<9Qr|uKqh4JRKYY9}7Me)O%kEJ`8*FdGTnl~x)O-F6sy3E)S; z>f~xnmpvLDWFa=)>>iPG9 z9pKkM@#P;twd3GRyqzhi^3M&|mxb$LP~)%_R5`bX^m{k)-P~=kF;{eEAAc^6)EQC-`UZbnw&-NzwrO!5;9lpz3w-Mwbi6f$E2| zz{9{^Q2j9gJ`}8hYR?RK26z)Fx_Aqy@%bnydigr2a()4-pZ)~uxnuhrQ&8>f07d5; zK-J?}pyb7?!NbA#f$IOyfa>>egDLp0p!)HDLDlQ{ey6(>R5?pQ$+=#z3%nj&1-=k` zB=~hu{qZ9Zl1m=G$=}lt>bYTXDR?uu5PTQ782mP<{!cFVdM*N0zg3|4Xb=>AO@OM` zEuh-{%y9j@aQ!0iVA5X!N?zUts^2~W>OJ2C)t`R@Q}Cz(ACI#^_2h)^yD)6!+emY^u<>m%Z{ZIo{ujhh~2HyZ4 z34Q>)2K+pDD0uQ_#t`fR_1sOM>Ujrv6!<|oq!`ot^!xvk)tq~8uM0Y43jUVaVgy$^x~@JJec4A=vTey##l zpKYMpe|xz9F;M*VO;F`N@@g-)2UI^l85AAt1Wy5XgKF>npx*ZgI!FD#5PSr9cEF23 zjr;n5{op}dZw7n8D?#z=PEh549u)um8q_!)cCFWYId}utmxH30_k)iGe+;TU4}!{n z=o7tN%RsgNhJY^wMHim{7l2*YdAa9Iz3(@m=-}wG*W)Bm{csVeahe1* zF3$hgRpS& zEbw&jr=a@#kqvMEIpDcmUkz%UUjm9gKLjoZzYi`151sM*%Rr6i72r~EEBH9@EuhBh zGob4GW3UhWH8==f*z|h86jXVy0@ZJy0$i+9NjsLg7%fW+g z^8OkGHSV{7;-@=6wfm!>`sU+df+&(!SRKGtNRR7%r@-O*4{~f3FTbwSQ52}4{235a*1xLZ(fufTupX%wif}(@h zf@gzY1!3jnAy4yqR6xwLQN;pL#(`wCF?{XD309sr*Jp8O0Sj~-C+ zYzwIJUKj8S;6+^j7F0c!J=4eG22lO{JW%8LL-0iKAaeQ0*>*4+HN6 zRi8J2qVG=!{5tq(u73>nfWHCtzU8<2I9>y)-7f&ef1d!)2Y(K#ypwM8dR+*L{;mT> z54VF40q+4H2EG+kzrPohKKdD`{=V?JE?1i1Dz4uRs+?bg>Yo!}ipPSNf}P+ncmnu* zQ2E{to(X;*+zcLeySHN)RQf&ODY_5peg6v{0-pJN@5gRX z{l6Qo?*lL9`sbkXpZ)?L|0jZHaQ#fM8+;F_{`n;+x_{UUz5XYI8kY@V2l$kb{wA=C z>#u`q@81F*^CGWb7pU>y0IGi{!PCHJfy)05P<;DYFa^H{J_`IJcpmuh7khv8fVy7; zB|lyas(;=DJ{0^S_-OEJpvLdVpx*QEpx(dWB`&u*!K1l84-`H2fh)l(sBwBHX#EB* z=K4Nx5IppyUa#vx$%z_xF8Bs;8TbQG{dd^Q{P}g@!Cd!)>d(!f+FJ()!RLYM$NNC_ z^C2(y{yGUflIx2=(ZwJrx_w)?|L>s6Ip_}F1s)5k{L{d7;Oc<4gR8jyHYmC{>J^^< zTu^kg20R=b29E)s3?2>M7Or0lD&Ge|joY`uQ^5y7_3II@^y~9L_4{?8@>jvfg3k|l zPry$E{Ache?mqxZP9O9tfA0wa&jeN9^`P2U0T+SW!Lz_Ofa;&`fsX`#1s)3i2^4=E z{Az#yVW7%C71TJc0yW-K;7Q;Mz=hy@0)7Wv%JpAB(Zk|9J>LX)0oTt5SAbsx)ei^1 zCh!rc{&*s&a-RvR+&6)Uy5!5?3h?r~yxuPWAItUYLG{B&LG|C)!u=nEqUYa(YR?}* z(dFO6{mz}v2P;9*|C2!R%QHan@k>F`@25b?fzN>j@ay0O;9o(#xBIo;KmDNIKM6h# zycyJUcYx}z*McX2p8{2{AA)+{Pe7IPTTuB9d7Z!KG_aTJAyDITCwMOSW^faDA9xJ7 z3@!oh2UX8w-{}3Y7QBV) zYeDtb4?r6~aFpx6gQtL__qaU24b=0W1|JVT5bzOia(*}s)O#-gp9l_thk@?{hrmyP z$AU+`*~=|}>etIbrEdWr13m*3zuW<8eBTC&&+i2_?%xO1|M!Cnz$d(gHh`U=-t%m5 z6#N0GaxZ$T_uJK=#`R_3Bfu|%YTtLj^T0oW%D?<=&KDa%y}t^oA8!R!-;aXb;5WcC z!9(Bf{d*B8dai*T;A=pY|5@-v@aN$1;KSbG<8=!72(Hfr)lVzIgTYI|hk={Ghk#ds zSAb6hHBKJ@RsJ`_^`F2+TtD`mUhh@l^;{2wXM^{GqQ^gi8lNNI<@GoNJcH|X;OSrk zR6Ab_J_Y;+xB%>Xx7Yt_Fy(qXcs_V1xB>iU@F?)4_jv!D6L2FadLIQ-@R^|MaSy0* z_%x{gco19#9{FD9zaelr*EfKw@5=(d0~B3+7F2(J51a%a1Utcz_c>j@036}^?V#Fs z`1}36-QYs5H-l>DP2f`SUEoUaK2UV<_zyUpZw6KFGr)_$cY)XJ^;3q(h*ZtsS;HnQgeLNpjeLexI{l5U0gXxF7oIy~}KRsN(8`S%L2%ZZ51ynuL z4|~5o2~bR6ig4ap&8MK&5X6&j+`Hs?U4DBf)Qj zs_)OiF7V(_`1M)fQCtrM90$+i`esn=_#mkKzXH|I$9>Yj)^@s7{9{P=Rl3m9|9hKugiy3 zpvt`oR6Ab^9t*x1JQVy4sPX#>_&D$ZP~{)|S?{M#u!rjr@Uh^VLi#5`(eH!cIbi25 zzkdU$a&8144ZZ|aJ>LN8ecuXrAGnI^UxMQMGj_W^xdK$VTfi~!PEc~?pwD^w>7eNA ziJ->uHc;b#FL(<00C)lT=+ArqZUj|+GvM9eMO=RwRC^Bng7@1g;Ne_f09iGTD&J$7S+*jxTXs zK>GiHw}Ojvc^=OBe~|vaA#E$?`n^7vN7w(!p?Y7=G0gG#ct0X(`l%0INZOK+-UxVX zz$*6@hq_Cd`N2*JqB!{n4#{Kvp1`re&gc{JLbAz=!M|`kgY%2P{IA5t?WE0ce3kR< z92ztI{+VN#^o<}Q(0JgRx#yot+Cf}j1wM)6OwO;*-6tv8!u5M{X}-${RJNIMTa zHJslM4sq}4;H&g7zprrqVU8}2$8kKsp&ue4S;6@=c7<*N|Apfzr2UBFA)Nmhd>i=h z;0o{>@HyZoK>eN%z9O98=}GoKVk5bi^bdu5k~Oah_ZN}&M$R7(o)qrSaD6F9%Jo-5 zKEc~LK1dFC6-bXRhGr3)hDPtm!7d>2Q5I_#;nBp27JP=g;K$73V$R zLhwrPZ(#gg$NB$oAi~U-Qo49Zak8g_|HbhO4pf54giA=jn)83<(C-mkKN*D8?e|cw z^%H;U2dgEhspNee|BvHS+>FpuyI`G}3eU3xFE5N%szQ^%j z$MKv$7kr(i;{R~|RgVAWx|`$coWF|W&m3hA{rwSna4vW`#~Gwu3tkNB_a+C6pT3*({|f2b z0*;XOGR_x)vOyok@#%0+f?oQyk3+vFlm17J0>_uR{s#Chj{I*rT$}}dpL@>(pAhoA z0en#||L?fBSqEtsa-19Pofz=9;IBD8NuGZIKh9C$d>yz9)bByge+@3=_zcH?aIN39 z;Qv#;aD5(W-{6?gO@9AO`lC6%#__R`=UJrxisRon^y}xifqO6Ec($eZfA8h`Z=Ajj zybwGR)bC`D*K$4-u9fy(&R+?>1AHgPM>$UBct3}JOTj8fljAuY_i?P^ID&ikSPpDt zuD{Ot!QuJ?0R`{PosV(8iQ_lq-_G$K&hO_qo8zZkUk|S0(C-|s|HScd&R24Ll;bBH z@mJ&CD>?N0Cyo<1|2K}OaQf~TJ<6fqq(kyf@Yx~lGVtx;{LSDCI6lJtagHB^ z^iJ@4aZ@epUyGJ`O`S!ugS?yuHOQFo8vbePvlrl z+K0dohP;=8mxuGelCIye96#mQNc!R6nH<06(C?cZcagq};}0Bv=lZQ2r*YiG_0vH8 zuI4=c9?8iLt{=s5BIjQK*MkpotPJ@|;LEs1b)J*sRPn(wSQKf@Hyl@<^%LD5dK*ZPrO4pW| zsmg_23-q3pe`EDhDQ(ooX0{dUrS5clt(kJ-$uqTdWJ|F+UP_DA(X?I~EjMQB<>BT` zDJ{>ah!Qy|qpv@`vS(nRr*G)$#nd*P*-}bNH_nu*GwF1xK2@HXDUGJX+o|2Qt_3t@ zpfp{p&!of6acf+85&_x6G(9 z6>7)*Yx_41t?%#a>SD12Y1K*9$lg#*tHr5Oe0*JbEA2|FrETe0xl;0bWAveFU#0r# zBDGp?E0+H4Ye=V>4LYop zPS+ac8ET&FJ$s!hm+Pel4cuC+G-LM7;mvz^OR}($j?|{6)b6n&oieJFEj2oAx;PGX zT(Gcl;ey#|f!MZf+tw8cF4EJIg^eZt0OM1w%}~1c$7l-0+NgP-s!X!bx<+}pvVD*F zy3;MC;wb&0f{NuT^iywEN1*yq8^BPGhHzWGRvk|p_^*>p-RbIL zRTWy;$X^9&pQ??PoNDH|$;iQRTgubQ(JYUq3oFgV>A0V?<*%2hSK8P<)uO`ueMqcc z9GOWA1*Zhs-|C*RdTk1>tI?8rpu7CDTZ;A39C7Dw)k{+~(MPL|^^(!Ou|Yn)Q7Q%I zu+%lBN(o{ePsJ>Hd<_&dGE=K>Pq!2s5MQZ^3{X)bi@n`OdQkh&wXIS_1Ep=Vo(&~Z zJiI5l(nuRK#hIo$qgg?0m?%+4h1aeXvw9- zVY@QY&hJ}GbYr?%AJ^+g<8X8%L5jol0wb!vvYh=Avt+Z20d+>HUPlxa5gRm~PFS37 z+v0s!wB|s!t$sP6C%pXwE@NQjk&$MdaU4Nz?x`U|wOWc?*-q=mk)hR@Kx3Pcw9`-- z{9CR<{tbjUC2gm!klR#ovaRLTxG2QN)EJ4+6@h=ot5A^B<`pKXQ8>e;iUi9HudhfR zEUJ|0C?&<_yEr(22Z8{(vRJQDx!ICrcJeGH%WfY~hg-Yn88vaZTYA@$#!05vzI!xC{X9)?rJ-2uz zH?~8BQ!DHhqs^)5KveMwX_vsHd(4AUGRtXn{v0Ndd3lR2M_eBv?i$mT@=WLcJ~vgo zFCX#pn7Lpvx0^QT!LUxMUef*m-N4^%_*$Wau_UE!&rM!{n{9m zr=}~#rmOH8!h5ES>41ounoh&u$1$%>%NUaG>sUC_;rhnZ1eIgsCJOEQmJi2k!EtoUllVK3J09IWm@gA&?{-}{#U_sLkz{K;qrL1 z)(oOCtD|Sw=X>YN(B8p~+Q?)H;g@5Qwh=P1i2jup5|NKJXPR}F4$)?XvqvVUYcje~ z$qb>5d$WqAP#dpeY@rT(Xni2OyXU=ceZPQM&Z57qGV`u#nPEoLWdDWXz?jS{P(ho;NZrOu>KSe;p(Esa4gnA3c1TZ ztQ@}#is2G7J3R?Ip1aeS*QNT_(#j4O7ai(75oe=0E%!z}5o}zTVn*7Ym*x7;4D?`DLVRI;KDr6WfR=u6BXL}IbRGdU$pJ?49`=xS0= zlYhE+V|%|I~X^|KR$oqLgbWe`s!@R+s%9+KRU@O?Su`G3#g#m6Mf% zg%*60OyE%NkQr`tT(eRs;OI=1tC=ysuiJ~!3Jo)a3agVI>GzVEXX$VSLYL)((CJw% zZ!qZ@SbfR*D|*44f7ML}_m9*b>*X1wwmdlMTCB*xQW4YBB}}uy_1E;8!6dPru3f*O zx69Lbb{vC_PTZc-OdK(G5Dm zJ1ooOHr!OXfw4TYB}*2k*)876aM(>7tWdq$2z(Lx*!qu`?Wv>pBku|mlmh+lG*!+ zoNZ*mUO^m^A$XNiuH?n}9Ig@mF<%i4gEt>N$3}AThW^!;4F*VWOwV4nJkU463aDcQ zR!=ULTh)>@KElCuxwwLdW!fTm<@=)1i{**n*FjccES%z3U((aJu6Hn5-M?{TPv07_ zZ)kvz*MgHSd$loL#J>n;m(^kg?jGa5-DDREs5ok}Ad{2j_&78+tZ2-9!YPU^9Me+0 z^?-#GB#Cka8eiVXWvfEcE+x9@FqlSuokvbW-I38MM&nbf7xATAwk?K|$cZ}&+lhF? zGo>3#BMP#KK>>?=#e42Ai>h2Wg-4pxqx+~W;@vH{LNMW4tT(4+#1zY8io!(Z+*1xS z31fj_aI$8EQW`UeohAIQArEJCn8bmcZ3{Id zt3BPMvm^+%oog)VG`}lS%t(_)nny1UYN}q`A+^|00F_W+vZiOK*ZwQ?4-}*elQruH zk~N}1@=Rk7xGIS8fFz49RcqBk5EmZg3Uyp#ex2)XD$~sqa`b{*82YUdQ!{O1q3H%p zPfP8oGX4`nA@I;B&Q7#gk$1Yorh(qU zL0J>M7Fr=XYaHy3E3qwt_BUYpC%u7xF*XKGtwF+3(6p*!wUNz2Eieq5GmC+u*%~^V zsWnHo=%iVdW0Vz|RhV{Y(9G@LkV{v>0fmK5y2#dNr5)GGl!vgyrwxH4F z3f81tDz(Ulti^oRJ`9gb{A(&8iPw0AbIj*t zU5RiwQkL17XxOZ4Cv%u=hj(le_l zOY$IB42i`8@^+Z}h}O{Tsd7~l7a@+;dWcFu)0$_xNJDHx1!cz!HrwIqKt`i!wERt& zf(aHepalySRhgD(U>sIQ>AG0Rtd|Cn$OvNfTevsNnazYjU!$cg+09LxugTIZcIrxr z*S9Cv#>N_@nN}L12f1^t1Sh9BJKEk+GNA(jWDm3=Az6}>k-E%lcfDqllFNFpzOsK{ zO>&tNn^fdT7QAEXrCu+Oj+UzV`!IA2pir2k&346Mq$kxm#1}WzMqnZ%r%bhVCmVY% z?H{tT6u zX>km-7drx9Kf#KaDnw+}^h>7C_iOck_I(cJ8Gw2mNOOsI3Dgq8F!j8`tY&%)wb7@*3(Z4FxCh!7XxpP$7I5dDS%y}A|Jt>Ky+esF%Sie)!6d6! z7H%Qxb{_(d)*}sDnO29`_*Y)*m0C4IDhX&U7tpl#cHy_kWkIay2kG#J0$0mgEXp_POC55g9*l)-PN8kqC`d}gp)oJ+Dm9qz zjX|q*Cqung4JEu5iHm(_b5=Q_I$Dy^#~6(+mK@1tDj-Zv+p{VopByHDs!T!^M=6-9 zXtvc1$V#m?iFTND1&YcI!5zyL;*R7G!CzlkM~p`cvR47KKsTe+k7_n1Sr zpu}Svt$=tkR8!>NH6cb5%jZU=hZeNmp!2AEE~i945-S-B6WTVxBT5tbOIJdQAwVGG zm`OScskzC?-4vL~#=lg%E-R;SD8!q%38ac!RSLLs5C@IV8l+MR4R(%n|BjE)c% zHPZ_@t9i)~@bMWUq{m_zl!ZdIR%pwuSzEY6u?0qr*s7*mC|2^O(6U1Cr?AjW327oV zj&P*SJ)0(1^bV|Fdv&_DXZ?oF1HE*HG&arvG!de4qfn}?a@%KC7%s~jmXw7>RT3=S z$rZB_CFInjg~F4YHA%@rV`jTdLi6>*GYa`fM_;ol3Mq>IAx}y0TD{C1RPa$7UC9+b zMUaH~adCTyvh1+F*qUaD-b|&clq`8MX?83K zIOkf=*>X*(;{$m1K;L&D`S&;P{^Z+Np1s|l{~rBxt%b<7RQp;Pa@VnHJ9*Nz)xPWa zfBV(fB{w9jy$rUZGDLwK9Tx0xraxHXCvl6g)%1icbIy$wSvXc~Z0S@f7%MgC7wa&Ar)8i7P-m-GD{1lCK}}nhve#Dd1**V)_h~W<{ppO7Hmuw_7=C+q(5y{f;sQS=1fgx zQ)&7Mr5C5K$_!6f;uuU-O{5}g7c=NJVwc&{qBzgIhuk5UrvcDvkVbQig%jzbj$1mg zFHMNG!hMn+rRvr)mY+g;#Chsv(?5gjH*VU{d;P^dt1sKU>H5LVYuB#7sx$E=Dhdzf zPES8Qz1XY)gjC<=4UP2l(-*Yg?v;>1^Jx}AH<76$EEO{P@`(@b77Ca>#qEXIAKMEk zHm&80R(FuZ;}*Jy6>>&4ij_Igb^#d;L!%Sd8G5lS8$yp&5q$pg1{nY$K_t;SXRKw| z@rHaJpWli}j84O%mWrU8CXoh?bljQvvPzH6w9`n4g4~!cTe|!#xBs%-wTw8nr<$lV zYdb6@&G_7w9Q$k&ugnMA1E)0F>Vd6+8R&5z;uz*1n^`1jXAQLiNrH!bF{n-WCYf)n z9t`VCl}5|~Yvsl`i$Skqr7}GJkxG;rF)?sBn zOrust-Pg0sW9z9y^J0!Rhe{Loh*S>O!<92KT3XUJ%1H#6y8D3@^aE0LJBoiBBj^Bc6}EplXh0Lg3?ihXi}mZCi--FVHE z^jvW2sG!esLx1CDwW5+_2;*{^h;?3I3N#p4k$>O~T8H}#<^3OdAU|MUnszhp)Mq%emt)2UlMq=T4rxU(Jk#~EjPY8mt*VhxTM{R%gFX`7n?CTqjCV8n z0UyL?Mg2-=K1fBb?pb|FFM_UXsAt_`-lg!hRa#xB_4w9Fm`tV0SoYTaC|5RETX|-b z%_?U<>Xf~64|!E=md8jMw~Ti2iA;$vBg2<4duj9mKiu|4>u-J3C0ob@;U=G>&x(!9 z2*T*g{AeoyF0`*Qqg?kj!ugt0RB2?%%*b?iI>r;9A=>+?EkVU#MBVK$H9=}RVk?>4hdpS;Ba#f(-HAIfCR zmZ{{{Q=(CW!c|ri7OIe*QB`Z zZCo9+qP>;(D7PG7QL(!(8j3yVv9BBFl!K*cO=mesm>|R5mtEtHQ;}Nqf$>5RwnA&Q ze51h%)l%02pZ6K0b4q;1OsL!)sGJN`KqgomMh&7jl~* z?vzpdnddA;)e_>9-95q@>UeH?Q%fH#hQ;(tWt26Y@vamp!)NY+t*nhSwMa|)8!7QU zN@c+h)0oVum`AuMTY08iFha0O&FZX{DkOTKX&z5Ctcbbx+V1OClBrp`?%Kt3)66ed zKO2kX^+e8JB`B`x+R}|%_ykC68q~*EoT~{E^^*)!TkqKB9OrZ{TGrgS&|=T*ev6Y? zF0Ym!W-AZngvn8yquI^=4)P4`k+d@MQ8i`?1Z<{cFbDE#W!9tFxOOI)#bRSMiP*TOS zy8|RsO6iMyQOL@UVCZzLz;?1d1UkiHlp(V(+S#pA&|SK~RcC7N58GXDEam4F4??kvGDTE>xb-QeV^mz!GUEKc;qJM%U9TdxS=c?S<01L z)I^_dSO?l#2iIS)TI6_RFb!tr0OY<460K|M)p{}vde&}hO$Z3n8W$K=9690m3BG8w zIF8xuVcDwQ#0Cl3q6mvTV6JP~s&uI^+7nQq&)Hi;tp|%{J&6aM!FjKnT!HE_EcAxB zNC4`=JHr1gvpR!xJ|6N4uL#YJ(@15utUi@vMR^&n(HIpl9im{bx5;*6QSSx#^YK|1qJ=^-^BN;-WRg~klx z0vE$R9AZXDD^F$=dg45(Pt8;mPjM~|%iQIfd_}h=_*_P>)D9Cj&Q0b|tHrFgwze>B<5*~9$!PzC(9Nh=Z&*<_ z53j4SrqK~R3=lKf?n99`UWbfEmm+$*HD$c6p~_h+?!LE4e-&f$H~Qr^x3K~_7uGtM zl6HEw+3>goOAl%kqQuDFO#RJvhc0zLS^#cR&>A`Etv)RHeR^^WUz$3xg*gnd3fvQh z*+q*DL$qY<5o@-Z8LUTVdncOqHOKx6>C+(B>3o}%_F!fnmu2tqj+`|iT8aZ72_Y>0jh`&$vm8iN zM9;Z6MRLUN9FTA}Z!e)sa-vLx*Lar1cqui7{s5?c+b!Dn`5Z zNNaMntvfA-A@1r_t|j5KCG~!cD*9?N*v5p0*`zpeamfH@HvdnOeWkFE`-p+|#UY7= z6O#s0xV83qo>_4SX1jsZVk*H5U8kL(SJALxM%aQZ1ZtBurdgau*~o{umC-^NQLG8= zV$q_=d_E?i^-#eG(u>oJr6Ujq`Dd&?CO4vH(o_k2F>A)P!3QX)cLYB^K)INhP3-@p z(^!Ox6=uo+krV_~rZR&4tnXS_!Bv~UxhSk3EnMNEu-lCIWnIh9341pcHa6Jtrf@OK zk_tn$Zmmx$AeUB!4S*JG>K`hs7Vk3Bg*61RyVK=Mmz`NywzRPH>~#5=-OHAqvGmNP zOUYOmU?qhpBA;*R*@fljrc2N3UV2`^@@*(KW(q?hHkM~M1uIY6t z)(J1Elv&1Bj0&?@XW+Naz6b5@-dU{f+F4E~ixWr*Pt!ZOgPx|WzTUp| zY+%--UBlM*^Erl9tWug_8w8fCP9m2SNh&oo144+Sg0WcIwX-(iJBSsvGOih`Qed4@ zZ342c*h-&)aF>A|ZBFKI9>~}ysXA-!o@DmLN?C$s_fFPQR_E+Vwo!9AWrhSZOr0m% zvTWCG>|e7UvDWXKlTB*oYaG`Q`;O&FDf^SvrfP9xvGpubo-C8J6(3tShflCca%-_u(U|6xiO|}ji8=d|?YgamFG7`khcb0FsljXc)6l<_lpD9o4OL#VOuuaOCwn1`dTcuZ#W7KvB5xuR&eLp06 zWZAWO9W^FU!xMe65_^7MvZ0txG7DT~P6O32R%V90tZimkR5LNfCI?VVe%rEq;ym9a z#jlo@Wc!xkaX9UddN-+0Xf$JML!0Y%y%b+#zw>u%C?}y*%472iS}(Z-y)gOe<837x zvrH8$lf;oGdHFb*XzYAjnvFH9lZ;<`M<7tB5^MY$8DG}nqq6A92#>eSlZPQG!M4h> zdHovsAB)pZFFN?DBjSMp$#Fy-vi_YEyg2U&Qr+tvcjMb>s@Pax~dQ_xYwJUe)FV17w2`OXUj@ zb=jV8t3?Y%gmW{Ao9EuZ?+t~EyiihNP$q*JCL*BN@qEh3LgdI- zs#2e999g`cu}VfIbbg1mlNRtY;#ZaCj`CJLX~}eML9=^OllYtJzEms3h;OOmouITH zJ?q#5dcs>7Cn{a|AOw5cj3!zx)E`dT|k$hAX zIiT z>Ji_3?ZBRy@P~S^^fM&dEv4l9LXhrhl(uhhi5HvP04J{3vW(~rGfh=SnXf8aXp4sv&n2>NM z+_f>OgqZ|ZCJ6BK6;0uK{b+~dQh zyuQ!df#l6>(!CVw8?)_ash-(Q33WE1(vjkvdU~#XzkHq??fuLMV>Xp({2rN2{n{Em z<%47~0*r3u+m86&Z<#YdnG9QH8i^}iG#(W#2AX>dtq!+c_`G%O4>0$B*!=CMPkVLS z_HTvWfu4bWwtp*Cv9LW58!G0n$n66c^KJ|jF(KzeAKl3Luvfxz6M6tAP^zXtgu#6s zYM)ovt&QI_BQajfUyE4%`U>qS>fGT83M0+84;%#HeTj>RY79&kT?Rq~wi#S4fxPi{ zWOBBB;gda%R-HiH@)eafN|YDbzU!N2SA02Ac%9ZwvI*Z<(H?OjVa}&=<|cyXWarDE z)^>1GHO(FFGVtagBPV=IxP+`>CNS&-M|F!hC!^(Ye*~{~-rDk{Oj#sjaQ0e4Y@(`- z;1F)mpX3;8F-%_K(X0FSd7H0Xixu8(_8fb`t>3|(SEe*81p@L2Cyh1&s%Kq4JHYL_ zXZ;nzd3J)+czEwf+*R;6u*9jCbcGr9o2WgmZ#iYN!oD^AZr54lAzj0kdA$SuUGbKe zW71KTVVK>r$NGvgOyj4y9zLgVTIh(o!|{#10>iRtV~w!xm1r~kA{}c`%n@8j+v#kw z90}0uJ<*>jZre3eEmTj;dN4m2sfN(~Di|o#x?Jbf<{u{swP<&@P`B`A`l~ppxvC<) zA-5Lr)|_)z$DG_2g5wqJ#jE`Jw|6DIgnuxjvkq{hUfagyyTj%=q*d8rXGb&ZQyDV) z;u>)=UT@|~!Ebk?R563tvl*|+2+}A?L;9o9+w`}xQeaZtA9&XK*#~&f!*W2+paqGT zX#-?dxWNZRHNx%?*k*LaXp@g6VQ%UOF;~%PVV}7+O0fx_eb+0t!h|I+o2Ly5q*;WW z*pVuOwzAF~#)GJtbwD*5#<10-k7$ov5z50zKz4_SfW}q=RU}cybd@LHO4H7Bm-Sy7 zAZ|b>w*X3G9O{@ASc}>K-$Neq#-@+yF%(JSv@gSyCzggsczyF+^n$xy}~rv(_7;;!sbHjYqyliuSw z4~DjG#&8Kw1lgHAr-%d59z|&O(GYxX3xfL=b0#WG$+_5=zvVJf_E|8T=J{lbwMySx ziQ%4cBeXxJK;RN)A;#&exoQoPH4w984$?% zsGvx@jBj{|m=TneF7V;X=SX^`04z=<-;Yhk(8JnHmBF3ku~Q&wpK4&%bHaSY3#@LcTDF=)`S+A%2DG&!4QbE zRu(U%w!z$@7gYHP>3sqY9so0C;rrh?Ed&*Stjil%rU5r#N?3bmJ*8iUM2_ zQoT5FfTRu-6SZMjm)$aeWa&nF(_R?;wn1KhcuVLjYB&Kah+U1Y3vfuDA!9lUt^i43 z1m*9ta0PyDs@p^!lMRn&st!ts@l9PvnLklwuRMR3tnn7T8^=NL+OACsq}jEgm5;(& zMjjSGEW)S}SEj7j<>ZXNz$ThBm?laPgAlms30fU`k7=-yO@n0&kFv&+=)>}kXQ9Vh zo9KzbbGzuF3*F4{@f$7efRZHNP|!q4TjDV&*I;U_#b9M>m6gtB&5&7ZapGoreitrN zI7K&XSG}{7f#z^FNo5ziJ_wu5nmDts<9FTVo9Pv8i#7%Q<%yYgCa{i)3KvuO{_UxU zbYyqzjOeOe>1u`BjF9QgNmE!p1?U555i##%w$-au!^V1M6^r?I@5F{7ps*xZkBGZ0 zwj1yH&U)gP+{St?U&79Mbh25}6VMw@LZV5fY`}-=_z-PUyHNDK^+Z5nZ#@aMab)?% zEcP!SuQ0}=I5+v^mYtVN_28t7u6(jg%R-e^RCJEFFn2ddx(?f6&o&|>OPLruw(fY1 zT|J5u(@nP5(}-zNdJR@+)h|rAwNw%ctUfU~{fiv9sq_3pdeHkDpS7w03d ztaXB|cfSi=j9%V-mlJTy0LUU+k`L^Hh9S!dg&xJ5w??4_P805x_%?~4p!qaWanB_P18l%k6YS%k2e^w5v z9*Ey!!!#E=Os$n42u(V*P3+IZxtX*W-B&zjWZ%#3rFPXxw6bl+$BI&%Z3W5#qwJwQ z_JpES9{JzX+bx@O+};Yp62=c@Nr>&SEH?mVxc6?hv}b{qT}FC!_gp3Bb+{Nv>=Sir zc*qzk79sgaVAsqI7BrakDKkwfz{<uYXqH%>1o{~1vYQ@zE zQsnmQ^D)i}nZ~*2;I(&n^k#e4v!mfQ<&EoDA1D8e9lOC3fv>A^*IYCdf zgO7!=Fj=04$am8)apSCQpT7J?e)HXL?cKFV?n{9M)+(8e= zZT&h-N8_J0TQ*KG*SpdlTcudE-Ti_uLxCHRTd}?c_gS@d56RK3w=OW&jy}*z7L^Ew%iJo?)*IMrCiAwKH73 zW-QFBeI1gOOW*RBRvAEF><0MRrH4!n zNDMtGq3LTBoaW@jc!Xa*a(NtQ6aq`uFu#t~AhDXQbBrdki5@n?ht#2Zt#@QYZeIqM z$?I@UN68s**U8M#K!$S38${EPBUIN4F$YBHEGo{-M4JE=FVLdQI#jLP1*C_QoUpNx z?O+>0JwaXEfKrs(2*&7T-}!SiLySLLN!QXngSh2%n^@B#E1Vz)2(7Rhc!DrrT!S0# z%8@mxpk=ov8EAE0G~gAw8=*fsrB$X{a!A+ZI=mI9VSmB7ua7zL%7%I`8^j9V&^E0V z=LiGo&^4NnC2Gd9=g}g&j4)%9n@N$L1PtkkD(ylO(a10} zgx5`;IZHF!30Q;g3n<&R9L!CIyLQ8%P^YvMSc^T7sJ2-s9qqBD+=PftFW8I(J5t)t zm!>r)oOd<%(7Gw3hS8e!NLGNrxuwN$CiYw zsHWfIfU_N8-t*pQBjn3e0t@+;gsN|++<_Rr+-uH>wyb@v1!syl<_ej6Cx%s{vxRk) zJq@{Mre`kMjAMyf6bT}cI}o}28~8OuY_gvC2wnY!b~@7IK>pN_N=f zwbn?QD;ul>vvy^I&)Tif9$;Z(ZqZoL7Qud!rWI+y0K@&;O5I#_YU^cU+l`5IaC%+)jlmmt?`-n`9KK%P^s|9geJg=r{qW4 zxi;)(*nTGn=vEtNZER=^Y;zY_fmq%i6QI5xBxX%)O|~2#+VDT|Y>in^6cfa~E{l^x zl4?0iNd^*K36&_S8mG0^$dn3GNbavGQ!Wg_do|O5B5aSk*n__IF~pasEp`SfhAkk6 z=;SEZTp&>nG87?C7Y}M-;Cu#@-7uXT8pK~`-^lkBnH0VEZWJI>Lu1mun!4f}ADjAy zLV^KkW<*=^Vs6>7$L$YgI5LDqzRzecaqo}nu>*PCf#l!cy!(@HUwQU+fBt*)lXgFx zux~-G4RWGw1H_3-wFTl&pZ2Q6=DnfXmX%eFk|pYdNGgl80|&H;w8u6J(Hv8~d>>_@ zbL{pKe+HBVQ5Y4>+KeDc;01R?%-(i$5k+eeBh;-qlJJQ5&gO~O3b8pItlVrdTT4od zkdzl|Nl^@+vi6n3l;ZZH;yR|eTz9uJqQv9enrDuhCoamieGqNggVlvnn3l3n46Hzx zXeikrC9KQWy6s!hB1)++8i;MyXHG#)Fqlo$s9Qw^6&!nzIIiy6~Vp~mbeTBnOL(` z7kpxYvbS9ksZ11U@c2ZMtuuE2M#2dDhH+<$3C%8+L%cSwbExj^iA3FM#}_-ZGXgCy2t$yZB41~j~GsUe?%@Qg#8iwC*lT) zt@~>ORYl>aO%hpBri#Kn?4Cfk>+v=Xxu^XS6OE~TI%8WU`iu%RnW>6MVmWc@wr#F> zt%lRbq^-gjF#f*76!YVac@oV=$zB|3-ac1p<<@d!jChGp8)`QO&`Nb%e1u8Dl5G{XWzSV&K*51I)sqGYPKUdt8D+c8D$6IIrfM&i+m zG~>*;7Cft$Rz1e4E9PFQk}n9ztlf~7v0#3k0sJ#n^JlXAvY~=TR}jyABfgrTy)vxu z_gOK*w@|F0(!`$M$9UA@D5eD`@g`amuRgM^;_O{ZyqvO^)3!QhR;|TsE^}KwAeUGo zW|E0>lln$T&Jt!#70h(?Fpw>)MvlTR{sEU9%WQ;kJoVualpZCy7)*_00xxml!nHDl z?qO2P#1cC#@<~9!!nzaMZP98eqM0*Nuu3qEO-lu04>2?KnFTglxm1NbkGr(XTf=KFXo|OCC>N)+5+oO5Opw$1rqkjwtfkU-srneT%3QoW(x%7S*owo~ zthI>Pc3h-g8OA-iglt%FdI$Uex4E}cn-wrb}yyMR%nqIV@_i|Un;U<;<&H)1rM z7|ar_IQ8BmmQb2Huwr9Cfbg%>tcnatv&+hui(0noRc+fLGXL&9<&SU7=Y{ZL9^%k> zsnB}K9^bLA=fb=4uL?ai!30o@U?|9i2*^VGxj_tmw8lM%OCvo@qIrt8uM7fvGLgnA z`>ED|YdoQkY^z3nHDhuLNvh3HWE~_PcN4|+tm|)ygixj%ib)&Qsb*GtY&`})CocA2 zo6dQfmPd-8b8nV|7w-FhjS`{Kq9$|gPkgXlKu+lzEyu_WRg*&?P-5EVh?^AuOk7a*G z3<>p>&CjX#EEtz7%TyLcdu75GV2NUV_A!VBWO+_oEy~V7q9S0-AW$JW@{&}dc*GK$ zZSmUGckIYw27hVR%{| zeV`xtVH#2dz<%Y&hbWCAn)dumN7(GKgURJ#d6)z1Tods;3$n3BLzrOCUk^+%x0@=(k=sWUi(7lYkO%bDOT>CmD zGkVP!T#IU&Z*6?*1+B%g#nlLTs7rp1=1^@Jm4yg7^?pN+x#Vx<_w3$@ zxyqk+q^+n*GXa^I!6WiDJ(1;0sqYkt1DAbDo4TD&P1;g5(MxF1CcIHNWlq{NxT9mD z&SpWVPb=msnzN6C!X}cmF0888CX)C9jA7d{&irPQI}~Eo`eUiru!zNMXiUfb zB=Jw!P;$Q1Y)i@Ln%Od9)1*OJbiHFC=igN=E(YBx; zQ2P{T21Tw<>_Nn|qnL!S z84;}lBB>PFs4mlNGAOesq>E#7r<^~}ya0Tmlzws?@OzZ^3v)u_W z;t4KO%gQ8@2#d;&Wcdc6nlOb)=ep-$K?>|m2+9{j<+r2E+)Wj7@7*ee71Hj5r0$h_ zDUhxBy2`AzP3L80W&2UGkXNd6|2i|ug-mexT!;+!39Xrs&Bh)r+9Jcg7M_R?cyEfa zTlOs%+N|c@yR|oEkWC?dXW?AljbM7$Ob^&RBx9*gA!}PJ zNVEVbdca{>B-epIR+v-J;=%%TG$*CKn6N@1etsBchC_R8%Sxt9*lNf>qLsRloPgD> zPl|j-%OiW=xl*c>Oulm^6*RGqq!WG19b-QtZexPm`XJZp!E!R^9-#~a^PqasMdC z%mfQB$dJr&SnQt691V5z@_k)xvC=LTFU_^6RCOXQ^`wqK=9PDlVi zs)83L5D%H(Qgm^4XGPH zn~E&UD3ZF&4MCz%W)^5DNI$bEiSIrZv+W>DdF?#uh+9|kSB6UjP?1RXbxNEM(asP_ z#iu$I-<+0tf@2*63q}I@z*N|NQ4#HI4@)Hce0x~tlj9ziq{;mi*|LqLLDIJ z^a0X^S|LG^5Z3T$k%aJDy{IVMI9Y7nFpNCshIBUfy+6elS)LBt;L?{4%r)J3X*x&m zgwiRdU|v22BU$M573{+mRs@+b5`=FQc7ep`SD4N7O3s?>2xN!F=9>%B|M4+r z8YyWSrTKn$2PI_DVK$fwSkTW})ZrUohFzhgu#8tMr0?$!j)IwISwu3-NLW;t@s($j zi|{6+SalQ>x!3{=VG@`aB~#Ft*VK;@Yz;dKG@GQb{V;QW5X0y}K1$WDDc%ZEPFZe` zG(sljCo(g(q)3)}Y#y`FeM?`OAR|()(;P2Ru}TO*>m9}A<`%HXIy{?&Y}#dROSTxH zwKj1FCiw%e~DRqIV`6$!Tn5{bMdhLjS{Le=rR?zX(y zl!S>-S=d?|sAkU-)zXtOxKPc$G}1Pi2+XiV=-#_+*GzJ<1*?7c7{5qr%cFfW$wQ~2 z%)+B4D8lztB5?K&ZqawNKArsSVUGuklCm(pJ(a~dn8D*EOB9C1q6~I)em>bOxG1xb z2{NUbnR9(Z?P-Ji(YmKQ;gjF}&uU*S=Ub>U5aqkywUs4m{;6^{-H@0-)go1oJwum7 z_O$>e8&qN~wv<6DAT)JQ!-(~%g0OX_iSxECHd}m^&(glTrtr}}MPkFTw4cg, 2013. +# +#: src/create.c:1572 +msgid "" +msgstr "" +"Project-Id-Version: tar 1.26\n" +"Report-Msgid-Bugs-To: bug-tar@gnu.org\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2013-05-27 08:08-0300\n" +"Last-Translator: Felipe Castro \n" +"Language-Team: Esperanto \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: gnu/argmatch.c:135 +#, c-format +msgid "invalid argument %s for %s" +msgstr "malvalida argumento %s por %s" + +#: gnu/argmatch.c:136 +#, c-format +msgid "ambiguous argument %s for %s" +msgstr "plursenca argumento %s por %s" + +#: gnu/argmatch.c:155 +msgid "Valid arguments are:" +msgstr "Validaj argumentoj estas:" + +#: gnu/argp-help.c:150 +#, c-format +msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" +msgstr "ARGP_HELP_FMT: %s valoro estas malpli aÅ­ egala al %s" + +#: gnu/argp-help.c:223 +#, c-format +msgid "%.*s: ARGP_HELP_FMT parameter requires a value" +msgstr "%.*s: parametro en ARGP_HELP_FMT postulas valoron" + +#: gnu/argp-help.c:229 +#, c-format +msgid "%.*s: ARGP_HELP_FMT parameter must be positive" +msgstr "%.*s: parametro en ARGP_HELP_FMT devas esti pozitiva" + +#: gnu/argp-help.c:238 +#, c-format +msgid "%.*s: Unknown ARGP_HELP_FMT parameter" +msgstr "%.*s: Nekonata parametro en ARGP_HELP_FMT" + +#: gnu/argp-help.c:250 +#, c-format +msgid "Garbage in ARGP_HELP_FMT: %s" +msgstr "Rubaĵo en ARGP_HELP_FMT: %s" + +#: gnu/argp-help.c:1250 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Devigaj aŭ nedevigaj argumentoj por longaj modifiloj ankaÅ­ estas devigaj aÅ­ " +"nedevigaj por iu ajn korespondanta mallonga modifilo." + +#: gnu/argp-help.c:1643 +msgid "Usage:" +msgstr "Uzmaniero:" + +#: gnu/argp-help.c:1647 +msgid " or: " +msgstr " aÅ­: " + +#: gnu/argp-help.c:1659 +msgid " [OPTION...]" +msgstr " [MODIFILO...]" + +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" +msgstr "Provu '%s --help' aÅ­ '%s --usage' por pli da informo.\n" + +#: gnu/argp-help.c:1714 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Raportu program-misojn al %s.\n" + +#: gnu/argp-help.c:1933 gnu/error.c:190 +msgid "Unknown system error" +msgstr "Nekonata sistem-eraro" + +#: gnu/argp-parse.c:83 +msgid "give this help list" +msgstr "montri tiun ĉi help-liston" + +#: gnu/argp-parse.c:84 +msgid "give a short usage message" +msgstr "montri mallongan mesaĝon pri la uzmaniero" + +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 +#: tests/genfile.c:130 +msgid "NAME" +msgstr "NOMO" + +#: gnu/argp-parse.c:85 +msgid "set the program name" +msgstr "difini la program-nomon" + +#: gnu/argp-parse.c:86 +msgid "SECS" +msgstr "SEK" + +#: gnu/argp-parse.c:87 +msgid "hang for SECS seconds (default 3600)" +msgstr "halti dum SEK sekundoj (apriore 3600)" + +#: gnu/argp-parse.c:144 +msgid "print program version" +msgstr "montri program-version" + +#: gnu/argp-parse.c:161 +msgid "(PROGRAM ERROR) No version known!?" +msgstr "(PROGRAM-ERARO) Neniu versio estas konata!?" + +#: gnu/argp-parse.c:614 +#, c-format +msgid "%s: Too many arguments\n" +msgstr "%s: tro da argumentoj\n" + +#: gnu/argp-parse.c:757 +msgid "(PROGRAM ERROR) Option should have been recognized!?" +msgstr "(PROGRAM-ERARO) Modifiloj devus esti rekonitaj!?" + +#: gnu/closeout.c:114 +msgid "write error" +msgstr "skrib-eraro" + +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: modifilo '%s' estas plursenca\n" + +#: gnu/getopt.c:626 gnu/getopt.c:630 +#, c-format +msgid "%s: option '--%s' doesn't allow an argument\n" +msgstr "%s: modifilo '--%s' ne permesas argumenton\n" + +#: gnu/getopt.c:639 gnu/getopt.c:644 +#, c-format +msgid "%s: option '%c%s' doesn't allow an argument\n" +msgstr "%s: modifilo '%c%s' ne permesas argumenton\n" + +#: gnu/getopt.c:687 gnu/getopt.c:706 +#, c-format +msgid "%s: option '--%s' requires an argument\n" +msgstr "%s: modifilo '--%s' postulas argumenton\n" + +#: gnu/getopt.c:744 gnu/getopt.c:747 +#, c-format +msgid "%s: unrecognized option '--%s'\n" +msgstr "%s: nerekonata modifilo '--%s'\n" + +#: gnu/getopt.c:755 gnu/getopt.c:758 +#, c-format +msgid "%s: unrecognized option '%c%s'\n" +msgstr "%s: nerekonata modifilo '%c%s'\n" + +#: gnu/getopt.c:807 gnu/getopt.c:810 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: malvalida modifilo -- '%c'\n" + +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: modifilo postulas argumenton -- '%c'\n" + +#: gnu/getopt.c:936 gnu/getopt.c:952 +#, c-format +msgid "%s: option '-W %s' is ambiguous\n" +msgstr "%s: modifilo '-W %s' estas plursenca\n" + +#: gnu/getopt.c:976 gnu/getopt.c:994 +#, c-format +msgid "%s: option '-W %s' doesn't allow an argument\n" +msgstr "%s: modifilo '-W %s' ne permesas argumenton\n" + +#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#, c-format +msgid "%s: option '-W %s' requires an argument\n" +msgstr "%s: modifilo '-W %s' postulas argumenton\n" + +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 +msgid "memory exhausted" +msgstr "la memoro plenplenas" + +#: gnu/openat-die.c:40 +#, c-format +msgid "unable to record current working directory" +msgstr "ne eblas registri nunan labor-dosierujon" + +#: gnu/openat-die.c:59 +#, c-format +msgid "failed to return to initial working directory" +msgstr "ni fiaskis reveni al komenca labordosierujo" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: gnu/quotearg.c:314 +msgid "`" +msgstr "‘" + +#: gnu/quotearg.c:315 +msgid "'" +msgstr "’" + +#. TRANSLATORS: A regular expression testing for an affirmative answer +#. (english: "yes"). Testing the first character may be sufficient. +#. Take care to consider upper and lower case. +#. To enquire the regular expression that your system uses for this +#. purpose, you can use the command +#. locale -k LC_MESSAGES | grep '^yesexpr=' +#: gnu/rpmatch.c:152 +msgid "^[yY]" +msgstr "^[jJyY]" + +#. TRANSLATORS: A regular expression testing for a negative answer +#. (english: "no"). Testing the first character may be sufficient. +#. Take care to consider upper and lower case. +#. To enquire the regular expression that your system uses for this +#. purpose, you can use the command +#. locale -k LC_MESSAGES | grep '^noexpr=' +#: gnu/rpmatch.c:165 +msgid "^[nN]" +msgstr "^[nN]" + +#: gnu/version-etc.c:76 +#, c-format +msgid "Packaged by %s (%s)\n" +msgstr "Pakigita de %s (%s)\n" + +#: gnu/version-etc.c:79 +#, c-format +msgid "Packaged by %s\n" +msgstr "Pakigita de %s\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: gnu/version-etc.c:86 +msgid "(C)" +msgstr "(C)" + +#: gnu/version-etc.c:88 +msgid "" +"\n" +"License GPLv3+: GNU GPL version 3 or later .\n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"\n" +"Permeso GPLv3+: GNU GPL versio 3 aÅ­ posta .\n" +"Tio ĉi estas libera programaro: vi estas libera por ŝanĝi kaj redisdoni " +"ĝin.\n" +"Ekzistas NENIU GARANTIO, laÅ­ plej amplekse permesate de la leĝoj.\n" +"\n" + +#. TRANSLATORS: %s denotes an author name. +#: gnu/version-etc.c:104 +#, c-format +msgid "Written by %s.\n" +msgstr "Verkita de %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: gnu/version-etc.c:108 +#, c-format +msgid "Written by %s and %s.\n" +msgstr "Verkita de %s kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#: gnu/version-etc.c:112 +#, c-format +msgid "Written by %s, %s, and %s.\n" +msgstr "Verkita de %s, %s, kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:119 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"and %s.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:126 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, and %s.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"%s, kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:133 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, and %s.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"%s, %s, kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:141 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, and %s.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"%s, %s, %s, kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:149 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"and %s.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:158 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, and %s.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, kaj %s.\n" + +#. TRANSLATORS: Each %s denotes an author name. +#. You can use line breaks, estimating that each author name occupies +#. ca. 16 screen columns and that a screen line has ca. 80 columns. +#: gnu/version-etc.c:169 +#, c-format +msgid "" +"Written by %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s, and others.\n" +msgstr "" +"Verkita de %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s, kaj aliaj.\n" + +#. TRANSLATORS: The placeholder indicates the bug-reporting address +#. for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for translation +#. bugs (typically your translation team's web or email address). +#: gnu/version-etc.c:247 +#, c-format +msgid "" +"\n" +"Report bugs to: %s\n" +msgstr "" +"\n" +"Raportu program-misojn al: %s\n" +"Raportu traduk-misojn al: \n" + +#: gnu/version-etc.c:249 +#, c-format +msgid "Report %s bugs to: %s\n" +msgstr "Raportu program-misojn de %s al: %s\n" + +#: gnu/version-etc.c:253 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s hejm-paĝo: <%s>\n" + +#: gnu/version-etc.c:255 +#, c-format +msgid "%s home page: \n" +msgstr "%s hejm-paĝo: \n" + +#: gnu/version-etc.c:258 +msgid "General help using GNU software: \n" +msgstr "" +"Ĝenerala helpo por uzi programaron GNU: \n" + +#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. +#. Directly translating this to another language will not work, first because +#. %s itself is not translated. +#. Translate it as `%s: Function %s failed'. +#: lib/paxerror.c:58 lib/paxerror.c:71 +#, c-format +msgid "%s: Cannot %s" +msgstr "%s: funkcio %s fiaskis" + +#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. +#. Directly translating this to another language will not work, first because +#. %s itself is not translated. +#. Translate it as `%s: Function %s failed'. +#: lib/paxerror.c:84 +#, c-format +msgid "%s: Warning: Cannot %s" +msgstr "%s: Averto: funkcio %s fiaskis" + +#: lib/paxerror.c:93 +#, c-format +msgid "%s: Cannot change mode to %s" +msgstr "%s: ne eblas ŝanĝi reĝimon al %s" + +#: lib/paxerror.c:101 +#, c-format +msgid "%s: Cannot change ownership to uid %lu, gid %lu" +msgstr "%s: ne eblas ŝanĝi posedon al UID %lu, GID %lu" + +#: lib/paxerror.c:127 +#, c-format +msgid "%s: Cannot hard link to %s" +msgstr "%s: ne eblas rekt-ligi al %s" + +#: lib/paxerror.c:179 lib/paxerror.c:211 +#, c-format +msgid "%s: Read error at byte %s, while reading %lu byte" +msgid_plural "%s: Read error at byte %s, while reading %lu bytes" +msgstr[0] "%s: leg-eraro ĉe bajto %s, dum lego de %lu bajto" +msgstr[1] "%s: leg-eraro ĉe bajto %s, dum lego de %lu bajtoj" + +#: lib/paxerror.c:192 +#, c-format +msgid "%s: Warning: Read error at byte %s, while reading %lu byte" +msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes" +msgstr[0] "%s: Averto: leg-eraro ĉe bajto %s, dum lego de %lu bajto" +msgstr[1] "%s: Averto: leg-eraro ĉe bajto %s, dum lego de %lu bajtoj" + +#: lib/paxerror.c:259 +#, c-format +msgid "%s: Cannot seek to %s" +msgstr "%s: ne eblas apliki 'seek' al %s" + +#: lib/paxerror.c:275 +#, c-format +msgid "%s: Warning: Cannot seek to %s" +msgstr "%s: Averto: ne eblas apliki 'seek' al %s" + +#: lib/paxerror.c:284 +#, c-format +msgid "%s: Cannot create symlink to %s" +msgstr "%s: ne eblas krei simbol-ligon al %s" + +#: lib/paxerror.c:349 +#, c-format +msgid "%s: Wrote only %lu of %lu byte" +msgid_plural "%s: Wrote only %lu of %lu bytes" +msgstr[0] "%s: skribita nur %lu el %lu bajto" +msgstr[1] "%s: skribita nur %lu el %lu bajtoj" + +#: lib/paxnames.c:140 +#, c-format +msgid "Removing leading `%s' from member names" +msgstr "Forigo de antaÅ­ira '%s' el membro-nomoj" + +#: lib/paxnames.c:141 +#, c-format +msgid "Removing leading `%s' from hard link targets" +msgstr "Forigo de antaÅ­ira '%s' el rekt-ligaj celoj" + +#: lib/paxnames.c:154 +msgid "Substituting `.' for empty member name" +msgstr "AnstataÅ­igo de '.' por malplena membro-nomo" + +#: lib/paxnames.c:155 +msgid "Substituting `.' for empty hard link target" +msgstr "AnstataÅ­igo de '.' por malplena rekt-liga celo" + +#: lib/rtapelib.c:299 +#, c-format +msgid "exec/tcp: Service not available" +msgstr "exec/tcp: servo ne disponeblas" + +#: lib/rtapelib.c:303 +#, c-format +msgid "stdin" +msgstr "ĉefenigujo" + +#: lib/rtapelib.c:306 +#, c-format +msgid "stdout" +msgstr "ĉefeligujo" + +#: lib/rtapelib.c:429 +#, c-format +msgid "Cannot connect to %s: resolve failed" +msgstr "Ne eblas konekti al %s: adres-trovo fiaskis" + +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Ne eblas lanĉi foran ŝelon" + +#: lib/rtapelib.c:516 +#, c-format +msgid "Cannot execute remote shell" +msgstr "Ne eblas lanĉi foran ŝelon" + +#: rmt/rmt.c:432 +msgid "Seek direction out of range" +msgstr "Serĉ-direkto estas for de intervalo" + +#: rmt/rmt.c:438 +msgid "Invalid seek direction" +msgstr "Malvalida serĉ-direkto" + +#: rmt/rmt.c:446 +msgid "Invalid seek offset" +msgstr "Malvalida serĉ-deŝovo" + +#: rmt/rmt.c:452 +msgid "Seek offset out of range" +msgstr "Serĉ-deŝovo estas for de intervalo" + +#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608 +msgid "Invalid byte count" +msgstr "Malvalida bajt-nombro" + +#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625 +msgid "Byte count out of range" +msgstr "Bajt-nombro estas for de intervalo" + +#: rmt/rmt.c:558 +msgid "Premature eof" +msgstr "Trofrua EOF" + +#: rmt/rmt.c:601 +msgid "Invalid operation code" +msgstr "Malvalida operacia kodo" + +#: rmt/rmt.c:636 rmt/rmt.c:680 +msgid "Operation not supported" +msgstr "Operacio ne estas subtenata" + +#: rmt/rmt.c:664 +msgid "Unexpected arguments" +msgstr "Neatenditaj argumentoj" + +#: rmt/rmt.c:689 +msgid "Manipulate a tape drive, accepting commands from a remote process" +msgstr "Manipuli bendolegilon, akceptante komandojn el fora procezo" + +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 +msgid "NUMBER" +msgstr "NUMERO" + +#: rmt/rmt.c:697 +msgid "set debug level" +msgstr "difini rafinigan nivelon" + +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 +#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 +#: tests/genfile.c:187 tests/genfile.c:193 +msgid "FILE" +msgstr "DOSIERO" + +#: rmt/rmt.c:699 +msgid "set debug output file name" +msgstr "difini rafinigan eliran dosiernomon" + +#: rmt/rmt.c:715 rmt/rmt.c:783 +#, c-format +msgid "cannot open %s" +msgstr "ne eblas malfermi %s" + +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 +#, c-format +msgid "too many arguments" +msgstr "tro da argumentoj" + +#: rmt/rmt.c:822 +msgid "Garbage command" +msgstr "Ruba komando" + +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 +msgid "This does not look like a tar archive" +msgstr "Tio ĉi ne ŝajnas esti arÄ¥ivo tar" + +#: src/buffer.c:521 src/buffer.c:530 +msgid "Total bytes written" +msgstr "Bajtoj entute skribitaj" + +#: src/buffer.c:528 src/buffer.c:542 +msgid "Total bytes read" +msgstr "Bajtoj entute legitaj" + +#: src/buffer.c:532 +#, c-format +msgid "Total bytes deleted: %s\n" +msgstr "Bajtoj entute forigitaj: %s\n" + +#: src/buffer.c:621 +msgid "(pipe)" +msgstr "(dukto)" + +#: src/buffer.c:644 +msgid "Invalid value for record_size" +msgstr "Malvalida valoro por 'record_size'" + +#: src/buffer.c:647 +msgid "No archive name given" +msgstr "Neniu arÄ¥iv-nomo estas indikita" + +#: src/buffer.c:689 +msgid "Cannot verify stdin/stdout archive" +msgstr "Ne eblas kontroli arÄ¥ivon de ĉefa en/eligujo" + +#: src/buffer.c:703 +#, c-format +msgid "Archive is compressed. Use %s option" +msgstr "ArÄ¥ivo estas densigita. Uzu modifilon %s" + +#: src/buffer.c:761 src/tar.c:2459 +msgid "Cannot update compressed archives" +msgstr "Ne eblas ĝisdatigi densigitajn arÄ¥ivojn" + +#: src/buffer.c:854 +msgid "At beginning of tape, quitting now" +msgstr "Ĉe komenco de bendo, ni ĉesas nun" + +#: src/buffer.c:860 +msgid "Too many errors, quitting" +msgstr "Tro multaj eraroj, ni ĉesas" + +#: src/buffer.c:893 +#, c-format +msgid "Record size = %lu block" +msgid_plural "Record size = %lu blocks" +msgstr[0] "Rikord-grando = %lu bloko" +msgstr[1] "Rikord-grando = %lu blokoj" + +#: src/buffer.c:914 +#, c-format +msgid "Unaligned block (%lu byte) in archive" +msgid_plural "Unaligned block (%lu bytes) in archive" +msgstr[0] "Malrektigita bloko (%lu bajto) en arÄ¥ivo" +msgstr[1] "Malrektigita bloko (%lu bajtoj) en arÄ¥ivo" + +#: src/buffer.c:991 +msgid "Cannot backspace archive file; it may be unreadable without -i" +msgstr "Ne eblas retropaŝi arÄ¥ivan dosieron; ĝi eble ne legeblos sen -i" + +#: src/buffer.c:1023 +msgid "rmtlseek not stopped at a record boundary" +msgstr "'rmtlseek' ne haltis ĉe rikord-limo" + +#: src/buffer.c:1074 +#, c-format +msgid "%s: contains invalid volume number" +msgstr "%s: enhavas malvalidan volum-numeron" + +#: src/buffer.c:1109 +msgid "Volume number overflow" +msgstr "Datumvolum-numero troigas" + +#: src/buffer.c:1124 +#, c-format +msgid "Prepare volume #%d for %s and hit return: " +msgstr "Preparu datumvolumon #%d por %s kaj premu enig-klavon: " + +#: src/buffer.c:1130 +msgid "EOF where user reply was expected" +msgstr "EOF kie respondo de uzanto estis atendata" + +#: src/buffer.c:1135 src/buffer.c:1167 +msgid "WARNING: Archive is incomplete" +msgstr "AVERTO: arÄ¥ivo estas malkompleta" + +#: src/buffer.c:1149 +#, c-format +msgid "" +" n name Give a new file name for the next (and subsequent) volume(s)\n" +" q Abort tar\n" +" y or newline Continue operation\n" +msgstr "" +" n nomo Indiki novan nomon por la venonta (kaj sekva) datumvolumo(j)\n" +" q Ĉesigi tar\n" +" y aÅ­ novlinio DaÅ­rigi operacion\n" + +#: src/buffer.c:1154 +#, c-format +msgid " ! Spawn a subshell\n" +msgstr " ! Generi subŝelon\n" + +#: src/buffer.c:1155 +#, c-format +msgid " ? Print this list\n" +msgstr " ? Montri tiun ĉi liston\n" + +#: src/buffer.c:1162 +msgid "No new volume; exiting.\n" +msgstr "Neniu nova datumvolumo: ni eliras.\n" + +#: src/buffer.c:1195 +msgid "File name not specified. Try again.\n" +msgstr "Dosiernomo ne estis indikata. Reprovu.\n" + +#: src/buffer.c:1208 +#, c-format +msgid "Invalid input. Type ? for help.\n" +msgstr "Malvalida enigo. Tajpu ? por helpo.\n" + +#: src/buffer.c:1259 +#, c-format +msgid "%s command failed" +msgstr "La komando %s fiaskis" + +#: src/buffer.c:1440 +#, c-format +msgid "%s is possibly continued on this volume: header contains truncated name" +msgstr "" +"%s eble estas daÅ­rigata en tiu ĉi datumvolumo: la kapo enhavas tranĉitan " +"nomon" + +#: src/buffer.c:1444 +#, c-format +msgid "%s is not continued on this volume" +msgstr "%s ne estas daÅ­rigata en tiu ĉi datumvolumo" + +#: src/buffer.c:1458 +#, c-format +msgid "%s is the wrong size (%s != %s + %s)" +msgstr "%s estas malkorekta grando (%s != %s + %s)" + +#: src/buffer.c:1473 +#, c-format +msgid "This volume is out of sequence (%s - %s != %s)" +msgstr "Tiu ĉi datumvolumo estas for de sekvo (%s - %s != %s)" + +#: src/buffer.c:1551 src/buffer.c:1577 +#, c-format +msgid "Archive not labeled to match %s" +msgstr "La arÄ¥ivo ne estas markita por kongrui al %s" + +#: src/buffer.c:1581 +#, c-format +msgid "Volume %s does not match %s" +msgstr "La datumvolumo %s ne kongruas al %s" + +#: src/buffer.c:1675 +#, c-format +msgid "" +"%s: file name too long to be stored in a GNU multivolume header, truncated" +msgstr "" +"%s: dosiernomo tro longas por esti konservata en GNU-plurvoluma kapo, ni " +"tranĉis" + +#: src/buffer.c:1866 +msgid "write did not end on a block boundary" +msgstr "skribo ne finiĝis ĉe bloko-limo" + +#: src/compare.c:96 +#, c-format +msgid "Could only read %lu of %lu byte" +msgid_plural "Could only read %lu of %lu bytes" +msgstr[0] "Eblis legi %lu el %lu bajto" +msgstr[1] "Eblis legi %lu el %lu bajtoj" + +#: src/compare.c:106 src/compare.c:388 +msgid "Contents differ" +msgstr "Enhavo malsamas" + +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 +msgid "Unexpected EOF in archive" +msgstr "Neatendita EOF en arÄ¥ivo" + +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 +msgid "File type differs" +msgstr "Dosiertipo malsamas" + +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 +msgid "Mode differs" +msgstr "Reĝimo malsamas" + +#: src/compare.c:206 +msgid "Uid differs" +msgstr "UID malsamas" + +#: src/compare.c:208 +msgid "Gid differs" +msgstr "GID malsamas" + +#: src/compare.c:212 +msgid "Mod time differs" +msgstr "Modif-tempo malsamas" + +#: src/compare.c:216 src/compare.c:422 +msgid "Size differs" +msgstr "Grando malsamas" + +#: src/compare.c:265 +#, c-format +msgid "Not linked to %s" +msgstr "Ne ligita al %s" + +#: src/compare.c:289 +msgid "Symlink differs" +msgstr "Simbol-ligo malsamas" + +#: src/compare.c:318 +msgid "Device number differs" +msgstr "Aparatnumero malsamas" + +#: src/compare.c:464 +#, c-format +msgid "Verify " +msgstr "Kontroli " + +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" +msgstr "%s: nekonata dosiertipo '%c', komparita kiel normala dosiero" + +#: src/compare.c:527 +msgid "Archive contains file names with leading prefixes removed." +msgstr "ArÄ¥ivo enhavas dosiernomojn kun forigitaj antaÅ­iraj prefiksoj." + +#: src/compare.c:533 +msgid "Archive contains transformed file names." +msgstr "ArÄ¥ivo enhavas transformitajn dosiernomojn." + +#: src/compare.c:538 +msgid "Verification may fail to locate original files." +msgstr "Kontrolo povas malsukcesi lokigi originalajn dosierojn." + +#: src/compare.c:612 +#, c-format +msgid "VERIFY FAILURE: %d invalid header detected" +msgid_plural "VERIFY FAILURE: %d invalid headers detected" +msgstr[0] "KONTROLA MALSUKCESO: %d malvalida kapo detektita" +msgstr[1] "KONTROLA MALSUKCESO: %d malvalidaj kapoj detektitaj" + +#: src/compare.c:630 src/list.c:221 +#, c-format +msgid "A lone zero block at %s" +msgstr "Izolita nul-bloko ĉe %s" + +#: src/create.c:73 +#, c-format +msgid "%s: contains a cache directory tag %s; %s" +msgstr "%s: enhavas kaŝmemoran dosierujan markon %s; %s" + +#: src/create.c:262 +#, c-format +msgid "value %s out of %s range %s..%s; substituting %s" +msgstr "valoro %s estas for de intervalo %s %s..%s; ni anstataÅ­igas %s" + +#: src/create.c:268 +#, c-format +msgid "value %s out of %s range %s..%s" +msgstr "valoro %s estas for de intervalo %s %s..%s" + +#: src/create.c:328 +msgid "Generating negative octal headers" +msgstr "Generado de negativaj okumaj kapoj" + +#: src/create.c:601 src/create.c:664 +#, c-format +msgid "%s: file name is too long (max %d); not dumped" +msgstr "%s dosiernomo tro longas (maks %d); ne ŝutita" + +#: src/create.c:611 +#, c-format +msgid "%s: file name is too long (cannot be split); not dumped" +msgstr "%s dosiernomo tro longas (ne povas esti apartigita); ne ŝutita" + +#: src/create.c:638 +#, c-format +msgid "%s: link name is too long; not dumped" +msgstr "%s: lignomo tro longas; ne ŝutita" + +#: src/create.c:1084 +#, c-format +msgid "%s: File shrank by %s byte; padding with zeros" +msgid_plural "%s: File shrank by %s bytes; padding with zeros" +msgstr[0] "%s: dosiero malpligrandiĝis je %s bajto; ni ŝtopas per nulo" +msgstr[1] "%s: dosiero malpligrandiĝis je %s bajtoj; ni ŝtopas per nuloj" + +#: src/create.c:1180 +#, c-format +msgid "%s: file is on a different filesystem; not dumped" +msgstr "%s: dosiero estas en malsama dosiersistemo; ne ŝutita" + +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 +msgid "contents not dumped" +msgstr "enhavo ne estas ŝutita" + +#: src/create.c:1438 +#, c-format +msgid "%s: Unknown file type; file ignored" +msgstr "%s: nekonata dosiertipo; dosiero estas preteratentita" + +#: src/create.c:1549 +#, c-format +msgid "Missing links to %s." +msgstr "Mankas ligoj al %s." + +#: src/create.c:1710 +#, c-format +msgid "%s: file is unchanged; not dumped" +msgstr "%s: dosiero estas nemodifita; ne ŝutita" + +#: src/create.c:1719 +#, c-format +msgid "%s: file is the archive; not dumped" +msgstr "%s: dosiero estas la arÄ¥ivo; ne ŝutita" + +#: src/create.c:1747 src/incremen.c:603 +msgid "directory not dumped" +msgstr "dosierujo ne estas ŝutita" + +#: src/create.c:1819 +#, c-format +msgid "%s: file changed as we read it" +msgstr "%s: dosiero ŝanĝis dum ni legas ĝin" + +#: src/create.c:1900 +#, c-format +msgid "%s: socket ignored" +msgstr "%s: konektilo estis preteratentata" + +#: src/create.c:1906 +#, c-format +msgid "%s: door ignored" +msgstr "%s: pordo estis preteratentata" + +#: src/delete.c:218 src/list.c:258 src/update.c:193 +msgid "Skipping to next header" +msgstr "Ni saltas al sekva kapo" + +#: src/delete.c:284 +msgid "Deleting non-header from archive" +msgstr "Ni forigas ne-kapon el arÄ¥ivo" + +#: src/extract.c:302 +#, c-format +msgid "%s: implausibly old time stamp %s" +msgstr "%s: malprobable malnova temp-indiko %s" + +#: src/extract.c:320 +#, c-format +msgid "%s: time stamp %s is %s s in the future" +msgstr "%s: temp-indiko %s estas %s s estontece" + +#: src/extract.c:536 +#, c-format +msgid "%s: Unexpected inconsistency when making directory" +msgstr "%s: neatendita malkohero dum kreo de dosierujo" + +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 +#, c-format +msgid "%s: Directory renamed before its status could be extracted" +msgstr "%s: dosierujo estis renomigata antaÅ­ ol ĝia stato povis esti prenata" + +#: src/extract.c:1010 +msgid "Extracting contiguous files as regular files" +msgstr "Ni elprenas daÅ­rigajn dosierojn kiel ordinarajn dosierojn" + +#: src/extract.c:1365 +msgid "Attempting extraction of symbolic links as hard links" +msgstr "Ni provas elpreni simbolajn ligojn kiel rektajn ligojn" + +#: src/extract.c:1528 +#, c-format +msgid "%s: Cannot extract -- file is continued from another volume" +msgstr "%s: ne eblas eltiri -- dosiero daÅ­riĝas el alia datumvolumo" + +#: src/extract.c:1535 src/list.c:1135 +msgid "Unexpected long name header" +msgstr "Neatendita long-noma kapo" + +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" +msgstr "%s: nekonata dosiertipo '%c', ni eltiras kiel normalan dosieron" + +#: src/extract.c:1568 +#, c-format +msgid "Current %s is newer or same age" +msgstr "Nuna %s estas pli nova aÅ­ sam-aĝa" + +#: src/extract.c:1620 +#, c-format +msgid "%s: Was unable to backup this file" +msgstr "%s: ne eblis savkopii tiun ĉi dosieron" + +#: src/extract.c:1767 +#, c-format +msgid "Cannot rename %s to %s" +msgstr "Ne eblas renomigi %s al %s" + +#: src/incremen.c:494 src/incremen.c:536 +#, c-format +msgid "%s: Directory has been renamed from %s" +msgstr "%s: dosierujo estas renomigita el %s" + +#: src/incremen.c:549 +#, c-format +msgid "%s: Directory is new" +msgstr "%s: dosierujo estas nova" + +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: dosiero estas en malsama dosiersistemo; ne ŝutita" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: dosierujo estas renomigita" + +#: src/incremen.c:1001 src/incremen.c:1016 +msgid "Invalid time stamp" +msgstr "Malvalida temp-indiko" + +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" +msgstr "Malvalida modif-tempo (sekundoj)" + +#: src/incremen.c:1055 +msgid "Invalid modification time (nanoseconds)" +msgstr "Malvalida modif-tempo (nanosekundoj)" + +#: src/incremen.c:1071 +msgid "Invalid device number" +msgstr "Malvalida aparatnumero" + +#: src/incremen.c:1079 +msgid "Invalid inode number" +msgstr "Malvalida numero 'inode'" + +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" + +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 +msgid "Unexpected EOF in snapshot file" +msgstr "Neatendita EOF en specimena dosiero" + +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 +msgid "Missing record terminator" +msgstr "Mankas rikord-finiganto" + +#: src/incremen.c:1366 src/incremen.c:1369 +msgid "Bad incremental file format" +msgstr "Malĝusta aldona dosier-formo" + +#: src/incremen.c:1388 +#, c-format +msgid "Unsupported incremental format version: %" +msgstr "Nesubtenata versio de aldona formo: %" + +#: src/incremen.c:1543 +#, c-format +msgid "Malformed dumpdir: expected '%c' but found %#3o" +msgstr "Fuŝa 'dumpdir': ni atendis '%c' sed trovis %#3o" + +#: src/incremen.c:1553 +msgid "Malformed dumpdir: 'X' duplicated" +msgstr "Fuŝa 'dumpdir': duobligita 'X'" + +#: src/incremen.c:1566 +msgid "Malformed dumpdir: empty name in 'R'" +msgstr "Fuŝa 'dumpdir': malplena nomo en 'R'" + +#: src/incremen.c:1579 +msgid "Malformed dumpdir: 'T' not preceeded by 'R'" +msgstr "Fuŝa 'dumpdir': 'T' ne antaÅ­sekvata de 'R'" + +#: src/incremen.c:1585 +msgid "Malformed dumpdir: empty name in 'T'" +msgstr "Fuŝa 'dumpdir': malplena nomo en 'T'" + +#: src/incremen.c:1605 +#, c-format +msgid "Malformed dumpdir: expected '%c' but found end of data" +msgstr "Fuŝa 'dumpdir': ni atendis '%c' sed trovis finon de datumaro" + +#: src/incremen.c:1612 +msgid "Malformed dumpdir: 'X' never used" +msgstr "Fuŝa 'dumpdir': neniam uzata 'X'" + +#: src/incremen.c:1656 +#, c-format +msgid "Cannot create temporary directory using template %s" +msgstr "Ne eblas krei provizoran dosierujon uzante la ŝablonon %s" + +#: src/incremen.c:1717 +#, c-format +msgid "%s: Not purging directory: unable to stat" +msgstr "%s: ni ne netigas dosierujon: ne eblas apliki 'stat'" + +#: src/incremen.c:1730 +#, c-format +msgid "%s: directory is on a different device: not purging" +msgstr "%s: dosierujo estas en malsama aparato: ni ne netigas" + +#: src/incremen.c:1738 +#, c-format +msgid "%s: Deleting %s\n" +msgstr "%s: forigo de %s\n" + +#: src/incremen.c:1743 +#, c-format +msgid "%s: Cannot remove" +msgstr "%s: ne eblas forigi" + +#: src/list.c:189 +#, c-format +msgid "%s: Omitting" +msgstr "%s: ni malinkluzivigas" + +#: src/list.c:206 +#, c-format +msgid "block %s: ** Block of NULs **\n" +msgstr "bloko %s: ** Bloko de NULOj **\n" + +#: src/list.c:232 +#, c-format +msgid "block %s: ** End of File **\n" +msgstr "bloko %s: ** Fino de dosiero **\n" + +#: src/list.c:255 src/list.c:1107 src/list.c:1362 +#, c-format +msgid "block %s: " +msgstr "bloko %s: " + +#. TRANSLATORS: %s is type of the value (gid_t, uid_t, +#. etc.) +#: src/list.c:722 +#, c-format +msgid "Blanks in header where numeric %s value expected" +msgstr "Vakoj en kapo kie numera valoro %s estas atendata" + +#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) +#: src/list.c:777 +#, c-format +msgid "Archive octal value %.*s is out of %s range; assuming two's complement" +msgstr "" +"ArÄ¥iva okuma valoro %.*s estas for de intervalo %s; ni konsideras " +"komplementon de du" + +#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) +#: src/list.c:788 +#, c-format +msgid "Archive octal value %.*s is out of %s range" +msgstr "ArÄ¥iva okuma valoro %.*s estas for de intervalo %s" + +#: src/list.c:809 +msgid "Archive contains obsolescent base-64 headers" +msgstr "ArÄ¥ivo enhavas malaktualajn kapojn 'base-64'" + +#: src/list.c:823 +#, c-format +msgid "Archive signed base-64 string %s is out of %s range" +msgstr "Signita ĉeno 'base-64' de arÄ¥ivo (%s) estas for de intervalo %s" + +#: src/list.c:854 +#, c-format +msgid "Archive base-256 value is out of %s range" +msgstr "Valoro 'base-256' de arÄ¥ivo estas for de intervalo %s" + +#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) +#: src/list.c:883 +#, c-format +msgid "Archive contains %.*s where numeric %s value expected" +msgstr "ArÄ¥ivo enhavas %.*s kie estas atendata numera valoro %s" + +#. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) +#: src/list.c:905 +#, c-format +msgid "Archive value %s is out of %s range %s..%s" +msgstr "ArÄ¥iva valoro %s estas for de intervalo %s: %s..%s" + +#: src/list.c:1262 +#, c-format +msgid " link to %s\n" +msgstr " kunligo al %s\n" + +#: src/list.c:1270 +#, c-format +msgid " unknown file type %s\n" +msgstr " nekonata dosiertipo %s\n" + +#: src/list.c:1288 +#, c-format +msgid "--Long Link--\n" +msgstr "--Longa ligo--\n" + +#: src/list.c:1292 +#, c-format +msgid "--Long Name--\n" +msgstr "--Longa nomo--\n" + +#: src/list.c:1296 +#, c-format +msgid "--Volume Header--\n" +msgstr "--Voluma kapo--\n" + +#: src/list.c:1304 +#, c-format +msgid "--Continued at byte %s--\n" +msgstr "--DaÅ­rigita ĉe bajto %s--\n" + +#: src/list.c:1367 +msgid "Creating directory:" +msgstr "Kreado de dosierujo:" + +#: src/misc.c:721 +#, c-format +msgid "Renaming %s to %s\n" +msgstr "Alinomigo de %s al %s\n" + +#: src/misc.c:730 src/misc.c:749 +#, c-format +msgid "%s: Cannot rename to %s" +msgstr "%s: ne eblas renomigi al %s" + +#: src/misc.c:754 +#, c-format +msgid "Renaming %s back to %s\n" +msgstr "Renomigo de %s reen al %s\n" + +#: src/misc.c:1093 +#, c-format +msgid "%s: File removed before we read it" +msgstr "%s: dosiero estis forigata antaÅ­ ol ni legis ĝin" + +#: src/misc.c:1114 +msgid "child process" +msgstr "ida procezo" + +#: src/misc.c:1123 +msgid "interprocess channel" +msgstr "interproceza kanalo" + +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "La komando %s fiaskis" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: dosierlisto jam estas legita" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ne eblas difini horon por '%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: lego de dosiernomo enhavas nul-signon" + +#: src/names.c:821 +msgid "Pattern matching characters used in file names" +msgstr "Ŝablon-kongruaj signoj uzataj en dosiernomoj" + +#: src/names.c:823 +msgid "" +"Use --wildcards to enable pattern matching, or --no-wildcards to suppress " +"this warning" +msgstr "" +"Uzu --wildcards por ebligi ŝablon-kongruon, aŭ --no-wildcards por eviti tiun " +"ĉi averton" + +#: src/names.c:841 src/names.c:857 +#, c-format +msgid "%s: Not found in archive" +msgstr "%s: ne trovita en arÄ¥ivo" + +#: src/names.c:842 +#, c-format +msgid "%s: Required occurrence not found in archive" +msgstr "%s: postulata apero ne estis trovata en arÄ¥ivo" + +#: src/names.c:876 +#, c-format +msgid "Archive label mismatch" +msgstr "Miskongruo de arÄ¥iva etikedo" + +#: src/names.c:1180 +msgid "" +"Using -C option inside file list is not allowed with --listed-incremental" +msgstr "" +"Uzo de la modifilo -C ene de dosierlisto ne estas permesata kun --listed-" +"incremental" + +#: src/names.c:1186 +msgid "Only one -C option is allowed with --listed-incremental" +msgstr "Nur unu modifilo -C estas permesata kun --listed-incremental" + +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" +msgstr "Ambaŭ modifiloj '-%s' kaj '-%s' postulas ĉefenigujon" + +#: src/tar.c:163 +#, c-format +msgid "%s: Invalid archive format" +msgstr "%s: malvalida arÄ¥iv-formo" + +#: src/tar.c:187 +msgid "GNU features wanted on incompatible archive format" +msgstr "GNU-trajtoj estas dezirataj en neakordigebla arÄ¥iv-formo" + +#: src/tar.c:255 +#, fuzzy, c-format +msgid "" +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." +msgstr "" +"Nekonata citila stilo '%s'. Provu '%s --quoting-stile=help' por havigi " +"liston." + +#: src/tar.c:364 +#, fuzzy +msgid "" +"GNU 'tar' saves many files together into a single tape or disk archive, and " +"can restore individual files from the archive.\n" +"\n" +"Examples:\n" +" tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.\n" +" tar -tvf archive.tar # List all files in archive.tar verbosely.\n" +" tar -xf archive.tar # Extract all files from archive.tar.\n" +msgstr "" +"GNU-a 'tar' konservas multajn dosierojn kune en unuopa benda aŭ diska " +"arÄ¥ivo, kaj ĝi restarigas apartajn dosierojn el la arÄ¥ivo.\n" +"\n" +"Ekzemploj:\n" +" tar -cf archive.tar foo bar # Kreas archive.tar el dosieroj foo kaj bar.\n" +" tar -tvf archive.tar # Listigas detale ĉiujn dosierojn el archive." +"tar.\n" +" tar -xf archive.tar # Eltiras ĉiujn dosierojn el archive.tar.\n" + +#: src/tar.c:373 +#, fuzzy +msgid "" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The version control may be set with --backup or VERSION_CONTROL, values " +"are:\n" +"\n" +" none, off never make backups\n" +" t, numbered make numbered backups\n" +" nil, existing numbered if numbered backups exist, simple otherwise\n" +" never, simple always make simple backups\n" +msgstr "" +"La savkopia sufikso estas '~', krom se difinita per --suffix aÅ­ per " +"SIMPLE_BACKUP_SUFFIX.\n" +"La versi-administrado povas esti difinita per --backup aÅ­ VERSION_CONTROL, " +"valoroj estas:\n" +"\n" +" none, off neniam generi savkopiojn\n" +" t, numbered generi numeritajn savkopiojn\n" +" nil, existing numerigi se numeritaj jam ekzistas, alie generi simplajn\n" +" never, simple ĉiam generi simplajn savkopiojn\n" + +#: src/tar.c:403 +msgid "Main operation mode:" +msgstr "Ĉefa operacia reĝimo:" + +#: src/tar.c:406 +msgid "list the contents of an archive" +msgstr "listigi la enhavon de arÄ¥ivo" + +#: src/tar.c:408 +msgid "extract files from an archive" +msgstr "eltiri dosierojn el arÄ¥ivo" + +#: src/tar.c:411 +msgid "create a new archive" +msgstr "krei novan arÄ¥ivon" + +#: src/tar.c:413 +msgid "find differences between archive and file system" +msgstr "trovi malsamojn inter la arÄ¥ivo kaj la dosiersistemo" + +#: src/tar.c:416 +msgid "append files to the end of an archive" +msgstr "postmeti dosierojn al la fino de arÄ¥ivo" + +#: src/tar.c:418 +msgid "only append files newer than copy in archive" +msgstr "nur postmeti dosierojn pli novajn ol la kopio en arÄ¥ivo" + +#: src/tar.c:420 +msgid "append tar files to an archive" +msgstr "postmeti tar-dosierojn al arÄ¥ivo" + +#: src/tar.c:423 +msgid "delete from the archive (not on mag tapes!)" +msgstr "forigi el la arÄ¥ivo (ne en magnet-bendoj!)" + +#: src/tar.c:425 +msgid "test the archive volume label and exit" +msgstr "testi la arÄ¥ivan volum-etikedon kaj eliri" + +#: src/tar.c:430 +msgid "Operation modifiers:" +msgstr "Operaciaj modifiloj:" + +#: src/tar.c:433 +msgid "handle sparse files efficiently" +msgstr "trakti disajn dosierojn ŝpareme" + +#: src/tar.c:434 +msgid "MAJOR[.MINOR]" +msgstr "ĈEFA[.KROMA]" + +#: src/tar.c:435 +msgid "set version of the sparse format to use (implies --sparse)" +msgstr "difini version de la uzota disa formo (implicas --sparse)" + +#: src/tar.c:437 +msgid "handle old GNU-format incremental backup" +msgstr "trakti malnovan GNU-forman aldonan savkopion" + +#: src/tar.c:439 +msgid "handle new GNU-format incremental backup" +msgstr "trakti novan GNU-forman aldonan savkopion" + +#: src/tar.c:441 +msgid "dump level for created listed-incremental archive" +msgstr "ŝut-nivelo por kreita listita-aldona arÄ¥ivo" + +#: src/tar.c:443 +msgid "do not exit with nonzero on unreadable files" +msgstr "ne eliri kun nenulo pro nelegeblaj dosieroj" + +#: src/tar.c:445 +msgid "" +"process only the NUMBERth occurrence of each file in the archive; this " +"option is valid only in conjunction with one of the subcommands --delete, --" +"diff, --extract or --list and when a list of files is given either on the " +"command line or via the -T option; NUMBER defaults to 1" +msgstr "" +"procezi nur la NUMERO-an aperon de ĉiu dosiero en la arÄ¥ivo; tiu ĉi modifilo " +"validas nur kune kun unu el la subkomandoj --delete, --diff, --extract aÅ­ --" +"list kaj kiam listo de dosieroj estas indikita en la komandlinio aÅ­ per la " +"modifilo -T; NUMERO apriore estas 1" + +#: src/tar.c:451 +msgid "archive is seekable" +msgstr "arÄ¥ivo estas serĉebla" + +#: src/tar.c:453 +msgid "archive is not seekable" +msgstr "arÄ¥ivo ne estas serĉebla" + +#: src/tar.c:455 +msgid "do not check device numbers when creating incremental archives" +msgstr "ne kontroli aparat-numerojn dum kreo de aldonaj arÄ¥ivoj" + +#: src/tar.c:458 +msgid "check device numbers when creating incremental archives (default)" +msgstr "kontroli aparat-numerojn dum kreo de aldonaj arÄ¥ivoj (aprioras)" + +#: src/tar.c:464 +msgid "Overwrite control:" +msgstr "AnstataÅ­iga administro:" + +#: src/tar.c:467 +msgid "attempt to verify the archive after writing it" +msgstr "provi kontroli la arÄ¥ivon post skribi ĝin" + +#: src/tar.c:469 +msgid "remove files after adding them to the archive" +msgstr "forigi dosierojn post aldoni ilin al la arÄ¥ivo" + +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "ne anstataÅ­igi ekzistantajn dosierojn dum eltiro" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "ne anstataÅ­igi ekzistantajn dosierojn dum eltiro" + +#: src/tar.c:477 +msgid "don't replace existing files that are newer than their archive copies" +msgstr "" +"ne anstataÅ­igi ekzistantajn dosierojn kiuj pli novas ol iliaj arÄ¥ivaj kopioj" + +#: src/tar.c:479 +msgid "overwrite existing files when extracting" +msgstr "anstataÅ­igi ekzistantajn dosierojn dum eltiro" + +#: src/tar.c:481 +msgid "remove each file prior to extracting over it" +msgstr "forigi ĉiun dosieron antaŭ ol eltiri sur ĝi" + +#: src/tar.c:483 +msgid "empty hierarchies prior to extracting directory" +msgstr "malplenigi hierarkiojn antaŭ ol eltiri dosierujon" + +#: src/tar.c:485 +msgid "preserve metadata of existing directories" +msgstr "teni metadatumaron pri ekzistantaj dosierujoj" + +#: src/tar.c:487 +msgid "overwrite metadata of existing directories when extracting (default)" +msgstr "" +"anstataÅ­igi metadatumaron pri ekzistantaj dosierujoj dum eltiro (aprioras)" + +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "anstataÅ­igi ekzistantajn dosierojn dum eltiro" + +#: src/tar.c:496 +msgid "Select output stream:" +msgstr "Elekti eligfluon:" + +#: src/tar.c:499 +msgid "extract files to standard output" +msgstr "eltiri dosierojn al ĉefeligujo" + +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 +msgid "COMMAND" +msgstr "KOMANDO" + +#: src/tar.c:501 +msgid "pipe extracted files to another program" +msgstr "dukti eltiritajn dosierojn al alia programo" + +#: src/tar.c:503 +msgid "ignore exit codes of children" +msgstr "preteratenti elir-kodojn de idoj" + +#: src/tar.c:505 +msgid "treat non-zero exit codes of children as error" +msgstr "trakti ne-nulajn elir-kodojn de idoj kiel erarojn" + +#: src/tar.c:510 +msgid "Handling of file attributes:" +msgstr "Traktado de dosier-atributoj:" + +#: src/tar.c:513 +msgid "force NAME as owner for added files" +msgstr "devigi NOMOn kiel posedanton por aldonataj dosieroj" + +#: src/tar.c:515 +msgid "force NAME as group for added files" +msgstr "devigi NOMOn kiel grupon por aldonataj dosieroj" + +#: src/tar.c:516 src/tar.c:736 +msgid "DATE-OR-FILE" +msgstr "DATO-AŬ-DOSIERO" + +#: src/tar.c:517 +msgid "set mtime for added files from DATE-OR-FILE" +msgstr "difini 'mtime' por aldonataj dosieroj el DATO-AŬ-DOSIERO" + +#: src/tar.c:518 +msgid "CHANGES" +msgstr "ŜANĜOJ" + +#: src/tar.c:519 +msgid "force (symbolic) mode CHANGES for added files" +msgstr "devigi (simbolajn) reĝimajn ŜANĜOJn por aldonataj dosieroj" + +#: src/tar.c:521 +msgid "METHOD" +msgstr "METODO" + +#: src/tar.c:522 +msgid "" +"preserve access times on dumped files, either by restoring the times after " +"reading (METHOD='replace'; default) or by not setting the times in the first " +"place (METHOD='system')" +msgstr "" +"konservi alir-horojn en ŝutitaj dosieroj, aÅ­ per restarigo de la horoj post " +"lego (METODO='replace'; aprioras) aŭ per ne-difino de la horoj en la unua " +"loko (METODO='system')" + +#: src/tar.c:526 +msgid "don't extract file modified time" +msgstr "ne eltiri dosieran modif-horon" + +#: src/tar.c:528 +msgid "" +"try extracting files with the same ownership as exists in the archive " +"(default for superuser)" +msgstr "" +"provi eltiri dosierojn kun la sama posedanteco kiel ekzistanta en la arÄ¥ivo " +"(aprioras por ĉefuzanto)" + +#: src/tar.c:530 +msgid "extract files as yourself (default for ordinary users)" +msgstr "eltiri dosierojn kiel vi mem (aprioras por ordinaraj uzantoj)" + +#: src/tar.c:532 +msgid "always use numbers for user/group names" +msgstr "ĉiam uzi numerojn por uzant/grup-nomoj" + +#: src/tar.c:534 +msgid "extract information about file permissions (default for superuser)" +msgstr "eltiri informon pri dosier-permesoj (aprioras por ĉefuzanto)" + +#: src/tar.c:538 +msgid "" +"apply the user's umask when extracting permissions from the archive (default " +"for ordinary users)" +msgstr "" +"apliki 'umask' de uzanto dum eltiro de permesoj por la arÄ¥ivo (aprioras por " +"ordinaraj uzantoj)" + +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" + +#: src/tar.c:544 +msgid "same as both -p and -s" +msgstr "same ol uzi kaj -p kaj -s" + +#: src/tar.c:546 +msgid "" +"delay setting modification times and permissions of extracted directories " +"until the end of extraction" +msgstr "" +"prokrastigi difinon de modif-horoj kaj permesoj de eltiritaj dosierujoj ĝis " +"la fino de la eltirado" + +#: src/tar.c:549 +msgid "cancel the effect of --delay-directory-restore option" +msgstr "nuligi la efikon de la modifilo --delay-directory-restore" + +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Traktado de dosier-atributoj:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 +msgid "Device selection and switching:" +msgstr "Aktivigo kaj elekto de aparato:" + +#: src/tar.c:578 +msgid "ARCHIVE" +msgstr "ARĤIVO" + +#: src/tar.c:579 +msgid "use archive file or device ARCHIVE" +msgstr "uzi arÄ¥ivan dosieron aŭ aparaton ARĤIVO" + +#: src/tar.c:581 +msgid "archive file is local even if it has a colon" +msgstr "arÄ¥iva dosiero estas loka eĉ se ĝi havas dupunkton" + +#: src/tar.c:583 +msgid "use given rmt COMMAND instead of rmt" +msgstr "uzi indikitan KOMANDOn rmt anstataŭ rmt" + +#: src/tar.c:585 +msgid "use remote COMMAND instead of rsh" +msgstr "uzi deforan KOMANDOn anstataŭ rsh" + +#: src/tar.c:589 +msgid "specify drive and density" +msgstr "indiki diskon kaj denson" + +#: src/tar.c:603 +msgid "create/list/extract multi-volume archive" +msgstr "krei/listigi/eltiri plur-voluman arÄ¥ivon" + +#: src/tar.c:605 +msgid "change tape after writing NUMBER x 1024 bytes" +msgstr "ŝanĝi bend-aparaton post skribi NUMERO x 1024 bajtojn" + +#: src/tar.c:607 +msgid "run script at end of each tape (implies -M)" +msgstr "lanĉi skripton je fino de ĉiu bend-aparato (implicas -M)" + +#: src/tar.c:610 +msgid "use/update the volume number in FILE" +msgstr "uzi/ĝisdatigi la volum-numeron en DOSIERO" + +#: src/tar.c:615 +msgid "Device blocking:" +msgstr "Aparat-blokoj:" + +#: src/tar.c:617 +msgid "BLOCKS" +msgstr "BLOKOJ" + +#: src/tar.c:618 +msgid "BLOCKS x 512 bytes per record" +msgstr "BLOKOJ x 512 bajtoj por rikordo" + +#: src/tar.c:620 +msgid "NUMBER of bytes per record, multiple of 512" +msgstr "NUMERO da bajtoj por rikordo, oblo de 512" + +#: src/tar.c:622 +msgid "ignore zeroed blocks in archive (means EOF)" +msgstr "preteratenti nuligitajn blokojn en arÄ¥ivo (signifas EOF)" + +#: src/tar.c:624 +msgid "reblock as we read (for 4.2BSD pipes)" +msgstr "reblokigi dum ni legas (por duktoj 4.2BSD)" + +#: src/tar.c:629 +msgid "Archive format selection:" +msgstr "Elekto de arÄ¥iv-formo:" + +#: src/tar.c:631 tests/genfile.c:153 +msgid "FORMAT" +msgstr "FORMO" + +#: src/tar.c:632 +msgid "create archive of the given format" +msgstr "krei arÄ¥ivon el indikita formo" + +#: src/tar.c:634 +msgid "FORMAT is one of the following:" +msgstr "FORMO estas unu el la jenaj:" + +#: src/tar.c:635 +msgid "old V7 tar format" +msgstr "malnova formo V7 tar" + +#: src/tar.c:638 +msgid "GNU format as per tar <= 1.12" +msgstr "Formo GNU kiel en tar <= 1.12" + +#: src/tar.c:640 +msgid "GNU tar 1.13.x format" +msgstr "Formo de GNU-tar 1.13.5" + +#: src/tar.c:642 +msgid "POSIX 1003.1-1988 (ustar) format" +msgstr "Formo POSIX 1003.1-1988 (ustar)" + +#: src/tar.c:644 +msgid "POSIX 1003.1-2001 (pax) format" +msgstr "Formo POSIX 1003.1-2001 (pax)" + +#: src/tar.c:645 +msgid "same as pax" +msgstr "same ol pax" + +#: src/tar.c:648 +msgid "same as --format=v7" +msgstr "same ol --format=v7" + +#: src/tar.c:651 +msgid "same as --format=posix" +msgstr "same ol --format=posix" + +#: src/tar.c:652 +msgid "keyword[[:]=value][,keyword[[:]=value]]..." +msgstr "ŝlosilo[[:]=valoro][,ŝlosilo[[:]=valoro]]..." + +#: src/tar.c:653 +msgid "control pax keywords" +msgstr "kontroli pax-ŝlosilojn" + +#: src/tar.c:654 +msgid "TEXT" +msgstr "TEKSTO" + +#: src/tar.c:655 +msgid "" +"create archive with volume name TEXT; at list/extract time, use TEXT as a " +"globbing pattern for volume name" +msgstr "" +"krei arÄ¥ivon kun volum-nomo TEKSTO; dum listigo/eltiro, uzi TEKSTOn kiel " +"ĵokeran ŝablonon por volum-nomo" + +#: src/tar.c:660 +msgid "Compression options:" +msgstr "Densigaj modifiloj:" + +#: src/tar.c:662 +msgid "use archive suffix to determine the compression program" +msgstr "uzi arÄ¥ivan sufikson por determini la densigan programon" + +#: src/tar.c:664 +msgid "do not use archive suffix to determine the compression program" +msgstr "ne uzi la arÄ¥ivan sufikson por determini la densigan programon" + +#: src/tar.c:666 +msgid "PROG" +msgstr "PROG" + +#: src/tar.c:667 +msgid "filter through PROG (must accept -d)" +msgstr "filtri tra PROG (devas akcepti -d)" + +#: src/tar.c:683 +msgid "Local file selection:" +msgstr "Loka dosier-elekto:" + +#: src/tar.c:686 +msgid "add given FILE to the archive (useful if its name starts with a dash)" +msgstr "" +"aldoni la indikitan DOSIEROn al la arÄ¥ivo (utilas se ĝia nomo komencas per " +"streketo)" + +#: src/tar.c:687 +msgid "DIR" +msgstr "UJO" + +#: src/tar.c:688 +msgid "change to directory DIR" +msgstr "ŝanĝi al la dosierujo UJO" + +#: src/tar.c:690 +msgid "get names to extract or create from FILE" +msgstr "havigi nomojn por eltiri aÅ­ krei el DOSIERO" + +#: src/tar.c:692 +msgid "-T reads null-terminated names, disable -C" +msgstr "-T legas nul-finigitajn nomojn, malebligas -C" + +#: src/tar.c:694 +msgid "disable the effect of the previous --null option" +msgstr "malebligi la efikon de la antaÅ­a modifilo --null" + +#: src/tar.c:696 +msgid "unquote filenames read with -T (default)" +msgstr "malcitigi dosiernomojn legitajn per -T (aprioras)" + +#: src/tar.c:698 +msgid "do not unquote filenames read with -T" +msgstr "ne malcitigi dosiernomojn legitajn per -T" + +#: src/tar.c:699 tests/genfile.c:136 +msgid "PATTERN" +msgstr "ŜABLONO" + +#: src/tar.c:700 +msgid "exclude files, given as a PATTERN" +msgstr "ekskluzivi dosierojn, indikitaj kiel ŜABLONO" + +#: src/tar.c:702 +msgid "exclude patterns listed in FILE" +msgstr "ekskluzivi ŝablonojn listigitajn en DOSIERO" + +#: src/tar.c:704 +msgid "" +"exclude contents of directories containing CACHEDIR.TAG, except for the tag " +"file itself" +msgstr "" +"ekskluzivi enhavojn de dosierujoj enhavantaj CACHEDIR.TAG, krom por la " +"markdosiero mem" + +#: src/tar.c:707 +msgid "exclude everything under directories containing CACHEDIR.TAG" +msgstr "ekskluzivi ĉion sub dosierujoj enhavantaj CACHEDIR.TAG" + +#: src/tar.c:710 +msgid "exclude directories containing CACHEDIR.TAG" +msgstr "ekskluzivi dosierujojn enhavantajn CACHEDIR.TAG" + +#: src/tar.c:712 +msgid "exclude contents of directories containing FILE, except for FILE itself" +msgstr "" +"ekskluzivi enhavojn de dosierujoj enhavantaj DOSIEROn, krom por DOSIERO mem" + +#: src/tar.c:715 +msgid "exclude everything under directories containing FILE" +msgstr "ekskluzivi ĉion sub dosierujoj enhavantaj DOSIERO" + +#: src/tar.c:717 +msgid "exclude directories containing FILE" +msgstr "ekskluzivi dosierujojn enhavantajn DOSIEROn" + +#: src/tar.c:719 +msgid "exclude version control system directories" +msgstr "ekskluzivi versikontrol-sistemajn dosierujojn" + +#: src/tar.c:721 +msgid "exclude backup and lock files" +msgstr "ekskluzivi savkopiajn kaj ŝlosajn dosierojn" + +#: src/tar.c:723 +msgid "avoid descending automatically in directories" +msgstr "eviti malsupreniri aÅ­tomate en dosierujoj" + +#: src/tar.c:725 +msgid "stay in local file system when creating archive" +msgstr "resti en loka dosiersistemo dum kreo de arÄ¥ivo" + +#: src/tar.c:727 +msgid "recurse into directories (default)" +msgstr "rekursigi en dosierujojn (aprioras)" + +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" +msgstr "ne demeti antaÅ­irajn '/'-oj el dosiernomoj" + +#: src/tar.c:731 +msgid "follow symlinks; archive and dump the files they point to" +msgstr "sekvi simbol-ligojn; arÄ¥ivi kaj ŝuti la dosierojn, kiujn ili indikas" + +#: src/tar.c:733 +msgid "follow hard links; archive and dump the files they refer to" +msgstr "" +"sekvi rekt-ligojn; arÄ¥ivi kaj ŝuti la dosierojn, kiujn ili referencigas" + +#: src/tar.c:734 +msgid "MEMBER-NAME" +msgstr "MEMBRO-NOMO" + +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" +msgstr "komenci per la membro MEMBRO-NOMO en la arÄ¥ivo" + +#: src/tar.c:737 +msgid "only store files newer than DATE-OR-FILE" +msgstr "nur konservi dosierojn pli novajn ol DATO-AŬ-DOSIERO" + +#: src/tar.c:739 +msgid "DATE" +msgstr "DATO" + +#: src/tar.c:740 +msgid "compare date and time when data changed only" +msgstr "kompari daton kaj horon nur kiam datumaro ŝanĝis" + +#: src/tar.c:741 +msgid "CONTROL" +msgstr "KONTROLO" + +#: src/tar.c:742 +msgid "backup before removal, choose version CONTROL" +msgstr "savkopii antaÅ­ ol forigi, elekti versi-KONTROLOn" + +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 +msgid "STRING" +msgstr "ĈENO" + +#: src/tar.c:744 +msgid "" +"backup before removal, override usual suffix ('~' unless overridden by " +"environment variable SIMPLE_BACKUP_SUFFIX)" +msgstr "" +"savkopii antaÅ­ ol forigi, anstataÅ­igi ordinaran sufikson ('~' krom se " +"anstataÅ­igita de medi-variablo SIMPLE_BACKUP_SUFFIX)" + +#: src/tar.c:749 +msgid "File name transformations:" +msgstr "Dosiernomaj transformigoj:" + +#: src/tar.c:751 +msgid "strip NUMBER leading components from file names on extraction" +msgstr "demeti NUMERO antaÅ­irajn komponantojn el dosiernomoj dum eltiro" + +#: src/tar.c:753 +msgid "EXPRESSION" +msgstr "ESPRIMO" + +#: src/tar.c:754 +msgid "use sed replace EXPRESSION to transform file names" +msgstr "uzi sed-anstataÅ­igan ESPRIMOn por transformigi dosiernomojn" + +#: src/tar.c:760 +msgid "File name matching options (affect both exclude and include patterns):" +msgstr "" +"Dosiernom-kongruaj modifiloj (influas kaj ekskluzivajn kaj inkluzivajn " +"ŝablonojn):" + +#: src/tar.c:763 +msgid "ignore case" +msgstr "preteratenti usklecon" + +#: src/tar.c:765 +msgid "patterns match file name start" +msgstr "ŝablonoj kongruas al komenco de dosiernomo" + +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "ŝablonoj kongruas post iu ajn '/' (aprioras por ekskluzivo)" + +#: src/tar.c:769 +msgid "case sensitive matching (default)" +msgstr "uskleca kongruo (aprioras)" + +#: src/tar.c:771 +msgid "use wildcards (default for exclusion)" +msgstr "uzi ĵokerojn (aprioras por ekskluzivo)" + +#: src/tar.c:773 +msgid "verbatim string matching" +msgstr "laÅ­vorta ĉena kongruo" + +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "ĵokeroj ne kongruas kun '/'" + +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "ĵokeroj kongruas kun '/' (aprioras por ekskluzivo)" + +#: src/tar.c:782 +msgid "Informative output:" +msgstr "Informa eligo:" + +#: src/tar.c:785 +msgid "verbosely list files processed" +msgstr "detale listigi procezitajn dosierojn" + +#: src/tar.c:786 +msgid "KEYWORD" +msgstr "ŜLOSILVORTO" + +#: src/tar.c:787 +msgid "warning control" +msgstr "avert-kontrolo" + +#: src/tar.c:789 +msgid "display progress messages every NUMBERth record (default 10)" +msgstr "montri progres-mesaĝojn je ĉiu NUMERa rikordo (aprioras 10)" + +#: src/tar.c:791 +msgid "ACTION" +msgstr "AGO" + +#: src/tar.c:792 +msgid "execute ACTION on each checkpoint" +msgstr "plenumigi AGOn je ĉiu kontrolpunkto" + +#: src/tar.c:795 +msgid "print a message if not all links are dumped" +msgstr "montri mesaĝon se ne ĉiuj ligoj estos ŝutitaj" + +#: src/tar.c:796 +msgid "SIGNAL" +msgstr "SIGNALO" + +#: src/tar.c:797 +msgid "" +"print total bytes after processing the archive; with an argument - print " +"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " +"SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also " +"accepted" +msgstr "" +"montri kiom da bajtoj post la procezado de la arÄ¥ivo; kun argumento - montri " +"kiom da bajtoj, kiam tiu ĉi SIGNALO estos liverata; permesataj signaloj " +"estas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 kaj SIGUSR2; la nomoj sen prefikso " +"SIG ankaÅ­ akcepteblas" + +#: src/tar.c:802 +msgid "print file modification times in UTC" +msgstr "montri dosierajn modif-horojn laŭ UTC" + +#: src/tar.c:804 +msgid "print file time to its full resolution" +msgstr "montri dosieran horon per ĝia tuta distingivo" + +#: src/tar.c:806 +msgid "send verbose output to FILE" +msgstr "sendi detalan eligon al DOSIERO" + +#: src/tar.c:808 +msgid "show block number within archive with each message" +msgstr "montri bloknumeron ene de arÄ¥ivo je ĉiu mesaĝo" + +#: src/tar.c:810 +msgid "ask for confirmation for every action" +msgstr "peti konfirmon por ĉiu ago" + +#: src/tar.c:813 +msgid "show tar defaults" +msgstr "montri apriorojn de tar" + +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 +msgid "" +"when listing or extracting, list each directory that does not match search " +"criteria" +msgstr "" +"dum listigo aŭ eltiro, listigi ĉiun dosierujon kiu ne kongruas al serĉ-" +"kriterio" + +#: src/tar.c:819 +msgid "show file or archive names after transformation" +msgstr "montri dosieron aÅ­ arÄ¥ivajn nomojn post transformigo" + +#: src/tar.c:822 +msgid "STYLE" +msgstr "STILO" + +#: src/tar.c:823 +msgid "set name quoting style; see below for valid STYLE values" +msgstr "difini nom-citigan stilon; vidu sube por validaj valoroj de STILO" + +#: src/tar.c:825 +msgid "additionally quote characters from STRING" +msgstr "krome citigi signojn el ĈENO" + +#: src/tar.c:827 +msgid "disable quoting for characters from STRING" +msgstr "malebligi citigon por signoj el ĈENO" + +#: src/tar.c:832 +msgid "Compatibility options:" +msgstr "Akordigeblaj modifiloj:" + +#: src/tar.c:835 +msgid "" +"when creating, same as --old-archive; when extracting, same as --no-same-" +"owner" +msgstr "dum kreo, same ol --old-archive; dum eltiro, same ol --no-same-owner" + +#: src/tar.c:840 +msgid "Other options:" +msgstr "Aliaj modifiloj:" + +#: src/tar.c:843 +msgid "disable use of some potentially harmful options" +msgstr "malebligi uzon de kelkaj eble damaĝaj modifiloj" + +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" +msgstr "" +"Vi ne devas indiki pli ol unu el la modifiloj '-Acdtrux' aŭ '--test-label'" + +#: src/tar.c:988 +msgid "Conflicting compression options" +msgstr "Konfliktantaj densigaj modifiloj" + +#: src/tar.c:1047 +#, c-format +msgid "Unknown signal name: %s" +msgstr "Nekonata signal-nomo: %s" + +#: src/tar.c:1071 +msgid "Date sample file not found" +msgstr "Data specimen-dosiero ne estis trovata" + +#: src/tar.c:1079 +#, c-format +msgid "Substituting %s for unknown date format %s" +msgstr "Ni anstataÅ­igas %s por la nekonata dato-formo %s" + +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" +msgstr "Modifilo %s: ni traktas daton '%s' kiel %s" + +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 +#, c-format +msgid "filter the archive through %s" +msgstr "filtri la arÄ¥ivon tra %s" + +#: src/tar.c:1179 +msgid "Valid arguments for the --quoting-style option are:" +msgstr "Validaj argumentoj por la modifilo --quoting-style estas:" + +#: src/tar.c:1183 +msgid "" +"\n" +"*This* tar defaults to:\n" +msgstr "" +"\n" +"*Tiu ĉi* tar apriorigas tion:\n" + +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Malvalida posedanto" + +#: src/tar.c:1339 +msgid "Invalid blocking factor" +msgstr "Malvalida blok-faktoro" + +#: src/tar.c:1452 +msgid "Invalid tape length" +msgstr "Malvalida benda longo" + +#: src/tar.c:1466 +msgid "Invalid incremental level value" +msgstr "Malvalida aldon-nivela valoro" + +#: src/tar.c:1512 +msgid "More than one threshold date" +msgstr "Pli ol unu lim-dato" + +#: src/tar.c:1571 src/tar.c:1574 +msgid "Invalid sparse version value" +msgstr "Malvalida disa versi-valoro" + +#: src/tar.c:1659 +msgid "--atime-preserve='system' is not supported on this platform" +msgstr "--atime-preserve='system' ne estas subtenata en tiu ĉi platformo" + +#: src/tar.c:1684 +msgid "--checkpoint value is not an integer" +msgstr "valoro de --checkpoint ne estas entjero" + +#: src/tar.c:1801 +msgid "Invalid mode given on option" +msgstr "Malvalida reĝimo indikita en modifilo" + +#: src/tar.c:1858 +msgid "Invalid number" +msgstr "Malvalida numero" + +#: src/tar.c:1915 +msgid "" +"The --preserve option is deprecated, use --preserve-permissions --preserve-" +"order instead" +msgstr "" +"La modifilo --preserve estas malrekomendinda, uzu --preserve-permissions --" +"preserve-order anstataÅ­e" + +#: src/tar.c:1926 +msgid "Invalid record size" +msgstr "Malvalida rikord-grando" + +#: src/tar.c:1929 +#, c-format +msgid "Record size must be a multiple of %d." +msgstr "Rikord-grando devas esti oblo de %d." + +#: src/tar.c:1975 +msgid "Invalid number of elements" +msgstr "Malvalida nombro da elementoj" + +#: src/tar.c:1995 +msgid "Only one --to-command option allowed" +msgstr "Nur unu modifilo --to-command estas permesata" + +#: src/tar.c:2107 +#, c-format +msgid "Malformed density argument: %s" +msgstr "Fuŝa densiga argumento: %s" + +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr "Nekonata densigo: '%c'" + +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" +msgstr "Modifiloj '-[0-7][lmh]' ne estas subtenata de *tiu ĉi* tar" + +#: src/tar.c:2163 +msgid "[FILE]..." +msgstr "[DOSIERO]..." + +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." +msgstr "La malnova modifilo '%c' postulas argumenton." + +#: src/tar.c:2386 +msgid "--occurrence is meaningless without a file list" +msgstr "Sen dosierlisto, --occurrence estas sensignifa" + +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" +msgstr "--occurrence ne povas esti uzata en la petita operaci-reĝimo" + +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" +msgstr "Multoblaj arÄ¥iv-dosieroj postulas modifilon '-M'" + +#: src/tar.c:2413 +msgid "Cannot combine --listed-incremental with --newer" +msgstr "Ne eblas kombini --listed-incremental kun --newer" + +#: src/tar.c:2416 +msgid "--level is meaningless without --listed-incremental" +msgstr "Sen --listed-incremental, --level estas sensignifa" + +#: src/tar.c:2433 +#, c-format +msgid "%s: Volume label is too long (limit is %lu byte)" +msgid_plural "%s: Volume label is too long (limit is %lu bytes)" +msgstr[0] "%s: volum-etikedo tro longas (limo estas %lu bajto)" +msgstr[1] "%s: volum-etikedo tro longas (limo estas %lu bajtoj)" + +#: src/tar.c:2446 +msgid "Cannot verify multi-volume archives" +msgstr "Ne eblas kontroli plur-volumajn arÄ¥ivojn" + +#: src/tar.c:2448 +msgid "Cannot verify compressed archives" +msgstr "Ne eblas kontroli densigitajn arÄ¥ivojn" + +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Ŝablono %s ne povas esti uzata" + +#: src/tar.c:2457 +msgid "Cannot use multi-volume compressed archives" +msgstr "Ne eblas uzi plur-volumajn densigitajn arÄ¥ivojn" + +#: src/tar.c:2461 +msgid "Cannot concatenate compressed archives" +msgstr "Ne eblas kunmeti densigitajn arÄ¥ivojn" + +#: src/tar.c:2471 +msgid "--pax-option can be used only on POSIX archives" +msgstr "--pax-option nur uzeblas en arÄ¥ivoj POSIX" + +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option nur uzeblas en arÄ¥ivoj POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option nur uzeblas en arÄ¥ivoj POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option nur uzeblas en arÄ¥ivoj POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Ŝablono %s ne povas esti uzata" + +#: src/tar.c:2525 +msgid "Volume length cannot be less than record size" +msgstr "Datum-voluma longo ne povas esti malpli ol rikord-grando" + +#: src/tar.c:2528 +msgid "--preserve-order is not compatible with --listed-incremental" +msgstr "--preserve-order ne akordigeblas kun --listed-incremental" + +#: src/tar.c:2539 +msgid "Cowardly refusing to create an empty archive" +msgstr "Malkuraĝe ni rifuzas krei malplenan arÄ¥ivon" + +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" +msgstr "Modifiloj '-Aru' ne akordigeblas kun '-f -'" + +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" +msgstr "Vi devas indiki unu el la modifiloj '-Acdtrux' aÅ­ '--test-label'" + +#: src/tar.c:2715 +#, c-format +msgid "Exiting with failure status due to previous errors" +msgstr "Ni eliras kun malsukcesa stato pro antaÅ­aj eraroj" + +#: src/update.c:87 +#, c-format +msgid "%s: File shrank by %s byte" +msgid_plural "%s: File shrank by %s bytes" +msgstr[0] "%s: dosiero malkreskiĝis per %s bajto" +msgstr[1] "%s: dosiero malkreskiĝis per %s bajtoj" + +#: src/xheader.c:164 +#, c-format +msgid "Keyword %s is unknown or not yet implemented" +msgstr "Ŝlosilo %s estas nekonata aÅ­ ankoraÅ­ ne realigita" + +#: src/xheader.c:173 +msgid "Time stamp is out of allowed range" +msgstr "Temp-indiko estas for de permesata intervalo" + +#: src/xheader.c:204 +#, c-format +msgid "Pattern %s cannot be used" +msgstr "Ŝablono %s ne povas esti uzata" + +#: src/xheader.c:218 +#, c-format +msgid "Keyword %s cannot be overridden" +msgstr "Ŝablono %s ne povas esti anstataÅ­igata" + +#: src/xheader.c:667 +msgid "Malformed extended header: missing length" +msgstr "Fuŝa etendita kapo: mankas longo" + +#: src/xheader.c:676 +#, c-format +msgid "Extended header length %*s is out of range" +msgstr "Longo de etendita kapo %*s estas for de intervalo" + +#: src/xheader.c:688 +msgid "Malformed extended header: missing blank after length" +msgstr "Fuŝa etendita kapo: mankas blankspaco post longo" + +#: src/xheader.c:696 +msgid "Malformed extended header: missing equal sign" +msgstr "Fuŝa etendita kapo: mankas egal-signo" + +#: src/xheader.c:702 +msgid "Malformed extended header: missing newline" +msgstr "Fuŝa etendita kapo: mankas nov-linio" + +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" +msgstr "Ni preteratentas nekonatan etenditan kapan ŝlosilon '%s'" + +#: src/xheader.c:1012 +#, c-format +msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" +msgstr "Generita paro ŝlosilo/valoro tro longas (ŝlosilo=%s, longo=%s)" + +#. TRANSLATORS: The first %s is the pax extended header keyword +#. (atime, gid, etc.). +#: src/xheader.c:1042 +#, c-format +msgid "Extended header %s=%s is out of range %s..%s" +msgstr "La etendita kapo %s=%s estas for de la intervalo %s..%s" + +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 +#, c-format +msgid "Malformed extended header: invalid %s=%s" +msgstr "Fuŝa etendita kapo: malvalida %s=%s" + +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 +#, c-format +msgid "Malformed extended header: excess %s=%s" +msgstr "Fuŝa etendita kapo: troiga %s=%s" + +#: src/xheader.c:1501 +#, c-format +msgid "Malformed extended header: invalid %s: unexpected delimiter %c" +msgstr "Fuŝa etendita kapo: malvalida %s: neatendita apartigilo %c" + +#: src/xheader.c:1511 +#, c-format +msgid "Malformed extended header: invalid %s: odd number of values" +msgstr "Fuŝa etendita kapo: malvalida %s: malpara nombro da valoroj" + +#: src/checkpoint.c:109 +#, c-format +msgid "%s: not a valid timeout" +msgstr "%s: ne estas valida templimo" + +#: src/checkpoint.c:114 +#, c-format +msgid "%s: unknown checkpoint action" +msgstr "%s: nekonata kontrolpunkta ago" + +#: src/checkpoint.c:134 +msgid "write" +msgstr "skribi" + +#: src/checkpoint.c:134 +msgid "read" +msgstr "legi" + +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 +#, c-format +msgid "Write checkpoint %u" +msgstr "Skriba kontrol-punkto %u" + +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 +#, c-format +msgid "Read checkpoint %u" +msgstr "Lega kontrol-punkto %u" + +#: tests/genfile.c:111 +msgid "" +"genfile manipulates data files for GNU paxutils test suite.\n" +"OPTIONS are:\n" +msgstr "" +"'genfile' manipulas datumarajn dosierojn por la test-programaro 'paxutils' " +"de GNU.\n" +"MODIFILOJ estas:\n" + +#: tests/genfile.c:127 +msgid "File creation options:" +msgstr "Dosier-kreaj modifiloj:" + +#: tests/genfile.c:128 tests/genfile.c:139 +msgid "SIZE" +msgstr "GRANDO" + +#: tests/genfile.c:129 +msgid "Create file of the given SIZE" +msgstr "Krei dosieron el indikita GRANDO" + +#: tests/genfile.c:131 +msgid "Write to file NAME, instead of standard output" +msgstr "Skribi al dosiero NOMO, anstataŭ al ĉefeligujo" + +#: tests/genfile.c:133 +msgid "Read file names from FILE" +msgstr "Legi dosiernomojn el DOSIERO" + +#: tests/genfile.c:135 +msgid "-T reads null-terminated names" +msgstr "-T legas nul-finigitajn nomojn" + +#: tests/genfile.c:137 +msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" +msgstr "" +"Kompletigi la dosieron per la indikita ŜABLONO. ŜABLONO estas 'default' aÅ­ " +"'zeros'" + +#: tests/genfile.c:140 +msgid "Size of a block for sparse file" +msgstr "Grando de bloko por disa dosiero" + +#: tests/genfile.c:142 +msgid "Generate sparse file. Rest of the command line gives the file map." +msgstr "" +"Generi disan dosieron. Cetero de la komandlinio indikas la dosiermapon." + +#: tests/genfile.c:144 +msgid "OFFSET" +msgstr "DEŜOVO" + +#: tests/genfile.c:145 +msgid "Seek to the given offset before writing data" +msgstr "Moviĝi al la indikita deŝovo antaÅ­ ol skribi datumaron" + +#: tests/genfile.c:151 +msgid "File statistics options:" +msgstr "Dosier-statistikaj modifiloj:" + +#: tests/genfile.c:154 +msgid "Print contents of struct stat for each given file. Default FORMAT is: " +msgstr "" +"Montri enhavon de 'struct stat' por ĉiu indikita dosiero. Apriora FORMO " +"estas: " + +#: tests/genfile.c:161 +msgid "Synchronous execution options:" +msgstr "Sinkronaj plenumaj modifiloj:" + +#: tests/genfile.c:163 +msgid "OPTION" +msgstr "MODIFILO" + +#: tests/genfile.c:164 +msgid "" +"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " +"--unlink" +msgstr "" +"Plenumi ARGj. Utilas kun --checkpoint kaj unu el --cut, --append, --touch, --" +"unlink" + +#: tests/genfile.c:167 +msgid "Perform given action (see below) upon reaching checkpoint NUMBER" +msgstr "Plenumi indikitan agon (vidu sube), kiam atingi kontrolpunkton NUMERO" + +#: tests/genfile.c:170 +msgid "Set date for next --touch option" +msgstr "Difini daton por la modifilo --touch kiu sekvas" + +#: tests/genfile.c:173 +msgid "Display executed checkpoints and exit status of COMMAND" +msgstr "Montri plenumitajn kontrolpunktojn kaj elir-staton de KOMANDO" + +#: tests/genfile.c:178 +msgid "" +"Synchronous execution actions. These are executed when checkpoint number " +"given by --checkpoint option is reached." +msgstr "" +"Sinkronaj plenumaj agoj. Tiuj ĉi estas plenumataj kiam oni atingas " +"kontrolpunktan numeron indikitan de modifilo --checkpoint." + +#: tests/genfile.c:181 +msgid "" +"Truncate FILE to the size specified by previous --length option (or 0, if it " +"is not given)" +msgstr "" +"Tranĉi DOSIEROn al la grando indikita de antaÅ­a modifilo --length (aŭ 0, se " +"ne indikita)" + +#: tests/genfile.c:185 +msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." +msgstr "" +"Postmeti GRANDO bajtojn al DOSIERO. GRANDO estas indikita de antaÅ­a modifilo " +"--length." + +#: tests/genfile.c:188 +msgid "Update the access and modification times of FILE" +msgstr "Ĝisdatigi la alirajn kaj modifajn horojn de DOSIERO" + +#: tests/genfile.c:191 +msgid "Execute COMMAND" +msgstr "Lanĉi KOMANDOn" + +#: tests/genfile.c:194 +msgid "Unlink FILE" +msgstr "Malligi DOSIEROn" + +#: tests/genfile.c:244 +#, c-format +msgid "Invalid size: %s" +msgstr "Malvalida grando: %s" + +#: tests/genfile.c:249 +#, c-format +msgid "Number out of allowed range: %s" +msgstr "Numero estas for de permesata intervalo: %s" + +#: tests/genfile.c:252 +#, c-format +msgid "Negative size: %s" +msgstr "Negativa grando: %s" + +#: tests/genfile.c:265 tests/genfile.c:569 +#, c-format +msgid "stat(%s) failed" +msgstr "stat(%s) fiaskis" + +#: tests/genfile.c:268 +#, c-format +msgid "requested file length %lu, actual %lu" +msgstr "petita dosier-longo: %lu, fakta: %lu" + +#: tests/genfile.c:272 +#, c-format +msgid "created file is not sparse" +msgstr "kreita dosiero ne estas disa" + +#: tests/genfile.c:361 +#, c-format +msgid "Error parsing number near `%s'" +msgstr "Eraro dum analizo de numero proksime de '%s'" + +#: tests/genfile.c:367 +#, c-format +msgid "Unknown date format" +msgstr "Nekonata dat-formo" + +#: tests/genfile.c:391 +msgid "[ARGS...]" +msgstr "[ARGj...]" + +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 +#, c-format +msgid "cannot open `%s'" +msgstr "ne eblas malfermi '%s'" + +#: tests/genfile.c:434 +msgid "cannot seek" +msgstr "ne eblas apliki 'seek'" + +#: tests/genfile.c:451 +#, c-format +msgid "file name contains null character" +msgstr "dosiernomo enhavas nul-signon" + +#: tests/genfile.c:518 +#, c-format +msgid "cannot generate sparse files on standard output, use --file option" +msgstr "" +"ne eblas generi disajn dosierojn por la ĉefeligujo, uzu la modifilon --file" + +#: tests/genfile.c:596 +#, c-format +msgid "incorrect mask (near `%s')" +msgstr "malĝusta masko (proksime de '%s')" + +#: tests/genfile.c:602 tests/genfile.c:635 +#, c-format +msgid "Unknown field `%s'" +msgstr "Nekonata kampo '%s'" + +#: tests/genfile.c:662 +#, c-format +msgid "cannot set time on `%s'" +msgstr "ne eblas difini horon por '%s'" + +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "ne eblas apliki 'unlink' al '%s'" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "La komando %s fiaskis" + +#: tests/genfile.c:706 +#, c-format +msgid "cannot unlink `%s'" +msgstr "ne eblas apliki 'unlink' al '%s'" + +#: tests/genfile.c:833 +#, c-format +msgid "Command exited successfully\n" +msgstr "Komando eliris sukcese\n" + +#: tests/genfile.c:835 +#, c-format +msgid "Command failed with status %d\n" +msgstr "Komando fiaskis kun stato %d\n" + +#: tests/genfile.c:839 +#, c-format +msgid "Command terminated on signal %d\n" +msgstr "Komando estis ĉesigata de signalo %d\n" + +#: tests/genfile.c:841 +#, c-format +msgid "Command stopped on signal %d\n" +msgstr "Komando haltis pro signalo %d\n" + +#: tests/genfile.c:844 +#, c-format +msgid "Command dumped core\n" +msgstr "Komando ŝutis nukleon\n" + +#: tests/genfile.c:847 +#, c-format +msgid "Command terminated\n" +msgstr "Komando estas ĉesigita\n" + +#: tests/genfile.c:879 +#, c-format +msgid "--stat requires file names" +msgstr "--stat postulas dosiernomojn" + +#~ msgid "Cannot get working directory" +#~ msgstr "Ne eblas scii la laboran dosierujon" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "ordigi eltirotajn nomojn por kongrui al la arÄ¥ivo" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Kampo tro longa dum lego de specimena dosiero" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Leg-eraro en specimena dosiero" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Neatendita kamp-valoro en specimena dosiero" + +#~ msgid "Invalid group" +#~ msgstr "Malvalida grupo" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Longo de etendita kapo estas for de permesata intervalo" diff --git a/po/es.gmo b/po/es.gmo index 4c8274e1959d872fae7decc35e4f7fdf610e98bb..db119d7bdfa9e1cbbab68024f56080da4894ac87 100644 GIT binary patch delta 5511 zcmY+{34Bdg0>|<5@9#l4_8vckSu}rWrWiiMajv*X3z=oKNQ8*DJaW&S) zPq7?+i|XeGY-Ehrl;PXqoJhn(9EhQ~3M=BrSOt$D-!Yf40zSl==;oJ<%|v1=Oh9!! z5u4)*9E>MW?bfeq3_qq5A9d;9456YsT7(U7B{spsSPP$ECWbN%^l4_II(`?`kq?uw z&>jcVOH+KVCCx06n4c3j%T2zG8cpJFtReH5VaKN zkv`2;ERRpEFEPKmz6vtMrk-^G*5i0FG8tw!dRcCBl1g1Xi}CnhY=!Y*&Wubzb(D)* z%e|;2yM*=e8Fs=LZc}$Y9yK!?QSBW?4fq*ysd4k=IE)Bq{xyJJoR9;onV7`!XnWyS zhe_5?(^hNDp?XW^5R$<8kPZOHecLHmbc<$b)3^QQtd? zwCgqJsA!~jQG1{WJ?M^h9-G>z29r^nFcr0nGf|r;8~KXak6MD8SO+Wep&4q4y3?Mh z8F&>-;xw$T=if_3BU_8QlU=AU9zu2W4QjLb#~4G~CJwb!8K{AcLJeRHYJkg8Gq)YP zVu3whf=5g<8IBr2Gwe(MCei+4IqG@M!vH*o+VxjaySWH?f=m#jDus>Fg^9=*O&in_ zj6e-&F6#O%_V^g;6@3r2lr^|3uPQH7DUH)mUzmq#Xanl^2T(I|56fW*=2=r+i4WaT zJ8L>}vt~4MsmVcp%mF?;co#cjIU3cC_Ks!#wae#mLYr^1^>fswyoDZgGi>&osf}9m zF37LUbYw%DE!GpL0X(o)qZhT?0X3jZ)PR?wo{Ei)n15ZcpA*`ZS5VLCebmTZ^ri+I zS~HMUFtbq&eu$dtLga}x&rshB=S8mpc12x39d-RC)KY$h+Kjio_CyhCt%Glln`bAg!vfUITtv;J-oHAIMBP|tWK3ohYH3$vwu|=zw&vK|G2Yos zbFnNZvalSkK@a93ZJXn$J1Ign6xG~$I#Mu*!@zD#wpe11#Ux`4>(n z)E=3M9?VC*KTe_Uyb$>@f$bPPrlGFSMX#ppBo*DsePp?er@hlb2KM228R`yhqIP#o z2VP{ReNJG+H?T*8=F zo$rDg;1tx%}=Xp)BuKKC7h0txD=ysC+ev==cS^K@1QOW zOm!Nlg=#nntKlHj=9-GSldV_-_n{gt#87;Snvu#~oIh5vsK>Ss>iSuzJ+;;zd-JJi zYQI1|PDQ8zE#;ZhfP5H($FL+mu>OR4zJEb2MeHk1!#z<;G#oWhFY0^CP&2j?!?6JU z_57cw62^(ks0NEro2VWO+6c!YPpHYox_BPdkRMyQ3f8u^Ms?H&>)}9DyKiAIZbA=! zg4*O4F<#GqPUN^m>=b6=HLQavY0hm!;r{go!9=L{DvWS7saf+9UzA)dKi}g9)gW6oz zQ7??rzj3BE4%NV5)QrqQ4Qw~MusYd7{zX)@Q8lwF*T~x9n)C4$aR1K#{VU*4XxVdh!z4O>wve0l7m}m2hNIW4u_rR{ zgso4v{uz&wz9hn)dyz#Pd|*!;vi=d@Ah*aXJPvA;4}E8Y zdj8-T z*tmF4lcud2$JLK(>I+Z!zO*m3!|_tSsIH-YIpe!e$_Y%X;X9d@=JuucUg-9PW_0lL P?eD*+q;JX4L$3b;*G_A_ delta 6850 zcmZA5349dg8OQN=10;Z8LI}vsfP^H(K)8|n3W6pOBcg&}Hk*O0?(VF+8xT>p9za3l ztWrg-qOE5=x(Hs?ViiO=v|v3^18P+~!CTb+{yP&3oexjG@667;$MZh3i5`61x9d4y z@}1nKHyDm)K4ZGz#OB7#rX9-BRb$?3XG}+Iz)buJTVY0f*KFjU>B5h`I1ux(27BV~ zu@~Ntt?^~lIPYLTW0K}48r`{2e2Ot6@GR_v%dib@LjIY}{9tUe3pKZc*bR?j9_Ds1 zW;hn02Cl&&xCH0mQ>cDBvl^Oa2o^EEnMOk^T8O9NQXGIOJQY908f?ka%+-WZ17C|8 z=uRAs+r9H0z$vf1?K;%JTTol}1~Rt!60)JU3X9uUWwYm+fmOyhI$+Jpq@X3stpwq^=YzEuVEk5 z^T}aeqa0N<)u;)@Q8QkP>i7}V1a_bX*oP(f5yr87Z#Oe5P?_6^n!r7%VtXE&;+L3- z-yr=a%`qB!A9D-b4vLXJ%}CThHK@H`fZFSOP_NN`)XFjo-P&n~7Ux}&x-_Fv1I|Vj zZ4GK7SD^a48}s%4zfMDY_6yRdDdrVWO3y)M7Ncgq4poFVp(g$)YQ=j{&%K2j z=qPH!-8f;5=1kPqUW%I7RhZBCW+@HL@B!2})^=2?f5vibK`;7z1}Y;_)I^rx3|#45 zKZN}_{~oijkX31-rKq={9F>^>w!o_~>7%idhE~1`wP#yUTd)uHzz^Pe2R6Jf=c7@3 zANJgc%+>6~miRU5xnEKJb>ktLW&|ojL2Qjz^(FuGZB}zZD|^cG6=XNehsa_~Hp|j| zBhbP+EW_pA^}VS3k0Jj|J{zpJ=3G<}FYw%eD(Mb{HD_L)37}*MD?@A z^C8q$>_PSOE_TxU-*g1;CKtM+s`z4@i#OmpJce57YL=r6JcK-JUO}y>)hJ__v+0Or z*;L_BT!t(08SH}Pqus3zqCQ`Tm5gs*q@jU3k8yw7O+w9Z2`aVs;Y553sXJqhb@#jq zD>+|`6L2r8HrkGJGc*ph*Nf1Hn^5olUDz2P#H6b7MH=#L?0}!+Sj-yl&U7-eo#uC_ zTG@&g{s;9%)11+jfgEIxW(ro|a@75=VGqn=6iu1YDz=BQ8ScPr+>K4}09x39s)39t?nJtKPE68J z@dZ&c-HciIiRTei>VCv-*oB*!ycvO=@M_cqZbiNKo3SUpfcbbB_4c$m%N@8E>b@zc z=aaK(sN>79BW^$y*(0cx974_fDCS{KxjR5Us)Na>%mlDEUV%k;C+fM~sM`9(J3ofX za7PM+w<~GRq@lezfSOsxR5!KlQN=R`Gtu#!k9|46616oCpaysuPs4+#t;?R~X0#YJ zpdaWIfJ*VNsMoK{ zIqqJci#43rVFA8`y8kF6FQniN07<>R*;-_fgcc?w>aIQO%G1!XpTJ+(i zI0ECSi9CcVx?QLVA3+sk?hN-Uez0d9j^p~q8RUN?jRRab2|JzVrm#0!oKMD~7(^A> z9jFOBflB=jv@qj*_m9+5QCo33mS6xi&|1_M?!yZ(gCDAu3oju5gJ>-0f*yDpwc<~) z5Zlgl2N;P;;cV3PMW})9LVeNf@ywm&Zp94L!dBxz+=YYDT<8uw1OuD~k~G@U*nt}0 z09yDHYOlJ?cHi&QP+K$sN8vSCirY{fAMq@l;|@FrhjD!)YNh*e0QxR+GcgGDTrxnT zGmV?D13rp*xCixm9l|k~Rqd|y4Ah=phr0eC>bcK7v;6Kis)Z`Pa#T$uP#L}%_52G+ zW|HPG4b8ASCF?^SHxna?);i&6L3~PFLp(-2N9ahpr2igx(rYiltB4VV-j?%;_Xr)D z0Esmp5dS8A>p}0OR=tyWhIo)TKs-UbLp()j9}~o##23U;LjTu9tN%0c8gVyq1)<|w z7xNX?dhKe@=TY1KwpLI^3?s%9I$kE&&J&K|-q|g93c;&v970u{!6Y(p6X7SWBN~ri zX*^53;$6tXX~bIMVIsMLA3F4fu!k5*sIv7vkWc(T=x9Ua5MS$rV;gZBaR+gX&@qJw z5v_<-#7~5dD6u@<;%^2|-gq7E4)V68k4yMDo%o!1Gkt~sL`J=mI_4AK6BCK`gpPg0 zP>>zG9Ri)iAVFQa{!&@q7c3-JiCmC$jnOZq$IKDFKF-2eU??0qP@9M|sU zweQD+#6P|Bww^!YWyBHh{2y57wd44q*ZvOgA;x;=7vcNF9Id}Ojd|V&x8g2hCUGUv ziD)2hC#DjsiP6N8OXxV8 zIEh$5Y$3{tLgEdg@n}zDF0q-&Bpx7igoz=9trPF~2qzGKBK|$sC%E85?U+9ibRt&RskKu@T@GY5a~4GGSnB6f zSNZx>)Q1wmXvntwu|QpLzHQA7hU|Fy`C!bps!J*g=t9r0Uy(mG8B&Mo-m3Eh1&z1G zEq{a#=GBMoNTRQqcKndRxj{P?AI?QR7N^Jjcmemjyi;Dnu6`j4!JynL4hbtZ@^(l%^IGzwKM!x}@v+XlYLG zS|?JVwZ?)`D`fj?gOPbwb-#kRH8(SkWiC} z1nRsUOIhdN<)O^s6T<*6hJdU^p1@ zYj3DM#$>~}gLQ@2#fU@qZmvmuogH)HsSVRtWKM8mwYHu*?jF8oRAcGlB-iO>=vu%b VnZa7V7nDZo%&U=, 1997. # Santiago Vila Doncel , 1998, 1999, 2000, 2001, 2002, 2004. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: GNU tar 1.15.1\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2004-12-27 20:45+0100\n" "Last-Translator: Santiago Vila Doncel \n" "Language-Team: Spanish \n" @@ -30,36 +30,35 @@ msgid "ambiguous argument %s for %s" msgstr "argumento %s ambiguo para %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Los argumentos válidos son:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: El parámetro ARGP_HELP_FMT necesita un valor" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, fuzzy, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: El parámetro ARGP_HELP_FMT necesita un valor" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Parámetro ARGP_HELP_FMT desconocido" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Incongruencia en ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,21 +67,21 @@ msgstr "" "también\n" "obligatorios u opcionales para las opciones cortas correspondientes." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Modo de empleo:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " o bien: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPCIÓN...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Pruebe `%s --help' o `%s --usage' para más información.\n" # Por favor, no me digáis cómo se traduce bug. @@ -101,12 +100,12 @@ msgstr "Pruebe `%s --help' o `%s --usage' para m # ¿No tendría sentido catalogarlos entonces? # # Véase "A Bug's life". -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Comunicar bichos a %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Error del sistema desconocido" @@ -120,7 +119,7 @@ msgstr "Da esta lista de ayuda" msgid "give a short usage message" msgstr "Da un mensaje de uso corto" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NOMBRE" @@ -142,17 +141,16 @@ msgstr "" msgid "print program version" msgstr "Muestra la versión del programa" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: la opción `%s' requiere un argumento\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -160,62 +158,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: la opción `%s' es ambigua\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: la opción `--%s' no admite ningún argumento\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: la opción `%c%s' no admite ningún argumento\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: la opción `%s' requiere un argumento\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opción no reconocida `--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opción no reconocida `%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opción inválida -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: la opción requiere un argumento -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: la opción `-W %s' es ambigua\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: la opción `-W %s' no admite ningún argumento\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: la opción `%s' requiere un argumento\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memoria agotada" @@ -231,28 +229,30 @@ msgstr "No se puede determinar el directorio de trabajo inicial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -262,7 +262,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -272,7 +272,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -571,7 +571,12 @@ msgstr "salida est msgid "Cannot connect to %s: resolve failed" msgstr "No se puede acceder a la posición %s en el fichero %s" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "No se puede ejecutar un shell remoto" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "No se puede ejecutar un shell remoto" @@ -628,8 +633,8 @@ msgstr "Fin de fichero inesperado en el archivo" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NÚMERO" @@ -637,8 +642,8 @@ msgstr "N msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -653,7 +658,7 @@ msgstr "" msgid "cannot open %s" msgstr "No se puede abrir %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -662,9 +667,9 @@ msgstr "" msgid "Garbage command" msgstr "Orden ininteligible" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Esto no parece un archivo tar" @@ -744,60 +749,60 @@ msgstr "No se puede verificar la entrada/salida est msgid "Archive is compressed. Use %s option" msgstr "El archivo está comprimido. Utilice la opción %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "No se pueden actualizar archivos comprimidos" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Al principio de la cinta, se terminará ahora" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Demasiados errores, abandono" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tamaño del registro = %lu bloque" msgstr[1] "Tamaño del registro = %lu bloques" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloque no alineado (%lu byte) dentro del archivo" msgstr[1] "Bloque no alineado (%lu bytes) dentro del archivo" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "No se puede ir hacia atrás en el archivo; puede ser ilegible sin -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek no paró en los límites de un registro" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contiene un número de volumen inválido" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Desbordamiento en el número de volumen" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Prepare el volumen #%d para %s y pulse intro: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "" "Se encontró un final de fichero mientras se esperaba respuesta del usuario" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ATENCIÓN: El archivo está incompleto" @@ -829,7 +834,7 @@ msgstr "ATENCI # A mí aquí me da igual lista que ayuda, de las dos formas se entiende. Manda # el traductor original. gerardo # ¿A alguien más le parece mal que ponga ayuda en vez de lista? sv -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -842,12 +847,12 @@ msgstr "" " ! Lanza un subshell\n" " ? Muestra esta ayuda\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" @@ -858,35 +863,35 @@ msgstr "" # Uno se sale del programa, y éste acaba. En realidad, también da igual, de # cualquier forma se entiende, pero mejor acabar o terminar que finalizar, # total, son sinónimos. gerardo -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "No hay volumen nuevo; finalizando.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, fuzzy, c-format msgid "%s command failed" msgstr "La orden `%s' falló" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s no continúa en este volumen" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s no continúa en este volumen" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s tiene un tamaño erróneo (%s != %s + %s)" @@ -906,7 +911,7 @@ msgstr "%s tiene un tama # él solito. # Todavía espero una solución mágica que sea mejor que las dos # que tenemos hasta ahora. -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Este volumen está fuera de secuencia" @@ -917,17 +922,17 @@ msgstr "Este volumen est # Si no se sabe eso, se podría dejar de forma más neutra como # "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag) # FIXME: Preguntar. -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "El archivo no está etiquetado para que coincida con %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "El volumen %s no coincide con %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, fuzzy, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -939,28 +944,28 @@ msgstr "" # Según gag y jmg, hay que decir: "no está en un límite de bloque", pues # no estamos hablando de un bloque concreto (el bloque) sino de uno cualquiera. # FIXME: Entonces tal vez el original debería decir "on a block boundary". sv -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "El fin del archivo %s no está en un límite de bloque" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Sólo se pudieron leer %lu de %lu byte" msgstr[1] "Sólo se pudieron leer %lu de %lu bytes" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "El contenido es distinto" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Fin de fichero inesperado en el archivo" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "El tipo de fichero es distinto" @@ -970,46 +975,46 @@ msgstr "El tipo de fichero es distinto" # corresponder siempre una frase corta española, el resultado sonará a indio # completamente (me refiero a los indios esos de las películas del oeste, # que solamente hablan con sustantivos, verbos y adjetivos). sv -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "El modo es distinto" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "El uid es distinto" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "El gid es distinto" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "La fecha de modificación es distinta" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "El tamaño es distinto" # Creo que este enlace se efectúa al descomprimir un archivo tar. # No es que nos diga si está enlazado o no lo está, sino si él hace # el enlace o no lo hace. sv -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "No se enlaza a %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "El enlace simbólico es distinto" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "El número de dispositivo es distinto" # "Verifica ". Supongo que depende de si se concatena en algún # mensaje. jmg # FUZZY. Es verdad, habrá que verlo. -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verificar " @@ -1022,71 +1027,71 @@ msgstr "Verificar " # Realmente, dice lo que hace y no lo que ha hecho. sv # FIXME. Decirle al autor que estandarice las comillas: ¿'%c' o `%c'? # De momento lo estandarizo en la traducción. -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tipo de fichero `%c' desconocido, se toma la diferencia\n" "como fichero normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" "El archivo contiene nombres de fichero con los prefijos iniciales eliminados." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "El archivo contiene la marca de tiempo en el futuro %s" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Puede que la verificación no encuentre los ficheros originales." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "FALLO DE VERIFICACIÓN: %d cabecera inválida detectada" msgstr[1] "FALLO DE VERIFICACIÓN: %d cabeceras inválidas detectadas" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Un bloque de ceros aislado en %s" -#: src/create.c:72 +#: src/create.c:73 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: contiene una marca de directorio caché; no se vuelca" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valor %s fuera del rango %s %s..%s; se sustituye %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valor %s fuera del rango %s %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Generando cabeceras octales negativas" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: el nombre del fichero es demasiado largo (máx %d); no se vuelca" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: el nombre del fichero es demasiado largo (no se puede dividir); no se " "vuelca" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: el nombre del enlace es demasiado largo; no se vuelca" @@ -1099,7 +1104,7 @@ msgstr "%s: el nombre del enlace es demasiado largo; no se vuelca" # Que sí, reconozco que la traducción es un poco libre. # Pero mi intención es que el programa diga lo que va haciendo, no lo que ya # ha hecho. Ni siquiera el original es consistente en los modos verbales. sv -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -1108,13 +1113,13 @@ msgstr[0] "" msgstr[1] "" "%s: El tamaño del fichero ha disminuido en %s bytes, se rellena con ceros" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: el fichero está en un sistema de ficheros distinto; no se vuelca" # Se vuelca la *memoria* del proceso en un fichero llamado `core'. -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (memoria volcada)" @@ -1135,71 +1140,76 @@ msgstr " (memoria volcada)" # Seguiremos en la ortodoxia, pero aún así, no puedo creerme que venga # en el DRAE. ¿Estás seguro? sv # No, no me compré el DRAE. Pregúntalo a spanglish (si te atreves ;-) gerardo -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de fichero desconocido; no se tendrá en cuenta" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Faltan enlaces a '%s'.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: el fichero no ha cambiado; no se vuelca" # FIXME: Decir al autor que ponga el "itself". sv -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: el fichero es el propio archivo; no se vuelca" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: contiene una marca de directorio caché; no se vuelca" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: el fichero cambió mientras se estaba leyendo" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: el `socket' no se tendrá en cuenta" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: no se tendrá en cuenta la puerta" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Saltando a la siguiente cabecera" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Borrando no-cabecera del archivo" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: marca de fecha sospechosamente antigua %s" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: la marca de tiempo %s está %lu s en el futuro" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistencia inesperada al crear el directorio" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" @@ -1209,7 +1219,7 @@ msgstr "" # ni un dispositivo (de bloques o de caracteres) ni un fifo, etc. # Uno puede pensar que son los ficheros "normales", pero eso depende, # pues un directorio es de lo más "normal"... -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extrayendo ficheros contiguos como ficheros regulares" @@ -1218,198 +1228,216 @@ msgstr "Extrayendo ficheros contiguos como ficheros regulares" # Es una cuestión todavía no dirimida. # ¿Tienes algún dato más? ¿Qué dicen los libros? sv # Enlaces duros. Lo acabo de mirar en un libro. gag -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Intentando la extracción de enlaces simbólicos como enlaces duros" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: No se puede extraer -- el fichero es continuación de otro volumen" # ¿No se referirá al autor a "mangled filenames"?... jmg # FIXME. Preguntárselo. -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Fin de fichero inesperado en los nombres modificados" # FIXME. Lo de las comillas '%c'. # Como antes, lo estandarizo en la traducción a pesar de todo. -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tipo de fichero `%c' desconocido, se extrae como fichero normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, fuzzy, c-format msgid "Current %s is newer or same age" msgstr "El `%s' actual es más reciente" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: No se pudo hacer copia de seguridad de este fichero" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: No se puede renombrar a %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: El directorio ha sido renombrado" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: El directorio ha sido renombrado" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: El directorio es nuevo" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: el fichero está en un sistema de ficheros distinto; no se vuelca" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: El directorio ha sido renombrado" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Marca de tiempo inválida" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Se ha especificado un modo no válido en la opción" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Número de dispositivo inválido" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Número de nodo-i inválido" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1115 src/incremen.c:1153 -#, fuzzy -msgid "Read error in snapshot file" -msgstr "Error de lectura en %s" - -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Fin de fichero inesperado en el archivo" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, fuzzy, c-format +msgid "%s: byte %s: %s %s" +msgstr "%s: No se puede crear el enlace simbólico %s %s" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 #, fuzzy msgid "Malformed dumpdir: empty name in 'R'" msgstr "Argumento de densidad mal formado: '%s'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 #, fuzzy msgid "Malformed dumpdir: empty name in 'T'" msgstr "Argumento de densidad mal formado: '%s'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: No se purga el directorio: no se puede efectuar `stat'" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: el directorio está en un dispositivo distinto: no se purga" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Borrando %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: No se puede borrar" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Se omite" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloque %s: ** Bloque de NULos **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloque %s: ** Fin de Fichero **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloque %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Hay blancos en la cabecera cuando se esperaba el valor numérico %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1417,122 +1445,144 @@ msgstr "" "se supone complemento a dos" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "El valor octal %.*s del archivo está fuera del rango %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "El archivo contiene cabeceras base 64 obsoletas" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "La cadena firmada en base 64 %s del archivo está fuera del rango %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "El valor en base 256 del archivo está fuera del rango %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "El archivo contiene %.*s donde se esperaba el valor numérico %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, fuzzy, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "El valor del archivo %s está fuera del rango %s %s.%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " enlace a %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tipo de fichero desconocido %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Enlace largo--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Nombre largo--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Cabecera de Volumen--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continúa en el byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Creando el directorio:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "No se puede cambiar el directorio de trabajo" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Se renombra %s como %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: No se puede renombrar a %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Se vuelve a renombrar %s como %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: El fichero fue borrado antes de leerlo" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proceso hijo" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "canal de interproceso" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "La orden `%s' falló" + +# FIXME: Decir al autor que ponga el "itself". sv +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: el fichero es el propio archivo; no se vuelca" + +# Uff, a lo mejor se asusta el usuario si ponemos 'no se pudo leer con stat() +# el estado del fichero em+ +# stat() es una primitiva Unix que acaba de fallar; también podría +# ser: "No se puede hacer stat() del fichero %s", o "stat() ha fallado..." +# Aunque tal como está es más descriptivo para el neófito, desde +# luego. gag +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "No se puede leer el estado del fichero %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "" "los patrones de exclusión encajan con el comienzo del nombre del fichero" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: No se encuentra en el archivo" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: El elemento solicitado no se encuentra en el archivo" @@ -1543,38 +1593,38 @@ msgstr "%s: El elemento solicitado no se encuentra en el archivo" # Si no se sabe eso, se podría dejar de forma más neutra como # "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag) # FIXME: Preguntar. -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "El archivo no está etiquetado para que coincida con %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Las opciones `-%s' y `-%s' requieren entrada estándar" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Formato de archivo inválido" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Se requieren características de GNU en formato de archivo incompatible" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" # Yo usaría "recuperar", en vez de "restablecer". Lo de repetir "archivo" @@ -1592,10 +1642,10 @@ msgstr "" # # nil: numeradas... simples... (en plural) # # never, simPle (falta una pe): backup -> copia de seguridad. gag # Estoy de acuerdo con lo de gag (más arriba usas eso mismo). jmg -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1637,10 +1687,10 @@ msgstr "" # # nil: numeradas... simples... (en plural) # # never, simPle (falta una pe): backup -> copia de seguridad. gag # Estoy de acuerdo con lo de gag (más arriba usas eso mismo). jmg -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1668,71 +1718,71 @@ msgstr "" " en otro caso\n" " never, simple siempre hace copias de seguridad simples\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Modo principal de operación:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "lista el contenido de un archivo" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "extrae ficheros de un archivo" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "crea un nuevo archivo" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "encuentra las diferencias entre un archivo y el sistema de ficheros" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "añade ficheros al final de un archivo" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "solamente añade ficheros más recientes que la copia del archivo" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "añade ficheros tar a un archivo" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "borra del archivo (¡no en cintas magnéticas!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modificadores de operación:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "maneja ficheros dispersos de forma eficiente" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "maneja el formato GNU antiguo de respaldo incremental" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "maneja el nuevo formato GNU de respaldo incremental" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" @@ -1743,11 +1793,11 @@ msgstr "" # # encuentre ficheros ilegibles. (¡Uf! Ahora a ver cómo se pone esto en # # media línea.) gag # -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "no sale con estado distinto de cero cuando hay ficheros ilegibles" -#: src/tar.c:429 +#: src/tar.c:445 #, fuzzy msgid "" "process only the NUMBERth occurrence of each file in the archive; this " @@ -1761,211 +1811,264 @@ msgstr "" "órdenes o con la opción -T. El valor predeterminado de NUM es 1." # Mejor eso que inventarse un palabro, digo yo. sv -#: src/tar.c:435 +#: src/tar.c:451 #, fuzzy msgid "archive is seekable" msgstr "El archivo admite `seek'" # Mejor eso que inventarse un palabro, digo yo. sv -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "El archivo admite `seek'" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "intenta verificar el archivo después de escribirlo" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "borra los ficheros después de añadirlos al archivo" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "no reemplaza ficheros que existan al extraer" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "no reemplaza ficheros que existan al extraer" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "no reemplaza los ficheros que existan que sean más recientes que sus copias " "en el archivo" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "sobreescribe los ficheros que existan al extraer" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "borra cada fichero antes de extraer sobre él" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "vacía jerarquías antes de extraer directorios" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "conserva los metadatos de los directorios que existan" -#: src/tar.c:467 +#: src/tar.c:487 #, fuzzy msgid "overwrite metadata of existing directories when extracting (default)" msgstr "sobreescribe los ficheros que existan al extraer" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "sobreescribe los ficheros que existan al extraer" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "extrae los ficheros a la salida estándar" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "ORDEN" -#: src/tar.c:478 +#: src/tar.c:501 #, fuzzy msgid "pipe extracted files to another program" msgstr "extrae los ficheros a la salida estándar" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Manejo de los atributos del fichero:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "fuerza NOMBRE como propietario de los ficheros que se añaden" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "fuerza NOMBRE como grupo para los ficheros que se añaden" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "FECHA-O-FICHERO" -#: src/tar.c:494 +#: src/tar.c:517 #, fuzzy msgid "set mtime for added files from DATE-OR-FILE" msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "CAMBIOS" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "fuerza CAMBIOS (simbólicos) de modo para los ficheros que se añaden" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "no extrae la fecha de modificación del fichero" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "intenta extraer los ficheros con el mismo propietario" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "extrae los ficheros como usted mismo" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "utiliza siempre números para los nombres de usuarios/grupos" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "ordena los nombres que se extraen para que coincidan con el archivo" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "lo mismo que -p y -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Manejo de los atributos del fichero:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Selección de dispositivo y opciones:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIVO" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "utiliza un archivo o el dispositivo ARCHIVO" -#: src/tar.c:535 +#: src/tar.c:581 #, fuzzy msgid "archive file is local even if it has a colon" msgstr "el archivo es local incluso si tiene dos puntos" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "utiliza la ORDEN rmt dada en vez de rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "utiliza la ORDEN remota en vez de rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "especifica la unidad y la densidad" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "crea/lista/extrae un archivo multivolumen" @@ -1979,38 +2082,38 @@ msgstr "crea/lista/extrae un archivo multivolumen" # x × - gerardo # Efectivamente, pero no es transportable, el que use tar bajo DJGPP # le saldría un churro pues el aspa no existe en la tabla 850. sv -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "cambia la cinta después de escribir NÚMERO x 1024 bytes" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "ejecuta un script al final de cada cinta (implica -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "usa/actualiza el número de volumen en FICHERO" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Bloques en los dispositivos:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOQUES" # Sigo en mis 13 y en esto no hay quien me baje del burro: BLOQUES x 512 bytes # debe ser BLOQUES × 512 bytes. gerardo -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOQUES x 512 bytes por registro" -#: src/tar.c:574 +#: src/tar.c:620 #, fuzzy msgid "NUMBER of bytes per record, multiple of 512" msgstr "TAMAÑO bytes por registro, múltiplo de 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" "no tiene en cuenta los bloques convertidos en ceros dentro de un archivo " @@ -2025,7 +2128,7 @@ msgstr "" # # requetequetequete... (longitud infinita). Pelín ssagerao, ¿no? gag # # Bueno, al final he puesto lo que se ve, un poco menos raro que rebloquear. sv -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)" @@ -2034,70 +2137,70 @@ msgstr "rehace los bloques conforme se lee (para tuber # salida estándar' no pega mucho. Está en otros mensajes, como el # siguiente; no lo entiendo. - gerardo # FIXME. Tienes razón. Es muy raro. -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Selección del formato de archivo:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMATO" -#: src/tar.c:586 +#: src/tar.c:632 #, fuzzy msgid "create archive of the given format" msgstr "crea un archivo en el formato dado." -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMATO es uno de los siguientes:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "formato tar V7 antiguo" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "formato GNU de tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "formato GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formato POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formato POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 #, fuzzy msgid "same as pax" msgstr "Lo mismo que pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "lo mismo que --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "lo mismo que --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 #, fuzzy msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "palabra[[:]=valor][,palabra[[:]=valor], ...]" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "palabras clave de control de pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXTO" -#: src/tar.c:609 +#: src/tar.c:655 #, fuzzy msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " @@ -2106,63 +2209,63 @@ msgstr "" "crea un archivo con nombre de volumen NOMBRE. En el momento de listar/" "extraer, utiliza TEXTO como patrón expandible" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Opciones de compresión en conflicto" -#: src/tar.c:616 +#: src/tar.c:662 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "No se puede escribir al programa de compresión" -#: src/tar.c:618 +#: src/tar.c:664 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "No se puede escribir al programa de compresión" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtra a través de PROG (debe aceptar -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Selección del fichero local:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "cambia al directorio DIR" -#: src/tar.c:644 +#: src/tar.c:690 #, fuzzy msgid "get names to extract or create from FILE" msgstr "obtiene los nombres que se van a extraer o crear del fichero NOMBRE" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T lee nombres terminados en nulo, desactiva -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" @@ -2171,115 +2274,117 @@ msgstr "" # de expansión de nombres de ficheros, como * y ?, mientras que # el segundo se refiere a expresiones regulares como las de grep, # es decir, ^, $, ., *, etc. -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATRÓN" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "excluye ficheros, dados como un PATRÓN" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "excluye los patrones listados en FICHERO" -#: src/tar.c:658 +#: src/tar.c:704 #, fuzzy msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "excluye los directorios que contienen una marca de caché" -#: src/tar.c:661 +#: src/tar.c:707 #, fuzzy msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "excluye los directorios que contienen una marca de caché" -#: src/tar.c:664 +#: src/tar.c:710 #, fuzzy msgid "exclude directories containing CACHEDIR.TAG" msgstr "excluye los directorios que contienen una marca de caché" -#: src/tar.c:666 +#: src/tar.c:712 #, fuzzy msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "excluye los directorios que contienen una marca de caché" -#: src/tar.c:669 +#: src/tar.c:715 #, fuzzy msgid "exclude everything under directories containing FILE" msgstr "excluye los directorios que contienen una marca de caché" -#: src/tar.c:671 +#: src/tar.c:717 #, fuzzy msgid "exclude directories containing FILE" msgstr "excluye los directorios que contienen una marca de caché" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "evita descender automáticamente en los directorios" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "permanece en el sistema de ficheros locales al crear el archivo" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "opera recursivamente sobre los directorios (por omisión)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "no elimina la `/' inicial de los nombres de ficheros" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NOMBRE-DE-MIEMBRO" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO dentro del archivo" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "FECHA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "compara la fecha y hora solamente cuando cambian los datos" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "se hace un respaldo antes de borrar, escoja el CONTROL de versión" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "CADENA" -#: src/tar.c:698 +#: src/tar.c:744 #, fuzzy msgid "" "backup before removal, override usual suffix ('~' unless overridden by " @@ -2289,105 +2394,105 @@ msgstr "" "que se\n" "cambie con la variable de entorno SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 #, fuzzy msgid "strip NUMBER leading components from file names on extraction" msgstr "elimina NÚMERO componentes iniciales de los nombres de ficheros" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 #, fuzzy msgid "ignore case" msgstr "la exclusión no distingue mayúsculas de minúsculas" -#: src/tar.c:719 +#: src/tar.c:765 #, fuzzy msgid "patterns match file name start" msgstr "" "los patrones de exclusión encajan con el comienzo del nombre del fichero" -#: src/tar.c:721 +#: src/tar.c:767 #, fuzzy -msgid "patterns match after any `/' (default for exclusion)" +msgid "patterns match after any '/' (default for exclusion)" msgstr "los patrones de exclusión encajan después de cualquier / (por omisión)" -#: src/tar.c:723 +#: src/tar.c:769 #, fuzzy msgid "case sensitive matching (default)" msgstr "la exclusión distingue mayúsculas de minúsculas (por omisión)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "los comodines de patrones de exclusión no encajan con '/'" -#: src/tar.c:731 +#: src/tar.c:777 #, fuzzy -msgid "wildcards match `/' (default for exclusion)" +msgid "wildcards match '/' (default for exclusion)" msgstr "" "los comodines de los patrones de exclusión encajan con '/' (por omisión)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Salida informativa:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "lista los ficheros procesados detalladamente" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 #, fuzzy msgid "display progress messages every NUMBERth record (default 10)" msgstr "muestra mensajes de progreso cada 10 registros" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "muestra un mensaje si no se vuelcan todos los enlaces" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2395,33 +2500,37 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "muestra las fechas de modificación de los ficheros en UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "envía la salida detallada a FICHERO" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "muestra el número de bloque dentro del archivo con cada mensaje" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "pide confirmación para cada acción" -#: src/tar.c:767 +#: src/tar.c:813 #, fuzzy msgid "show tar defaults" msgstr "Muestra los valores predeterminados de tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 #, fuzzy msgid "" "when listing or extracting, list each directory that does not match search " @@ -2430,31 +2539,31 @@ msgstr "" "Cuando se lista o extrae, lista cada directorio que no coincida con el " "criterio de búsqueda" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Opciones de compatibilidad:" -#: src/tar.c:787 +#: src/tar.c:835 #, fuzzy msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" @@ -2463,66 +2572,57 @@ msgstr "" "al crear, lo mismo que --old-archive. Al extraer, lo mismo que --no-same-" "owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Otras opciones:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "No se puede especificar más de una opción `-Acdtrux'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Opciones de compresión en conflicto" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " tipo de fichero desconocido %s\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "No se encontró la fecha del fichero" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Sustituyendo %s por el formato de fecha desconocido %s" -#: src/tar.c:1057 +#: src/tar.c:1108 #, fuzzy, c-format -msgid "Option %s: Treating date `%s' as %s" +msgid "Option %s: Treating date '%s' as %s" msgstr "Se trata la fecha `%s' como %s + %ld nanosegundo" # FIXME: Decir al autor que ponga el "itself". sv -#: src/tar.c:1135 -#, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: el fichero es el propio archivo; no se vuelca" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -# FIXME: Decir al autor que ponga el "itself". sv -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "filtra el arhivo a través de gzip" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2530,15 +2630,20 @@ msgstr "" "\n" "Las opciones predeterminadas de *esta* versión de tar son:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Propietario inválido" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Factor de bloqueo inválido" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Longitud de cinta inválida" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" @@ -2548,109 +2653,102 @@ msgstr "" # Es "umbral", pero no sé qué c$%&# es la fecha umbral. :-( gag # A ver si te vale así. sv # ¿Qué tal os suena "fecha límite"?. jmg -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Se ha especificado más de una fecha tope" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Grupo inválido" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Se ha especificado un modo no válido en la opción" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Número inválido" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Propietario inválido" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "El tamaño del registro es inválido" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "El tamaño del registro debe ser múltiplo de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Número inválido de elementos" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, fuzzy, c-format msgid "Malformed density argument: %s" msgstr "Argumento de densidad mal formado: '%s'" -#: src/tar.c:2145 +#: src/tar.c:2133 #, fuzzy, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "Densidad desconocida: '%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Esta* versión de tar no admite las opciones `-[0-7][lmh]'" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FICHERO]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "La opción antigua `%c' requiere un argumento" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence no tiene sentido sin una lista de ficheros" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "no se puede usar --occurrence en el modo de operación solicitado" # requieren -> necesitan. gerardo -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Los archivos múltiples requieren la opción `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "No se puede combinar --listed-incremental con --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "--occurrence no tiene sentido sin una lista de ficheros" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2659,50 +2757,77 @@ msgstr[0] "" msgstr[1] "" "%s: La etiqueta de volumen es demasiado larga (el límite es %lu bytes)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "No se pueden verificar archivos multivolumen" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "No se pueden verificar archivos comprimidos" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "No se puede usar el patrón %s" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "No se pueden utilizar archivos multivolumen comprimidos" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "No se pueden actualizar archivos comprimidos" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option solamente se puede usar en archivos POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option solamente se puede usar en archivos POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option solamente se puede usar en archivos POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option solamente se puede usar en archivos POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "No se puede usar el patrón %s" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" # Me gusta más al verrés: cobarde rechazo [de la pradera] a... gerardo -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Rechazo cobarde a crear un archivo vacío" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Las opciones `-Aru' son incompatibles con `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Debe especificar una de las opciones `-Acdtrux'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" @@ -2721,7 +2846,7 @@ msgstr "" # y cursis, para que no se enfade nadie? Aunque para cursis: `cáspita', # `caracoles', `cónchales'; no diréis que no os doy opciones.) Por cierto, # creo que la coma sobra (incluso en el original). gerardo -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2734,119 +2859,115 @@ msgstr[1] "%s: El tama msgid "Keyword %s is unknown or not yet implemented" msgstr "La palabra clave %s es desconocida o no está implementada todavía" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Marca de tiempo fuera de rango" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "No se puede usar el patrón %s" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "La palabra clave %s no se puede sustituir" -#: src/xheader.c:542 +#: src/xheader.c:667 #, fuzzy msgid "Malformed extended header: missing length" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "La cadena firmada en base 64 %s del archivo está fuera del rango %s" -#: src/xheader.c:569 +#: src/xheader.c:688 #, fuzzy msgid "Malformed extended header: missing blank after length" msgstr "" "Cabecera extendida errónea: falta un espacio en blanco después de la longitud" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/xheader.c:583 +#: src/xheader.c:702 #, fuzzy msgid "Malformed extended header: missing newline" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "El valor del archivo %s está fuera del rango %s %s.%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, fuzzy, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, fuzzy, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Cabecera extendida errónea: falta un signo igual" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Grupo inválido" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Punto de comprobación de escritura %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Punto de comprobación de lectura %d" @@ -2991,7 +3112,7 @@ msgstr "N msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -3020,8 +3141,8 @@ msgstr "Error del sistema desconocido" msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "No se puede abrir %s" @@ -3036,17 +3157,17 @@ msgstr "No se puede cerrar" msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " tipo de fichero desconocido %s\n" @@ -3057,51 +3178,76 @@ msgstr " tipo de fichero desconocido %s\n" # ser: "No se puede hacer stat() del fichero %s", o "stat() ha fallado..." # Aunque tal como está es más descriptivo para el neófito, desde # luego. gag -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "No se puede leer el estado del fichero %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "No se puede abrir %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "La orden `%s' falló" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "No se puede abrir %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "El proceso hijo terminó con la señal %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Nombres de fichero modificados--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "No se puede cambiar el directorio de trabajo" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "ordena los nombres que se extraen para que coincidan con el archivo" + +#, fuzzy +#~ msgid "Read error in snapshot file" +#~ msgstr "Error de lectura en %s" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Grupo inválido" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: El fichero fue borrado antes de leerlo" @@ -3751,9 +3897,6 @@ msgstr "--Nombres de fichero modificados--\n" #~ msgid "Removing `%.*s' prefix from member names" #~ msgstr "Eliminando el prefijo `%.*s' de los nombres" -#~ msgid "%s: Cannot symlink %s %s" -#~ msgstr "%s: No se puede crear el enlace simbólico %s %s" - #~ msgid "Invalid group given on option" #~ msgstr "Se ha especificado un grupo no válido en la opción" diff --git a/po/et.gmo b/po/et.gmo index 5cd146ca4f0695be7714e533e7fe7d877ea08026..243195fdc2cc844842791de207e68c37b1ae4262 100644 GIT binary patch delta 11543 zcmYk=3w)2||HturN5?sC%yHi_X4q`AF~bhdhcU|#37a`)Q_iP+k*rbpoo9eI4$tmTvLeKF7~}v6BB{AIEWg zd>tnilPWllmvWkmI`XoOjKLU6=xB%4usxo@ff$Sp8#_)QrlJcwU>FX=vRG(cgoWg5 z8#`{N3Wca>$BDr->u9V;z6vYi5v+`7QJuVwb+86Eb;J~mz&RL%Td*eX!zOqZ)saAw zmRKLFV{Q|-Y2axps!}l@LvSN95Ka-+##2}ye?h%zFuh2|C{#!Cuo)KO0DKqKK&?1N z4U;emvrr>374z^pHw8w+`32R1>hX@lKPR3ab#Vyh;`6AH`We+Bzow2e0qdYTunbf1 z0IH$CZGF82$D!zS!U{MIb^l99la6~U1vPXL!_haY7uY%171@!`Xs27@M-Gq_kXOUTR?xPDE(?|o_ce>XrCoU2$3 zE7Gbu)(ER$57bBuL+!*u?0{ZWL-$Y}ifL^|q%W$WX{e6v!dkcwYv4I_vrwJe6!ZoW ztRVHgm9?EU1NrA<^F!Brus$9^b?_%t2P&kR2e(6Yco1r>Ohk2fnaz))*4&S&jKAit zOq$tNF<6tlE!M_Cs2;nqGOk1y?nE{4IR@i348!|a9&4xbEx{Pn$c{!mX9emx`%%}Q zN_RVsKZP4ql*QYqMdh?HbM22V(lFHaNy8A#LOoy@vM!xM49A058ZV<>;AhOnGHp%A z1|d7xc@ovJ^==B9vrlcs->42XXlLdu8r4t&>W#BebN&QI;4Z9==P(q1!-`mj6{kg4 ziyvxmFlq#rpk81%YNXsJC}_yfV=CT3I_)&4l{B1!db4-13|>H8e+@O1fgSCK3$?A{ zQ4O?5b^I~Z6ir1JE91avZQ>OwWp+~!?vo{O4_38)7Z+WOZ} z9oUO{(~qzOUPE={SJaSK>})!ifBb5@)P;P*YH? zi!lZD-589`(1X08a{}4X&Tq&@abmifZJv*bwC^mTpikpTjKX`^5F;`iXDnu7I=+wU zSU@-PeW;Eai3BW*?NKB02>Rn_)C-NnMmQCJ+=-fkL#UxYjV}BeHIo0JI#wgoEIwBz zn1=H(2tPrM$OUBGIVF3ThB8t2`2)7THKD z)U)ZRH-E3wuz@FQkQ5>X@C1~pQ-s27=nnvxA} z3iT;`hUM`tK7}QFnjxEl>ew=T6j!0%@D6IEYGs>meFkbIMx#3RJXXMUSQ)+8507IR ztka8WM0X4Y-8dE1)5RE!dr)tB0`-6^SPAc;-Xy5Exvn1Sfyo$)9Z(}U5&7p#=LZ|b zIb-v%KIXm&*i`#}E`=ssa1ga7>paxjIDn-w=5h1j z7Fd(~QB1_~s89G7EQdExYvEtiRFxZGrm#A?HK*|u!m&N7!D04-#h6aM4Ydt#qI&)> zs>2Njnz>A|_QX2W566)>7aQQ8SRKO#@dqs?qo!odAiMuhQlV{e8MTPY=9sx_jjhP@ zF$FiHI&cj&QdM$IeJga4PsR4Q0^{&I)Y=LjYQ88fs)44>i~KLtQt`O(BB9tEe|W zh%NCJw!p^2%#A~_F8LzsUevbw1~tU>hnpeJL`}^|RQ+`8MpTDCMYVSewHDkVBTP@i zQFD@tnyV*J-+?(cUyge7w@?qdj9OGaOms!8gqoTNY=BwTDcFvDJ=Vsn7>OmGaGdSh z|4k@FQE>^?fl{MP4->IIc|Q!nnfL=P#b6))JkK{@#+M7sT3Cv8IA4T~@mti82aPu8 zTcX;@LA5g%t7!kfO+iC;ss{qednU^?(da!bzx++KI_{4CB#< zz1jp5P$QIw)o=oq#|5bW{&dz*2*6J<5YJ+3ynq^k8e`0-w++US_d>R^GaDP?cc>u` z8f!+N88#>Hi<;|&s73k~#^aY*56g^W{B=Pb1VdDIM($l)$rPPH-9LOHI{^z(Q`2LTdC{jQG5*>Hv#C%I*I{Wqg8JZmf~+&= z0#?P2lg+jqh??6)sKs;`E8%tPzo?J&OX zZEhHhn$wA>2d_g7wHMX%64TA~jj=g-N7P8Tk>%oSv**KjF|8f_2j&pWL3Q}J&2OUC zlDpRo^G35#4ZndJ%G0Pfzk<5ZnQ8JSSevvnw!-0W*$*=%!E)U&TN?gsMM|_3=AY2THwQR(UFxBp-*n@lms^Q~U2miqo44Z3SXaF`OFPzKx>w;ZWgy9*~(Efp{k9^V0RTqpRpNx9r z_0}TP8aZdZjhe#pFPTLehFZ)is5O&?da)s>DW35XsfoeDb zOW*(u!lCGg<51s)NvK`%5~{(isD=)ro_8KK^ncnsdcJvHXEy~koP~XH9G1mXs73R& zwd?}3CR(GWDjzlU9#qF(K{d1nL+}7<$Unyjthmr@!)B;8l4*4hqmWF68#UMaQEze? zwJV&L&0oV+Q4NPQo*ZC|qU)B&T{`2EsOP+i8fq`Lz^_sFhb%XX zGZMA9+hR5Bv7GtW14dGzp??bX9q^zY=*0@S7uBH;u{vHtU4IW#vE~XhxBamR`IFcl z*Pt4@f_edGrTJ8cp>|!*m5hHQ3KOVkfa_2C8};ECg&NW&s5gEWwTi#RVfZ`N z!2WAY!;>(Zd^&24oJK9Szpxg@tTpXqpzd>zrl9RI7qv)MVHezkS}e{w$LR_cP*cz! z^`J2rj0;d5-hdjpBGmKFp{D9O>bU{y&D_^SO;HrGtK3ds3caZqg01iX_QJnVH)g(O zcEwO^Ouibm4NqciJd4^Le_%~)u))~gnv42n<3_!}W^93nFpl<}dlaInX#Bbv@_ty4 zd^U#b22?{QQE&JYYGeX78beSWs)qsC#F~gcR-=9AhzfWSHI#R; zJ63qZ%-ulL4U14i>P2*W*+TZ(7BYF(=yx&pJ3EXPFAK|Dx zb}QrGheB5>8sd7?o1DTFyowDla+~?q_rOT<5m*NoqR#KeWW0cFG4xII$?cDN&P&)D zPohSm^mcPy)ONHphQZQ=Q=6Wg5&tEs_FM13PT}MGPf(yyk(`P$SS8wXdJTBzzrp-z9rK zXt!C+iP)L?fv6GKgnGdru`;?#?J+}D3*)Kij%r{g*2PU&7C%N!(Roxu0dJW(Y>Jw) z?$+U`=gdOA;T{aak5LVNjWKu=o6){g`)xBsy|4o(#-p~$0aQo6!?jp?uj#;6R0HQw zQ&xJP`5-mJQ1Wa%gZcO&w%u?3SPgo|d_St7MxZU$)czkrL5pb?s^Jaxf{!qk{1?=N zYacMXpgC3|?}mD_L0A(DP;WRF^@UuGy1xk9;0@G$aYbfPw!?{n z7))OFUGv7_Se`r^D_|bB#_^~r@nQ&G#x%Txk7Ck6Gg1q&J$VtnuzpUt>LsQRHRcGuy2hCXf%r8n_5`eg|p<&Z8Q-fju$du=xw>In*v#gcWh$VaDHw zf*RLxn&b*DQl&j!wPkKae^dsl+_$n%MfW)@s%Q&g*|xtHSXhmRp7bEz9gd`x*Vp{=Up3nG{LZn%rMOMLdw{m+y8kZWBG zAlyw!20nBFbcJ&jph&x91yB zx1MrM47caUk$2JfyQny6FBF@J_o@4a&?*kV(!^JU4t;cb6WwhdXdSJS98cQ3Azm<5 z&MeCLl%FAfqMVNPu#eW?eF_hb$0`3ouyu?754Gys5zDBXiN6q62|kL&-+)fk_oe(b zp`#S}Q+TvE`TgVkPPpIYf`t@j<8|yn1QI&_rEWFhqC83!96l`F zG1Rp(sndh>jzWV|0?!ebh&9A9;=wVI!be=M-xGVW$lm+l{3HrLQWvWE|CuD2vy{(C-EvKTubZXiq#iG9N1I(|d+kO#El-zs4iv{Hk@*ZQV!=vE>KtJ1wXv z!$mqaQeJN_NVGxk0)mojB%Cnu)ZvRFhkqV6$lgE}@CoZbOJsCe|Yk5&uW7<1zeQ*V#OYx=)FbI?3?`^%aOy#D06t zZ0dg^z9n>I5`#Fmka)JZM&r-1gNpmO2~)5#>Zn7kqMU7W)t#lh6u013Vjoe5*hT1w z#R6hHF^9NFq!AT4_ge84{6$Ru3FQFWzW%!Y-?8I=B|bWodl0v{VKT9u@--rn_>O!a zrV%=tk^e=Mq}-a=M_eWz9HTk6l+f`WQH%1on*XOsmJw5l4&-@+jwcMxR(#ghb;ZrL z{5rlw?B)D0;=HYo!W*{yg7pK=*QK0?I{qXy_U;@imlI`48WKGz&mbNg<0-5p--xG) zTSR}NEp>0<9(!#U%(CTwsn=1B_>SmCeK~AO{7UHfj98)le}t2N68};022r1wNqlUN&a`K0ajqy%R?c?XY*=DJ~XHUmRy-A%a`gpf=S>xlGoYCL&ea3Rnx^C&- zU%SNycrtqK^EAqS!8^Ry9v^RuJ}>)uBl}1BcnTl)dU6Ludo~QH?DZMw^7n2Ue9zZ= zYUu6&@0X*3OM1h{&j|E>Ftw(?r_qewKFvI{X0)!*G&(LeIyTW2-!wTcwoz|n=fCmwE_-p2kGI3TwZ7iag?)S@Tw_O!%^8)Klj|Bc zWW?AZ1$jB+#`8uwBSwvI6^!7OM&!kKhkF+Kc|(`JO8R&DU{EMJr1 z`F+hc&!M%gy=B&o5AbZ?xXCl=jRoGKO+`Mw8KXTjj)i)6Z`tSP{a{D5k0)~12G8AH uEj?YlmAzZMb^N_qdr$j%JG}F3fVb{@eM)-Y`YdlRS*?>L-fvyo}L9oMLo-%f>?Qf|9vJHPv4u*J^4P*Gc!+ro>{yd7uLIWd%f8E ztt{5S(fsj$v3`)uMl+of*tTzd=c9fSXL%}gbnZqwDC9W zie39zRudfUIu+NDp4ZQcS#60NAcJSEqprEMB!~1Iq&?PI*c#U&|FbsohxS>o<77O7 zJ@CWR z;dlVmkWK?FYY2|Ug;;~C;7x3g-(qiUG{}s^K=hIx6C;vGWHYJ(uOVexUm%UNIuEui zqSiF*j;pZ*??jDUV`^0cyI~EEMK$OlJQ3eTRh%`{C!_*n#v}sD@pGZSfK8imzc`{0~mT zE@Mpj4yqy7qekQzjH!aph^R%K$C@GSfgMSYLw1(65Y_T4Fdgr3-Ql_mX`}Tx>iOTW zC-xg>8aM~l!Ih|TcVH*nH_qMvhsek#;~1*t+2c*R2(=i4*bU>Di90b_0CpjL2s>l? z1anU0piO!hYGmf4-dlW7a7|G}Oyc zi|jJg_S=N2Xcy{Ce;L)YcTscsGuqgq$P_pLb4eFtcdS8e>l;u#-HKWZ&tOx07h7xp zf9~G+HJL%-#byqBp%&RNR0HRr8ny(rM$X1`yb;x~+c6KHMm79fR7DM@nVx5&rpQKh zAQ!t(zcrFbUpyT(RBK$fqULI!>$ljCberksV>1!e5F$dGw3hH?u)V7(1YSY6O190&FwKtmX-*IlTZi zgmIjNkD)56f0{Yr+N0hdglb?hs$((K8rh7Ry4RG^j>u1_0$R;At275&lOBm`;B?do z&34lZ+_VSllV5>4S_9Y~FF{pwJGQ}B(8fLe4bnUQ~yF#7yn~ zmWxb9JyCO2h#KlrWLm8y$RTJw>82YmHWioPK=PNNw&ixzB6}CrkdIN@?ijYke2*Eq z38)5^VnK|^G9r3l3u+(lK^6QXs^I(*GbLxB7R|+|)qfv$#WztE9!5=7%TjZMXX9AX z<=6`d74NH?!}3?4|Pzq^qLAsU?mwW#`+nZ>seGf2OTs^D!@#XsO+%q%w_ms3#t`*LIvSsSo1 z-i?~u-KaT#6|?ams^SI}?qWxc%+w0TU;BA28S23XRLl3G7T0^O|G{pg(|xQ5?1R1V zYRtmNkWN|uK<%EOlW_<3#UHRcb`O{a#3mCNM8;~=Q0+!7s&`Q> z|JhCV44V6sP}{QtJL4^A;~pG`?_)k@SDWXjp`KfcJ@5+bj}IV=J!XAEWSCxHA?U@^ zQ7ydK^=>?w^sA^IcMO>!pMaXGMX3C+>jqQ@o<&vo2{y)zuxUtJ)JP1%EbafrL^M|` zlNtQO0oC*EsDk!m3p|1?F+F0YpaZJnNv=VhK>9iygzupiajU4=MFVgL>3P^28`aPd z>bC|GQA-zLPh5>{a65j2Phw^YKQ5Prbf3r|NCP=hDnM$E)_aX5a9h1hqcS%eEwBefRQ zpqkrWQJvZhgxj&E;T*82>Xz}3pKQFp+@2h)N^TWa0p?J@wTg%q-6rgfd$1FJhFS}0Yt8+hsPt&G(Sxe!Jk;E7aqmCndJr{| z4X!ZdW}%*+fa*X6#uPb^ND6Lny%~Fwz7-4bd2E13Q0K+3*c>yjG@s!fsQo?=N8m(M zMd#uG+>HJ4EzHM;>&y?FA?p}_4bc)Z)Q~$+FFuKS;S)E%?N#QdRew}NPQW2J8nviu zupi!sz3>2PEo8(^dJL+3A8M-4NA05RamHVZ;%PE8NAKe)*m}LGU?Hj@SEHVL4s-AT zsv+rDoBU>|5$lbrcsgnqT!;;E3#Q=?H~j!kC%q>|WDt>N*O=`x9#14)hU&>?)Z+Ua zYH|ID+E(qaH5H7&0i;hyt^H8(nAYj#?|DTx0WyXfC6u3NFA_xCvY1 zE>zF=VKe*`XX9a1g;TCK1qM*%T!O0j2296iuqnQT_3$0c#P^ZUo6{Kx6`@KD?;y!MA6sqCVP|q#H z7I-Ok#SPd9AH{5ZZX@Hb9vvb>6?VSed^QK79vqF@W+$T>HXS?RLewf>iJIGOuKQ8j zHFcA5AgX*Xo`~0D4}2R>z+X4T%*SKMX7jZRU?DdyL#^V+F$X_))6KW=9}h?m!wI+# z)$kT~xI>JZl98z0Fca0_QdEP_!8F`~DfmE)h)rZCs-U;9C4PmPl4Gd3?sBI|=c7hs zDypEFsG*&UxwssM;jO50-a#$ye_=OlxYaDyzNn)(Rz{>3k@cuWvj;oii>QhYqUP#L zR7Fj&TZ5p1A^+`6tZrcB?h;%1oF!scG zsG&Q@O<(1vccU7#54Hcl#@^WA9y9d)Q9YlF>hYOaj%!g{Xw(sx?mpZ(;j5}8xdJehUR`P7UJEgZS$e)udZ1;&DU@!w&8vWYPBy%jllhw zj|Wjx(`uI)*^#KJDM8h<8r9+3cQOAOvOQ#+j4z`KZ1<4KKNZzL4{GizU6&#=XD!3A zxB@kWkDw|zfU3aSZOp=UBnM$JPQ^iZV~mJicm*}Y-=JEW@vxbrJnTSvE)K;IuE1@m z=XyM1{+%!hRnDoXwNi~5iOWz2)x)Tc9>bQ{{86)gW7$Nq$S6b&X%VX6Qq)vjfLaR= zp%&FX)ZDk*V=Cx@DsTp>94|J*n44aUr;*-@eK6%Q)1f>(k;kk_M05aMfbH=f)JgU{ zYP)^o-f#7|Ik`sQc=BsdXZ^!?B7TXZu+I}_Bq~tPt-%7^hpOi%)avj4q>S;kBBCCz zM78uLoQj80t9#s2rl%p)h}`O?U&k(_Q=T@9)kZx(3cF$z_Q1c)E1NbE!v_;=KZ978Rd+-J=;T7Y`*YSjIwQLFw-)M9S)oEectsB&+@ z*7!JT^dX)CODPSmeC%p(Y$LFKw>`GKckD%uGbJU_td%@TRRn7^h9#&#gJReoz zI@Ah_~S{sD|A9qN!*vY7T$F&e&_88L>(D zCh0}UE7stb%+K#*m`A$d%Vs17V<*z5z0CM`BN8D)6<_NN@KoztY)zh<44O)kKe+Q1k4^i)R|GQbNLr@)x#)xQ+Z^gFw3iia$+;p>7%$c2o z8sg#D9ILPeo{d`dYcU^RLT%%pa16G1)%@rAQ&A(f4JYD$R6VgyubC5XJgVhqyWWU{ zN$+<3278mvdEIQIX{g1x96RFOsQY`dHGYSxDE$rd&-NnBBz+qW!=2bz`~O=aJ;?Y4 zTVgg7n1XHiQ(qCT!v^c`Zh8ndcjMP{?;`iUIO4{&&~(|Ud@Na zd-HtPm+%z=i`<%wcM(1#9!8DGY(gsvZAf|-!6w~+po?tl9rBoNt1AimWX&LGt>`)@ z`ImKu^?2?P?f)-{{Dbfl@d4Ni&nDDf)5!ao#I-n#u!VSG?M>`O-f+Sw!qbF1-FrQV zFCzZ2n?6eV4#EJ^)dYs$imfJt-E#aonRGF!6duWT2oZAs=05Z+mXrR7a0YQ(X~MIlPa&FUL|9K~!95>g1>q6WsXTWI-bYwQh!fr( z`Y`#IZ$5g+uf0YPY2!AsgnZ5-YbD_(!U)n62~&wT;TZ=x{ElCx+#5scQNmE-x|SQP z^=kfq+{`(yv++tduIB=T;e?|~aGgRpT<886;%f-^C+{-%__lk0A#r^Xbp^v&mDd9GPuB8}z&P^!eMg8IWk-Ypm`I!{dpLDw0&;~e%=jOT3w8N`N-->VJ zIP5^^Pdp3v;AMnM36lwX$aAllbvB7AQa2Eq5buef5E{D=72(sQKf^p+MTip~BHfOL z%)pxnx_&Sm|9dC-_mSF+AK*^HGQx7wsysxQ>wb zo13q6C&EC|eAX>5E+lw}Ur2bKxUL;I-$boE;{POmE8#RZPy9%z`k{N#V5 zm;DI$^FSX$eR`6PzY;bO-X~m42=YuSKBpJB&Le&gw!&XAoA9MX?;{o!UVJYE7;u#cnmwW#i97yO&eh5z`JW6~mh6%S5*EHWv zJb^C|j$a!8U4&dR-#MPkG?1>Y^WZJSuOa-)edcm}!o7bHPA3!-DhO){k8}SiLLb5o z!o`HT*Uco_@?3KM%ShZvLf2N;C~+V0C3v-)cYK@@_c$u)Bplhq@-)7?0RXlLOjnBhxNq<4m6~TwFnVbGHnaht2tRY-Z{uDxY;=A#5 zyw`npzbjeEAE@7vuBQZ7=hS5X$*8k9dT?W}`%)LYhV-^Nh3LiBJbwv!jR*@!zoksB z#^g65yhZ+XgzpKR3ANY1iMJ(j8n(hS-TIUNS~-i148j$JED9ORLn+uBKPRs>9wMAh z&@~k^O*HwhrRF?4jr1WxXE(o#t7yjkVRh2?@cyK~yBTSCkc>|V3kU^-w!EOZ9rz|c znK;T05k?U2?Y_e!)-f*U%|v0}lhRMM7w44b=Gk6fS()RtJz+Z#3{`pjcA3xbSUKV0 z_Uu4qAh;}$%&;RXsvY+YXL%&#DUJN;rG&R|Z)yv_FC4Kw{*dGGuCVzVpFg;BV)Wpe zl=z6DT@yQpypdW^>Inpb5xc~(qhU(%1?)(L!?R1HPFTeTtDTT1;tK}ss-V|NoHZdHxL%ubCt@!PhAMr5a@rkoN+ZG0io~MPx1_~iAD@}(3&)QYwTb^UenBtC@3kYr zpzROx=&}mBq_%kVVmRQb4p&gWI+~a{Au}bmIN}NA+F?(P6Sk{7ffdPHVG5wa3MWJh zBSG6^hk2cXA|8e!7@`H?O4}1Et?<=2dA29uwdokuglUz-J6>On&l`0|G;EiJf>p_m zx~~*uWK3M{sjBunvGDK=n_@$DerZ{4i3LiR(S;JUyW8Vwf5iFYU6rU_P&f~&1w33( zTUMmzkA>Op)!m+I=E%%-*j~g8)HX`B);OV(VA%1mI9}B9zb=VpO*D&v8LurZ+0Qz~ z6=WnzCT>p2D`$Oa{G;x&Vi`FBFVkJY#4yN}&I;z%%OVTs#_LaBSid|Jj8@0zPu>*Y zKe=`MtI0F!vl^XHV#rCu>h~#%`XfHZuD0RsIA{^EFzm(oMY*gaEuwg!=;3B82a`&! z;rKa2+oTl4dlp|7OFm+2xzEx7Cs&rnS*_5f$O&81lFx)GGnvOIn^;LOQeiLi1R{1g z!q|IgyDv~3jnsKzY$!@8$<e%k2Ez!a5J1-amin8K?WJD$dAd zFH&l>x;hxrhA3HK_lZ>a!hN(z689GGN@?qaLM%Zh?vKmaGyS@H109w@X=SvU63WVa z%WWTRU&U6B23RU#JFH!#CgkV44+KN;SGTr_6=cj}A2R!4?Y+`qAQB4t*$^wVRqMRv zmQMY1CeE07^0eYb1RV7X=L|1hs?qF`N=hbK^hG?lfj;G??sQ zII@D4Yate}IBQ$r-px7=94W9#rONHm$#J1sUZ7)?%HawSzerM|Kirj3yb zPATSv6*#uk8wo|1n-1mYM>x9j{hkuXU%Pj#WGPWj^srlmUJRBc&$0jcenWS^g%gA3 z|D4*}Dc2bjv8x5Xo#Z@W_wqVr9?py8JUPot z{ZTFO#HUNvHOOIu={43YgXq?#D3e%PalBE{rCrh{`uyHfHhI|g29x{KJVFK5vg5ao z=lwsG_KvTM&P^E{{~|hS@PPdO1M>$I+5-j*A3U&c|HA(LGp0|=pW)Q_)V%x&97DtH z!u|vL=MNab|MXnpki>$TVGX<5xyf&L&Eb&O&nQJaEHDh7?UEjuvkwOXtgEQ) zkCr=Lk6x(sL_Gdru-uop@6t!p;-ju?AD?$+X}_87huLSkk$jfe7+-|67#m#{-uIroYC<5?3%+qJ};4o$1T|t zs_^k~wwKVHLEN!AyReC-G)} z^5gucg7`MiO7_jJJj`p!mBG(E({sxEy`6lZcdy%$GEg6A$Ke}oN1_2QE1Bu_dwhJP zlhNvfT46PZBW#w#G*Jgr{ET>UlQ~Qar$Tv%?^S$T{GMi2(P%^yXM3D-yH|Yj`r-yb zepdM^6PK?)yM95Dk0NSYl5Cf|a;kh36F3}Y4ync$;e;y6jW@bsTh}=rDpX!_QM=E0 zLgmpaClK)!#P7dhU2KkS>q9=}AP1_p1=X8o+RP`ntfIqyr^>@|tWJ3CeD_1n%$P5_ z!&%K%^8WroXYlF2FJe)86^lTJroQQpFS!e9S3D&S=Dw;+e%7r%GaV=SwbqjnHdM0t zZV7ch^oemdK9Z=}cnA~Vpl@l`S$@InN{p%0=?~l)T|GBx_nXeYQCNqeU`3@<#W$)f7~zY4 z?6xg^|9i63D$b)N{Ll{uBOdJ=(#auSaJ{jo>f^x z0i2}l9Dd?(pwb||{ZoTlf?97JXq5-UQM0OP`d|DO_`S5SuRP%K_!B>E?3fmt5)6er zyhk@nj-S)E$Ba$#q)hG!{Q}Suul-$+9F;%(FtDaO42xO!RURF(W;gxsH`DZ+B9VE= z8>!j+K;)FJ-Tpe%D>+ai_LONw)29_rES{D4Z0m*fPh&w>dBXgy@zfs0?pbX<2^@o3 zYkatt@XfJU$F{>8>|ghc*JsV^F!R+Rr_9HhPRIJ?Cj2|*Hq49!8D;HreNg(@OAdw{ zfBauh*ojAX4QtTTd=l!Om^C^UsaH=faVj;I;l%fQ)~EGb60EG`o;SJf9kymJKL<=^ Z_?N1ZAm_inUdcm+TU3%Azxb&w{|Dv@xsd<> diff --git a/po/et.po b/po/et.po index e5554b47..0c59b8e3 100644 --- a/po/et.po +++ b/po/et.po @@ -1,15 +1,15 @@ # This file is distributed under the same license as the tar package. # Estonian translations for GNU tar. # Copyright (C) 2001 Free Software Foundation, Inc. -# Toomas Soome , 2010. +# Toomas Soome , 2011. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.25\n" +"Project-Id-Version: GNU tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-11-11 11:26+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-12 18:29+0200\n" "Last-Translator: Toomas Soome \n" "Language-Team: Estonian \n" "Language: et\n" @@ -29,36 +29,35 @@ msgid "ambiguous argument %s for %s" msgstr "segane argument %s (`%s')" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Lubatud argumendid on:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s väärtus on väiksem või võrdne kui %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parameeter nõuab väärtust" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parameeter peab olema positiivne" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Tundmatu ARGP_HELP_FMT parameeter" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Prügi ARGP_HELP_FMT parameetrites: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,29 +65,29 @@ msgstr "" "Kohustuslikud või mittekohustuslikud argumendid pikkadele võtmetele on ka " "kohustuslikud või mittekohustuslikud vastavatele lühikestele võtmetele." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Kasutamine:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " või: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [VÕTI...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "`%s --help' või `%s --usage' annab rohkem infot.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Teated vigadest saatke palun aadressil %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Tundmatu süsteemi viga" @@ -100,7 +99,7 @@ msgstr "n msgid "give a short usage message" msgstr "näita lühikest kasutamise õpetust" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NIMI" @@ -121,17 +120,16 @@ msgstr "oota SEK sekundeid (vaikimisi 3600)" msgid "print program version" msgstr "esita programmi versioon" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMMI VIGA) Versioon pole teada!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Liiga palju argumente\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMMI VIGA) Võti peaks olema ära tuntud!?" @@ -139,62 +137,62 @@ msgstr "(PROGRAMMI VIGA) V msgid "write error" msgstr "viga kirjutamisel" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: võti '%s' on segane\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: võtmel '--%s' pole argumente\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: võtmel '%c%s' pole argumente\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: võti '--%s' nõuab argumenti\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: tundmatu võti '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: tundmatu võti '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: vigane võti -- '%c'\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: võti nõuab argumenti -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: võti '-W %s' on segane\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: võti '-W %s' ei luba argumenti\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: võti '-W %s' nõuab argumenti\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "mälu on otsas" @@ -210,28 +208,30 @@ msgstr "algsesse t #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -241,7 +241,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[jJ]" @@ -251,7 +251,7 @@ msgstr "^[jJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[eE]" @@ -536,7 +536,12 @@ msgstr "standard v msgid "Cannot connect to %s: resolve failed" msgstr "Ei õnnestu luua ühendust masinaga %s: nimelahendus ebaõnnestus" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Ei saa käivitada kaug käsuinterpretaatorit" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Ei saa käivitada kaug käsuinterpretaatorit" @@ -585,8 +590,8 @@ msgstr "Ootamatud argumendid" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Opereeri lindiseadet, aktsepteerib käske mittelokaalselt protsessilt" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "N" @@ -594,8 +599,8 @@ msgstr "N" msgid "set debug level" msgstr "määra silumise tase" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -610,7 +615,7 @@ msgstr "sea silumisteadete faili nimi" msgid "cannot open %s" msgstr "%s ei saa avada" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "liiga palju argumente" @@ -619,9 +624,9 @@ msgstr "liiga palju argumente" msgid "Garbage command" msgstr "Rämpskäsk" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Hmm.... see ei tundu olema tar arhiiv" @@ -659,65 +664,65 @@ msgstr "Ei saa kontrollida sisend/v msgid "Archive is compressed. Use %s option" msgstr "Arhiiv on tihendatud. Kasutage võtit %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Ei saa uuendada pakitud arhiive" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Lindi alguses, lõpetan töö" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Liig palju vigu, jätan töö pooleli" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Kirje suurus = %lu blokki" msgstr[1] "Kirje suurus = %lu blokki" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Joondamata blokk (%lu baiti) arhiivis" msgstr[1] "Joondamata blokk (%lu baiti) arhiivis" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Arhiivi ei õnnestu tagasi kerida; lugemiseks võib olla vajalik kasutada " "võtit -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ei peatunud kirje piiril" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: sisaldab vigast volüümi numbrit" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Volüümi number on liiga suur" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Otsi volüüm #%d %s'le ja vajuta return klahvi: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF kasutaja vastuse asemel" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "HOIATUS: Arhiiv pole täielik" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -728,65 +733,65 @@ msgstr "" " q Katkesta tar\n" " y või reavahetus Jätka\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Loo alamshell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Väljasta see info\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Pole uus volüüm; lõpetan töö.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Puudub faili nimi. Proovige uuesti.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Vigane sisend. ? annab abiinfot.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s käsklus sai vea" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "võimalik et %s jätkub sellel volüümil: päises on lühendatud nimi" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s ei jätku sellel volüümil" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s on vale suurusega (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "See volüüm on väljaspoolt järjekorda (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiivi märgend ei sobi %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Volüüm %s ei sobi volüümiga %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -794,509 +799,549 @@ msgstr "" "%s: faili nimi on GNU mitmevolüümi päisesse salvestamiseks liiga pikk, " "lühendan" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "kirjutamine ei peatunud bloki piiril" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Sain lugeda ainult %lu baiti (sooviti %lu)" msgstr[1] "Sain lugeda ainult %lu baiti (sooviti %lu)" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Sisu on erinev" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Ootamatu arhiivi lõpp" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Failitüübid on erinevad" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Moodid erinevad" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "UID on erinevad" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "GID on erinevad" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Muutmise ajad erinevad" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Suurused erinevad" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "ei viita %s-le" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Nimeviited erinevad" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Seadme numbrid on erinevad" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Kontroll " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Tundmatu failitüüp '%c', võrdlen tavalise failina" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiiv sisaldab eemaldatud prefiksitega failinimesid." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Arhiiv sisaldab aegunuid base-64 päiseid" +msgstr "Arhiiv sisaldab teisendatud faili nimesid." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Kontrollimine ei pruugi leida algseid faile." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VIGA KONTROLLIMISEL: leiti %d vigast päist" msgstr[1] "VIGA KONTROLLIMISEL: leiti %d vigast päist" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Üksik null blokk kohal %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: sisaldab vahemälu kataloogi lipikut %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "väärtus %s on %s piiridest %s..%s väljas; asendan %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "väärtus %s on %s piiridest %s..%s väljas" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Genereerin negatiivsed kaheksand päised" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: faili nimi on liiga pikk (maks. %d); ei salvesta" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: faili nimi on liiga pikk (ei saa poolitada); ei salvesta" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: viite nimi on liiga pikk; ei salvesta" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fail lühenes %s baiti; täidan nullidega" msgstr[1] "%s: Fail lühenes %s baiti; täidan nullidega" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fail on teises failisüsteemis; ei salvesta" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "sisu ei salestata" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tundmatu failitüüp; ignoreerin seda faili" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "%s-le puudub viiteid." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: pole muutunud; ei salvesta" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s on arhiiv; ei salvesta" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "kataloogi ei salvestatud" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fail muutus lugemisel" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: ignoreerin pesa" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: ignoreerin ust" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Hüppan järgmise päiseni" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Kustutan arhiivist mitte-päise" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: ebatõenäoliselt vana ajatempel %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: ajatempel %s on %s sekundit tulevikus" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Ootamatu kooskõlalisuse probleem kataloogi loomisel" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Kataloog nimetati ümber, enne kui sai loetud tema olek" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Taastan jätkuvad failid kui tavalised" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Üritan taastada nimeviiteid viidetena" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ei saa taastada -- fail jätkub teisel volüümil" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Ootamatu pika nime päis" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tundmatu failitüüp `%c', taastan tavalise failina" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Olemasolev %s on uuem või sama kuupäevaga" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Selle faili varundamine ebaõnnestus" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s ei õnnestu ümber nimetada %s-ks" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Kataloog %s on ümber nimetatud" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Kataloog on ümber nimetatud" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Kataloog on uus" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: fail on teises failisüsteemis; ei salvesta" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Kataloog on ümber nimetatud" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Vigane ajatempel" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Vigane muutmise aeg (sekundid)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Vigane muutmise aeg (nanosekundid)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Vigane seadmenumber" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Vigane i-kirje number" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Snapshoti faili lugemisel leiti liiga pikk väli" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Snapshoti failist lugemise viga" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Ootamatu snapshoti faili lõpp" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Snapshoti failis on väljal ootamatu väärtus" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Puudub kirje lõpetaja" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Inkrementaalse faili vorming on vigane" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Mittetoetatud inkrementaalse vormingu versioon: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Vigane taastamise kataloog: eeldasin '%c', sain %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Vigane taastamise kataloog: dubleeritud 'X'" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Vigane taastamise kataloog: tühi nimi 'R' väljal" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Vigane taastamise kataloog: 'R' ei ole 'T' ees" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Vigane taastamise kataloog: tühi nimi 'T' väljal" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Vigane taastamise kataloog: ootasin '%c', aga andmed said otsa" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Vigane taastamise kataloog: 'X' ei kasutata" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Vormiga %s ei saa ajutist kataloogi luua" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ei puhasta kataloogi: stat ebaõnnestus" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: kataloog on teisel seadmel; ei puhasta" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Kustutan %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ei saa eemaldada" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Jätan vahele" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blokk %s: ** NULlide blokk **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blokk %s: ** Faili lõpp **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blokk %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Tühjad väljad päises kohtadel, kus eeldati numbrit %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "Arhiivi kaheksandväärtus %.*s on %s piiridest väljas; eeldan kahe täiendit" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arhiivi kaheksandväärtus %.*s on %s piiridest väljas" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiiv sisaldab aegunuid base-64 päiseid" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arhiivi märgiga base-64 sõne %s on %s piiridest väljas" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arhiivi base-256 väärtus on %s piiridest väljas" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiiv sisaldab %.*s, eeldati numbrit %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arhiivi väärtus %s on %s piiridest %s..%s väljas" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " viide %s-le\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tundmatu failitüüp %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Pikk viide--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Pikk nimi--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Volüümi päis--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Jätkub baidilt %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Loon kataloogi:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Ei õnnestu lugeda töökataloogi" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Annan %s uueks nimeks %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: ei õnnestu ümber nimetada %s-ks" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Nimetan `%s' tagasi `%s'\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fail kustutati enne lugemist" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "alamprotsess" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "protsessidevaheline kanal" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "%s käsklus sai vea" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: failide nimekiri on juba loetud" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ei õnnestu seada `%s' aega" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: loetud faili nimi sisaldab sümbolit nul" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Failide nimedes on jokkersümbolid" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1304,54 +1349,55 @@ msgstr "" "Jokkerite lubamiseks kasutage --wildcars või --no-wildcards selle teate " "blokeerimiseks" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Puudub arhiivis" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Nõutud eksemplar puudub arhiivis" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Arhiivi märgend ei sobi" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "--listed-incremental ei luba faili loendis võtit -C kasutada" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Võti --listed-incremental lubab ainult ühte -C kasutamist" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Mõlemad võtmed - `-%s' ja `-%s' eeldavad standard sisendit" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Vigane arhiivi vorming" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Arhiivi formaat ei toeta GNU laiendusi" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Tundmatu kvootimise stiil `%s'. Loendi saate käsuga `%s --quoting-style=help'" -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1367,9 +1413,10 @@ msgstr "" " tar -tvf arhiiv.tar # Anna arhiiv.tar sisust täielik ülevaade.\n" " tar -xf arhiiv.tar # Taasta kõik failid arhiivist arhiiv.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1387,79 +1434,79 @@ msgstr "" " nil, existing nummerdatud kui koopiad on nummerdatud, muidu lihtne\n" " never, simple tee ainult lihtne koopia\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Põhiline töö:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "näita arhiivi sisukorda" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "taasta failid arhiivist" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "loo uus arhiiv" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "otsi arhiivi ja failisüsteemi erinevusi" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "lisa failid arhiivi lõppu" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "lisa arhiivi ainult failid uuemad kui arhiivis" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "lisa tar failid arhiivi" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "kustuta arhiivist (mitte magnetlindilt!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "testi arhiivi volüümi märgendit ja lõpeta töö" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Töö täpsustamine:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "tööta aukudega failidega efektiivsemalt" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "PÕHI[.ALAM]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "määra aukudega faili vormingu versioon (eeldab võtit --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "käsitle vana GNU vormingus inkrementaalset koopiat" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "käsitle uue GNU vormingu inkrementaalset koopiat" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "loodud listed-incremental arhiivi dump tase" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "ära lõpeta loetamatute failide korral veakoodiga" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1472,120 +1519,131 @@ msgstr "" "antud\n" "käsureal või võtmega -T. Vaikimisi N on 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "arhiiv on positsioneeritav" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "arhiiv ei ole positsioneeritav" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "inkrementaalsete arhiivide loomisel ära kontrolli seadmete numbreid" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "inkrementaalsete arhiivide loomisel kontrolli seadmete numbreid (vaikimisi)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Ülekirjutamise juhtimine:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "kontrolli arhiivi peale arhiivi kirjutamist" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "kustuta failid peale arhiveerimist" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "olemasolevaid faile taastamisel üle ei kirjuta" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "olemasolevaid faile taastamisel üle ei kirjuta" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "ära kirjuta üle olemasolevaid faile, mis on uuemad kui arhiveeritud" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "kirjuta olemasolevad failid üle" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "kustuta fail enne taastamist" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "kustuta hierarhia enne kataloogi taastamist" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "säilita olemasolevate kataloogide metainfo" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "taastamisel kirjuta olemasolevate kataloogide metainfo üle (vaikimisi)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "kirjuta olemasolevad failid üle" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Vali väljundvoog:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "taasta failid standardväljundisse" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "KÄSK" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "taasta failid läbi toru teise programmi" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ignoreeri alamprotsesside lõpetamise koode" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "käsitle alamprotsesside nullist erinevaid lõpetamise koode veana" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Faili atribuutide käsitlemine:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "kasuta NIMEe kui lisatud failide omanikku" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "kasuta NIMEe kui lisatud failide gruppi" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "KUUP-VÕI-FAIL" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "sea lisatud failide muutmise ajaks KUUP-VÕI-FAIL" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "MUUTUSED" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "kasuta lisatud failidel sümbol moodi MUUTUSED" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "MEETOD" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1595,11 +1653,11 @@ msgstr "" "lugemist (METHOD='replace'; vaikimisi) või ei muuda kasutamise aega üldse " "(METHOD='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "ära taasta faili muutmise aega" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1607,19 +1665,19 @@ msgstr "" "ürita failide taastamisel säilitada failide omanikud arhiivis (root " "kasutajal vaikimisi)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "taasta failid enda õigustes (tavakasutajatel vaikimisi)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "kasuta kasutaja/grupp numbreid" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "taasta ka info failide õigustest (vaikimisi superkasutaja korral)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1627,153 +1685,195 @@ msgstr "" "õiguste taastamisel kasuta kasutaja umask väärtust (vaikimisi " "tavakasutajatel)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "taasta failid arhiveerimis järjekorras" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "sama, kui -p ja -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "oota muutmise aegade ja õiguste taastamisega taastamise lõpuni" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "katkesta --delay-directory-restore võtme mõju" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Faili atribuutide käsitlemine:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Seadme valik ja vahetamine:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARHIIV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "kasuta arhiivi faili või seadet ARHIIV" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "arhiivi fail on lokaalne isegi kui sisaldab koolonit" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "kasuta rmt asemel antud käsku" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "kasuta rsh asemel antud käsku" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "määra seade ja tihedus" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "loo/näita/taasta mitme volüümilisi arhiive" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "vaheta peale NUMBER x 1024 baidi kirjutamist linti" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "käivita iga lindi lõpus skript (eeldab võtit -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "kasuta/uuenda volüümi numbrit failis FAIL" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Seadme blokkimine:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKKE" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKKE x 512 baiti kirjele" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMBER baiti kirjele, 512 kordne" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignoreeri null blokke arhiivis (tähistab EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "bloki lugemisel uuesti (4.2BSD torude jaoks)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Arhiivi vormingu valikud:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "VORMING" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "loo arhiiv antud vormingus" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "VORMING on üks järgnevaist:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "vana V7 tar vorming" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU vorming tar <= 1.12 korral" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x vorming" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) vorming" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) vorming" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "sama, kui pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "sama, kui --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "sama, kui --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "võtmesõna[[:]=väärtus][,võtmesõna[[:]=väärtus]...]" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "pax võtmesõnade kasutamine" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1781,75 +1881,75 @@ msgstr "" "loo arhiivi volüümi nimega NIMI. Listingu/taastamise ajal kasuta TEKSTi " "otsingumustrina" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Tihendamise võtmed:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "tihendamisprogrammi tuvastamiseks kasuta arhiivi sufiksit" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "tihendamisprogrammi tuvastamiseks ära kasuta arhiivi sufiksit" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtreeri läbi programmi (peab lubama võtit -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Lokaalse faili valik:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "lisa antud FAIL arhiivi (kasulik, kui faili nimi algab kriipsuga)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "KAT" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "mine kataloogi KAT" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "loe taastatavate või varundatavate failide nimed failist NIMI" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T loeb nullidega lõpetatud nimesid, blokeeri -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "blokeeri eelmise --null võtme mõju" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "eemalda -T võtmega loetud failinimedest kvootimissümbolid (vaikimisi)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "ära eemalda -T võtmega loetud failinimedest kvootimissümboleid" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MUSTER" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "MUSTRI järgi välistatud failid" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "välistavad mustrid on FAILIS" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1857,92 +1957,94 @@ msgstr "" "välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud " "märgendi fail ise" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "välista kataloogide, mis sisaldavad faili FAIL, sisu, välja arvatud FAIL ise" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "välista kataloogid, mis sisaldavad faili FAIL" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "välista kataloogid, mis sisaldavad faili FAIL" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "välista versiooni kontrolli süsteemi kataloogid" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "välista varukoopiad ja lukufailid" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "ära sisene kataloogidesse" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "püsi arhiivi loomise ajal kohalikus failisüsteemis" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "sisene kataloogidesse (vaikimisi)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "ära eemalda faili nimedelt prefiksit `/'" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "järgi viiteid; arhiveeri ja taasta viidatavad failid" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "KOMPONENT" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "alusta arhiivi liikmest KOMPONENT" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "salvesta ainult failid mis on uuemad kui KUUP-VÕI-FAIL" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "KUUPÄEV" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "võrdle kuupäevi ainult kui andmed on muutunud" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "KONTROLL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "loo enne eemaldamist varukoopia, vali versioonikontroll" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "SÕNE" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1950,95 +2052,98 @@ msgstr "" "varunda enne kustutamist, kasuta uut lõppu (vaikimisi '~', kui pole üle " "määratud keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Failide nimede muutmine:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "eemalda taastamisel failide nimede algusest NUMBER komponenti" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "AVALDIS" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "kasuta failide nimede muutmiseks sed asendus avaldist" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "tõstutundetu" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "mustrid alustavad faili nime algusest" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "mustrid toimivad iga / järel (välistamise korral vaikimisi)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "tõstutundlik otsimine (vaikimisi)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "täht-täheline sõne otsimine" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "jokkerid ei leia '/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informatsioon:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "väljasta töödeldavate failide kohta infot" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "VÕTMESÕNA" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "hoiatuste juhtimine" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "anna töö kohta infot iga NUMBER kirje järel (vaikimisi 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "TEGEVUS" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "käivita tegevus igas kontrollpunktis" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "väljasta teade, kui kõike viiteid pole salvestatud" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2049,31 +2154,35 @@ msgstr "" "väljasta see info, kui saadetakse antud signaal. Lubatud signaalid on: " "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 ja SIGUSR2; SIG prefiksi võib ära jätta" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "väljasta failide muutmise ajad UTC esituses" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "väljasta faili aeg täielikult" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "salvesta täiendav info FAILi" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "näita iga teatega ka arhiivi bloki numbrit" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "küsi iga tegevuse kohta kinnitust" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "näita tar vaikeseadeid" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2081,93 +2190,86 @@ msgstr "" "listingu või taastamise ajal, näita igat kataloogi mis ei vasta " "otsingutingimustele" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "peale teisendamist näita faili või arhiivi nime" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STIIL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "määra nimede kvootimise stiil; lubatud väärtused on toodud allpool" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "lisaks kvoodi sõnes näidatud sümbolid" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "keela sõnes toodud sümbolite kvootimine" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Ühilduvuse võtmed:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "loomisel sama kui --old-archive. Taastamisel sama kui --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Muud võtmed:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "blokeeri potentsiaalselt ohtlikud võtmed" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Korraga võib kasutada ainult ühte võtmetest `-Acdtrux' või `--test-label'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Konfliktsed pakkimisvõtmed" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Tundmatu signaali nimi: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Kuupäeva fail puudub" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Kasutan %s tundmatu ajaformaadi %s asemel" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Võti %s: Käsitlen aega `%s' kui %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: failide nimekiri on juba loetud" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: loetud faili nimi sisaldab sümbolit nul" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "filtreeri arhiiv läbi %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Võtmega --quoting-style on lubatud järgnevad argumendid:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2175,51 +2277,48 @@ msgstr "" "\n" "*See* tar kasutab vaikimisi:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Vigane omanik" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Vigane blokkimisfaktor" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Vigane lindi pikkus" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Inkrementaalse varunduse taseme väärtus on vigane" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Rohkem kui üks etteantud aeg" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Vigane aukudega faili versiooni väärtus" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ei ole sellel platvormil toetatud" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint väärtus ei ole täisarv" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Vigane grupp" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Võtmega anti vigane mood" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Vigane number" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Vigane omanik" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2227,120 +2326,150 @@ msgstr "" "Võti --preserve on mittesoovitatav, kasutage --preserve-permissions --" "preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Vigane kirje suurus" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Kirje suurus peab olema %d kordne." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Vigane elementide arv" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Lubatud on ainult üks --to-command võti" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Vigane tiheduse argument: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Tundmatu tihedus: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*See* tar ei toeta võtmeid `-[0-7][lmh]'" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FAIL]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Vana võti `%c' nõuab argumenti." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence ei oma failide nimekirjata mõtet" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence ei saa valitud tööre¸iimil kasutada" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Mitme arhiivifaili kasutamine nõuab võtit `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental ja --newer ei saa koos kasutada" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level ei oma võtmeta --listed-incremental mõtet" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Volüümi märgend on liiga pikk (piirang on %lu baiti)" msgstr[1] "%s: Volüümi märgend on liiga pikk (piirang on %lu baiti)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Ei suuda kontrollida mitme volüümilisi arhiive" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Ei saa kontrollida pakitud arhiive" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Mustrit %s ei saa kasutada" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Ei saa kasutada mitme volüümilisi pakitud arhiive" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Tihendatud arhiive ei saa ühendada" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option saab kasutada ainult POSIX arhiividega" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option saab kasutada ainult POSIX arhiividega" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option saab kasutada ainult POSIX arhiividega" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option saab kasutada ainult POSIX arhiividega" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Mustrit %s ei saa kasutada" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Volüümi suurus ei saa olla väiksem kirje suurusest" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order ei ole ühilduv võtmega --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Ega ikka ei tee küll tühja arhiivi" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Võtmeid `-Aru' ei saa kasutada võtmega `-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Peab kasutama üht võtmetest `-Acdtrux' või `--test-label'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Kuna eelnevalt oli vigu, siis lõpetan veakoodiga" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2352,114 +2481,110 @@ msgstr[1] "%s: Fail on %s baiti l msgid "Keyword %s is unknown or not yet implemented" msgstr "Võtmesõna %s on tundmatu või pole veel realiseeritud" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Ajatempel on piiridest väljas" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Mustrit %s ei saa kasutada" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Võtmesõna %s ei saa ümber määrata" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Vigane laiendatud päis: puudub pikkus" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Laiendatud päise pikkus on piiridest väljas" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Laiendatud päise pikkus %*s on piiridest väljas" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Vigane laiendatud päis: pikkuse järel puudub tühik" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Vigane laiendatud päis: puudub võrdusmärk" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Vigane laiendatud päis: puudub reavahetus" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignoreerin tundmatud laiendatud päise võtmesõna `%s'" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Genereeritud võti/väärtus paar on liiga pikk (võti=%s, pikkus=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Laiendatud päis %s=%s on piiridest %s..%s väljas" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Vigane laiendatud päis: %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Vigane laiendatud päis: liigne %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Vigane laiendatud päis: vigane %s: ootamatu eraldaja %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Vigane laiendatud päis: vigane %s: veider arv väärtuseid" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: ei ole korrektne taimout" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: tundmatu kontrollpunkti tegevus" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "kirjutamine" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "lugemine" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Kirjutamise kontrollpunkt %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Lugemise kontrollpunkt %u" @@ -2598,7 +2723,7 @@ msgstr "Number on piiridest v msgid "Negative size: %s" msgstr "Negatiivne suurus: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) ebaõnnestus" @@ -2627,8 +2752,8 @@ msgstr "Tundmatu kuup msgid "[ARGS...]" msgstr "[ARGUMENDID...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "`%s' ei saa avada" @@ -2642,65 +2767,93 @@ msgstr "seek eba msgid "file name contains null character" msgstr "faili nimi sisaldab null sümbolit" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "standard väljundis ei saa aukudega faili luua, kasutage võtit --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "vigane mask (`%s' lähedal)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Tundmatu väli `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "ei õnnestu seada `%s' aega" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "`%s' ei saa kustutada" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s käsklus sai vea" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "`%s' ei saa kustutada" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Käsk lõpetas töö edukalt\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Käsk lõpetas veakoodiga %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Käsk katkestati signaaliga %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Käsk peatati signaaliga %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Käsk salvestas mälupildi\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Käsk katkestas\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat nõuab failinimesid" -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Kataloog kustutati enne lugemist" +#~ msgid "Cannot get working directory" +#~ msgstr "Ei õnnestu lugeda töökataloogi" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "taasta failid arhiveerimis järjekorras" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Snapshoti faili lugemisel leiti liiga pikk väli" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Snapshoti failist lugemise viga" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Snapshoti failis on väljal ootamatu väärtus" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Laiendatud päise pikkus on piiridest väljas" + +#~ msgid "Invalid group" +#~ msgstr "Vigane grupp" diff --git a/po/eu.gmo b/po/eu.gmo index b08f4dae4efb596fe2fa45655aa8945e02b707ff..343e9eef2a2bb7832bb8b9822dc15545f1955789 100644 GIT binary patch delta 7732 zcmZA62Y6LQ8piPnX^;d$dO}HVAPLPtNC>GwLN5VACkRLjAXRB1Q7)KO5LOVcAVq-% z75f5LMNzRJqM#@uD8*P27jP9(alys?zs}&}v-9}zo0)U&IWynP9CY{Sy|rFjRLffv z9kkj|MgoO+GPZ){8m7N7@9Fa^hA1TJ>2z$LUdU_3TWHl{TeI&Z{u z+G{Zi_h1uayygQcJ?OZIX;{S5>*5&HfM#GDT#o!>UgD1;Jc$i3!DAnojR~~7qQ*WF z>*Fls(WV+Ra0|xbJ6Op3O$`-BVv7)QckcQ8uPwQyhll zunLud8q|w_#(5aaO;pWt=QEhY`^{l08fh@o*AL>cE#@MZ%p~NUW;y2J)2P&*#@-l9 zUUmHjREih#M>KB3X1E&z@JrMHzQ%SKN;S96&9} z_oyXE;Vq$9h&k99b8#MChfkrNe;oDui`WVio0I?URJt}drX?;%jqrKY1CC<|MzRj< zD-(|mu^nb%Ifmk5=iSa#?)o}pjOGApU>8uoPv>P?qSBV+U#S~Theosj)qWI}`nOR7 zI*-~kk=&$BnTA@bQq;i4U<@uq58j7*fge-w07l|jEWyjD-xYbukA7Hzx^X%N;XN3E z_hBGzLZx~udTr~xcQrPPNkpV^6;NsUu!P^OwVdmv*r)37~0h#K$_ z)M>hc9eKaW%i-lX4|8!7l6`X&*{~*%!>TpQ#Mw9;b)4SC`uGh-;3ZUMf_R9QG!-?0 z4Ag)#F%BzGOE?p~dcaaD8u>bm#XYE$9zh+iFVTZ%Q5gtlI(k7%)Ii#x2G|R`;~b2} zm)!M3NVd(l$hXHN@fFh&cgiFGx^WmCF*pVF;DxA>SG)Ey*ItRi^shmk;|EbQc>&|_ zFnaI|DkHV??PiX{1lqZ%f%ZjZWPU#R&!F-!9g%ntHN%srfm}w7_;=Jy(+lhiJE1Z+ z95wJ8QG4cgEW^7o36G%$`UC2|h(eng4{AU;UMfm?A5@CQpk}@bhvHgy{d?4A3S#GI zN!px`C&}O zgi^a{3Y-<#nEqSQgAbqv`U0ln71ZfzOsAHxGqT)fHfrEcqy8>A>HHlvz@}aJVDWxa zMn!8j33Z{$`7ox?eh>A6?@*g8x~m;fGHQm!*Z?P^GEwc?Yf&@zqn=ZP%IsB)!boPV zzkf_B6}`A0a?RX=`cl1&+6!N!UR006tz%Y*=~#|Ua2{%=>rnUYM{UZBsELL3u*Ki{0MawV(cR2UpBH9O0 zd!?+*Zt5whiEYMacmy?}E2x3QdHeFOT~zW=53WLedbeOQ?m%Va18k0_AAe~;3)J<= zs1z@8?G32Z?nY(s7;34$#p|$Me>;F8ETQckLZvm8HK>vALv5z7kdL0ZiaLgQ$sLs|VVdKZ_hguQ^7A4}pmpWd9v43%k>v zfGzMzY=uX$69x>nFD^y0Xl}#y_zr4@W{6$$OjOFtk(D&_F%uVHJA4d7b^br4qM4t@ zC=48GH(MM=(@sY|iY6a5pgGtcH=>s8C~A-VhRRsbF#CcIsN**awdN0@GO!Et@LL?i z`;BL~UE{@=NP7qB19AYh%Y!QH?hSLc!EE{mV;x+AwQ&_{AnUOJx1a`m3bj-rBW&tR zQ4=1IUakFNDw^STRQo(CRSmDVySNuNpzTGSmi4GjwHtM;K1XFPc%*G7U=rblm9R(m*`LmYu#W+9**&}(@_~I#)dc*lW_@ZhL57w@-@^z ze#Hcg8e<380vplJM^3OAf;#tGQ4`qbrP7$nN2nD2h8 z&G22+5`Bgm=w;Ld;>XzmWugYy4Yg#WQTKVPsVEhjP!BkPb@6A^W(s7%G_Y_~>Qb=- zmZ4_83_IZ)Sb()ASc_4|a~^WA%wBAZNtO0*&py~o=YIti9g9z}1nW$+YuOvy&|ZwW zxC0mC8B~UDoMZ=FjghoBqEh_~2IE20k{(8#_Yv5Cagj3N&dkbdZUgue4IZf2f_WMwUT9PL)4d22{Jck-c z(ky$*$}pVv64ZNqUMkuYyRaXg$7n2?ZD-gIvuMvieONYO1nxqeiZ@ZIy^MNb)Es+i za!~`RL@n_$)N{6@-tz@&sl8cq?SE(t!d7%Vf$i}aYQ}Zv+2hg<)gFoi@pf#1A7C@Q zj78Yw7JGd(7Si5H2*8{9(vaasH`jGdzVkxF2=n71Somy4B900uyO_QT=N% z8(&Aw^e2qNqy=_nZBR=v5Oo|EVI*$Gc-)S?bpH2KxsHygD!a)#Vtd+mpi=iDY6hQS zLyWu44zMjMYw2{;yvO+;wsUb@DY88YemQITB*nHvWVt{%5Z!XztH-tTqM>K zJ=_hooVs?cbaR!?Tq~rmJ#d^*=3XQ;bIooP@&BbGzv)GkbD=YF$DcRw{!TRVh%3bF z?gE?DRJi(9)X`DVnLkC0tO{*8#P zbPgtVQU9JOq5d1HOtSp(C!cyV#)9?{WKVQ>Cf9-@}Sz1uMubxO349wtI)7op1i7Bd5PySgX{ zVEqfZ@go|6f4OjmdS7A_5kr)7PaQ(L|60*kOeNG}!nm%Y9e?7Fn*HMiSMSI5Qdggd zI*OmV{b#1S3rDet8(S0ku5SVUi-@7Gzv~k(6Y2D25GswGZ&6SEqla$`K1d8DHoCs+ z-F<(f9p$BQgi5~aboZEe*WO7-GwLJVg@M#{)>WEPkF-@Y0z-%cM6~Pc!1Xt&4{+@i z+7-ks+S7@yg!ei+RDy62M&Q5k7h*oKhZshzCrY_C5XTZZ)W5}RY==u&)4 zVlc6T_?1ZJ{#sZo_XNH}EFpr4?!;?E4e=yVO^hd0V!1yPqXWo)eJY6rRnwmf zUEB+9rmgZeQQP&Mr(Q<=6TCz`La1b0OgpaCb@v))dv|RJ?K!G@JTqq%dWYJZm=r1jJJkXcg zVWDq-hfH5s#~A;_j;BKWYrFkgyM9h)+pNs2Tu*jRVcV=$SvmgA{jP@iTMhlOmcM63 ze7Jwrg!ck`_f0(EyMIz^|A&(f2m3yqzSg&GMv4E9nd5?dDRWl%PRwZ+J0^X0Gf(BL e%IR}Gl?y5tjGZ)h##sOTbKej3zk2(cu>S#K@rZo@ delta 9528 zcmZwM349bq+Q;z@gge|Q>L~kp?GI1BRW&_bRZmrQ5TDx6 z?CmYh;vaNL-C=QsQY@=4Zf|E+e&~VwF&z)%F#G~F!`_1|%ZFL0 zj(&%QxC;yLFpk1D%z~m-iWOLa%E)u5fxL&S@ZUI){;e>1p$}^Zj>NsFk$;Z*!jGs9 z`Z9bycn&ftD~uZOb{vBbqEh||&cYs9<~|2`gmo!)!F!ND)_#7(Qz#sxpaJ|HlQS4< z*1QyZ(LN13;0n(m>Ot#KOR)u+jP){VslG%FEQ9p5!ttnyO~oQygE{!XF!HYsj?kb7 ze1pTWceZ6s$LYu)>l%J&fO}C7ID##)GdK6cbnJtpF&`J8I=n_yNy@nm|6!zBnZ^i~_PeVV{gNI`$oaoi(VHfH?)C^XmGO+`d zxkph0_y{%N?@<{`qm8j$P zTP($Ak&|XM=O&6)4k|+x$U(BUpq6SMM({Z5v@PRhp$SGXuFZ5A1*K{$>I)B`*8UyT zOg=!3{5W>U&ST9QXQ3WchI+xwM@?ikcEg*H<+dJ1eg7k5^{fuXW(mrQ$-mC&TpDa# zib~ZQ)Btv3FT4pgust{(kD``jXo>lJ9IB(msDWI8J@J0jea~W7JdAqoXQ+vNQ9}OJ z@SWFi8e33rPM-BXXoKlE1U2(gv~dwCb1~Fj*of-zHcX}*lNrNI+B=Uo$89WXf-_M4 zR>vu5!~xVyx1l<`AC=nYP$NHtET8o$w!@4GmNgr5QQvDo?egu|2lu1C_gB=wKSyPv z85?H?c1I03zMO*AY85JlSEEw1AD7@W-sin1noT(ZwPY($9aUowycGN64XBPEL*6~s zE7%54d$uey8SZ3^TRkYGa6@05hW$~y*N2+Xwb&Q;pfdF)s-qupC8kd@$8asG<2zCJ z?L!UVL)5A0$je1ez_wV6eRcj>uc0R^3F1E!t*gch=vUm)Zs4djjy0m`46xCwC50Z zjs`LZ)j<%o855`h-HMv=6R78$KxHO%rm6QrosLnc=d74X{*~%D4V`fdDg(FSP<#zZ ziuFBa;e=UcZ@8$AHlud;<2VFgM=im3sG0UY+uSz;wMnC>iCyj0Z#|p*x1(VX4cg5I zP$T{T3-J_c%`#`30WLuuw;JTPm$eb~`8I5U2e2jn88h)U)Uo>(wHe!-V+J@DmBI2j z1+Cczui-XSYFf&3oXxYl0OgHK}z9JIh3yF%2A=cAVB666(O-RpgR0+r&{ z3(fs~QJEcwopC8@sr;D3%3GT$XaM`M3=g4F)pL;<`E=A~@*%%J_#2BkmV0qE^}nFj zcE)1;eV$E)n!pXn{_g4)gjXN3(qw887SX;Dd*falfN!EU+bPt*dO0R@ zrKtKmCvIjOqd{-N&Db3qu@YZI8*?kndtnYLQ?hQc^yJ~n$ecKZ0t)A%*6=FiSXeisIy#6Y_zkwje4k0-IMh;2MWuK-_Q0*EOx=xr z@G$nrQ>gp9a0IlZIj8}}eH409SdSX%4(yA&kav&uG-hDOD)V^(YG!3P5|^Vgwhh(6 z-KYm2@H~P#9bcoC#I82=GR)HX4^Ys|x1-kXF4V3*fSSP@sF|Ha4YWm#>7XADral^V zUpXpMt5MH+1l!{)*b0xJ2Kq57vp?Vjo&UjpladOY$Oku|Hs!mX-7YlecMdM5{YKQ1 zeTkECP%ZzMfK{kd^AMKdQPf%w446~142!5=iI?D$*o*$HNp)t#<*1pjLM_1+sDa#$ zE%1G8jUS_q?dPbOX9Ud>O+d|X1!{mX%)z@*8GZ{jfKM$ttvHDK!>ED3jT&gji_GU!QG3IOdd~Wb$bWMR*U_Mv z-Gmyz9jF=a_UetOnLdvC;$hFPFq?Y&u$kdl97_Fc)FzFhKHrAQ#1l9KKSe#SQ-u6$ zra2MwdwVYGxGX`XGKMx@jariXQ3H4pOYj&fa|5DgZ{(o{a2cw@-Kg)qi`vBBp}yZC zX5J^m;uMz9P>T9s2P#Dmq0Z@x*cMY(nN+8tJ`ds)+=Tl4B^-cPw$bqpAqBhs4wI;=t zsAC$(T-=2k$Qwuo<5r6X^H;DkR7bOM6xQP$yaT)7*Qgn`y4W1EEbK}BTuj4yEW-8J z0~=A#JBTCjBx)f2*O@&q1@m?O{S?&E4XC|v0+(RgdNY$s)LL%C;rJwu#?Me082B4= z{AQx+wYUJc;V?XoS=f=j#^D&$=h}Pv?@#M_erV(=8_dkdpgIU(KfE1#O9m$r=tG-$*QI>0C%7^#iOVcK8JdH$5jFyAY{UexEHGE;-vGdFuagnAD=gPrjtmZG(Z)N4&AZZd0B ziyCnPHR3;c?Z;4?DDAf<#p5xB`kB|CsBHHdGWqaP%0cg@{4;K>p!^-7%!jr9b=)+Y zm`7RZ)8(VS6g3E4+MquY<=z8%@ma@+8sbi34DCyZKU3DFjrUfvMCQEjB&Z)CZ0eJ+ z0M)%4;vA{13{V z@F;dcU9M+xx2wUct9TO;pF~3`aW<86ybp`;3F>zdx>iy@jGL1+{;`7kRPWyFXuFxH zBHkd*B6gj>KtVwJK*^>nJZLUL-yw z976AnGM@7S>biuOLp_Ewi1vi8D%wU6>ytI|uk&6*!`Z|wl+Q<9gD^n+lk#5(y?R|j z*Ae3BWQn&MHY4^B72bD8;d|6)6N@R&^xAt+???Gt+(?vZ{dH|2dV4pOCtLV;Ue6h{ zAE(@g=uY_x9E~Tv&%eRG)a!6Dp*Nqd8;Q4xbBNCgU3zQkYRUa$iDdtsXviiS2_Mm& z*g!Pr23>z8rV+)|({U;>lh9R7TXR#i=26~7c@_>K0$%$#%DOJZ4{#AKHEm}8`k#*_ z!~)`X+>nL$VJ6X^avNeU(TwKaV>Wh_b7_#cR#uVF9m`>k*s^<~8S#6&_@ z3))*@WwQ3mk7WPV)Mx$DW<5-KB45~nj}Q+K-Kal=R}s288?3MKV`45b-)j@?xc_l{ zl_(@m5xodq3k>?pP29@m#tUiqAFol2r0oy5koXOus{?Ig@ug&qzntJe+HUjeA7Mx8 zeyqg|B8Sk`l1QaI0Q;-KwnO0(+p;qnC-=*4G2dP}q%teV_W7%-T%YYk>|iKd=LGC3 zf55edL`v+%!P;PGbuigrN7vT7-Z$Je(Xdk){eNF-TrzNFvrYkjBx*Z>u*FqZ{wIfkl9Y*I5*2kjO+@HTNDIDV)^z9E;hU)5_sK0{Yt@iW9 zmAO@RZq^z1mgnb=xu85yS93uY>%v20_4T1JIqzUsthKYFHU3Dp9d*KuZxr3veDtF5 zTIIsd&8=|*^~@{mRbvsS+Rd`7Xs8P%d!|@N&!J#m+r+x!c%Lf2mS&X`h-qB^u^5Sy z#U<^1ZZP7Ht}RKXB{86+Z`nn$P&B!2(X|X;OOR*(G63(>+=xD%V1^S7+0`za!q(o% zYb-1|-ZJreS-(W}v`(46P%uk53;XNsfVU%7j>wAGRpC&b*?K{zuCd#sf4A;bkefd; zx1i82C@3i!IXu6xalovfTBd3nC+5!XH9UvgqidX~TkR*!;TUUCL9M}d8!Fr|d(BC1 z>!$m2fBk;D!fkK@j?Fj2PPD-dCciX2F@JW?#-jP}HtXHshQsVe$M%Pv+E_U3cWj?i z9dd(i<4+5-+7(UnolZW$!kP~biyyDfAkxszpCI`&2I(97D z;J2&!*sh3$laF)i-5^t8bk(t-lT3W#%aunGe{i}b_BxYOXE_ya<4NcJ7RB?NS~sc< z|8q8ie$6D>;6%;FcVe~lZ4(v#fS)PXIALayI9Ppsf%0QFIJDIIqp`4`A(-21e?AE@ zjkD=nu|!49q_{Z+Zj^zUlc65mT06o@B)jsC1-*K`#iFjo&E`}j$5We}e%NsvSgTsz zOx$cv2IsNXAJpw<9*m}8vBZ6nH-~~wSQFLBu(NAILB\n" "Language-Team: Basque \n" @@ -31,36 +31,35 @@ msgid "ambiguous argument %s for %s" msgstr "%s argumentu anbiguoa %s-rentzat" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Argumentu erabilgarriak:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s balioa %s-ren berdina edo txikiagoa da" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parametroak balio bat behar du" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parametroa positibo izan behar da" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ARGP_HELP_FMT parametro ezezaguna" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Zaborra ARGP_HELP_FMT-en: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,29 +67,29 @@ msgstr "" "Aukera luzeentzat beharrezko edo aukerako argumentuak modu berdinean " "beharrezko edo aukerakoak izango dira aukera luzeentzat ere." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Erabilera:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " edo: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [AUKERA...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "`%s --help' edo `%s --usage' saiatu argibide gehiagorako.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Arazoen berri %s-en eman.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Sistema errore ezezaguna" @@ -102,7 +101,7 @@ msgstr "laguntza zerrenda hau eman" msgid "give a short usage message" msgstr "erabilera mezu labur bat eman" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "IZENA" @@ -123,17 +122,16 @@ msgstr "SEG segundu gelditu (lehenetsia 3600)" msgid "print program version" msgstr "programa bertsioa bistarazi" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMA ERROREA) Ez da bertsioa ezagutzen!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Argumentu gehiegi\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMA ERROREA) Aukera ezaguna izan beharko zen!?" @@ -141,62 +139,62 @@ msgstr "(PROGRAMA ERROREA) Aukera ezaguna izan beharko zen!?" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' aukera anbiguoa da\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' aukerak ez du argumenturik onartzen\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: `%c%s' aukerak ez du argumenturik onartzen\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' aukerak argumentu bat behar du\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: `--%s' aukera ezezaguna\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: `%c%s' aukera ezezaguna\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: -- %c ekintza baliogabea\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: aukerak -- %c argumentu bat behar du.\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' aukera anbiguoa da\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' aukerak ez du argumenturik onartzen\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' aukerak argumentu bat behar du\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memoria askieza" @@ -212,28 +210,30 @@ msgstr "Ezin da lan direktorioa gorde" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -243,7 +243,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[bB]" @@ -253,7 +253,7 @@ msgstr "^[bB]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[eE]" @@ -514,7 +514,12 @@ msgstr "irteera estandarra" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Ezin da urruneko shell-a abiarazi" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Ezin da urruneko shell-a abiarazi" @@ -570,8 +575,8 @@ msgstr "Fitxategi Amaiera Esperogabea" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "ZENBAKIA" @@ -579,8 +584,8 @@ msgstr "ZENBAKIA" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -595,7 +600,7 @@ msgstr "" msgid "cannot open %s" msgstr "Ezin da `%s' ireki" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "argumentu gehiegi" @@ -604,9 +609,9 @@ msgstr "argumentu gehiegi" msgid "Garbage command" msgstr "Zabor komandoa" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Honek ez dirudi tar pakete bat" @@ -644,63 +649,63 @@ msgstr "Ezin da sarrera/irteera estandar fitxategia egiaztatu" msgid "Archive is compressed. Use %s option" msgstr "Fitxategia konprimiturik dago. %s aukera erabili" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Ezin dira konprimituriko fitxategiak eguneratu" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Zintaren hasieran, uzten" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Errore gehiegi, uzten" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Grabazio tamaina = bloke %lu" msgstr[1] "Grabazio tamaina = %lu bloke" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Alineatu gabeko blokea (byte %lu) paketean" msgstr[1] "Alineatu gabeko blokea (%lu byte) paketean" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: bolumen zenbaki baliogabea du" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Bolumen zenbaki gainezkatzea" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "#%d bolumena %s -rako prestatu eta enter sakatu: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Fitxategi amaiera erabiltzaile erantzuna espero zenean" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "Oharra: Paketea ez dago osaturik" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -711,473 +716,497 @@ msgstr "" " q tar utzi\n" " y edo intro Ekintza jarraitu\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Azpishell bat sortu\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Zerrenda hau inprimatu\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Ez dago bolumen berririk; uzten.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Ez da fitxategi izenik ezarri. Berriz saiatu.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "SArrera baliogabea. ? idatzi laguntzarako.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s komandoak huts egin du" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s posibleki bolumen honen jarraipena da: buruak mozturiko izena du" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s ez da bolumen honen jarraipena" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s okerreko tamaina da (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Bolumen hau sekuentziatik kanpo dago" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "%s bolumena ez da %s-ren pareko" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: fitxategi izen luzeegia GNU bolumen anitzeko buruan gordetzeko, mozturik" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%lu byte bakarrik irakurri daiteke %lu byte-tatik" msgstr[1] "%lu byte bakarrik irakurri daiteke %lu byte-tatik" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Eduki ezberdintasunak" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Esperogabeko Fitxategi amaiaera paketean" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Fixtategi mota ezberdinak" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Modu ezberdinak" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid ezberdinak" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid ezberdinak" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Eraldaketa data ezberdinak" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Tamaina ezberdinak" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Ez dago %s-ra loturik" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Lotura sinboliko ezberdinak" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Gailu zenbaki ezberdinak" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Egiaztatu " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: `%c' fitxategi mota ezezaguna, fitxategi arrunt batez ezberdina" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Paketeak zaharkituriko base-64 buruak ditu" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Egiaztapenak huts egin dezake jatorrizko fitxategiak kokatzerakoan." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "EGIAZTAPEN AKATSA: buru baliogabe %d aurkitu da" msgstr[1] "EGIAZTAPEN AKATSA: %d buru baliogabe aurkitu dira" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: katxe direktorioa marka bat du; ez da irauliko" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "%s eremua %s eremutik %s..%s kanpo: %s aldatzen" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%s balioa %s eremutik %s..%s kanpo dago" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Zortzitar buru negatiboak sortzen" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: fitxategi izena luzeegia da (gehi. %d); ez da irauliko" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: fitxategi izena luzeegia da (ezin da moztu); ez da irauliko" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: lotura izena luzeegia da; ez da irauliko" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "" msgstr[1] "" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Fitxategi mota ezezaguna; fitxategia alde batetara utziko da" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "%s-ra lotura falta da.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fitxategia ez da aldatu, ez da irauliko" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fitxategia paketea da, ez da irauliko" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: katxe direktorioa marka bat du; ez da irauliko" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fitxategia aldatu egin da irakurtzen ari zenean" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: socket-a alde batetara utzi da" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: atea alde batetara utzia" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Hurrengoa burura salto egiten" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "paketetik burugabea ezabatzen" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: Sinesgarri izateko zaharregia den denbora marka %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: %s denbora marka %s etorkizunean da" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Esperogabeko inkonsistentziak direktorioa sortzerakoan" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktorioa bere egoera atera aurretik berrizendatua izan da" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Alboko fitxategiak fitxategi erregularrak bezala ateratzen" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Lotura sinbolikoak lotura gogor bezala ateratzen saiatzen" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ezin da atera -- paketea beste bolumen baten jarraipena da" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Buru izen luzera esperogabea" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "%s: `%c' fitxategi mota ezezaguna, fitxategi arrunt bat bezala ateratzen" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Unekoa %s berriagoa edo data berdinekoa da" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Ez da gai fitxategi honen babeskopia egiteko" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Ezin da %s %s-ra berrizendatu" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Direktorioa %s-tik berrizendatua izan da" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Direktorioa berrizendatua izan da" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Direktorioa berria da" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Direktorioa berrizendatua izan da" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "denbora marka baliogabea" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Eraldaketa denbora (segundu) baliogabea" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Eraldaketa denbora (nanosegundu) baliogabea" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "gailu zenbaki baliogabea" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Inodo zenbaki baliogabea" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Eremu luzeegia snapshot fitxategia irakurtzerakoan" - -#: src/incremen.c:1115 src/incremen.c:1153 -#, fuzzy -msgid "Read error in snapshot file" -msgstr "Eremu balio esperogabea snapshot fitxategian" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Eremu balio esperogabea snapshot fitxategian" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Eremu balio esperogabea snapshot fitxategian" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Gordetze amaiera falta da" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Fitxategi inkremental formatu okerra" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, fuzzy, c-format msgid "Unsupported incremental format version: %" msgstr "Onartugabeko inkremental formatu bertsioa: %d" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" "Gaizki eratutako iraulketa direktorioa: '%c'espero zen baina %#3o aurkitu da" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Gaizki eratutako iraulketa direktorioa: 'X' bikoizturik" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'R'-en" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Gaizki eratutako iraulketa direktorioa: 'T' ez doa 'R' atzean" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'T'-en" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Gaizki eratutako iraulketa direktorioa: '%c' espero zen baina data amaiera " "aurkitu da" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Gaizki eratutako iraulketa direktorioa: 'X' ez da inoiz erabili" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ezin da aldiroko direktorioa sortu %s txantiloia erabiliaz" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ez da direktorioa garbituko: ezin da egoera eskuratu" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: direktorioa gailu ezberdin batetan dago: ez da garbituko" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s ezabatzen\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ezin da ezabatu" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Alde batetara uzten" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "%s blokea: ** Fitxategi Amaiera **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "%s blokea: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Zuriunea buruan zenbakizko %s balioa espero zenean" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1185,164 +1214,179 @@ msgstr "" "direla pentsatuko da" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Paketearen zortzitar %.*s balioa %s eremutik kanpo dago" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Paketeak zaharkituriko base-64 buruak ditu" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Paketeak %.*s du zenbakizko %s balioa espero zenean " #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Pakete %s balioa %s eremutik kanpo dago %s.. %s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " %s-ra lotu\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " %s fitxategi mota ezezaguna\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Lotura Luzea--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Izen Luzea--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Bolumen Burua--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--%s byte-an jarraitzen du--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Direktorioa sortzen:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Ezin da lan direktorioa aldatu" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s %s-ra berrizendatzen\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ezin da %s-ra berrizendatu" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s %s-ra atzera berrizendatzen\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fitxategia irakurri baino lehen ezabaturik" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "ume prozesua" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "prozesu arteko kanala" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "%s komandoak huts egin du" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: fitxategi zerrenda irakurria dagoeneko" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ezin da `%s'-ren denbora ezarri" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ez da paketean aurkitu" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "`-%s' eta `-%s' aukerek sarrera estandarra behar dute" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Pakete formatu baliogabea" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU ezaugarriak behar dira pakete formatu bateraezinean" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "`%s' markatze estilo ezezaguna. Saiatu `%s --quoting-style=help' zerrenda " "eskuratzeko." -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1370,10 +1414,10 @@ msgstr "" "erabili\n" " never, simple beti babeskopia sinpleak egin\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1402,80 +1446,80 @@ msgstr "" "erabili\n" " never, simple beti babeskopia sinpleak egin\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Ekintza nagusi modua:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "pakete baten edukiak zerrendatu" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "pakete batetako fitxategiak atera" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "pakete berri bat sortu" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "paketea eta fitxategi sistema arteko ezberdintasunak bilatu" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "fitxategiak paketearen amaieran gehitu" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" "paketean dauden kopiak baino berriagoak diren fitxategiak bakarrik gehitu" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "gehitu tar fitxategiak pakete batetara" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "paketetik ezabatu (ez mag zintetan!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "pakete bolumen etiketa egiaztatu eta irten" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Ekintza aldagaiak:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "sakabanatutako fitxategiak egoki kudeatu" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "GNU basbeskopia inkremenetal formatu zaharra kudeatu" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "GNU basbeskopia inkremenetal formatu berria kudeatu" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1483,156 +1527,167 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "paketeak `seek' onartzen du" -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "paketeak `seek' onartzen du" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 #, fuzzy msgid "Overwrite control:" msgstr "Gainidazketa kontrola:\n" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "fitxategia egiaztatzen saiatu idatzi aurretik" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "ezabatu fitxategiak paketera gehitu aurretik" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "ez ordezkatu ateratzerakoan dauden fitxategiak paketeko kopiak baino " "berriagoak badira" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "gainidatzi dauden fitxategiak ateratzerakoan" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "dauden direktorioen metadata mantendu" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "dauden direktorioen metadata gainidatzi ateratzerakoan (lehenetsia)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "gainidatzi dauden fitxategiak ateratzerakoan" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Irteera korrontea hautatu:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "fitxategiak irteera estandarrera atera" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "KOMANDOA" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "bideratu ateratako fitxategiak beste programa batetara" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "alde batetara utzi semeen irteera kodeak" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "zero ez diren semeen irteera kodeekin errore bat bezala jokatu" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Fitxategi atributu kudeaketa:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "indartu IZENA jabe bezala gehituriko fitxategientzat" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "indartu IZENA talde bezala gehituriko fitxategientzat" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATA-EDO-FITXATEGIA" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ALDAKETAK" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "indartu (sinbolikoa) modu ALDAKETAK gehituriko lerroentzat" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODOA" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "ez atera fitxategi eraldaketa data" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "jabe berdinaren fitxategiak ateratzen saiatu" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "atera fitxategiak zure kabuz" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "beti erabili zenbakiak erabiltzaile/talde izenen ordez" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "fitxategi baimenei buruzko argibideak atera (lehenetsia root " "erabiltzailearentzat)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1640,430 +1695,474 @@ msgstr "" "erabiltzailearen umask-a erabili paketetik baimenak ateratzerakoan " "(lehenetsia erabiltzaile arruntentzat)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "-p eta -s bikotearen berdina" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore aukeraren eragina ezeztatu" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Fitxategi atributu kudeaketa:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 #, fuzzy msgid "Device selection and switching:" msgstr "Gailu hautapen eta aldaketa:\n" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "PAKETEA" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "pakete fitxategia edo gailu PAKETEA erabili" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "pakete fitxategi lokala da nahiz bi puntu izan" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "Emandako rmt KOMANDOA erabili rmt ordez" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "Urruneko KOMANDOA erabili rsh ordez" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "Gailu eta dentsitatea ezarri" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "sortu/zerrendatu/atera bolumen-anitzeko paketea" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "zinta aldatu ZENBAKIA x 1024 byte idatzi ondoren" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "scipt-a abiarazi zinta bakoitzaren amaieran (-M behar du)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "erabili/eguneratu FITXATEGI bolumen zenbakia" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Gailu blokeak:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKE" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKE x 512 byte grabazio bakoitzeko" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "grabazio bakoitzeko byte ZENBAKIA, 512-ren multiploa" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "paketean zeroz betetako blokeak alde batetara utzi" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "irakurri ahala berriz bloke egin (4.2BSD tutuentzat)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Pakete formatu hautapena:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMATUA" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "emandako formatuko pakete bat sortu" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMATUA hauetako bat da:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "V7 tar formatu zaharra" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU formatua tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x formatua" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) formatua" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) formatua" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "pax-en berdina" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "--format=v7-ren berdina" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "--format=posix-ren berdina" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "gakoa[[:]=balioavalue][,gakoa[[:]=balioa]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TESTUA" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Elkarjotzen duten konpresio aukerak" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "PROG bidez iragazi (-d onartu behar du)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Fixtategi lokal hautapena:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "Emandako FITXATEGIA paketera gehitu /Erabilgarri izena asaterisko batez " "asten bada)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "DIR direktoriora aldatu" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATROIA" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "fixtategiak utzi, PATROIA bezala emandakoak" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi" -#: src/tar.c:658 +#: src/tar.c:704 #, fuzzy msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "katxe marka duten direktorioak alde batetara utzi" -#: src/tar.c:661 +#: src/tar.c:707 #, fuzzy msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "katxe marka duten direktorioak alde batetara utzi" -#: src/tar.c:664 +#: src/tar.c:710 #, fuzzy msgid "exclude directories containing CACHEDIR.TAG" msgstr "katxe marka duten direktorioak alde batetara utzi" -#: src/tar.c:666 +#: src/tar.c:712 #, fuzzy msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "katxe marka duten direktorioak alde batetara utzi" -#: src/tar.c:669 +#: src/tar.c:715 #, fuzzy msgid "exclude everything under directories containing FILE" msgstr "katxe marka duten direktorioak alde batetara utzi" -#: src/tar.c:671 +#: src/tar.c:717 #, fuzzy msgid "exclude directories containing FILE" msgstr "katxe marka duten direktorioak alde batetara utzi" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "sahiestu automatikoki direktorioetan zehar jeistea" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "fitxategi sistema lokalean egon paketea sortzerakoan" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "direktorioetan barrena (lehenetsia)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "Ez kendu hasierako `/' fitxategi izenetatik" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "lotura sinbolikoak jarraitu; lotzen dituzten fitxategiak irauli eta paketean " "sartu" -#: src/tar.c:687 +#: src/tar.c:733 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "" "lotura sinbolikoak jarraitu; lotzen dituzten fitxategiak irauli eta paketean " "sartu" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "PARTAIDE IZEN" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "data eta ordua parekatu data bakarrik aldatzen denean" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "KONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "babeskopia egin ezabatu aurretik, KONTROL bertsioa hautatu" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "KATEA" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Fitxategi izen eraldaketak:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "ESPRESIOA" -#: src/tar.c:708 +#: src/tar.c:754 #, fuzzy msgid "use sed replace EXPRESSION to transform file names" msgstr "Sed-en ordezko EXPRESIOA erabili fitxategi izenak eraldatzeko" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "kasua alde batetara utzi" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "verbatim kate parekatzea" -#: src/tar.c:729 -msgid "wildcards do not match `/'" -msgstr "" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "%s bolumena ez da %s-ren pareko" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "irteera informatiboa:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 #, fuzzy msgid "warning control" msgstr "Gainidazketa kontrola:\n" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Aurrerapen mezuak bistarazi grabaketa ZENBAKI bakiotzagatik (lehenetsia 10 " "da)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "mezu bat inprimatu lotura guztiak ez badira iraultzen" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SEINALEA" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2071,297 +2170,318 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "eraldaketa datak UTC orduan bistarazi" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "irteera luzea FITXATEGIRA bidali" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "Bloke zenbakia bistarazu pakete bakoitzeko mezu bakoitzagatik" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "berrespena eskatu ekintza bakoitzean" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "tar lehenespenak bistarazi" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "fixtategi edo pakete izenak bistarazi eraldaketaren aurretik" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "ESTILOA" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "Gako karaktere gehigarriak KATE-tik" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "gakoak kendu karaktereentzat KATE-tik" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Bateragarritasun aukerak:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Beste aukerak:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "ezgaitu arriskutsu izan daitezken zenbait aukera" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Ezin duzu `-Acdtrux' aukera bat baino gehiago ezarri" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Elkarjotzen duten konpresio aukerak" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Seinale izen ezezaguna: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Data adibide fitxategia ez da aurkitu" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "%s %s data formatu ezezagunagatik aldatzen" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: fitxategi zerrenda irakurria dagoeneko" - -#: src/tar.c:1201 +#: src/tar.c:1108 #, c-format -msgid "%s: file name read contains nul character" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "fitxategia gzip bidez iragazi" -#: src/tar.c:1296 +#: src/tar.c:1179 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style-entzat balio erabilgarriak:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Jabe baliogabea" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Blokeo faktore baliogabea" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Zinta luzera baliogabea" -#: src/tar.c:1529 +#: src/tar.c:1466 #, fuzzy msgid "Invalid incremental level value" msgstr "Fitxategi inkremental formatu okerra" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Atari data bat baino gehiago" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ez da onartzen plataforma honetan" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint balioa ez da zenbaki oso bat" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Talde baliogabea" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Modu baliogabea eman da aukeran" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Zenbaki baliogabea" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Jabe baliogabea" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Grabazio tamaina baliogabea" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Grabaszio tamaina %d-ren multiplo bat izan behar da." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Elementu kopuru baliogabea" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "--to-command aukera bat bakarrik onartzen da" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Gaizki eratutako dentsitate argumentua: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Dentsitate Ezezaguna: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr " `-[0-7][lmh]' aukerak ez dira onartzen tar *honetan*" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FITXATEGIA]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "`%c' zaharkituriko aukerak argumentu bat behar du" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Pakete fitxategi anitzentzat `-M' aukera erabili behar da" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Ezin dira --listed-incremental eta --newer batera erabili" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Bolumen etiketa luzeegia da (muga %lu byte da)" msgstr[1] "%s: Bolumen etiketa luzeegia da (muga %lu byte da)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Ezin dira bolumen-anitzeko paketeak egiaztatu" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Ezin dira konprimituriko fitxategiak egiaztatu" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "%s patroia ezin da erabili" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Ezin dira bolumen anitzeko konprimituriko paketeak erabaili" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Ezin dira konprimituriko paketeak kateatu" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "%s patroia ezin da erabili" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr " `-Aru' aukerak bateraezinak dira `-f -' rekin" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Behintzat `-Acdtrux' aukeretako bat ezarri behar duzu" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2373,117 +2493,112 @@ msgstr[1] "" msgid "Keyword %s is unknown or not yet implemented" msgstr "%s gakoa ezezaguna da edo ez dago inplementaturik oraindik" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Denbora marka eremuz kanpo dago" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "%s patroia ezin da erabili" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "%s gakoa ezin da gainidatzi" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Gaizki eratutako buru luzapena: luzera falta da" -#: src/xheader.c:550 -#, fuzzy -msgid "Extended header length is out of allowed range" -msgstr " %*s buru luzapen luzera eremuz kanpo dago" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr " %*s buru luzapen luzera eremuz kanpo dago" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Gaizki eratutako buru luzapena: luzera ondoren hutsunea falta da" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Gaizki eratutako buru luzapena: berdin ikurra falta da" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Gaizki eratutako buru luzapena: lerro berria falta da" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "alde batetara utzi gako buru luzapen ezezaguna `%s'" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "buru luzapena %s=%s eremuz kanpo dago %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Gaizki eratutako buru luzapena: baliogabea %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Gaizki eratutako buru luzapena: gehiegizkoa %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Gaizki eratutako buru luzapena: %s baliogabea: %c mugatzaile esperodageba" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Gaizki eratutako buru luzapena: %s baliogabea: balio kopuru bitxia" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Talde baliogabea" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Idazketa %u egiaztapen puntua" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Irakurketa %u egiaztapen puntua" @@ -2623,7 +2738,7 @@ msgstr "Inodo zenbakia eremuz kanpo dago" msgid "Negative size: %s" msgstr "Tamaina baliogabea: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) -ek huts egin du" @@ -2652,8 +2767,8 @@ msgstr "Data formatu ezezaguna" msgid "[ARGS...]" msgstr "[ARG...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "Ezin da `%s' ireki" @@ -2668,68 +2783,100 @@ msgstr "%s: Ezin da %s-ra seek egin" msgid "file name contains null character" msgstr "fitxategia izenak karaktere baliogabea du" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "ezin dira sakabanaturiko fitxategiaksortu irteera estandarrean. --file " "erabili" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "maskara baliogabea (`%s'-etik gertu)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "`%s' eremu ezezaguna" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "ezin da `%s'-ren denbora ezarri" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Ezin da `%s' ireki" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s komandoak huts egin du" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Ezin da `%s' ireki" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Komandoa behar bezala irten da\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Komandoa %d egoerarekin huts egin du\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komandoa %d seinalearekin amaitu da\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komandoa %d seinalearekin geratu da\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Komando iraulketa nagusia\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Komandoa amaitua\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat -ek fitxategi izenak behar ditu" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Ezin da lan direktorioa aldatu" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Eremu luzeegia snapshot fitxategia irakurtzerakoan" + +#, fuzzy +#~ msgid "Read error in snapshot file" +#~ msgstr "Eremu balio esperogabea snapshot fitxategian" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Eremu balio esperogabea snapshot fitxategian" + +#, fuzzy +#~ msgid "Extended header length is out of allowed range" +#~ msgstr " %*s buru luzapen luzera eremuz kanpo dago" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Talde baliogabea" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Fitxategia irakurri baino lehen ezabaturik" diff --git a/po/fi.gmo b/po/fi.gmo index 16dbca2fa99402414ef86d2d22cba902787de74a..2154b144780b537e06074867f2aab6968eda6222 100644 GIT binary patch delta 6977 zcmZA533!cH9>?*M$W9`OB-U^V64_*th*%=_B~etg_5?v<2@#}2d(EJVs%mI!=t7mL zs+LRXFr`{kTb0p;POGZ6PPMAEV{PaA%X>V}%$%qHe$F}Xeb0Vg+T~AqpSb4bJ`?V< z(vY&fjA?{d0*!fv{GK|hHKtbsW9nmX^usae!cuI4ORyHcZrz0oDIdTn%x`E+GLE%Y zVGGLpG0YgZxlE=R6}Pb`Ml*`$Sd78A7&Wlx`B!V)f$I1IwnyJ+W9ZA|A`P11SQn>Y zBtDLzxCR^J8`u($Vg&u0>twR22;iv((iJmt9FD{nP#xUGdRUjkki ziW6u;2elPHqn0v>jZ()$k+w_) zvZ`hkCg3~R123RfD3Q^tqe5izW(lg@E$D~mk=-`mV+sbwvHt#Kvf~`PSo@&1U?A#; z%aK0JepE-_A?MXZGkPs$JJf)N+44eUG0khJfqaBI#6O`15X>lb!4lkLTx4=khoTTQ z!&z7xpTo|$5w#+hQ7=Z)n|{{{eXuv`F!sY5I1F7l3Uy}YqHe=-)POgl+IJr!qlQmg z{V1rxbkve%p*qSzZNVtiHJgt*-Or+CbO_bKB~-)rP%{orawZUu>Ubj7#HGk{w^>C- zGkP0!I1Zy4I)@Q>6RR8ID6?%Q9(4!@qON5T>is#WnLcgHYf*=D2Wo%^Q4_g{jLrCQ zQX_T$)5&N=y-^(&piXTm>I^JGw%Z&;#$vAFbZo-GP={4m3)iCtx)rs8$51PH5?NgH z1!`h`+*y4`8eu5?n+!7QxCe&dFw~(eMHiN%22_P=cpK_g>_m=(If0t#U8E0Fn|5cdV>q5fx0dcA8IANd>QsBBJ0pxnjW`oE!#q?2Lr@)0L(Oar>UJE& z+IST;(BDx5@oD1>I36|gZdeCLv|;_V^wX%w!$<8852HFdj}dqmHNdb8V+LbARDBt; z8)iOg#kQj+um^RUPN7!rDyqYfOzu23vnFP;{=QUXQXxB_7k0t!*bTLGi&1;K4K<^W zQ4RlsTH=VdP6xTD=LN_)GqX`=W|Q?4PNVFXWlRuOy2+@ad8iK7prK?wH05)u70O2q^ig!-Ce#GoN9+&6_<-w+m5aKk#i;AD z(7F+IjXp#dUO@fMuY>blh(jH|eAEOUL$$ZrdK@*d8`uD&J65ll+hmc^gFNdDRL3u3 zG`@?P$(N{^2XwLxpblXc>i1(X6z5?Wu0YLr1FHR#*1M=JZIPot72S-Oj5?Twk@yNm zc=3k|YA=sOs&J4RDpL0`=dVdW@;X%}4``VVTV@=9IU7W)igI22 zc@UbQdzBYoGcuZKa1ZAirDJo-?X88V57PqF3|HWKd>z$b|DMhtvt_6)c@?$f$5Ds) z7RF#$FJlH_25RLN_hS7u;_Xyu#-AbEWBhtMOWhqiQ!YmxDi3M}zCo?P4b;G6`Z)Ey zQ7bYWRqsY^>8scsccb3(>T3-Dn3TS(zwYB4N;+&mVneKz=j>@5>d+0s5-dUO-AQbO ze)-P8V~}r*c@Qgc5hkE_Kj(QeK1z8cCgGPj1cTfU@X;YN787wTYQ)D-GdPcIvkB_& zoZ5VhqdWt(QZFJm*nDN5*Bik8Q|^rM_!_F+Pf!!{8t4ot8f#E?=aca#GXS->Loght zVkpi-9nKZVH^pp0b$l7QktUXtqyZJ9>YqYw!AGcee?q-?6FFukjRPQOArp6-J!I7J zE!5J47C3v<3AHklaRhEcCTRi&J2M`F)dRy!>bIaDUO*kTE2sg6KIGK*Lk*|^18@Wm z()}MtruuMTG7r2Sc4m@-x;|wXi_0(-ccN~`ci0j`hB&{^KrML%y6`0o$9=YZ66;gG zVap*yc~1YPH5s$Xujqq`!&!e{GO1)5U|ZA{48$m$iyTz*9O{~0#7GQaKWbrPjK&1yCYs);!&ZeF z@IKT84r5)shK(?Ar1STHmLpkzRpd~iLo^)q!U9xBo3SD8M-A|dt-oco}?1Yb_27UlFpi8Kgy@t`~Q|NXMRkK3pP)$c&w=FmWuc4N9d=bl!mDmdBp_cFs z)M46&t#LOt#_v&QBxtmAhFYVx<^fcDMW~f8caw3EsYJcF3bnVpP&40yX?V((YmPCd z4dqzWjEAH4dOm7kyRjKwK(!Yz*13MMs0kFI4*4Y1O1oE+(O&PjKRAueDW69jmcU}? zzj$&`XJb0*P_0Ej+=?#Tg-!9a^$uzP(c_$@?||HJ(*s-LYGe!CX1|j$XHk3f8!~tk zFy7hANvMG=LOtJ$n&}~o#p~Dt8%}UK%tdWUAqHa!`r|CC8*5Nrh<)haEFq&M{S4J$ z%@XGWl8!FQ4`Dm3#0cDm`rU_^f>%*{?<#fvv%5boqx=MF$?HvY4sQ&)D0f1&HwvTZ z->f2|k-mjm!go=p_$=zM+(Vt#kV(9Ri5P=VVtafGyWj`zsDAfOW&PFAB`SJhooUV|ayaS`&O~**+SVV$5X$GU`W|C4WuJ1VgLF)x zJP9?h7cdo%*!p{@4^i@T&Waa@aXRbYiHhP1=bo-dU8fIF4c);wOypybg9TU*S7Ib? zL0!`iFc{CGmi9+X$B3CuhrKX@av?_I4D5(Y++=E!IfS+FQ`890VOPA3nqj9|&e@o3 zU507YZ$-`UJodz>N@wdv;sDBSWTNIzgp$sc()$F9;OxID`Vi^-QjI7*>0lnS3T?#~ zgif{6!w%*R>jB(MMAA+Q@iY0l_8H^&pR}A3-v@W~XH-wVCpZS?H{ueZ^d51Sh$1p+ zQ0XeslKdaBHP#}!k-tJ{tCYN{Q;NpEPPY25^t;L5A-J*C2XdV5ztU-<3!%MiLi|E( zC*C1C6Dx>U38m}ABg8=BWnwSUf$%4?iQ7aTF`Brabn2C!B?c3I4D4%sMg1=#bl8-- z6TOM~#6%*HABLe)7JV3M|o+grb zz6Vcf|I;W`P}o9@B-&Cwhap5F`6uvxx=E&bUa{{qe>a)}V$uaE7C z0%8o&g1R{3pXB>#|MwA35w8*Lc(4SOW;&Rf)ahFgXv=GGEzyj6{cn4vWQXdHnLb2W zw%%5oaLTi7AqfL)-hI$!>R5yMq1S)C+=KdOh);+FVmNVvP+IC>Qtj{WQC>jQpghk$ zTZ}u1l|(!-hd4ugOpx5we_N?d&c`nmnWomiVD$Zm zID_~*@dsP?wxpfIa7%gZzfw(y>i>sx+~$j|;&GebkNz~U5LXcwi3!BFgwj}t>OXvx z{g4PU~SWhTDNNgp7c>cL6g5o{b8;1CKCN!Jl<8j3v@b~mg+2>W2kQVP5lh((( z>QtLY>P#&zFRCaho8p>WHnwD3Npbn~Y){9`&E8ervnN(v%AW11Y`?UICne{3Z%^Yc zz%oQ>%vvR>eJ^M z^eJwrQ7hK1ajCZIQ&eoJYu)#KY1OLL+CE>k-`~t!KEq2TUY_R9u~3+7Bk)m4>63aaS@$iOk5A=!N=hU*ljQZ$3yloX2LP>1gL}0hgI-4 zI1qjc+0ZE9VL#Xx_JI|!2+oBpF;>8l(1*P_-?)-aB@=f-De@OM8Fn`f<3v~ubwDfZ z4g9Cf#f%)O$;y4oX6n7}rD2G@gJ*z)zrDVPbz>U=hq7LnlK= z3m=30XMDs@PuLYZmB1k|56*)fU=37EEQa0T#)uiH_s)TG&6N>fhH_mmHWTMSDeRSC z|57@aFd>sY2s^?Tp)`CGPJ$grg)W)~W#Y|H3fu^}l<_dcYsLrga9F_0N5QdBmf8e$ z&aF@ueF{xc?& zhwrU}TIa(8xE*$dSHO1gCTPN4P_dKUOGjz)29(BMLmkkYNYTb4A})d2a0`^hwn80r zE|d#)L8ad_(8@E6ccG$x4rbEDnxW3w4z>R-$i=h919WCG@iLSG{R!bNuoB8LM?qPn z4k|`AL2Yy)RE@e3YTW~na4}wnGVzbFI~98jcwnJ%r zGt>qPYetHX0#uXxt1jrtvKF;193}rYHh($yPXs^Now> z5J$#sP$qr_%EWI%;>7p>>foYDVF4Nmwb2ZybX^R4!)Bt7 z_}WDM-bcq-Jv%b{+Ng-Wwqp@QdmC`I3cYY4WFp%j`! z9hc$`><_m>DR31;XX8#N*L@5Zz`s>uf4wl1awSDpLn)AiGU+)`nqLi9!q#a1dpL%1 z(bUkCGvT3(kA{6=J(NXHfl^=x>gI0zmG6}8P! zmS}}ao8Lhl_y;J66n%&?LTg&Ucl3l;r$K)LP}C`%R03g4dyO~w}FqFLk2=)sdv zFMbR4!r<9qG%tih8K>Y7xIN3f9$77dj6PhxbQ(6OK~; z=gkcZL@AUhtDzJ*F5;O`2j2>H;9jVkeF|lXK3roUEQK;{HPrefRGMA{4}sS~S+EUi z|93>rH##2``g%O%!(^<6I$#@AP~Hi9=kXnf#f)E{7n(fp=y1akP&Zrx^?nxW{ac`d z@kOYMeHM+4nlKCc!K|WoI30?cF#}4|6dVb+L1o9SP-*u#lxtpu?P2?4!tCe*mG3>F zg0C13gUjIvxCzQNS4HE8pe*$MG1y-|YBxU&!ijJh<7My)ZhSM;jc3({X|@4sLpS1f zsET$!)J>m+t?+HApx(AH{LbG1OBufkN5O(cVQ`l(!u|@1Y9^LL2abjhL23L690Lm% zhqb*D%7+;^6W#>N;m1%G=(8lWz$hriS3%9624#_pqWLx`*S?yiQ%&cuumVn6Y8YJF zsD~%PJE4MZ7-o^HX2Qea@h~V*&|!Qv91lBk3#D--l;W!(;bNQ(@tW}roCF7~;IAl{ zT|`G4J_+^0H}Et#f^w&uT@R0g&q8XFQMxL$zy{cd@ph=2?t)~X@hnu~>UC^r>MBUh zG3p^z*SG=d`CG72`QL%v1K?_S zB=jK}YTOQ`z~A6BIDSp2SQ1WG{$D{yzIg?9gx^DL(C+wfgJ}`ZgtEXMC2X|c;-mnS|VSF-_iFd$p@KLC&`35Sj2Uy|ynJ_EUXX%)57nDi&M&q}j zH2yIf4_F^QuY|;_Q46c!wbA_RPzQVgJHtM8;rby^E*uX{I2p=itLm`-A#@sXq%27Clgf_e3r8y*4M!>Mo}oDCJECqTL6JebNOXd$U?^l1pwxE?B4e*wF~tKebq zmWFJY7JHab@Ex)t)O2p#rBtx$pvLD*w0B(E<0scJKu#lf42}(Y}esC5iBVpXWeXXfssI z?1Z|>%TT7zbHn{cz#|#YfraoiSOL$0a@BpXuk!z`Xu-EoH#CxA&=o`7Xbmif7s4L! zLD&I41-~QMUVtX!Kc+$#eIBug7b-FiDqR=D&hRp*G~NkEa=!5`9o=}4ANq1i#FbDl z_>e>}wm`+idr(>NWAuCy4weOGKv~9t#qeS%%iag&(wAU2_%`eaKZjX$zNI76{|g=i z^O{3bFM!(c3^*L#0!{c7lxe?!z2T@$;ks#XEMpsvftSG};1lpd_yd$;7izHbD$1>6l$YC!=qte6dwTBLIrIG z>fmdl`Mt0^;}2m^_zl#BI-VZxKN-qZS(lD9+X?ltcpB<~aYk7A#=*gPR7p6U>Bcj| z{J$AaX1oV#{SR;y9J4j7C&$A6j4y|M;9XEbz6W-L??YlCYkWm#0u%kVg$K@uQyJGm z1=mif4eo){;9l4Tc0Mbt<$Yj3#>3zoSP6C0EpRBjE#fm!uKo(@q9cBxLWNmY(lMF1 z1}=dQLoRImH*yr60@xmzProZvvykn`T^i7orfLiH;sI>};}fIt|3+*Vt+|KsnVcW| z{T4k7aQFe6Jj~3(=;2@B`^ap>WKF+l-P??pAw!XGkS@#*gEBXF37XIE7l{6ucPt_c zT#IDM7-Kc^2c&=pGTjZxuaS$9jYut`HY7w4P_0paCagpH^X^>4q<=r6Hiq$|Pyzd2 z$RWr)=5nn{{#Sbmc}E@E92VRLKSvZ$dy!mIO*k$$h&VXnt?*CCx@bI$eGWs8WV{Hu z9U0Gf4%De%A(QgxJxFIL57drL;ru^NO(AW98mzN-5tUh#50%v-;mk#%aL4L zKxZxTSZ)ILh@QVf|3l<=(&S&r3}hS+iy>9m$Vb#_5F7az8Nu^2V6IW4f_4GF%aN_f zHOL9b9Y_M{f~d`i4n8{^8t1~-5uI-g@oy4TnF#_mDk^ z+9k-HNVx{I`Va;sKluNNXlV4&KKonNI5rx57x5VQ1kwX}5m7Z%n}w*LsGWp#V57ds z{{=JQ&qJV?xel-zs%;Jt{CjZJ4bY9>Bjo>+>2zoDNLUGPgy$e7h*~G+egi)UM*N#S z+=4VA(|L9XqBaHo6;>kuKzbu8T&2`CBc>39X{M?6JffONX?W4om z=y#;w6B&i9VthJMid>4MkT(#u>B!ANFZ?8bLjSX9{Qq!Q)c;jP;g%@=f~n{DU5q@5 z{2A%Sfxm?lq1x3Uf`5klCw+Z<)ILSN4SM0v(_krbJ~9Hi7a71FqoaK);11@lL>`g- z2hy2@R3j^p7m%(jnu;{gSL;mwDmWE+200J;JJN#8MTR44zeGj{z3?xdBk1o&3VA;t zDT|)vFgeTQ1B^~ZCLmReZ-U<=YVD9`kxm-Wz6@b(gU!f%P3HN zG@i+L8ZwXZo6%hH20E`sgR|h*QGa5@BYENXZPf#NcUWSsE3PXkGwYp(2D{$0JTu{@ z;#SOTaALMm>{Xg85={wrQzDo!{Y=u1-mo|ODXY%^*-LG6%u5O?>a0Y<_09FRnf6%X zBuu~2HdFRVY1`8~ZqiO!zT+m$xLa?x?HTc>j@fm-l`1hktJ(Ii}e)CT^Gov=#T;O=VX~jZYd*)hd+Yn>=xYf zfbA*@+b%78Jg;SZMX#2cimLXw)K0aXQn4(*v^E{{9So2=J-UpX@`V=JYoN~Zk--k6n2vrXXjIyau=fc4yJlf#?q z${Wn`k^|PR8C!nD32S2U#uG{idEfNX$)uZ7Xs*wgrGBI1l`0mDMM3C=7v>6!XSKz~ z?Z}^CO`Gw+K$=mI%d=E){O7(Zr$B#CNr6O+s}9&ecyHBlvm6e zvplcuqosFs&dyu7LZ^}h{E`c?7@2KZD(DWI=k(iXnVCl4wo%7QH(KSabg*7?#!592 zMy{JEGdEg=$&BY`GG@|>S!v(5;uhs1gR)Y_@f_(8U6>8^YL<7&bk%19#!fXg*&BDa zszfVHf(jk%|I-RhEnJYM2#03}&vN^sj1^R94u}f0b_(nB{;h)a;3uoC^p0gVSx!@v zbKs_x`k+Pn`l`>`DJaiB-$x}=JAOcZmvkB{aJ*%X zYPtTznoe$9Ds8md-aPTy{241eJE*$Bp}Bn%`<#qRaZ9s>Tk$@D;>(f=d9}QjpO#-) zH)K~@iAF2;Gb?8_7B={BW2n!;eNIQ%Y4XTX2`@(27Uk^LwI=aWfZ|WoQ z^KVUVH6_F4PtpCaXAgc~_Ql6>%9T~dW(POf4@axSB$|Ty>N%DUJ?P6MH7(WKpRPRk zxV*xa`|Pu-=ey*O{#?MVO8MYxML&w!U@G`xX^uZuEKF*~oWMgW7`{tEYpH6uq{w#~ z?F>nyjr0|0d!%7iL9rFXT4DWD>EBmlRJxYeRL?D6SW{cm*01S-{Fbfpk)>w%EwK2L z!!qy^PD;ADY#PI^, 2002-2006. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.16.1\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2006-12-09 18:58+0200\n" "Last-Translator: Lauri Nurmi \n" "Language-Team: Finnish \n" @@ -28,36 +28,35 @@ msgid "ambiguous argument %s for %s" msgstr "argumentti %s on moniselitteinen %s:lle" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Kelvolliset argumentit ovat:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT-parametri vaatii arvon" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT-parametrin on oltava positiivinen" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Tuntematon ARGP_HELP_FMT-parametri" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Roskaa ARGP_HELP_FMT:ssä: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -65,29 +64,29 @@ msgstr "" "Pitkien valitsinten pakolliset tai valinnaiset argumentit ovat pakollisia " "tai valinnaisia myös vastaaville lyhyille." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Käyttö:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " tai: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [VALITSIN...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Komennot ”%s --help” ja ”%s --usage” antavat lisää tietoa.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Tuntematon järjestelmävirhe" @@ -99,7 +98,7 @@ msgstr "näytä tämä ohje" msgid "give a short usage message" msgstr "näytä lyhyt käyttöohje" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NIMI" @@ -120,17 +119,16 @@ msgstr "" msgid "print program version" msgstr "näytä ohjelman versio" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Liian monta argumenttia\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -138,62 +136,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: valitsin ”%s” on moniselitteinen\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: valitsin ”--%s” ei salli argumenttia\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: valitsin ”%c%s” ei salli argumenttia\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: valitsin ”%s” vaatii argumentin\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: tunnistamaton valitsin ”--%s”\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: tunnistamaton valitsin ”%c%s”\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: virheellinen valitsin -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: valitsin vaatii argumentin -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: valitsin ”-W %s” on moniselitteinen\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: valitsin ”-W %s” ei salli argumenttia\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: valitsin ”%s” vaatii argumentin\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "muisti lopussa" @@ -209,28 +207,30 @@ msgstr "Työhakemistoa ei voi tallentaa" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "”" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "”" @@ -240,7 +240,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[kKyY]" @@ -250,7 +250,7 @@ msgstr "^[kKyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[eEnN]" @@ -515,7 +515,12 @@ msgstr "vakiotuloste" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Etäkuorta ei voi käynnistää" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Etäkuorta ei voi käynnistää" @@ -571,8 +576,8 @@ msgstr "Odottamaton tiedoston loppu arkistossa" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "MÄÄRÄ" @@ -580,8 +585,8 @@ msgstr "MÄÄRÄ" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -596,7 +601,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s: Siirtyminen kohtaan %s ei onnistu" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "liian monta argumenttia" @@ -605,9 +610,9 @@ msgstr "liian monta argumenttia" msgid "Garbage command" msgstr "Roskakomento" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Tämä ei näytä tar-arkistolta" @@ -645,65 +650,65 @@ msgstr "Vakiosyötteessä/tulosteessa olevaa arkistoa ei voi varmistaa" msgid "Archive is compressed. Use %s option" msgstr "Arkisto on tiivistetty. Käytä valitsinta %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Pakattuja arkistoja ei voi päivittää" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Nauhan alussa, lopetetaan" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Liian monta virhettä, lopetetaan" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tietueen koko = %lu lohko" msgstr[1] "Tietueen koko = %lu lohkoa" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Kohdistamaton lohko (%lu tavu) arkistossa" msgstr[1] "Kohdistamaton lohko (%lu tavua) arkistossa" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Arkistossa ei voi siirtyä taaksepäin; sitä ei ehkä voi lukea ilman " "valitsinta -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ei pysähtynyt tietueen rajalle" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: sisältää virheellisen arkiston osan järjestysnumeron" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Arkisto-osan järjestysnumeron ylivuoto" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Valmistele osa #%d arkistolle %s ja paina return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Tiedoston loppu odotetun käyttäjän syötteen sijaan" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "VAROITUS: Arkisto on epätäydellinen" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -715,67 +720,67 @@ msgstr "" " q Keskeytä tar\n" " y tai rivinv. Jatka suoritusta\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Käynnistä alikuori\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Näytä tämä lista\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Ei uutta arkiston osaa, poistutaan.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Tiedostonimeä ei annettu. Yritä uudelleen.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Komento %s epäonnistui" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s jatkuu mahdollisesti tällä arkiston osalla: otsake sisältää typistetyn " "nimen" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s ei jatku tällä arkiston osalla" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s on väärän kokoinen (%s ≠ %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tämä arkiston osa ei ole järjestyksessä" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Arkiston osa %s ei täsmää nimiöön %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -783,408 +788,433 @@ msgstr "" "%s: tiedostonimi on liian pitkä tallennettavaksi moniosaisen GNU-arkiston " "otsakkeeseen; nimi typistetty" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "rmtlseek ei pysähtynyt tietueen rajalle" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Voitiin lukea vain %lu tavua %lu tavusta" msgstr[1] "Voitiin lukea vain %lu tavua %lu tavusta" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Sisällöt eroavat" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Odottamaton tiedoston loppu arkistossa" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Tiedoston tyyppi eroaa" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Tila eroaa" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "UID eroaa" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "GID eroaa" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Muutosaika eroaa" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Koko eroaa" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Ei ole linkitetty tiedostoon %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symlinkki eroaa" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Laitenumero eroaa" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Tarkasta " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Tuntematon tiedostotyyppi ”%c”, vertailtu normaalina tiedostona" # Mitäh? -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arkisto sisältää tiedostonimiä, joiden etuliitteet on poistettu." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Tarkastus ei ehkä löydä alkuperäisiä tiedostoja." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "TARKASTUSVIRHE: havaittu %d virheellinen otsake" msgstr[1] "TARKASTUSVIRHE: havaittu %d virheellistä otsaketta" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Yksinäinen nollalohko kohdassa %s" -#: src/create.c:72 +#: src/create.c:73 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: näyttää välimuistihakemistolta, ei lisätä" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella, korvataan arvolla %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Luodaan otsakkeet negatiivisilla oktaaleilla" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: tiedostonimi on liian pitkä (maksimi %d), ei lisätä" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: tiedostonimi on liian pitkä (ei voida jakaa), ei lisätä" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: linkin nimi on liian pitkä, ei lisätä" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla" msgstr[1] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: tiedosto ei ole samalla tiedostojärjestelmällä, ei lisätä" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tuntematon tiedostotyyppi, tiedostoa ei huomioida" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Puuttuvat linkit tiedostoon %s.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: tiedosto on muuttumaton, ei lisätä" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: tiedosto on arkistossa, ei lisätä" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: näyttää välimuistihakemistolta, ei lisätä" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: tiedosto muuttui lukemisen aikana" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: pistoketta ei huomioida" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: ovea ei huomioida" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Siirrytään seuraavaan otsakkeeseen" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Poistetaan epäotsake arkistosta" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: epätodennäköisen vanha aikaleima %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: aikaleima %s on %s sekuntia tulevaisuudessa" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Odottamaton ristiriita luotaessa hakemistoa" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Hakemisto nimettiin uudelleen ennen kuin sen tilaa voitiin purkaa" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Puretaan jatkuvat tiedostot normaaleiksi tiedostoiksi" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Yritetään purkaa symboliset linkit koviksi linkeiksi" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ei voi purkaa -- tiedosto on jatkoa toisesta arkiston osasta" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Odottamaton tiedoston loppu sovitetuissa nimissä" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tuntematon tiedostotyyppi ”%c”, purettiin normaaliksi tiedostoksi" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Nykyinen %s on uudempi tai yhtä vanha" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Hakemisto %s on nimetty uudelleen" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Hakemisto on nimetty uudelleen" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Hakemisto on uusi" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: tiedosto ei ole samalla tiedostojärjestelmällä, ei lisätä" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Hakemisto on nimetty uudelleen" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Virheellinen aikaleima" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Virheellinen muutosaika (sekunnit)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Virheellinen muutosaika (nanosekunnit)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Virheellinen laitenumero" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Virheellinen i-solmun numero" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Odottamaton tiedoston loppu arkistossa" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 #, fuzzy msgid "Malformed dumpdir: empty name in 'R'" msgstr "Kelvoton tiheysargumentti: ”%s”" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 #, fuzzy msgid "Malformed dumpdir: empty name in 'T'" msgstr "Kelvoton tiheysargumentti: ”%s”" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Väliaikaishakemiston luominen %s-mallia käyttäen ei onnistu" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Ei poisteta hakemistoa: stat ei onnistu" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: hakemisto on eri laitteella, ei poisteta" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Poistetaan %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ei voi poistaa" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Jätetään pois" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "lohko %s: ** NUL-lohko **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "lohko %s: ** Tiedoston loppu **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "lohko %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Tyhjiä merkkejä otsakkeessa, odotettiin numeerista %s-arvoa" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1192,167 +1222,183 @@ msgstr "" "kahden komplementiksi" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arkiston oktaaliarvo %.*s on sallitun %s-välin ulkopuolella" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin " "ulkopuolella" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arkiston base-256-arvo on sallitun %s-välin ulkopuolella" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkisto sisältää merkkijonon %.*s, odotettiin numeerista %s-arvoa" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arkiston arvo %s on sallitun %s-välin %s..%s ulkopuolella" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " linkki tiedostoon %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tuntematon tiedostotyyppi %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Pitkä linkki--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Pitkä nimi--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Arkiston osan otsake--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Jatkuu tavusta %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Luodaan hakemisto:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Työhakemistoa ei voi vaihtaa" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Nimetään uudelleen %s -> %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Nimetään %s takaisin nimelle %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Tiedosto oli poistettu ennen sen lukemista" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "lapsiprosessi" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "prosessienvälinen kanava" +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Komento %s epäonnistui" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: tiedosto on arkistossa, ei lisätä" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "%s: Siirtyminen kohtaan %s ei onnistu" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: tiedostonimi sisältää nul-merkin" + # ... ja sen pitää päätyä kääntäjien ongelmaksi? -#: src/names.c:590 +#: src/names.c:821 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Tiedostonimissä on käytetty jokerimerkkejä. Käytä" -#: src/names.c:592 +#: src/names.c:823 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "valitsinta --wildcards täsmäyksen käyttöön ottamiseksi, tai" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ei löytynyt arkistosta" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Vaadittua esiintymää ei löytynyt arkistosta" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Kumpikin valitsimista ”-%s” ja ”-%s” käyttää vakiosyötettä" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Virheellinen arkistomuoto" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" "Haluttiin käyttää GNU-ominaisuuksia yhteensopimattoman arkistomuodon kanssa" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1368,9 +1414,10 @@ msgstr "" " %s -tvf arkisto.tar # Listaa kaikki arkisto.tar:in tiedostot.\n" " %s -xf arkisto.tar # Pura kaikki tiedostot arkisto.tar:ista.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1389,79 +1436,79 @@ msgstr "" " muuten yksinkertaisia\n" " never, simple tee aina yksinkertaisia varmuuskopioita\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Päätoimintatila:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "listaa arkiston sisältö" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "pura tiedostoja arkistosta" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "luo uusi arkisto" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "etsi arkiston ja tiedostojärjestelmän väliset erot" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "lisää tiedostoja arkiston loppuun" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "lisää vain arkistokopiota uudemmat tiedostot" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "lisää tar-tiedostoja arkistoon" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "poista tiedostoja arkistosta (ei toimi magneettinauhoilla!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Toimintovalinnat:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "käsittele harvat tiedostot tehokkaasti" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "käsittele vanha GNU-muotoinen lisääntyvä varmuuskopio" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "käsittele uusi GNU-muotoinen lisääntyvä varmuuskopio" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "jatka lukukelvottomista tiedostoista huolimatta" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1474,308 +1521,361 @@ msgstr "" "annettu komentirivillä tai -T-valitsimella; oletusMÄÄRÄ on 1" # Muualla seek on siirtymistä... -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "arkisto on selattava" # Muualla seek on siirtymistä... -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "arkisto on selattava" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "yritä varmistaa arkisto kirjoittamisen jälkeen" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "poista tiedostot arkistoon lisäämisen jälkeen" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "älä korvaa olemassaolevia tiedostoja purettaessa" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "älä korvaa olemassaolevia tiedostoja purettaessa" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "älä korvaa olemassaolevia tiedostoja, jotka ovat arkistokopioitaan uudempia" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "ylikirjoita olemassaolevat tiedostot purettaessa" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "poista jokainen tiedosto ennen sen päälle purkamista" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "tyhjennä rakenne ennen hakemiston purkamista" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "säilytä olemassaolevien hakemistojen metatiedot" -#: src/tar.c:467 +#: src/tar.c:487 #, fuzzy msgid "overwrite metadata of existing directories when extracting (default)" msgstr "ylikirjoita olemassaolevat tiedostot purettaessa" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "ylikirjoita olemassaolevat tiedostot purettaessa" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Valitse tulostusvirta:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "pura tiedostot vakiotulosteeseen" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "KOMENTO" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "putkita puretut tiedostot toiselle ohjelmalle" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "jätä lapsiprosessien paluuarvot huomiotta" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "käsittele lapsiprosessien nollasta poikkeavat paluuarvot virheinä" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Tiedostojen ominaisuuksien käsittely:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "pakota NIMI lisättyjen tiedostojen omistajaksi" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "pakota NIMI lisättyjen tiedostojen ryhmäksi" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "PÄIVÄYS-TAI-TIED" -#: src/tar.c:494 +#: src/tar.c:517 #, fuzzy msgid "set mtime for added files from DATE-OR-FILE" msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "MUUTOS" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "pakota (symbolinen) tila MUUTOS lisätyille" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "älä pura tiedoston muutosaikaa" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "yritä purkaa tiedostot samalla omistajuudella" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "pura tiedostot itsenäsi" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "käytä aina numeroita käyttäjän/ryhmän nimissä" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "lajittele purettavat tiedostonimet täsmäämään arkistoon" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "sama kuin -p ja -s yhdessä" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Tiedostojen ominaisuuksien käsittely:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 #, fuzzy msgid "Device selection and switching:" msgstr "Laitteen valinta ja vaihtaminen:\n" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARKISTO" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "käytä arkistotiedostoa tai -laitetta ARKISTO" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "arkisto on paikallinen vaikka nimessä olisi kaksoispiste" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "käytä rmt-KOMENTOA rmt:n sijaan" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "käytä etäKOMENTOa rsh:n sijaan" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "anna asema ja tiheys" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "luo/listaa/pura moniosainen arkisto" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "vaihda nauhaa MÄÄRÄ × 1024 kirjoitetun tavun jälkeen" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "aja skripti joka nauhan lopussa (valitsin -M tulee käyttöön)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "käytä/päivitä arkiston osan numero TIEDostossa" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Laitteen lohkot:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "LOHKOT" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "LOHKOT × 512 tavua tietuetta kohti" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "MÄÄRÄ tavua tietuetta kohti, 512:n monikerta" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "älä huomioi nollattuja lohkoja arkistossa (merkitsee tiedoston loppua)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "suorita lohkominen uudelleen luettaessa (4.2BSD-putkia varten)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Arkistomuodon valinta:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "MUOTO" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "luo annetun muotoinen arkisto" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "MUOTO on yksi seuraavista:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "vanha V7-tar-muoto" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU-muoto tar-versioilla ≤ 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x -muoto" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) -muoto" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) -muoto" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "sama kuin pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "sama kuin --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "sama kuin --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "avainsana[[:]=arvo][,avainsana[[:]=arvo]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "määrittele pax-avainsanoja" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEKSTI" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1783,174 +1883,176 @@ msgstr "" "luo arkisto nimiöllä TEKSTI. Listattaessa/purettaessa käytä TEKSTIä " "nimiönhakulausekkeena" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Ristiriitaiset pakkausvalitsimet" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "OHJ" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "ohjaa OHJelman läpi (on hyväksyttävä -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Paikallisten tiedostojen valinta:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "lisää annettu TIEDosto arkistoon (hyödyllinen, jos nimi alkaa viivalla)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "HAK" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "siirry hakemistoon HAK" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "hae purettavat/luotavat nimet TIEDOSTOsta" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "HAHMO" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "jätä pois HAHMOn mukaiset tiedostot" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "jätä pois TIEDOSTOssa listatut hahmot" -#: src/tar.c:658 +#: src/tar.c:704 #, fuzzy msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "jätä pois välimuistihakemistot" -#: src/tar.c:661 +#: src/tar.c:707 #, fuzzy msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" -#: src/tar.c:664 +#: src/tar.c:710 #, fuzzy msgid "exclude directories containing CACHEDIR.TAG" msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" -#: src/tar.c:666 +#: src/tar.c:712 #, fuzzy msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" -#: src/tar.c:669 +#: src/tar.c:715 #, fuzzy msgid "exclude everything under directories containing FILE" msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "jätä pois TIEDOSTOn sisältävät hakemistot" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "estä automaattinen eteneminen alihakemistoihin" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "pysy nykyisessä tiedostojärjestelmässä arkistoa luotaessa" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "etene alihakemistoihin (oletus)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "älä poista ”/”-merkkiä tiedostonimien alusta" -#: src/tar.c:685 +#: src/tar.c:731 #, fuzzy msgid "follow symlinks; archive and dump the files they point to" msgstr "seuraa symlinkkejä; " -#: src/tar.c:687 +#: src/tar.c:733 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "seuraa symlinkkejä; " -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "TIED-NIMI" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "aloita arkiston tiedostosta TIED-NIMI" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "PÄIVÄYS" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "vertaa vain tiedoston muutosaikaa" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "HALLINTA" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "varmuuskopiointi ennen poistoa, valitse versionHALLINTA" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "MERKKIJONO" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1958,103 +2060,103 @@ msgstr "" "varmuuskopiointi ennen poistoa, älä käytä tavanomaista jälkiliitettä (joka " "on ”~”, ellei muuttujaa SIMPLE_BACKUP_SUFFIX ole asetettu)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 #, fuzzy msgid "strip NUMBER leading components from file names on extraction" msgstr "poista MÄÄRÄn verran osia tiedostonimien alusta" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 #, fuzzy msgid "ignore case" msgstr "poisjättäminen ei huomioi kirjainkokoa" -#: src/tar.c:719 +#: src/tar.c:765 #, fuzzy msgid "patterns match file name start" msgstr "poisjättöhahmoja verrataan nimen alkuun" -#: src/tar.c:721 +#: src/tar.c:767 #, fuzzy -msgid "patterns match after any `/' (default for exclusion)" +msgid "patterns match after any '/' (default for exclusion)" msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen" -#: src/tar.c:723 +#: src/tar.c:769 #, fuzzy msgid "case sensitive matching (default)" msgstr "poisjättäminen huomioi kirjainkoon (oletus)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "poisjättöhahmon jokerimerkit eivät täsmää ”/”-merkkiin" -#: src/tar.c:731 +#: src/tar.c:777 #, fuzzy -msgid "wildcards match `/' (default for exclusion)" +msgid "wildcards match '/' (default for exclusion)" msgstr "poisjättöhahmon jokerimerkit vastaavat merkkiä ”/”" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Tietoja antava tuloste:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "listaa käsiteltävät tiedostot" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 #, fuzzy msgid "display progress messages every NUMBERth record (default 10)" msgstr "näytä edistymisviesti 10 sekunnin välein" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "näytä viesti, ellei kaikkia linkkejä lisätty" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2062,63 +2164,67 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "näytä tiedostojen muutosajat UTC-aikoina" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "ohjaa monisanainen tuloste TIEDostoon" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "näytä lohkonumero arkistossa viestien yhteydessä" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "kysy varmistusta jokaiselle toiminnolle" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "näytä tarin oletukset" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" "luettele hakuehtoihin täsmäämättömät hakemistot luetellessa tai purettaessa" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Yhteensopivuusvalitsimet:" -#: src/tar.c:787 +#: src/tar.c:835 #, fuzzy msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" @@ -2126,65 +2232,57 @@ msgid "" msgstr "" "luotaessa sama kuin --old-archive purettaessa sama kuin --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Muut valitsimet:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "poista käytöstä joitakin potentiaalisesti vahingollisia valitsimia" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Vain yhtä valitsimista ”-Acdtrux” voi käyttää kerrallaan" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Ristiriitaiset pakkausvalitsimet" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Tuntematon signaalin nimi: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Päiväystiedostoa ei löytynyt" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Korvataan tuntematon päiväysmuoto %2$s arvolla %1$s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "Valitsin %s: Käsittellään päiväys %s arvona %s" - -#: src/tar.c:1135 +#: src/tar.c:1108 #, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: tiedosto on arkistossa, ei lisätä" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: tiedostonimi sisältää nul-merkin" +msgid "Option %s: Treating date '%s' as %s" +msgstr "Valitsin %s: Käsittellään päiväys %s arvona %s" -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "ohjaa arkisto gzip-ohjelman läpi" -#: src/tar.c:1296 +#: src/tar.c:1179 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "Kelvolliset argumentit --quoting-style -valitsimille ovat:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2192,173 +2290,198 @@ msgstr "" "\n" "*Tämä* tar käyttää oletuksena:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Virheellinen omistaja" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Virheellinen lohkomiskerroin" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Virheellinen nauhan pituus" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Annettu useampi kuin yksi kynnyspäiväys" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ei ole tuettu tällä alustalla" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Virheellinen ryhmä" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Valitsimelle annettiin virheellinen tila" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Virheellinen määrä" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Virheellinen omistaja" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Virheellinen tietueen koko" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Tietueen koon on oltava %d:n monikerta." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Virheellinen osien määrä" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Kelvoton tiheysargumentti: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Tuntematon tiheys: ”%c”" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Tämä* tar ei tue valitsimia ”-[0-7][lmh]”" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[TIEDOSTO]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Vanha valitsin ”%c” vaatii argumentin." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "valitsinta --occurence ei voi käyttää pyydetyssä toimintatilassa" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Usean arkistotiedoston käyttäminen vaatii valitsimen ”-M”" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Valitsimia --listed-incremental ja --newer ei voi käyttää yhdessä" -#: src/tar.c:2406 +#: src/tar.c:2416 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Arkiston osan nimiö on liian pitkä (raja on %lu tavu)" msgstr[1] "%s: Arkiston osan nimiö on liian pitkä (raja on %lu tavua)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Moniosaisia arkistoja ei voi tarkastaa" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Pakattuja arkistoja ei voi varmistaa" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Hahmoa %s ei voi käyttää" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Pakattuja moniosaisia arkistoja ei voi käyttää" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Pakattuja arkistoja ei voi liittää toisiinsa" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Hahmoa %s ei voi käyttää" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Kieltäydytään pelkurimaisesti luomasta tyhjää arkistoa" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Valitsimet ”-Aru” eivät ole yhteensopivia valitsinten ”-f -” kanssa" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Vähintään yhtä valitsimista ”-Acdtrux” on käytettävä" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2370,60 +2493,53 @@ msgstr[1] "%s: Tiedosto kutistui %s tavun verran" msgid "Keyword %s is unknown or not yet implemented" msgstr "Avainsana %s on tuntematon tai sillä ei vielä ole toteutusta" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Aikaleima ei ole sallitulla välillä" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Hahmoa %s ei voi käyttää" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Avainsanaa %s ei voi ohittaa" -#: src/xheader.c:542 +#: src/xheader.c:667 #, fuzzy msgid "Malformed extended header: missing length" msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu" -#: src/xheader.c:550 -#, fuzzy -msgid "Extended header length is out of allowed range" -msgstr "" -"Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin " -"ulkopuolella" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "" "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin " "ulkopuolella" -#: src/xheader.c:569 +#: src/xheader.c:688 #, fuzzy msgid "Malformed extended header: missing blank after length" msgstr "Väärän muotoinen laajennettu otsake: tyhje puuttuu pituuden jälkeen" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu" -#: src/xheader.c:583 +#: src/xheader.c:702 #, fuzzy msgid "Malformed extended header: missing newline" msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2431,64 +2547,64 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Laajennettu otsake %s=%s on sallitun välin %s..%s ulkopuolella" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Väärän muotoinen laajennettu otsake: virheellinen %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, fuzzy, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Väärän muotoinen laajennettu otsake: virheellinen %s: odottamaton rajoitin %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Virheellinen ryhmä" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Kirjoituksen tarkistuspiste %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Lukemisen tarkistuspiste %u" @@ -2627,7 +2743,7 @@ msgstr "I-solmun numero ei ole sallitulla välillä" msgid "Negative size: %s" msgstr "Virheellinen koko: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) epäonnistui" @@ -2656,8 +2772,8 @@ msgstr "Tuntematon järjestelmävirhe" msgid "[ARGS...]" msgstr "[ARG...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "" @@ -2672,66 +2788,93 @@ msgstr "%s: Siirtyminen kohtaan %s ei onnistu" msgid "file name contains null character" msgstr "tiedostonimi sisältää nollatavun" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " tuntematon tiedostotyyppi %s\n" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Siirtyminen kohtaan %s ei onnistu" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "%s: Siirtyminen kohtaan %s ei onnistu" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Komento %s epäonnistui" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Siirtyminen kohtaan %s ei onnistu" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Komennon suoritus päättyi onnistuneesti\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Lapsiprosessi kuoli signaalilla %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komento keskeytyi signaaliin %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komento pysähtyi signaaliin %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Komento keskeytyi\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Sovitetut tiedostonimet--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Työhakemistoa ei voi vaihtaa" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "lajittele purettavat tiedostonimet täsmäämään arkistoon" + +#, fuzzy +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "" +#~ "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin " +#~ "ulkopuolella" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Virheellinen ryhmä" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Tiedosto oli poistettu ennen sen lukemista" diff --git a/po/fr.gmo b/po/fr.gmo index e7a950c402e2577b7e6b931ceb205a9e9d0df48d..27e98ddd15da3e5379cab9abdb3968c8ccfe9842 100644 GIT binary patch delta 11551 zcmYk=2YgP~AII^VDI_st26;k^Ady5u1X)(ih*65#vqsb=c=%UK?Rv~wtr|tOe;#U= znyt1WRij$1(m`9ZL+Sc|zB$ML<-Yv#KEHGCbMLvobMAd2KYZu6b-$nctCIdpeH_Q} z@pYUyOfK#?UfSs{`p83S8^f?1p{*H~$L4q%dt(^Zs^d6;n1(KFfe|?#1?*SXZ7wjCjydp0IZL*uou3ExRL)Amr@$S)wX=KO;$tiwfWa($pRnFsALC_k~lZ8 zJeJ_98dz;CgB?(n7>s%nXJHHUqAv6ZHK5ogrXtUvE;I!-u$@>5_hC3*L^li7`Gtn= zAc_^FkvFzBv$jS4Ii2~T<2_g%kD~_o6KVj()69vRp$6OswN@se2E5YdCs1qdhcxQ1 zxeHD=k5w#IByWn9u@7p*ZY+gs(1klt7x)yz@Fqs!KUfSaXYek;SX5uk-XBI}{VJw2*pl;x2?2N%p z&A|E~Pp~rzHLy3_G&E;tZO5Oe0o80~<}3zvp+wXjcSgTSOG6$IlPZ0Fqjpm zMOTR*x?q1)1(u<1U>B-V?$b0>^2?Zp50F7S4Y*1=PDb6?0Sv|~sN-*P`ZlGI#1iU7&%@+t|DxYAVK~PBhE* zZ$J%TFX~P|!a{fxHIRF#l9y;@2AGPWdj31p(4FVxIm z8(pY7t$|wYZBYZ6iF$9W#G<$ZH3dgdr9X!*`~p?Uzfc1U&oYb8l|}t^qBuJA#%qqT z*c;Pv0fyokR7I{J>&^-4U@nw}`dmMZ!zow|w__bVhnfN>+YGcOYJlmer>Rpm_17YM zjt-4%8tTqpu=yODFT?=)m!V#rt5KEPi@H!gs-*v*3&T2^DM>+eyAInjGB^- zZW`5T2L6!qi7oPz?)Xk~IxA_pPj1=tJHGn`2khW4i`* zfm5i*@D6IKLVB2iCtx4)Y}A_BiDkLI^ED0K(F4>6f_s`fi$_(Uk97fRZ5+fR82hX_ zaYL*~-VKv*9O@Om4U6J!)LQr(HC07>nJKJ*Zp~=|jYw>cy5L}Yz*5X0-;R0=@1REh zH)_DOdYidSwRXZP^bf)3a4y!w-?0Kl^x+p;OhHY_YklnV|1lkUEWSZ4qL993?wVj@ z@)4MdTTuhJiK(z7DX)T zf*mmt7h)tH#|Zo$HPAqALwP)Ee>T>~F<1$=q6o`0l9VrnqTD(RdYg z=ZCQo-o=JkXR!I;AgoHh#JU&tSbd2qarGgl#964Rc@EV-&AJ&i;IpXf-9@bhcj=*K zB$22&Nkh%mFw}eCC7Z88-TAwy6MchPR6a~}2`q`4nkcM^+1AO}jQkC(j5n|b78>R_ z@96ojOCy?&uTcXiJlu>h39FNL$I>_hzr*Di=EJY&Bg~s|@kp~4mSYw6AHq6#6;<-k z9J9X>>NeS z(1&NWE+(QXGyu!vcr1pCQ2+mQUZW9!XE6{jU=zH8szCT?^XkpSSn@8&qwLJYT6hgr z^3XA+0`;*0`7@}weg(Bi-^B#Hgw-&3EcMp`@ia82Ph%X8$8xwCHD^aqBmNrO;~ngT zspHJR7o$$N0#&*9@I|KRG-@h3Okly`RMbF5PBgFjMH8vN7Q+fUG>{`0g5P0LypIde zXOeltEy5)7?U;<$Q5C5;*$lW1>PHIT(BL^C7*(N3WE4hBG$&&u@7o3`TmEu zA4a1F=AK7GB|M33@i#1mnJ<_{^)zPdKup7Y)CWtYUE3osq;Viv~FP6EHHI=hb7v6)JcmsQ3?FD90&%q|-`RLZSR&>g&v{!6BJYNUu`dq6VW^6HhV`)gE2iY_um$-`sHywp73v>BBWSVt`mBi> zS#Q*wufYU7gIb)v9y72kj3yt4HE8guXiY=gM<2Um9%{9}iMo?}SWw!v=AGRPE79N8Iu5Ind$0=b zv0lcq+2HA_`b<9*;O|Nj?EJ_lHpxxs465!5e0- zb1<2F9rC0(m#`BK-C$PxA*@V(0c+xKsESnHXr`n-y8Y;AOCu0FpcYwId%!%bK)xPT znM1b!ChCs<#ljf9$$Y*ZY7wSjV|)%P;%3x9j$?7WZu@`TMEwKkD6!d;x-9CzWc0_b zs1Ni+Eus-v1z*6{xCwjUJ=EfA_okV;p*WCyBf2nni>YuO)O(~WYKk{(q5hh)t8~=I zGF#1@w!@O-!>}4oLl79zidx}mFB9lys&4Bcj4Y<00b`3Tfh&T`XG zi4S8fyo{!9C%&D_Uf7vPFY2?z8jic}roPw!4&43PI2KndM4#U0XYkDYZY9?Z5T#G98FBpxb zcbPm5b-})<8+sj^;~tFH^Zz%E7&_|iHXnQzb>dm56K+RU<_xM*x3Cx%de^M}vKT@h ziJJRZYa;6DO2I5lMLiV@P*eI5R^a+h(LLtzipCn`U2qIeMICq#HK4@3rqtb0&+{aV z#r3EY=VJ#fx{p6rVs9*hh4-5q2*U{S1Wdt>=pIaCK8-T?8|rxtIbdEC(Wph4fi4`5 zsW=~-;Kz14-!B_spFp;RNy? zn2hJJ9EKb=6{&^^$@L6=dZ$38-dy(&W-)-)w_)&AA zEUe3p+1L~JqE1};nCTyiS}QBDA)Z1Fz~{J`!iK1d4a7`bgjMhy>b$?B22%Zm>7VJQ zp%ZS#K6oB=!ulu8<2Di_$X8)wJb+E{57g7p_>@^(bFdZpWz>bDJ}}RJXBU@npG*j*FL8Ap76R{;8MwP74X)`6=u_pOkjK^J=gx_NnR{Y33RvD-hcSYUM1a#p> zEQu$v6n>6f@D`@)`@iYOrt~v$C_4^eD%SYKETTckn4C@62uJ0aclcYFNd6Etu-G%^ zf_?B$@)_94ho|VQc{S(fn??IMHe-L;PgNo2zbB0*ba+su&$oHub7m2>#7O$*V`Y2? zt6?5$wf~B`Z$wCH^LWvr$jmHFWF1QlFbe(-*bl z73_jXu@#oPY!+WX)C*@FYQTBu!ct$D#g>TW$%o-6d=Yc-cPxy9zBE%k3QLl2`I7oG zMFp={aL$o@k4w~Pw^wc3pS%w-(dN5ow|(L`(t`i#vM!y*^#6vlu+9_51kwJM{=aPB zc+J1I*Pl2@`FBJoBAe((oO-%zy4UYS_iZ3C$_9UXJJ%Bal^rK(Xx|8^W$baJVFO&O_ zcSF4a-StR%KXCwk&Jglk|6RK;jC_^d zUz5H!XjjBYyMHWsYt`RH2k)H!Z(C^{qwhJ-}J2`T(pO)gUyGf zJDR@6CUrW{endM2zagpzAYi^MMleY|SXk35{< z3(e_;g9vT235|6hDG(O_^1l)^<>}MbEpGe~e`pRkke~@aOE=q(FKid8c_yRGS{pWEp_QbC=|Jsfc zk;EpV4l#_K4X^@Hm(cbdeI`1(#m zI)XV!+h*Et*aMQRQD&D@$mZW$)%_;zZZ;o|v*{~obA4ZoAuAlxw|EosD~wg656teKJ0sic(I^I^=JDp9sl4KOvO^DtqQT0c4wQb?*i@RxDDST_7PQx zorJbH97&8LULw9C(uor6+fZ->ztoVQp&eka?|AJF@!u!fgJ^dk?(%_2#5=Ta5=q20 z^4^$EXsb{DkO-pPgxE)XLp`NUrK4<;_#{%E{y+jFcRu)iwp0jTYFLbZ4IrE?V#LQ;$9M0+~%cpFD!4f$p~ zN8BZP5>4rQ7kArZTVu9u|4qNP^29Zw9sNbI9&wM*mQSqK^M9P3zZ3t`@g`B7$R(eS z+Mc2PcnhU5nYM@#~Ye*-q%~X$sk`>|D2Iy`wksB#x-_y-;rYm<%}LN zaDZ#j(BT7JBm0gRI40Jco7UCOdna?bzh`&LZr)W@ygHm}Y&)4oq<+#Kp(Q#BpdnSA0TBQoQ%>^pZuqo9F)E=jpJhgs0-7 zV&01jgM2-QJwe`(#fg621xwrcdAhHt8S?*IJ+@_x_wtIX{@z<__62$_ZkXm>y)nnf zd;85eUr+ySV?94^`_}X4TUnmG?S;I>G8e7$S;edX_Ma%7H= zr})t?JW51T_#(DRv#eJ5G1kRXXyb3# z1-taKtVTH6H3!#`KEIz8wGxROBZF(LA6=8FNfPPVNPVmeu_dlY{#kePgZf!--~{{u zd*C_!EvqpWU`Jez6ltwTRpfCTfgfUfY@ZP|4;Yj|E6A9Dt#J`H!w7c9%djVIMz!>1 z9FE6O73ny@vIgU5T!`hU2fT%C@g(-f1_Mn`48TItW1>V-h-^kx;B}-->kFikR;NLh zMbw&#-El4E<9(=}Ysgbo!ERWNV^J0Q3!Z~VP!DcD#N=lob+MM98W_EehzhtL^}v@< z5Be3mV%MRjC7DQ;wGcH_8&Cy5i<9wd)b+!MSyl&}j~c=i*akPD8oCcV;U^{?wc_Z< zWHQoF^J_NRxE6ciX4ga5g7hiW^$8553d%r@?KIaij3a#=*2Wu9J+cASllxJV^dH!c z`DcAkqzM^KM;be$9+Zllvc{k$*M+FAyUWdg3pKf#k1~!$vaIFU9(SU8_8|7b&rvCdqf z*2^;cL=xJhhoO3AF6zGJs2;iuo8p$NDC0|H9~qjRr%(m;U>sWFIMfZZu@07_cCuAi z8!tzV_0?$OR@Ab30bAp{sQbT0t)8ZghZ;Ho6VMkWq85a4CdN=T`y90o{D`Vp-w9^y z=Af3}C8+!dQ58Fib@5Zw1HVL#b;F6K2L>ZWS-IE)Z$wo*x}Qi}B5z`I{0gb8bs9Z! z#3z}GY@KX+<~>x)eneHY$rLjbopChj5y&W7t8ffHj%x8~Y=~WR%=M|ra*tY*iKwer zpeEVXsO5Jr>Ol{q_Via!Ejxl5%b(H4X1S)o{+LWU54&SIYFXckYUwuATzCc>;}LAB z_5U~b#IH^Uh3A)~yvirs@LScR(iNz{YtPBkrWg&HCo z)qrH|%=4|0MEc@9R9CHY-G&;gmt0R`KhmwInU_sAs>K(gHmZA3%kU%YgG%%n z!3}1am)Ia|LV5|dz;e`3U4b@Uk6LvP&Z7U-g4f7siifckoY-U~dcK?XU_AN7sIAqHZShLfgYLoB_$u0X0yUKN&No94ZAC;C7>H_74yr3FuqWPw z>X{dDIlhPLx}3SDV#|;+tumY!$J-9o(xmyO=cb^x?hCLTZp60uFftdS)~iI+(qqWI z*7rCVr!6qcW*z2`j-d+p2sL^Bg&L~%3r$z{L-oLUsPaOnmajwg>_%iyvv#8z{1dj) z`ft9-Jg6sXtTIqtU4RU$wG`O|t*6{{!^P&o`8a_53e>XPftqATP!;(Ewd_t~BBpvw z&t;)1Sb%9!A{9h*!4}jyehgLcPpE=Z^UaVfKuww}P_uszcEPt$5BwfARLu*_7Ty)d zl3s!haGPr-YR)`{QAMhV#Nk2A#+OhVMe{=Qz!BJybOCB?S7T?~f{XE4)MV@FHC;Oc z)xu?{>!YYuv>DYSZ@ShhqW?9i(u>UGyBiZozk+(eJE#Yr!a>+-iFvt9My>B_kV$0S zjt%hv)Y$GvjrnWX6+cBixNfmK*-<@{Q%wJBJ+CK2Ew~+3^Mk0#^?~cR*o|~OAM*kG zU@yE0+vDR%qpWvPt7kM9>HcNd2Unx!)(+H=zKNv`M!w zF+(!~b=?|N1$JV8d>d78gHrQy8is5s)_FJqcVS;Vh262c-&7zvfyh8I)}p#;z5`XzVQhv!U~{Y&Hbc-3_2BWY0n8$OGY-TLP?NYt#H^zJxQq1p*c%&^ zQxTqT4IrYLF2bI;7F**EJdRIct2jO`E6kSr=n6AOo;+fhCGF=|rRyVz8)H>zjmqt5^7V)|cWyp;^i%IC2y{)nBiIpR$&_MMK$0P)OEk$Fl=|JDSrmeB)tk%@#w2W)WyG`YS{EL z%gV%&sDfAHc-)T~WBuW#0}McQ?Nsc6%TZhJ228@8s0zJ_HrBq}RHO%LnJ>h#TK`uQ zp|`C=r~-4ZFhdf+b4Xu{4RjvY;5(>_%)Qdg=4)^a>3eZL9>)nd?kZD(E0KTJetu|< zWM6HTXEENT^}mrwPfm=!#{6le2-Rf=Q7x!Vzvo~EYS~1w7sl{hd=y7xlWWa=d8qT3 zqvpyU%)2)r_fc~o{zkJr&p}PDY;1xH zu`!mS#(ov5>ti?okDw~r^d^QC$Do$ydQ^`*cN6`uu4}l#?DQ^!7+Fcr((j*=38$r4k3LH+IR%};V+nmDYwx7df>cU%-ic~TuAz_ zI3Ck(H5*a{2a~Qu<$r*Ft|$sB(>Z%}L+C8Dla zf$Flya43F*dQhK@X6%+@2I>2;3m!#P=roSP!JEw3hf&vUK~36sQOmLC9p+t-gPJSl zsGf*!BGQq_A=IS#5<6hKJIz=RLKT>YopBAGhj-#Q{1Mgi5qFsu=c68Q5!S)Y*c7+B z=|@nL@Cl^nqt+Kh+L6)WZZq2lp(bBGo{Lwxet-$2``u%PY&c#*dKv0%`8AHj_CbZm!pPw3!Z~-V?9jVtT`2>RYcSkNvJNLgoQsd6mQ}kgrYonQTD%;);mtS| z58%gfjQ3XauK34&rpHEYGZmbV&ABd!U2rYx_fP9yA_4ptPQj(y%~8+3w#^<;uomv67M&wA_LXHRTx#*Y$TF`hfp{EjGeH_1I858 z5KYGJScq!*<*qxh4e3MJ15cnH&~T?|Kq_iTvrt`MimF&-C;dNy$X#UE_yKCN{DzIO z$u6^OI-)9+gsMO$4#Fj<7H@RZRoI*KPp;i}o3G|v97lc(``}?5k8ykG{|Q7U?lF_* zI-E%Q3Dm|>|3Nc1#-NsE8D59ma0U*qG^=DiYISTywe&euk9>`qob~paUpP8pZPJUd zE*3SVTjpHFy7rpA{|AJ~+i-*hxG7?q5c+9|D?1!sSt6(>3S$~D9Si(M2 zUT>UEdKM1D=zT=g10Q2E?DMd>aRkPbo`W_nL=_apI=BgS{XN(k_oC*+i#Qp-!g)CK zFJ|)Hh#KnM=*7RIt@S^BzZsK|>n6CP0csAML>m(i zm1pi3&`|4XDZW zJPyT#$4pOT;(F3WXyf;&2PZzx_+v+WG8)Hwo`_mD>PfQ17i|wB=JJ|pnO*$L3Trb5{7{fAb`YesZ)z}Gt#j)7oIrBZR;5qug2^l-cNWw>O zCVqrnanSRo=I5c(Yfulo2i4L~FdKiu{y6#t^AcN*YVjSYau1^J{~A@1<_Aqr_B+V< zHzi{d84K`yoQMx&1Jr-sYy=4yk8NB#VQtdgaVjR`NUXqdxED2NPN9}@i@f-}1 zE<#=RUX+Mx*y&|6sWPz_>3q~2xC&M9BRCCD;WnK3in;DvOd#FikZD;@>_R#Vhhrfw z!8;2UXac68pIy!<#A0ji*#*6VByaPw!hwk}~uTpE$6R;WXL=D9gs7ZAiHAh;# zW=zK(q;v3IT#o6O__}HE1gzlsRw)t9#^b2T)%gw6HA66i^aZG8_yEq(b+`zJy=lh& z7MxD{C~62Z-ZJ-HhYLwpp(@(#uz5~Cs)4sT=_q4Bq#qeA-!{KMWTGB)Co2D+n2J5# zFYhk%TZ&x64SqZ1#SG0Ve)q}SsJob!o!H{6H=Ngu=hnE0uA@I?HXv=3**@uE3y z_Wb=P%w&EFvp9bm)l*rYMa_v-pP3=pkE1y84Q6A%&&|dW!Oo=rj9RYyuo=FOYWY{F zp6Kv5Q=t(!g>)%uDE6beKKTptQJaM$NpFY}QH|a}O{TVAniE;rgY+6y!CP<&K8Nwx z;_v3|))ps|?t%kwDXLZS){Q#XDK=Pq~8iyz#$##e`3ix-f4?RZQe{ANyBPx5?ghkNo8 z*O&2C!t-1-0q-X;9jp)zLiI`u3awB2VS-J%Ew66rjmE3xLme6j8(+)Do41Z`M4*eaZ34L@HXe89On zwEPonOL``bBvc={)e(G4<6l(c^>jdWX_iCU^_2@jFh zk%=b=FPo$@VH>&etI2=Uy-v^n-O-&B*Al|y9&#^w7MGCzn6QAjtu*0T(h~{V;qD>m z2#~*&P(oNodM;i-81I~A520tyAw8O)W3RsdHW8W=o+3kQd=Bv=n1t2Gl|(vl^M&MH zOn9F#k#HlS8RvY2m4pMNYjNFV+(W1!#0YN@*kY_LcnRtlMBMrBKaIJe=HcZ;&0{o) zN60&k+IFueej941R0qCBTDw{G(Tzwcc_;7){+&=xXh!&%u;0D#XdJi4kb@EWFN*>pDMSIN?VnIJDh5EXU|`ZbBI^>IcV9_=<2dnK~lGb-YV>oNyWGEW&2u?RaQc zoyXnq1o3*ffS@DEU|ou-gxB13W3GEZ_i;RhFA+Y{`u_*v8A3iM9wG2rbpE3OIA25m z#5Qwm({rN4&oaKe|N9B2A_1#UyjoVd4yuZdcqT&f11#Tu#0d7 zq2{rPL?YKY<6lJLHWE6vxkiZlh%d#P+`OT#%XDFlqdxHr_uN+Eg@kVjGYE^w@1S#p zN$?6`2SLX+J%782TQ_jQF*klbo+SMRK}Q(>f=%4?mrgDp8(2=bhWsgn?!@=wJlySG zd)SpM=Whbvk*=)-N2gj&`^l&=IeKv7pnFqi+(3GJjY4!|ORm3?yat5%q~BI1M?>-( z5Z)&LX2L%Soe0&(H^dW3oQEy&0{8jOZ#fr|kwCbX(4IoZa#0-i#=nu*5*{IDA7o!meEuWm*i{FIF2g!zOtLLxV4Y*#XvZ?ctr zPFO>{w|ftlSf@F5d|R2(cVfMB?Zrt2$tiZBuc*jdXnR7oKM*YSl-NbS60emM8g9?> zFY^Z~{7!})URmaK@9?e&2R#MhKipJVm~pUHvl3q@Y8t-Rb*=qvXXM%*3^*+s!X zsnbyRmb8R~>=mBUvJ!7JG(5qk*r1(SP*h!Fn$kryAs_ATb|&=?dw+jcC8`w^&V{N0 z7pGO16)yjMVYYj8w{y%GnXwMpix`3GO6jTP-e7(p8vG@rKjk+Rs_ z3HQbhPiPtYYQpq*W}`P)Ie6l*_&&LjlCY1ytFE})51K?w40~~EZZh*olPKoTeWVG~ z!K9oy99uo4bzEAkXWrFO=Mr1feWp6tnOW**)k2FRDP&D`t_e}5lSeO`SbiW}Y*%>v zVLKG2?>*Gr=P!$dYuqq47@-trHWUO(%P2peDp&ZpadB#qotm6cx#;&&JVh?6u5(DUH^ufxO7p!zny$k+eI~~|P1pH-B`LOd1(R9BM%vso zk8vofPH0J}FGA+R6c(|ToXyyIgB8AzSLLV@XU^Ent+dnYX}Kw9?cuT+FV;urMRX78Hhqkrk#vsi|SMveXh!zPF@$Em=+} z5q9{HTZC>56gm6a|9O9Xcm0Jb2hRPuR&VbT?Kxq))T?o}bF*{DWlvAd8=IT0UeW8o z-9ai-7wn6VZOrdDxT4tWXAqrt594hW2K>oddO=^AUE=QTi~A+J8?ClQ+wUo@JeuFO zeh*Jkn5SrG=L)-5p|{Ax{^5+1cSS)-L=(L7#M0~QCb8gj8&j4}bf2augIG{}rc#mR zo$F-#N(u{D^dY-2;H+132@kL;&YU`v_rE-}ckKGe%(y|Z6OmDa`lqH3NbR3t_wPS^ z(15<_8R_W>)260Q_m=xqz0@qWrQvo)djIs){#-iD&d3-(aA4(}@)ilBpWb0771&Q7 zNa6KUz{Dolh5X~)UbQXg^%rBV_J!SB z{&00#WzOpOI^E3da-QRs#u{U06jp6pT6L$*vX5W<4N&Oil}w?Pd#}i=T{+~Mqjegy z75P0?JHu?OCEi%xb8RZ?-S9%)*sV8ri#>VsH7S|JyjE>CD<+2C|9X@*uc~c!8Lu4e z*d^4S&xc4bHhOo5%G_H5anT%lCm2`~^r)Yxr{085A5b?=$eYED!BUnKsgNg9?p?yb z(|r+UKX>pNvzJFG*B9m)B+hh*(=1&T@%#9^sh&XW%+B|NvRIc&MVU+CKtv;Fo@E>KkS_97-B;tY!&_3~b-pmX+U`R3|NDgz)h9;PHuY%r zqpEA`e2OrnWz^6|y}5wT4Qlz{e{Jy96o_bmf7gzh4~UIC(l+T|3 z{2-k1tpA(PxHVZ(dZ_HG`P-kC`tDEQ^Qr;dFxkg(>Fau~R_|AT1Mx*r?q$c~v3v$`$scNS_G?H5 z&<#!*Wqgv+=OG@$+n}JB*0XF`seKB(d>z%|^XTI(lWR50W`EHV({w(w%u}{~SVzm; zeDydx*V)DF>|NC7Vjh=bGuulUpAgGB*;is7&!l4;D)RY#XDeU*1w|EE$N%{wiYJ=w zXD>@DN|ma=sLH&Nu+6+<+5WL$_oK=b?0i?%{H)SK;v<4K@;#@{{f}Q)d0u;|r_{q{ zQN$E=8XP^_VrQ}a+o#re_c}^Fv(53FVWgCOD4^*R(p~@l;gwh8JYP)JuYj7j>GO(@ zKReTWP?=)>?Yql7oQ1uVw-m2c+E}v|XYQCnw=dAc~*KaI8&uRe#xoM z&K6~wsP~Az=)7r_2X@bokIvSXN*@BIj*Y2eqLrc!X0<3-qocRt+ zdSyt1ku!t(Jkm1r2TDWQ56oAQR#Ek*O4WA06!?{uJiW-zypSvB9d1~+$gQXb=xo(g zkS9{WzRl~NKcYDAY|Xkem1o=cTGjVDJH**@Jc#>$cXMpd)|Ro%_qxQ2-hbwQ04vSl A@Bjb+ diff --git a/po/fr.po b/po/fr.po index 1f2c54f6..30ebb3a8 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,15 +2,15 @@ # Copyright © 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Michel Robitaille , jusqu'en 2004 -# Christophe Combelles , 2007, 2008, 2009, 2010 +# Christophe Combelles , 2007, 2008, 2009, 2010, 2011 # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar-1.25\n" +"Project-Id-Version: tar-1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-11-09 22:44+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-13 12:51+0100\n" "Last-Translator: Christophe Combelles \n" "Language-Team: French \n" "Language: fr\n" @@ -30,36 +30,35 @@ msgid "ambiguous argument %s for %s" msgstr "Argument %s ambigu pour %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Les arguments valables sont :" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT : la valeur %s est inférieure ou égale à %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s : le paramètre ARGP_HELP_FMT a besoin d'une valeur" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s : le paramètre ARGP_HELP_FMT doit être positif" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s : le paramètre ARGP_HELP_FMT est inconnu" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Déchet dans ARGP_HELP_FMT : %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,29 +66,29 @@ msgstr "" "Les arguments obligatoires ou facultatifs pour les formes longues des " "options le sont également pour les formes courtes qui leur correspondent." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Utilisation :" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " ou : " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPTION...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Pour en savoir davantage, faites : « %s --help » ou « %s --usage ».\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Rapportez toute anomalie à %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Erreur système inconnue" @@ -101,7 +100,7 @@ msgstr "Afficher cette aide-mémoire" msgid "give a short usage message" msgstr "Afficher un court mode d'emploi" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NOM" @@ -122,17 +121,16 @@ msgstr "Bloquer pendant SECS secondes (3600 par défaut)" msgid "print program version" msgstr "Afficher la version du programme" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAM ERROR) Aucune version connue !?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s : trop d'arguments\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAM ERROR) L'option devrait avoir été reconnue !?" @@ -140,62 +138,62 @@ msgstr "(PROGRAM ERROR) L'option devrait avoir été reconnue !?" msgid "write error" msgstr "erreur d'écriture" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s : l'option « %s » est ambiguë\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s : l'option « --%s » n'a pas d'argument\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s : l'option « %c%s » n'a pas d'argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s : l'option « --%s » doit avoir un argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s : l'option « --%s » est inconnue\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s : l'option « %c%s » est inconnue\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s : l'option -- '%c' n'est pas valable\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s : l'option -- '%c' a besoin d'un argument\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s : l'option « -W %s » est ambiguë\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s : l'option « -W %s » ne prend pas d'argument\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s : l'option « -W %s » doit avoir un argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "mémoire épuisée" @@ -211,28 +209,30 @@ msgstr "Impossible de revenir au répertoire de travail initial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "« " -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr " »" @@ -242,7 +242,7 @@ msgstr " »" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[oO]" @@ -252,7 +252,7 @@ msgstr "^[oO]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -543,7 +543,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "Impossible de se connecter à %s : échec de résolution" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Impossible de lancer un interpréteur de commandes distant" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Impossible de lancer un interpréteur de commandes distant" @@ -594,8 +599,8 @@ msgstr "" "Manipule un lecteur de cartouches en acceptant des commandes d'un processus " "distant" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NOMBRE" @@ -603,8 +608,8 @@ msgstr "NOMBRE" msgid "set debug level" msgstr "définit le niveau de débogage" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -619,7 +624,7 @@ msgstr "définit le nom de fichier de sortie de débogage" msgid "cannot open %s" msgstr "impossible d'ouvrir %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "trop d'arguments" @@ -628,9 +633,9 @@ msgstr "trop d'arguments" msgid "Garbage command" msgstr "Commande rejetée" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ceci ne ressemble pas à une archive de type « tar »" @@ -669,67 +674,67 @@ msgstr "" msgid "Archive is compressed. Use %s option" msgstr "L'archive est compressée. Utilisez l'option %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Une archive compressée ne peut pas être mise à jour" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Début de la cartouche atteinte ; arrêt du programme." -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Trop d'erreurs, arrêt du programme." -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Taille de l'enregistrement = %lu bloc" msgstr[1] "Taille de l'enregistrement = %lu blocs" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloc non aligné (%lu octet) dans l'archive" msgstr[1] "Bloc non aligné (%lu octets) dans l'archive" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Impossible de reculer dans le fichier d'archive ; il se peut qu'il soit " "illisible sans l'option « -i »" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ne s'est pas arrêté à une limite d'enregistrement" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s : contient un numéro de volume non valable" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Débordement du numéro de volume" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Préparez le volume n°%d pour %s et appuyez sur Entrée : " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "" "Fin de fichier rencontrée alors qu'une réponse de l'utilisateur était " "attendue" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "AVERTISSEMENT : l'archive est incomplète" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -740,67 +745,67 @@ msgstr "" " q Arrêter tar\n" " y ou newline Continuer le traitement\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Générer un sous-shell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Afficher cette liste\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Pas de nouveau volume ; fin du traitement.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Nom de fichier non spécifié. Essaye encore :).\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Données non valables en entrée. Tapez « ? » pour obtenir de l'aide.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Échec de la commande %s" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "La suite de %s est probablement sur ce volume : l'en-tête contient un nom " "tronqué." -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "La suite de %s n'est pas sur ce volume." -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s a une taille incorrecte (%s != %s + %s)." -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ce volume est hors séquence (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Archive non étiquetée pour correspondre à %s." -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Le volume %s ne correspond pas à %s." -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -808,410 +813,436 @@ msgstr "" "%s : nom de fichier tronqué, car trop long pour être stocké dans un en-tête " "GNU multi-volumes" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "l'écriture ne s'est pas arrêté sur une limite de bloc" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Seulement %lu octet sur %lu a pu être lu" msgstr[1] "Seulement %lu octets sur %lu ont pu être lus" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Les contenus sont différents." -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Fin prématurée rencontrée dans l'archive." -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Le type de fichier est différent." -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Le mode est différent." -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "L'UID est différent." -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Le GID est différent." -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "La date de modification est différente." -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "La taille est différente." -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "N'est pas lié à %s." -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Le lien symbolique est différent." -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Le numéro de périphérique est différent." -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Vérification " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s : type de fichier inconnu « %c », recherche de différence comme pour un " "fichier normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "L'archive contient des noms de fichiers dont le préfixe a été enlevé" -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "L'archive contient des en-têtes obsolètes en base 64." +msgstr "L'archive contient des noms de fichiers transformés" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" "La vérification peut échouer lors de la localisation des fichier originaux." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "ÉCHEC DE VÉRIFICATION : %d en-tête non valable détecté." msgstr[1] "ÉCHEC DE VÉRIFICATION : %d en-têtes non valables détectés." -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Bloc zéro solitaire repéré à %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s : contient une étiquette de répertoire cache %s ; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "Valeur %s en dehors de la plage de %s : %s..%s ; remplacement par %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "Valeur %s en dehors de la plage de %s : %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Génération d'en-têtes octaux négatifs" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s : le nom de fichier est trop long (%d max) ; fichier non archivé" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s : le nom de fichier est trop long (ne peut être scindé) ; fichier non " "archivé" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s : le nom du lien est trop long ; fichier non archivé" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s : fichier réduit de %s octet ; remplissage avec des zéros" msgstr[1] "%s : fichier réduit de %s octets ; remplissage avec des zéros" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "" "%s : le fichier est sur un système de fichiers différent ; fichier non " "archivé" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "contenu non archivé" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s : type de fichier inconnu ; fichier ignoré" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Liens manquants vers %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s : le fichier n'est pas modifié ; fichier non archivé" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s : le fichier est l'archive elle-même ; fichier non archivé" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "répertoire non archivé" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s : fichier modifié pendant sa lecture" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s : socket ignorée" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s : porte ignorée" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "On saute à l'en-tête suivant" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Suppression d'un « non en-tête » de l'archive" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s : l'horodatage %s est trop vieux pour être plausible" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s : l'horodatage %s est situé %s secondes dans le futur." -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s : incohérence inattendue lors de la création du répertoire" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s : répertoire renommé avant l'extraction de son état" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extraction des fichiers contigus comme des fichiers réguliers" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Tentative d'extraction des liens symboliques comme des liens physiques" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s : extraction impossible (morceau de fichier issu d'un autre volume)" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "En-tête à nom long inattendu" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s : type de fichier inconnu « %c », extrait comme un fichier normal." -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Le %s actuel est au moins aussi récent" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s : impossible d'archiver ce fichier." -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Impossible de renommer %s en %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s : le répertoire a été renommé depuis %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s : le répertoire a été renommé." - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s : le répertoire est nouveau." -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "" +"%s : le fichier est sur un système de fichiers différent ; fichier non " +"archivé" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s : le répertoire a été renommé." + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Horodatage non valable" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Temps de modification non valable (secondes)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Temps de modification non valable (nanosecondes)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Numéro de périphérique non valable" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Numéro d'inode non valable" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Champ trop long rencontré pendant la lecture du fichier d'instantané" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Erreur de lecture du fichier d'instantané" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Fin prématurée du fichier d'instantané" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Valeur de champ inattendue dans le fichier d'instantané" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Terminaison de champ manquante" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Mauvais format de fichier incrémental" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Version non prise en charge pour le format incrémental : %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir incorrect : « %c » était attendu mais %#3o a été trouvé" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir incorrect : « X » en double" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir incorrect : nom vide dans « R »" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "dumpdir incorrect : « T » non précédé de « R »" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir incorrect : nom vide dans « T »" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "dumpdir incorrect : fin des données trouvées au lieu de « %c »" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir incorrect : « X » n'a jamais été utilisé" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Impossible de créer un répertoire temporaire utilisant le modèle %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s : répertoire non purgé : impossible d'évaluer par stat()" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" "%s : le répertoire est sur un autre périphérique : répertoire non purgé" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s : suppression de %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s : suppression impossible" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s : omis" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s : ** Bloc de NULs **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s : ** Fin de fichier **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloc %s : " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Blancs dans l'en-tête alors qu'une valeur numérique de type %s était attendue" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1219,27 +1250,27 @@ msgstr "" "complément à 2 supposé" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "La valeur octale de l'archive %.*s est en dehors de la plage de %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "L'archive contient des en-têtes obsolètes en base 64." -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Une chaîne en base 64 signée %s de l'archive est hors de la plage %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Une valeur en base 256 de l'archive est en dehors de la plage %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" @@ -1247,83 +1278,99 @@ msgstr "" "attendue." #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "La valeur de l'archive %s est hors des limites de %s : %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " lien vers %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " type de fichier inconnu %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Lien long--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Nom long--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--En-tête de volume--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Suite à l'octet %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Création du répertoire :" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Impossible de connaître le répertoire de travail" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s renommé en %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s : impossible de renommer en %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s finalement renommé en %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s : fichier supprimé avant d'avoir été lu" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "processus enfant" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "canal inter-processus" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Échec de la commande %s" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s : la liste de fichiers est déjà lue" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "Impossible de définir la date de « %s »" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s : le nom de fichier lu contient un caractère nul" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" "Caractères de correspondance de motif utilisé dans les noms de fichiers." -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1331,59 +1378,60 @@ msgstr "" "Utilisez « --wildcards » pour activer la correspondance de motif ou « --no-" "wildcards » pour supprimer cet avertissement" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s : non trouvé dans l'archive" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s : occurence requise non trouvée dans l'archive" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Mauvaise correspondance d'étiquette d'archive" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "L'utilisation de l'option -C à l'intérieur de la liste de fichiers n'est pas " "permise avec --listed-incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Une seule option -C est autorisée avec --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "" "Les options « -%s » et« -%s » nécessitent toutes les deux l'entrée standard." -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s : format d'archive non valable" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" "Fonctionnalités de type GNU demandées pour un format d'archive incompatible." -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Type de protection de caractères inconnu « %s ». Essayez « %s --quoting-" "style=help » pour avoir une liste." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1402,9 +1450,10 @@ msgstr "" "manière détaillée.\n" " tar -xf archive.tar # Extrait tous les fichiers de archive.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1423,84 +1472,84 @@ msgstr "" " nil, existing Numérotées si déjà numérotées, sinon simples.\n" " never, simple Faire toujours des sauvegardes simples.\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Mode d'opération principal :" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "Afficher le contenu de l'archive" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "Extraire les fichiers de l'archive" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "Créer une nouvelle archive" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "Trouver les différences entre l'archive et le système de fichiers" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "Ajouter des fichiers à la fin de l'archive" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" "Ajouter seulement les fichiers plus récents que les copies présentes dans " "l'archive" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "Ajouter des fichiers tar à une archive" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "Effacer de l'archive (pas sur les bandes magnétiques !)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "Tester l'étiquette du volume d'archive et terminer" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modificateurs d'opération :" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" "Économiser efficacement l'espace dans les fichiers dispersés (fichiers à " "trous)" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJEUR[.MINEUR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "Définir la version du format de dispersion à utiliser (implique « --sparse »)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "Prendre en charge les sauvegardes incrémentales à l'ancien format GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "Prendre en charge les sauvegardes incrémentales au nouveau format GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "niveau de vidage d'archive incrémentale au nouveau format GNU" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "Ne pas s'arrêter à cause des non-zéros sur les fichiers illisibles" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1513,130 +1562,141 @@ msgstr "" "fichiers est fournie soit sur la ligne de commande, soit avec l'option « -T " "». NOMBRE vaut 1 par défaut." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "L'archive peut être parcourue" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "L'archive ne peut pas être parcourue" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" "Ne pas vérifier les numéros de périphériques lors de la création d'archives " "incrémentales" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "vérifier les numéros de périphériques lors de la création d'archives " "incrémentales (par défaut)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Contrôle de l'écrasement :" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "Tenter de vérifier l'archive après écriture" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "Supprimer les fichiers après les avoir ajoutés à l'archive" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "Ne pas écraser les fichier préexistants qui sont plus récents que leur copie " "dans l'archive" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "Écraser les fichiers préexistants lors de l'extraction" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "Effacer chaque fichier préexistant avant l'extraction" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "Vider les hiérarchies avant d'extraire les répertoires" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "Préserver les métadonnées des répertoires préexistants" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "Écraser les métadonnées des répertoires préexistants lors de l'extraction " "(comportement par défaut)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "Écraser les fichiers préexistants lors de l'extraction" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Choix du flux de sortie :" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "Extraire les fichiers vers la sortie standard" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "COMMANDE" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "Renvoyer par tube les fichiers extraits vers un autre programme" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "Ignorer les codes de retour des processus enfants" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" "Traiter les codes de retours non nuls des processus enfants comme des erreurs" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Traitement des attributs de fichiers :" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "Utiliser NOM comme propriétaire des fichiers ajoutés" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "Utiliser NOM comme groupe des fichiers ajoutés" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATE-OU-FICHIER" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" "Définir la date de modification des fichiers ajoutés avec DATE-OU-FICHIER" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "CHANGEMENTS" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" "Utiliser les CHANGEMENTS de mode (symboliques) pour les fichiers ajoutés" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "MÉTHODE" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1646,11 +1706,11 @@ msgstr "" "lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les " "dates initialement (MÉTHODE = « system »)" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "Ne pas extraire la date de modification du fichier" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1658,23 +1718,23 @@ msgstr "" "essayer d'extraire les fichiers avec le même propriétaire que dans l'archive " "(par défaut pour le superutilisateur)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "S'approprier les fichiers lors de l'extraction (par défaut pour les " "utilisateurs ordinaires)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "Toujours utiliser les valeurs numériques des utilisateurs/groupes" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "Extraire les informations de permissions sur les fichiers (par défaut pour " "le superutilisateur)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1682,15 +1742,16 @@ msgstr "" "Appliquer l'umask de l'utilisateur lors de l'extraction des permissions (par " "défaut pour les utilisateurs normaux)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "Trier les noms à extraire dans le même ordre que l'archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "Équivalent à « -p -s » à la fois" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1698,139 +1759,180 @@ msgstr "" "Reporter à la fin de l'extraction le changement des dates de modification et " "des permissions des répertoires extraits" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "Annule l'effet de l'option « --delay-directory-restore »" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Traitement des attributs de fichiers :" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Sélection et option de périphérique :" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "Utiliser le fichier ou le périphérique ARCHIVE" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "Le fichier d'archive est local même si « : » a été spécifié" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "Utiliser la COMMANDE rmt fournie au lieu de rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "Utiliser la COMMANDE distante à la place de rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "Spécifier le lecteur et la densité" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "Créer/lister/extraire une archive multi-volumes" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "Changer de cartouche après avoir écrit NOMBRE x 1024 octets" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "Exécuter le script à la fin de chaque cartouche (implique « -M »)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "Utiliser/mettre à jour le numéro de volume dans le FICHIER" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blocs du périphérique :" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCS" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCS x 512 octets par enregistrement" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NOMBRE d'octets par enregistrement (multiple de 512)" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "Ignorer les blocs de zéros dans l'archive (càd EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "Refaire les blocs pendant la lecture (pour les tubes BSD 4.2)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Sélection du format d'archive :" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "Créer l'archive au format désiré." -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT peut prendre une des valeurs suivantes :" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "Vieux format tar V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "Format GNU issu de tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "Format GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Format POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "Identique à pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "Identique à « --format=v7 »" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "Identique à « --format=posix »" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "mot_clé[[:]=valeur][,mot_clé[[:]=valeur]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "Mots-clés de contrôle pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXTE" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1839,85 +1941,85 @@ msgstr "" "l'extraction, utiliser le TEXTE comme motif de correspondance (glob) au nom " "de volume." -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Options de compression :" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" "Utiliser le suffixe de l'archive pour déterminer le programme de compression" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" "Ne pas utiliser l'extension du fichier d'archive pour déterminer le " "programme de compression" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "Filtrer à travers le PROG (doit accepter l'option « -d »)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Sélection des fichiers locaux :" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "Ajouter le FICHIER donné à l'archive (utile si son nom commence par un tiret)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "RÉP" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "Utiliser RÉP comme répertoire de travail" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "Lire depuis le FICHIER la liste des noms à extraire ou à créer" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" "« -T » permet de lire les noms terminés par un NULL et désactive l'option « -" "C »" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "désactive l'effet de l'option --null précédente" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "Enlever la protection de caractères des noms de fichiers lus avec « -T " "» (par défaut)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" "Ne pas enlever la protection de caractères des noms de fichiers lus avec « -" "T »" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MOTIF" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "Exclure les fichiers correspondant au MOTIF" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "Exclure les motifs listés dans le FICHIER" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1925,99 +2027,101 @@ msgstr "" "Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier " "de tag lui-même" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "Exclure les répertoires contenant CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "Exclure le contenu des répertoires contenant le FICHIER, sauf le FICHIER lui-" "même" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "Tout exclure dans les répertoires contenant le FICHIER" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "Exclure les répertoires contenant le FICHIER" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "Exclure les répertoires de contrôle de version (CVS, .svn, etc.)" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "exclure les fichiers de sauvegarde et de verrou" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "Empêcher la descente automatique dans les sous-répertoires" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" "Rester dans le système de fichiers local lors de la création de l'archive" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "Ne pas enlever le « / » au début des noms de fichiers" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "Suivre les liens symboliques ; archiver les fichiers vers lesquels ils " "pointent" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "Suivre les liens physiques : archiver les fichiers vers lesquels ils pointent" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NOM-DE-MEMBRE" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "Débuter au NOM-DE-MEMBRE dans l'archive" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "Stocker seulement les fichiers plus récents que DATE-OU-FICHIER" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATE" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "Ne comparer que la date et l'heure de modification des données" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTRÔLE" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" "Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de " "version" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "CHAÎNE" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2026,108 +2130,111 @@ msgstr "" "habituel (« ~ » sauf s'il est définit par la variable d'environnement " "SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Transformation des noms de fichiers :" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "Supprimer NOMBRE composants au début des noms de fichiers à l'extraction" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "Utiliser l'EXPRESSION de remplacement « sed » pour transformer les noms de " "fichiers" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Options de correspondance de noms de fichiers (pour les motifs d'exclusion " "et d'inclusion)" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "Ignorer la casse (majuscules/minuscules)" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "Les motifs doivent correspondre au début des noms de fichiers" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "Les motifs peuvent correspondre après n'importe quel « / » (par défaut pour " "l'exclusion)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "Correspondance sensible à la casse (comportement par défaut)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" "Utiliser des caractères de correspondance (par défaut pour l'exclusion)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "Correspondance exacte de chaîne" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "« / » ne correspond à aucun caractère de correspondance" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "" "« / » peut correspondre à un caractère de correspondance (par défaut pour " "l'exclusion)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Options d'affichage :" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "Afficher de manière détaillée les fichiers traités" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "MOTCLÉ" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "Contrôle d'avertissement" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Afficher un message de progression tous les NOMBRE enregistrements (10 par " "défaut)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "exécuter l'ACTION à chaque point de contrôle" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" "Afficher un message si tous les liens n'ont pas pu être suivis et archivés" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2139,31 +2246,35 @@ msgstr "" "sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Les noms sans préfixe « " "SIG » sont aussi acceptés" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "Afficher les dates de modification de fichier en UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "afficher l'heure du fichier en pleine résolution" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "Envoyer la sortie détaillée vers le FICHIER" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "Afficher le numéro du bloc de l'archive avec chaque message" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "Demander confirmation pour chaque action" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "Afficher les paramètres par défaut de tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2171,33 +2282,33 @@ msgstr "" "Lors du listage ou de l'extraction, lister chaque répertoire qui ne concorde " "pas avec le critère de recherche" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "Afficher les noms des fichiers ou des archives après transformation" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "Définir le style de protection de caractères appliqués aux noms. Voir ci-" "dessous pour les valeurs du STYLE" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "Protéger aussi les caractères faisant partie de la CHAÎNE" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "Enlever la protection des caractères faisant partie de la CHAÎNE" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Options de compatibilité :" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2205,64 +2316,57 @@ msgstr "" "Lors de la création, identique à « --old-archive ». Lors de l'extraction, " "identique à « --no-same-owner »" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Autres options :" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "Désactiver certaines options potentiellement néfastes" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux » ou « --" "test-label »" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Options de compression non compatibles entre elles" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Type de signal inconnu : %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Fichier d'échantillon de date non trouvé" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Remplacement par %s du format de date inconnu %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Option %s : date « %s » traitée comme %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s : la liste de fichiers est déjà lue" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s : le nom de fichier lu contient un caractère nul" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "Filtrer l'archive à travers %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Les arguments valables pour l'option « --quoting-style » sont :" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2270,52 +2374,49 @@ msgstr "" "\n" "Les valeurs par défaut de *ce* tar sont :\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Propriétaire non valable" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Facteur de bloc non valable" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Longueur de cartouche non valable" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Mauvaise valeur pour le niveau incrémental" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Plus d'une date seuil" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Version de la dispersion non valable" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" "--atime-preserve='system' n'est pas pris en charge sur cette plateforme" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "la valeur de « --checkpoint » n'est pas un entier" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Groupe non valable" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Mode non valable donné en option" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Nombre non valable" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Propriétaire non valable" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2323,69 +2424,71 @@ msgstr "" "L'option --preserve est obsolète, utilisez --preserve-permissions --preserve-" "order à la place" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Taille d'enregistrement non valable" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "La taille d'un enregistrement doit être un multiple de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Nombre d'éléments incorrect" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Une seule option « --to-command » est permise" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Argument de densité incorrect : %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Densité inconnue : « %c »" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Les options « -[0-7][lmh] » ne sont pas prises en charge par *ce* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FICHIER]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "L'ancienne option « %c » a besoin d'un argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence n'a pas de sens sans une liste de fichiers" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "" "« --occurrence » ne peut être utilisée dans le mode d'opération demandé" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Les fichiers d'archives multiples ont besoin de l'option « -M »" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Impossible de combiner « --listed-incremental » avec « --newer »" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level n'a aucun sens sans --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2394,54 +2497,82 @@ msgstr[0] "" msgstr[1] "" "%s: l'étiquette du volume est trop longue (la limite est %lu octets)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Impossible de vérifier des archives multi-volumes" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Impossible de vérifier des archives compressées" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Le motif %s ne peut être utilisé" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Impossible d'utiliser des archives multi-volumes compressées" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Impossible de concaténer des archives compressées" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Le motif %s ne peut être utilisé" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" "La longueur du volume ne peut pas être inférieure à la taille de " "l'enregistrement" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order n'est pas compatible avec --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Je refuse de créer un fichier d'archive vide (oui je suis lâche)" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Les options « -Aru » sont incompatibles avec « -f - »" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Vous devez choisir une option parmi « -Acdtrux » ou « --test-label »" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Arrêt avec code d'échec à cause des erreurs précédentes" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2453,51 +2584,47 @@ msgstr[1] "%s: fichier réduit de %s octets" msgid "Keyword %s is unknown or not yet implemented" msgstr "Le mot clé %s est inconnu ou n'est pas encore implémenté" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "L'horodatage est en dehors de la plage permise" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Le motif %s ne peut être utilisé" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Le mot clé %s ne peut pas être surdéfini" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "En-tête étendu incorrect : longueur manquante" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "La longueur de l'en-tête étendu est hors plage" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "La longueur de l'en-tête étendu %*s est hors plage" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "En-tête étendu incorrect : espace blanche manquante après la longueur" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "En-tête étendu incorrect : signe d'égalité manquant" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "En-tête étendu incorrect : retour à la ligne manquant" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Le mot clé inconnu « %s » pour l'en-tête étendu a été ignoré" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2505,63 +2632,63 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "L'en-tête étendu %s=%s est hors plage %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "En-tête étendu incorrect : %s=%s non valable" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "En-tête étendu incorrect : %s=%s en trop" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "En-tête étendu incorrect : %s non valable : délimiteur %c non prévu" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "En-tête étendu incorrect : %s non valable : nombre impair de valeurs" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s : délai d'expiration non valable" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s : action de point de contrôle inconnue" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "écriture" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "lecture" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Point de contrôle d'écriture %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Point de contrôle de lecture %u" @@ -2713,7 +2840,7 @@ msgstr "Nombre en dehors de la plage permise : %s" msgid "Negative size: %s" msgstr "Taille négative : %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "La fonction stat(%s) a échoué" @@ -2742,8 +2869,8 @@ msgstr "Format de date inconnu" msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "Impossible d'ouvrir « %s »" @@ -2757,68 +2884,100 @@ msgstr "Impossible à parcourir" msgid "file name contains null character" msgstr "Le nom de fichier contient un caractère nul" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "Un fichier dispersé ne peut pas être généré sur la sortie standard. Utilisez " "l'option « --file »" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "Masque incorrect (près de « %s »)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Champ inconnu « %s »" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "Impossible de définir la date de « %s »" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Impossible de supprimer « %s »" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Échec de la commande %s" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "Impossible de supprimer « %s »" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "La commande s'est terminée correctement\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "La commande a échoué avec le code %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "La commande s'est terminée sur le signal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "La commande s'est interrompue sur le signal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "La commande a généré un core dump\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "La commande s'est terminée\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat nécessite un nom de fichier" +#~ msgid "Cannot get working directory" +#~ msgstr "Impossible de connaître le répertoire de travail" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "Trier les noms à extraire dans le même ordre que l'archive" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "" +#~ "Champ trop long rencontré pendant la lecture du fichier d'instantané" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Erreur de lecture du fichier d'instantané" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Valeur de champ inattendue dans le fichier d'instantané" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "La longueur de l'en-tête étendu est hors plage" + +#~ msgid "Invalid group" +#~ msgstr "Groupe non valable" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s : Répertoire supprimé avant d'avoir été lu" diff --git a/po/ga.gmo b/po/ga.gmo index 5011e90ece0654ab1922f6d0648a60ef7c7a44f4..1cabb0f63005422140c6dc33a60fc276627f6759 100644 GIT binary patch delta 10236 zcmZYF33N^8`p5A%5(z>=VoXR*WDb!;M2IPd7-F91Sxhn0)_hX4qK1Q-OAReGpW;$6 zx3`pPHLXjB+xB+QmX5AlI{m-DyxUsV`tRk*=Xu|~&))C24{47b^1Z***ZpaT-#Q;- z%oTp5VnL8Gc_oZ_x4JQ^9}#CAhm!~$Td*2##VdFM{c&ErF)mz+k+=`b;uXi6xR~;n zSQ*D97`LfIGC#o-dlX|Se~uL}AkmnbSPk1?V~oKCSPu6h?KCGa1&dG*_DeFR5yoH` z4nf^-7FNL(SP6G0xs54L@;Vg}copf4`5r4`NG)TsFdo&AVOSp*;vhVYdO&z>W2$0( zqz$Gss^>Fs1TI4UnD6zzoW z&0CJYVPnb(bXP;4hw5noGHd2VR706fN5BwB$qmTx6&D23nSq`d!qnxq_HTTC*4ZDRE@eg!s z`&4LXhp-N+g&i>z^U;NFtc=@HA3T8?iK`flcQG6PK#g1zhEew!i@MJe)b(4?4^LxR zJfFq*Yq7jTMHt>d7v9727{o%TgpsHlWFVb3JyAVffo1RzY7Lx1HRu+yOw6~a232Rl zXlmM_%F|E{+0mHs*WB!(LJv5A>ghGq+Is0Ovf>ewAy;3UjOubV_YxsQQZxtYDNCTi%KVHNC-x?w(Q3Z6w5u1DSY1Zq1L zA=}FQff~`kY5S^ZB4pakL1a+OcgWX)No;AiQ#a)0 zXqKQ}SjSOw`x#Efz*ctKx=}seh+1s>uy~}H0 zjXI)6W)Q09b1?=NqDEjJYUt0RM)V!jcK#e)_$_LL%CNBfFcGWqd{c)c8{49KvK0Aa zUgL*u^gC9=pf>hBkbtq2`=X}Ejq$i2wN{EypSz2i zh2fZn>Ul@h14g1o#Dgx}iyG1^s1dn|dhq{H9SCk`M>GrLD33(#f)zL!x1vTOIG6EP zOX}nr(+AU0JzI|YQaXz2`RAwx{f?T7itTOBVzD3Ph8T!zu>)>LeeNErfdN#iWAUgF zX^9%4-W?c!wR|iUn!|aRiZ7r><}K`n*PZim9qpG!y}&i38i9MzLN)B_h{Fz&$8c*OB_)KtFV z_%`}beh+i-eN4n^UF`kcElIR3@=-&-1l96`I0Ua@ZLHJP_M|`Rx`|i^*I_bVa{L7+ zQ+9Q;ujVzV`)x%%=QL*EEo5iAO>lQRr`<4+6T?wcG7+P2G3o((o%);Dobr!Y4%2$r z1~$V`%HvQ|S>U)1Yf|2aWAPd$V1u4|Lo)wEN%E+ejT-tdup$OA@ktnssn`iq(2b4p z5H`iTs1d5w+m1{hRQ+6ZVIgYhKSg~$hLuigdSDx#Z}yYu!S^v5U488XT46oP&!R@+ zIBE_23)QgSoN_cL*UUf-;YAF?yQrZL7-;Lm9b2IqJRW0k1!{_qVhubqknvZ~Kc+%ADmBOs zeKe}v0M*m(s2k12^0*Bv;33q|pGP(52gfRdjcG+W8zXQbYB%k|LwFUn3uX^-+o9hx z#J=Hf;8&cugB5*vhYz){%Kr?rb9)E1n1Y7e2dAM%Y7oZaa@38FVsXc?GUZYu>P`{EYwi%Lk;BzsGk0XnHV+7&S78FBASb8&~}W)_nq?(F_Ln` zXuE5gVpYl$QB$!5dAFIDksa(d4@lI~+%fh>T~I^wG+t*4=AlNWTRzi*b1?u%jkBwK zA|_B?h5Fn{EQ@d8CcJ@q@c8leA2!Re1?8KV#Pdzq1Ur;Ds2=x5-VtUd#^H6Wf)AW> z&_p{W8K~Ve33G42KGly=>l}&MvUY6<`jwM;&aT!`xuYSc#nE; z6h<-y%eu4A<>OU3X=g-9^=w~G^-pSJ%< zJdIsB@dGAOpFQ1}+c*|$W6lh_My8OC zIkuxb6iec(SObq>b-a$6n!8vUW9QrJ+$kh}RAgW)%tAH5jcUL#)QEhI5g4<;?vj?M zDH(~)a6PI)AEJ8hx6rPc#;692!K%0jUHBr#X#bxh(YE*sqwx`HZXy=hS7k$tqTB@| zaSGnUHK+y_EVd0gf|V&3p%&}+SQ4u)vELaHScY;6>V8?6ru{#FM6c54QLBDCYUr+D zE4+j1QSwrI!#q^a^HDe4jGEIus0Mw42^jR89r8@{r#uNu;WMa?7GN09H@isaj5&*1 zRIQiU7S2HRcrzy9>(~ju#ry|4-{c6<@_ z+!HGq|2UFcRJ230%HALsgD8%`GB_3ea4xDr^D!1Tpgw;Fb;GYP1p`*w^O=qVF`N4N z*cmTjDpp*>`0K$rYwSNjR-)cacTn}!J$C<(M15cy%1~S zZB)bmM6H1m>+GAdG=@@6bCYN;a!@@OffaEPhTvu_hX*koPoswVC)5a)UvF;|i2;<; zQ4el}E*yl~1#Z-$TZmn8FLqM>?hW+ajiXTwnBtVDJLP%E2)NA>5)IiFY=9?Gi|-fA!g8DJ$h1YR>akcG z7hz-cq8j)UYE49Kwo}mt=TV-F8j<^`DX6lAMqvcTX#X!JNv2{yszvk!Q~i^yHMX7<{XJ$43ALX-@e=J z2NHJJMc53r3zni9x)yWs0#?UzFWCkpp&rl`>){xzircU~oZjgcmUizr`9DxXZpm6ET=_76xK2YHoX>=6V47;7FW+qcIzAVis22ZAYd%MpK@) zoAHk!*+9h4C>n2f)>+ZL|^XY~Ols95qynwkFcz|CPU@z2A?!p}WH+I3; zgSI12V>ilMus;5Xy)f>O{VynUuny%nur|8ylc*(8hwTRjp|;aHOu;u%J$Qf`sf;6b zZS+Sit~sbhwH}+`Rn#^vbJQ-%mZ+f~i)#2%?1Y!Fr}lrS*S2Jg<9bZyf{U1sKVupW ze9aEwO4J;lz$CnZ>d~JVhqaH{zoK==P|9vhL=S4j3Q;5Odt5I(=0BRmMMXnY&--Cb zT!z7T5G&#t)JVLK^)cjxy}lg|qdXH;{|Tx=75~9P#gzZI+%2RPHUc*w@;F2A==9k=dZu6<|;l!837sMnLoTI1XD!ffB=UfY?PDBx} zQCFYP4rznW6D)(`Ee6F4btN_=&T>x2T;f%pZw3%;2pwlQ>4&q>r3#K+h2PM5jq-BH-&H!Iy9tHML@+U*NT71L&T@Dy=3D&1$;WZc4Dy+%BgwHXUZwmL78al3FCLgixwlgm zm7RP)^)EW>&n%;IFj0=mU$8trJ~lh~VH`zefAk?bIrX~kJoyRY82PWNaE^THBAh%F zZxON7WfI+q$Imx86e<^2*e{U9^qD7)HRR6`2c5b~&SxH9vWH|Q z(Tn;WgkD}-oomM80nPs_B=_(f>i@;)Lg>hF9Et}By*lSOb@R#lknh6YP93TJB?RR_ zVm#$K&bck*$H?E;MI4LC=b@f&jyo4A&mm?|u1cI$1;@XMX+#O?7U6E<$)h^;9f;qk ze2>^b{F8Da(V5VZM^qtdQr_;=b<*=IQ0ebfkQV=M6|y;XDR@Z*=a_&^oqQwb+c}^6 zin=o7&*1ljuT$Tayb`g9axQLh>Pbxz@wM&0imXOXzJ&GgHRRj3_~^yY8pP*>n{%Ux zrQ{um>cq>GA0L4vJ)H7&@~0l3aP-BJPh3A-H`Jl;@#Dm9%HveQanWKnV+8dJp7`J! z2JX zsYu7yiPg@@qxhqf|B0oE7dW4Z?J=GhLzJidGqH{Qqz~hNj=~$nbYcjV`KbRHDUr}I zi)cWMAOt z++kcel;od8Y3D<4l9wfqB=!U410{LOLnlJ`-< z5B}cHsooNvp6Mapl=KZHyuS5cD(xw1*2mjByMmARN{b;ro<6NEd9rhoywh{`_<7pp z9`!`E&+-O!=AtXvH(_C{uXo;( zre!@}ubtpswr-V=clUFYVPdo?YrxskAH`Y zd&i6#?I|d#=Q$3=Z(#JXgB3H~C7R0Pn%~?)Z5get7!-0NhJv{Qv*} delta 14521 zcma*td3+S*;m7fb+yNwV-wa4dfF#_9+yMdxLb#Dr*laf0mCbJ0-4FuG3R)EKf(1np z5fH7)rK@P6iV{V!9(dIIsuislwrYzts-|c0^tsElXk|DeGwyboVju&7hcEj~J5%*zt{0^I9yDZD< zh#A-i$D>{x!{N9E+v6!zeP3W3{25zetL(UCr4i|!ZCP~K8i74<0k*`oI1Fz=HRKf> zjQ_+-F^g8~1sky~-i>tLI)+W~Gc3k`A@8&n&`LGnTI`Q^#)a?4tSdQUt_q$`m(P(Aqp zhhR&drqNabs^V2R3HPGP{~a||&1toIG!&cTG|WIRcEXLQb#yP*!TV7SJc#@!ZoR@^ zEuIF0%%VCU&nKPfIs{em1k{|)L#=_WZu$r^c-FsMdoVvENY6oaD1qwv0c4q3FQ6Ly zJ=W*_RvO)HKt>y+Q&tzu!W3V+YL`_{3)xfP7SH_b>v>5)1YFPuuuO;?EZLiU&AzX-R;3{l^x1x>vQ7?EA z_1tOHNc@P+u>D9HfxS>8w-i;+wvmj#DmqMt9(WGx;^(OC^EGPG{2SY&x@$uR)T$nV zt#AtJc`q_M)>WvE9mQ094?E-EPz`D@+HAizqvNJUlgQBGs6?&$-KdtnjB3z-P*YTA zjCoNis(de0&u63NI*3{eNmPU1#J2b?UVu$<&D!dWo)pf8I1zT7bz-a;k{?h#YBSEX zG#fjT9*Nwt=HnRLfnD)^Y>d`;Q?3beHd#GUBYO$9!KJ8ruR=}Ht!QKX01>_5CDgwC z5--G-YyoY9i#{eL?V4cRNG{ch#EbBj@uv#}kXMD_TusKxmms^=+_O!>}OmvlbX$3j%YXQSqR z4XWn})S9>#(|EsioQQ_#Rn&vuVmkha>Y+W^j7T18YUZQ%`)cfs2eBW%gPO9Y1!f95 zVgu5B(8eLC5uJ-_XeGwgv&)H$!JDxczJZLcb>0+HQ9gDcy%1G?1*!p?Q4OueEc^^L z9(W3y;aOaU4W=>v8j`AMre)i3F6kY(Acc<#s)sXXm~&wT zY6R{gna! z95*BD)7p#b;Tdd+^=F%@=ztp10-S?0QTOk|K6nhZ7QRNk=PYJpyalCO6UjwqaiAJd zi8;6tTjLQNjxXZ?YM)mMB)C(IitQz`sY=nc1aceXY&3V4- zRAl6>*_elyU{BnEdciZOZTB^5YMRV54eyUjNKZ$tl?PEB`2bb!TU3YIF+b}0#g5GX zaw1v`ccB(d>jmbck&7CU0@Mqa;vl>hbre62n){T6W{#U<8`7PzD-K4zXs(;T4s%K0 zflcv4%;Npl86s+Fhec-2`nZnAZsgCy%kXl{#80t3rd?`TKJ1N}f=#G7e+<=;SFkVs zj9LRZi_I^iOK}wG?HJcky-h?z)L@CZk&QO#Am-uqsB*8O8en-$g*}n!wdUbOd;ryu zA5d!`y~w;U9|w|Nhh6a~cER_G*#Bzj&u&Jh*A%!IJCT1G+ITIF#d}dh`X#EO_QmFe z9D(Yo2Z!Tkya-=Jm2b!}U5JBS=Od@Lwb~aqJ$jZ54e38nQ_-ZvVGe&^F}<)Maf z19rw^n1S!(L98DzyW}vcAs=EZY{J4hjoq+i3L~-99CV$6X3FE;h;*aC#i#}>MGe_D zOve-06Td`N+`7!12V+qqHP20#VPn!)V+XtmRem21#Wzul^Ma8172N~->-+B^qSd(t zH4;x@4}2Zl;m_C%+k{QI46H}`60DDla3mI^p4*K&F;8L+zKa_A#^q*Y2ctT?7>DTl zzm|yR^ayHEeSoygO5sq@2nQ4Xm@$%ykypq;pYIQ-sZNJx;>gS2F%u#h;Rqz-Fr$Vn$*Qs^aR)O@lte0i;u| zFzG?qopMu9u@`74R^Bl6Xid^ot#WsOG)A1qlmnYL$KAg=AfB^BT27C4e1j&0)Ij+rlIT28t`I&(l?^^{c&u7?_)#! z1Xb_XI1Mv4n2xSMMk;O{Aff`NQ72rdjb@R|K#hnGwfMHX>F04i>GQ5L4PS)Wq;JPA z_#Ecr=U5L1UT;Qn7l4dut2zkGiNu)dGqmIZBYVll!nxlKLH6BOJ z{adJ>{)As)hfSt|jW(MG4MUY*gnDrd)xlkuhWB79K8nu2|Eq~;7o0{N5N+6tJ+UWh z5za)7$TC!q4x=hOgMIKjRE6EQnAP0}`;sofOuPlt@d?z>e}eU~%T~r;i=@X^)8jtK zqOfM7dcFZ!=+<8Bk6AaH5m<~Gfi>6*cVQtukL%eM9d2=dEpIdB&!DC(?N-ylKB&c- zdn@BVhsYu_rs6}GgLQ8+4-7yJ`3%$xV%Q3+QFH$mw#R>COKh{<95h*|{1Q}sYfvM4 z2wULWs1BTo6H$fd-)_Ek-LW<4QK%uDjcst9>m8^D9mXE`CTg|+g6%MWhuP;|)RaU} zi~0&w1J|Oa;uh5N@yCd$!jDmNS^o}GV6f{#97FzE)Cg6h8rEW`dGUChOZo;JfS#&^|;Pn;$ae2cU+2 z25Oi24>A5eB5^Xb%}%3U_%mwm+dW{uVlz=cI2NKFT=Sq={o62=^hcPDU*RO|kTgSF zf@;`RsQT~2fp{D>g=gbLCKE|}$jtFVRLeJ`DtrnxwBMkHy5qxUYQ|zG(#4pDYq1$7 zurcmIt$~Bs2p>k;Zym!BK8a&6-uJMX^JQq0u@AL+UqH>#KQMx=A2Hi;J!%m??fNll zZPabm?#4gl>A7U9ce9Wx& z<){`XaRR=Inb`hu)6;RNIlm64;2Ss$(~p^7%S&(?>AO)KIg2x}(-U+uPNbZO=6o*> z#y4;dp8urzXSEM=Nbg4t^}DET*yy+^KLPuaz5@H;0UU+zqh8pl+N_yzsFCpDAY6^{ zkwhLMqABrDOn=(A8Z{;N<5GMJ)uFr-W<)EoJ?Wj; z3y+{WbovD2--AfYXUq{i95rX9s8zoT^KdVA!7s2CHh$JD)~=|YkHu~nMeTx{u_fM( z8i}K*k^K=>zTZi66c?Rj{B@u_O@<0If6lZlAKxIo0`+Z}_9xS$%dsQr12`zfvi^kn z2TRHe=A`TTqIp3kYDDH?CSHRY@99XML~(8H-VKvOwz34~Gz)r8xIm|=Vw-*O!|Gz^-1)KfZG^9WF zC4CvH;C9shei<*r-mjY}xEZxJlGqS`Kn>}6%v(#$LT1Jq&Y#x_tZnC;!b_cNDu4g1 z{jd3JP1sDvP1u~Uk)Z21p)TPR>2?H0)j3XYcJDVJ{UPyJ3Ho2quOvK5=tC&wo~HB> z!bs9x3A(Pu!Gwv#r^Sif>tr)$sGj~n_yhUx;zyW5(DiS^DB@$3CTQAp-ABlA%d8-t zPI#Npi#$z*t_j57C0s?k$jRZ`f^iLTD?*`LfqT#4EjN!rvOXZZNIJ{So9FsF_W^BV zU4Ft??#(6CCrl)hd=T&_>!CxkmS|Ibih7m05PHP;C8o*?MD6SooGC$MX*3M?mh ziC?DzT&ywYU~v-epJK|?TqlX|Asi+o&&gk}`9DIby>3bUUm>Ez8{!r>?;lv|KJ*Fx z)6Ey@r1f7YeCg(WiZ{A(v6%2j?oTA>%D{t!-?{0(YW^=HWV#t!Fq@EL$~%AeyYat} zKbZI}gb;DgoZ3srYfthX#6@oIhpzj`-|EIiD(N7uBg8!C*6YZ0P*o?qt27-+%i8B|8olC{}7P?fs@o)O;|#x zxvq305Ao0m_d#VHa`P{6^A5T8bG_KT{}$d%SWSM+y{B7a3BM3NPGSDf*G&?uP-l7u z@$u&rzMuG1LI=Va?k&Q7*qV?a)LcRGbv46dgagDsCd?szv3u{2r2j=2M;K1{nfE)_ zbFSCm4uZ~h9}o3+AKc~2vG4p>?pb)8yw_0Ig@jFRnY;0NH~ticof7;r9ls$QCcH`5 zO{jUl^BeDFG7j*-SE%b+LMyi-uj@ePj`^k2gm{UYo{c)TU!q(c!eYWZr0d}%!h;0; z*0`0>k+`m7dVfnI4-;k*ni3ju^9I5K!WX3b6Ljr%AG(M5`A!c1Qc_vsN8EeUi2sMM z(@m?`O2T&1X@s4`pU01MgR7hRzm$w83C&ENHIVpTg08Dv-^5iW%lYWMLi~C+-P$C0=N5Isbd(e)3l6 z{NF*?K=|CfIT?L~^T^Y+fzX%uLN~3vJ%sgcdM(aT<~i4S#G8=+80sCmmKvPDmHd5= z5I@MDOhO;R^d?+Fyvn`t2mF9^eH==7g!qlRPk7xebJn#UwjuxTZh9s0 zHpG9Ay7G1Ymyo!fa19|!$mYfj=Qa%@{Uq^Qa3gvMZxC)HY$k6m>iUfE9BExA49@>= zD3`nmq`MOCB20JhjVAwALPxEXcZf75=(?Lw*Nsod?xepbG$iEm=8qYw?+N+DYvxO#efT(tV*~?)a(57qNrBP-)C>2cmYkB4&q6 zcttQ==_^i@jVQ|W1&i%iIBW;Qp;EijPY3ko;sB{=$WtEm^J;Y~`TU5MDe)ySPb9;R zdY1d5c9|zs<=l!=L8*^MMQB_sY}sWC_C61q@? z_J#I1+8^`%`mSnJFQ}Y?Y5|3FYU+wD|8-@ydtGQ3m>DrM8?_fR_~*WLxi3-_j{1UC zwN}{FzjXC}TKJ-i+(&=*Ojk2zSk*OZE2EWilXyw7cdR#AXCSdu*@ zgN3A3lz4S~vO9~yq?~o@EH;Wo896E_ttj(_VmXPc^G3v-M{F(mSsHdVyI7;IwrOLe zN3E$&nJDjY@)&y)D+;qHD?Oo@9gQ&~9(oiAl~=^hc_24ZK`qW2@rKLFslSLWR0eo( zNp^{yozefC!VCIl4_UMzSms}p!G5IHit_SsL_4IY%I+2O2co^Sbdrzf%}#0Ui$qwM zOy{o`dDDq&>co944)4;6a%w0k39Qh@S+bh#UJ+seMeV3BW}1+l?G~V>nfX(u733`* zn>%ju>}iW<&YmzKe{N3dEH)}@B&yBn4ToZpaFA_NrM-MkE$-W>Wlr9VnfdXlg^R~c zEu1xDYC)F0+!JJ*YYc{^vRp&q5IZPbQsS=AkdNxAa%oMQqgvBhcBrDP$QPmOx}4j! zIp%FD7YYQkY~Ko&xTcM?d1wLiP*Ri7M$uSAO~EX-wl<>8-1#Dvfv8XQs1dbyY*u)s zr%LAot#XUkyfnFSQlpf?vm#YmAa-`P-xn-r;YHkJMbuO3%V3YvCv!9qEpyg&PHG}C zd1vF2fDSBYR1&QUCdG?=p=cmhHH-?p8Preis$wxVdDG{jLA@|5|8*~xf8%lbWir8*a4c9~D3ZcoXZGB$5U zc46+6JgqRD*6uD(Zkmy(mw5k@PKmyY(|Qz#Lm689kw7_Tv^jH^^vQ4!Kpj_lOS0?S zXoIGnk{C7X#HB>y!_s!i-z{!iKb`gMv_wZRGvs_+6lKi3{@S;0_Z_N}9S9bC*<(?= zIP7c>Q-s>A%Gz7Cd3r-)QeabBzwEvPvitS7`}G?(Xh842{gYn=Ry6MAj5goD>U%j5 z^cCcV5xdkMs@@gzd;Q@uzo*#Jp)f8HE^F7=d@ZYY*+u@u^bH*w{P$klq_<*zz0N@@ zDyF?5#yZStz-CbuwwEth$dmYSWyj=eE7R)?3{~$Bs#GLg>i4jG!d`DhB;pHsHNtjD z^{zmWkCR>IuTHXvJ&{Pv?@4}t#povK6R3>`oeD!S3P!zlQN$Nu@o0LYcErQcH+VyM zQ1!imvM3+H>SPH`@YtTx3g_H&o1|A4`GeI*bZpWkHNDKA+_PbGN_=MZt|EW+t{@+5 zdt%{i=R@T@7AR(dc{z1sz%FGbVoovM>IpEh5ta#e%k5BgQmJA;1L5`Xwbbi5fl9br zOv#%1C=>MQAf$yF^XgFLdi%Tdx#3^3;(bM;n;w_vmIpv*mhw5e}Mpd^i3jDgV%#yG-=<)h{ z)>gn*^H;AkkMsOk4;!eIvNbEhQ>KKPb58U4a1OlgR7$&oaHO=vANI06SvCw#h=JEu zPjuSQuH$gV(kxjfj6;jRQGZ2%PjDcTsB^=a#PJ)tq(l>+-Y}|R^=*L=;~h!#yRl`m z_l>XA8&FuipJOS=!qF~t7ohXi)Gn>wALhJc=GXwWElYg2<=I}d$SBn^@!5X9oXis6 zJLZl$qO5JRkhMQ@5=XbrkK5Wbxuw*hb*XmpU@^POCqAtLUVS1ZYhTJ%OI*tsQ~PwhM&G`omlX8;%^uRo?Xn9uERJ$UYC zxAt*1Atzd?)61~))oph3Ln%3VEHZ|Wt@!`iRL5_5x^7{9l$PiNtRAzc+1&ft2L9?J z!I(!oq^u(1v5R9BrTQI6QCeI3W!7$ThCb$JLzkw;5|7=}HJ+17r8OIhTKWCtw<7^h z&>3~+IS`66-~5hcF-2JKPL=Lw`hTkQ^F{RWt4>4ZF`w}Ne!+8Wn|B2`eWE_jU52H? z6ZiT#Aw2A%Kv28#x4!F4usL15Za>w&GXHOU-G5z7&DPkmuKoNV<4t^BWB!VBKlgF> zd!JGBn;?U=yUXTO{GZ1d^Kc-VWoMZ0I0ZG>MgEeCK=3!d{QuJy=P}x(BdfH8W+S z*xdYr0)4}nIdlFdKe#8YLE`oUT@xjbv}~aRhF=U7fpVuR=hwie$GRlHKG3L9U$X%i z8Rx|0({5)n63#hi*0D1UyZ9}~ch3{^B;R?YqCrM=GNKP6vk(ZCIXhmP*XGNrUoYW+ zzABtr$--lw*Dd0x<2%n<*EcTe32Rq5#q~o%p9oW4GaWv+1V1`{qdmNaANA}oUgWl^ KXJW`xkNqF)?h}y! diff --git a/po/ga.po b/po/ga.po index 9a5d73d6..14b5efff 100644 --- a/po/ga.po +++ b/po/ga.po @@ -2,12 +2,12 @@ # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # Kevin Patrick Scannell , 2003, 2004, 2006, 2007, 2008, 2009. -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.22\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2009-03-25 20:27-0600\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" @@ -29,37 +29,36 @@ msgid "ambiguous argument %s for %s" msgstr "argóint dhébhríoch %s chun %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Na hargóintí bailí:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: luach %s níos lú ná nó cothrom le %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Ní mór luach a thabhairt ar an pharaiméadar ARGP_HELP_FMT" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" "%.*s: Ní mór luach deimhneach a bheith ar an pharaiméadar ARGP_HELP_FMT" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Paraiméadar anaithnid ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Bruscar i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,30 +66,30 @@ msgstr "" "Is riachtanach/roghnach le rogha ghearr aon argóint atá riachtanach/roghnach " "leis an rogha fhada." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Úsáid:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " nó: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [ROGHA...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Bain triail as `%s --help' nó `%s --usage' chun tuilleadh eolais a fháil.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Seol tuairiscí fabhtanna chuig %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Earráid anaithnid chórais" @@ -102,7 +101,7 @@ msgstr "taispeáin an chabhair seo" msgid "give a short usage message" msgstr "taispeáin beagán eolais faoin úsáid" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "AINM" @@ -123,17 +122,16 @@ msgstr "moill de SOIC soicind (réamhshocrú: 3600)" msgid "print program version" msgstr "taispeáin leagan an chláir" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(EARRÁID RÍOMHCHLÁIR) Gan leagan!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: An iomarca argóintí\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" "(EARRÁID RÍOMHCHLÁIR) Ba chóir aitheantas a thabhairt ar an rogha seo!?" @@ -142,62 +140,62 @@ msgstr "" msgid "write error" msgstr "earráid sa scríobh" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: Tá an rogha `%s' débhríoch\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: rogha anaithnid `--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: rogha anaithnid `%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: rogha neamhbhailí -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: Tá an rogha `-W %s' débhríoch\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "cuimhne ídithe" @@ -213,28 +211,30 @@ msgstr "níorbh fhéidir an bhunchomhadlann oibre a aisfhilleadh" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -244,7 +244,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yYiIsS]" @@ -254,7 +254,7 @@ msgstr "^[yYiIsS]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -550,7 +550,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Ní féidir cianbhlaosc a rith" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Ní féidir cianbhlaosc a rith" @@ -606,8 +611,8 @@ msgstr "Comhadchríoch gan choinne" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "UIMHIR" @@ -615,8 +620,8 @@ msgstr "UIMHIR" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -631,7 +636,7 @@ msgstr "" msgid "cannot open %s" msgstr "ní féidir `%s' a oscailt" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "an iomarca argóintí" @@ -640,9 +645,9 @@ msgstr "an iomarca argóintí" msgid "Garbage command" msgstr "Ordú dramhaíola" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ní cosúil le cartlann `tar' é seo" @@ -680,19 +685,19 @@ msgstr "Ní féidir cartlann stdin/stdout a fhíorú" msgid "Archive is compressed. Use %s option" msgstr "Is cartlann chomhbhrúite í seo. Úsáid an rogha %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Ní féidir cartlanna comhbhrúite a nuashonrú" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Tosach na téipe, ag scor anois" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "An iomarca earráidí, ag scor" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -702,7 +707,7 @@ msgstr[2] "Méid taifid = %lu bhloc" msgstr[3] "Méid taifid = %lu mbloc" msgstr[4] "Méid taifid = %lu bloc" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -712,38 +717,38 @@ msgstr[2] "Bloc neamhailínithe (%lu bheart) sa chartlann" msgstr[3] "Bloc neamhailínithe (%lu mbeart) sa chartlann" msgstr[4] "Bloc neamhailínithe (%lu beart) sa chartlann" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Ní féidir an chartlann a chúlú; is dócha gur doléite í gan -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "Níor stopadh rmtlseek ag teorainn taifid" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: tá uimhir imleabhair neamhbhailí ann" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Uimhir imleabhair thar maoil" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "" "Socraigh an t-imleabhar #%d le haghaidh %s agus brúigh an eochair iontrála: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Fuarthas comhadchríoch in áit freagra ón úsáideoir" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "RABHADH: Tá an chartlann neamhiomlán" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -755,67 +760,67 @@ msgstr "" " q Tobscoir tar\n" " y nó líne nua Lean ar aghaidh\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Sceith fobhlaosc\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Priontáil an liosta seo\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Níl aon imleabhar nua; ag scor.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Ainm an chomhaid gan sonrú. Bain triail eile as.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ionchur neamhbhailí. Iontráil ? chun cabhair a fháil.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Theip ar ordú %s" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "Seans go leanann %s ar aghaidh ar an imleabhar seo: tá ainm teasctha sa " "cheanntásc" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "Ní leanann %s ar an imleabhar seo" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "Níl %s an méid ceart (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tá an t-imleabhar seo as ord (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Níl an t-imleabhar %s comhoiriúnaithe le %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -823,11 +828,11 @@ msgstr "" "%s: ní féidir an comhadainm seo a stóráil i gceanntásc il-imleabhar GNU; " "teasctha" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "níor stop an scríobh ag teorainn bhloic" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" @@ -837,76 +842,76 @@ msgstr[2] "Níorbh fhéidir ach %lu de %lu bheart a léamh" msgstr[3] "Níorbh fhéidir ach %lu de %lu mbeart a léamh" msgstr[4] "Níorbh fhéidir ach %lu de %lu beart a léamh" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Tá difríocht idir na hábhair" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Comhadchríoch gan choinne i gcartlann" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Tá difríocht idir na cineálacha comhaid" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Tá difríocht idir na móid" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Tá difríocht idir na UIDanna" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Tá difríocht idir na GIDanna" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Tá difríocht idir na hamanna modhnaithe" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Tá difríocht idir na méideanna" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Ní ceangailte le %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Tá difríocht idir na naisc shiombalacha" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Tá difríocht idir na huimhreacha gléis" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Fíoraigh " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Cineál anaithnid comhaid `%c', déan diff mar ghnáthchomhad" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Tá comhaid sa chartlann agus a réimíreanna scriosta." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Nach féidir i gcónaí na bunchomhaid a aimsiú agus le linn fíoraithe." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -916,46 +921,46 @@ msgstr[2] "THEIP AR DHEIMHNIÚ: aimsíodh %d cheanntásc neamhbhailí" msgstr[3] "THEIP AR DHEIMHNIÚ: aimsíodh %d gceanntásc neamhbhailí" msgstr[4] "THEIP AR DHEIMHNIÚ: aimsíodh %d ceanntásc neamhbhailí" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Bloc nialasach scoite ag %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: tá clib chomhadlainne taisce %s ann; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "tá an luach %s as raon %s: %s..%s; ag cur %s ina ionad" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "tá an luach %s as raon %s: %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Ceanntásca ochtnártha diúltacha á gcruthú" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ainm comhaid rófhada (uasmhéid %d); gan dumpáil" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ainm comhaid rófhada (ní féidir é a scoilt); gan dumpáil" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ainm naisc rófhada; gan dumpáil" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -965,272 +970,297 @@ msgstr[2] "%s: %s bheart níos lú sa chomhad; ag stuáil le nialais" msgstr[3] "%s: %s mbeart níos lú sa chomhad; ag stuáil le nialais" msgstr[4] "%s: %s beart níos lú sa chomhad; ag stuáil le nialais" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: is ar chóras comhad eile é an comhad; gan dumpáil" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "ábhar gan dumpáil" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Cineál anaithnid comhaid; ag déanamh neamhshuim air" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Naisc le %s ar iarraidh.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: comhad gan athrú; gan dumpáil" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: is ionann é agus an chartlann féin; gan dumpáil" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "níor dumpáladh an chomhadlann" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: athraíodh an comhad agus á léamh" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: rinneadh neamhshuim ar an soicéad" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: rinneadh neamhshuim ar an doras" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Ag bogadh go dtí an chéad cheanntásc eile" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Comhad nach ceanntásc á scriosadh ón chartlann" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: ní dócha go bhfuil an stampa ama ársa %s ceart" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tá an stampa ama %s %s soicind amach anseo" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Bunoscionntacht gan choinne agus comhadlann á cruthú" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: Athainmníodh an chomhadlann sularbh fhéidir a stádas a bhaint amach" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Comhaid theorantacha á mbaint amach mar ghnáthchomhaid" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Ag déanamh iarracht ar naisc shiombalacha a bhaint amach mar naisc chrua" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Ní féidir an comhad a bhaint amach -- ar lean ó imleabhar eile" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Ceanntásc ainm fada gan choinne" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Cineál anaithnid comhaid `%c', á bhaint amach mar ghnáthchomhad" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Tá an %s reatha níos nuaí nó ar comhaois" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Níorbh fhéidir cúltaca a dhéanamh" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Ní féidir %s a athainmniú go %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Athainmníodh an chomhadlann ó %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Athainmníodh an chomhadlann" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Comhadlann nua" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: is ar chóras comhad eile é an comhad; gan dumpáil" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Athainmníodh an chomhadlann" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Stampa ama neamhbhailí" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Am neamhbhailí mionathraithe (soicindí)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Am neamhbhailí mionathraithe (nanashoicindí)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Uimhir neamhbhailí gléis" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Uimhir inode as raon" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Réimse rófhada agus an comhad roghbhlúire á léamh" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Earráid agus an comhad roghbhlúire á léamh" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Comhadchríoch gan choinne sa chomhad roghbhlúire" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Luach réimse gan choinne sa chomhad roghbhlúire" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Críochnaitheoir taifid ar iarraidh" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Drochfhormáid incriminteach" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Ní thacaítear leis an leagan seo den fhormáid incriminteach: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir míchumtha: bhíothas ag súil le '%c' ach fuarthas %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir míchumtha: 'X' faoi dhó" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir míchumtha: ainm folamh i 'R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "dumpdir míchumtha: 'T' gan 'R' roimhe" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir míchumtha: ainm folamh i 'T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "dumpdir míchumtha: bhíothas ag súil le '%c' ach fuarthas deireadh na sonraí" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir míchumtha: níor úsáideadh 'X' riamh" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ní féidir comhadlann shealadach a chruthú le teimpléad %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: ní féidir an chomhadlann a stat: gan ghlanadh" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: tá an chomhadlann ar ghléas eile ar fad; gan ghlanadh" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s á scriosadh\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Ní féidir scriosadh a dhéanamh" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: ag fágáil ar lár" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s: ** bloc de NULanna **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s: ** Deireadh comhaid **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloc %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Bearnaí sa cheanntásc; ag súil le luach uimhriúil %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1238,167 +1268,183 @@ msgstr "" "ag glacadh le comhlánú dénártha" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Tá an luach ochtnártha %.*s as raon %s sa chartlann" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Teaghrán %s le sín agus bunuimhir 64 as raon %s sa chartlann" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Tá an luach le bunuimhir 256 as raon %s sa chartlann" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Tá %.*s sa chartlann; ag súil le luach uimhriúil %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Tá an luach cartlainne %s as raon %s: %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " nasc le %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " cineál anaithnid comhaid %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Nasc Fada--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Ainm Fada--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Ceanntásc Imleabhair--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Ar lean ag beart %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Comhadlann á cruthú:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Ní féidir an chomhadlann reatha a athrú" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s á athainmniú go %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ní féidir athainmniú go %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s á athainmniú go %s arís\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Scriosadh an comhad sular léadh é" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "macphróiseas" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "bealach idir próisis" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Theip ar ordú %s" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: léadh an liosta comhad cheana" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ní féidir an t-am a shocrú ar `%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh" + +#: src/names.c:821 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Aimsíodh saoróga in ainmneacha comhaid." -#: src/names.c:592 +#: src/names.c:823 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "Úsáid --wildcards chun comhoiriúnú patrún a chumasú, nó --no-wildcards" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ní sa chartlann é" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Níl rud riachtanach sa chartlann" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s" -#: src/names.c:949 +#: src/names.c:1180 #, fuzzy msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/names.c:955 +#: src/names.c:1186 #, fuzzy msgid "Only one -C option is allowed with --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Tá an gnáth-ionchur de dhíth ar na roghanna `-%s' agus `-%s'" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Formáid neamhbhailí chartlainne" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Níl roghanna GNU ar fáil d'fhormáid neamh-chomhoiriúnach chartlainne" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Stíl anaithnid athfhriotail `%s'. Bain triail as `%s --quoting-style=help' " "chun liosta a fheiceáil." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1416,9 +1462,10 @@ msgstr "" "(foclach).\n" " tar -xf cartlann.tar # Bain gach comhad amach as cartlann.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1438,80 +1485,80 @@ msgstr "" "bhfuil\n" " never, simple déan cúltacaí simplí i gcónaí\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Príomh-mhód oibre:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "taispeáin an t-ábhar i gcartlann" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "bain comhaid as cartlann" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "cruthaigh cartlann nua" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "taispeáin difríochtaí idir cartlann agus córas comhaid" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "iarcheangail le deireadh cartlainne" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "ná hiarcheangail ach comhaid mhionathraithe leis an gcartlann" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "iarcheangail comhaid tar le cartlann" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "scrios as an gcartlann (nach ar théipeanna maighnéadacha!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "tástáil lipéad imleabhair na cartlainne agus scoir" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Mionathraitheoirí oibríochta:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "caith le gannchomhaid go héifeachtach" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "PRÍOMH[.MION]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "socraigh leagan fhormáid na ngannchomhad le húsáid (--sparse intuigthe)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "déan cúltaca incriminteach de shean-nós GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "déan cúltaca incriminteach nua-aoise GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "ná scoir le stádas earráide má tá comhad doléite ann" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1523,126 +1570,137 @@ msgstr "" "extract nó --list agus nuair a thugtar liosta comhad ar líne na n-orduithe " "nó leis an rogha -T; de réir réamhshocraithe UIMHIR=1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "tá an chartlann inchuardaithe" -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "tá an chartlann inchuardaithe" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" "ná seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú " "(réamhshocrú)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Rialú forscríofa:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "fíoraigh an chartlann i ndiaidh ag scríobh" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "scrios comhaid i ndiaidh iad a chur leis an gcartlann" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "ná forscríobh comhaid atá ann le linn baint amach" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "ná forscríobh comhaid atá ann le linn baint amach" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "ná forscríobh comhaid atá ann má tá siad níos nuaí ná na cinn sa chartlann" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "forscríobh comhaid atá ann le linn baint amach" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "scrios gach comhaid sula scríobhtar air" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "folmhaigh géagchóras sula mbaintear comhadlann amach" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "ná forscríobh meiteashonraí comhadlainne" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "forscríobh meiteashonraí de chomhadlanna atá ann agus cartlanna á mbaint " "amach (réamhshocrú)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "forscríobh comhaid atá ann le linn baint amach" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Roghnaigh sruth aschurtha:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "bain comhaid amach agus scríobh ar an ngnáth-aschur" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "ORDÚ" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "píopaigh comhaid bhainte go ríomhchlár eile" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ná bac le cóid scortha na macphróiseas" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "láimhseáil cóid scortha nach nialas ó mhacphróisis mar earráidí" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Tréithe comhaid á láimhseáil:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "éiligh AINM mar úinéir de chomhaid bhreise" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "éiligh AINM mar ghrúpa de chomhaid bhreise" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DÁTA-NÓ-COMHAD" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "socraigh am mionathraithe na gcomhad nua de réir DÁTA-NÓ-COMHAD" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ATHRUITHE" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "déan ATHRUITHE ar mhód de chomhaid bhreise" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "MODH" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1652,31 +1710,31 @@ msgstr "" "ndiaidh na comhaid a léamh (MODH='replace', réamhshocraithe), nó gan a " "bheith ag socrú na n-amanna sa chéad áit (MODH='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "ná bain am mionathraithe an chomhaid" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "bain triail as úinéireacht a choinneáil" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "bain comhaid amach mar thusa féin" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "bain úsáid as uimhreacha d'ainmneacha úsáideora/grúpa" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "bain eolas faoi cheadanna (réamhshocrú don fhorúsáideoir)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1684,15 +1742,16 @@ msgstr "" "cuir umask an úsáideora i bhfeidhm agus ceadanna á mbaint ón chartlann " "(réamhshocrú do ghnáthúsáideoirí)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "sórtáil ainmneacha le cur in oiriúint" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "ar comhbhrí le -p agus -s araon" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1700,139 +1759,180 @@ msgstr "" "ná socraigh amanna mionathraithe ná ceadanna de na comhadlanna go dtí go " "bhfuil an bhaint curtha i gcrích" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "cealaigh an éifeacht de rogha --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Tréithe comhaid á láimhseáil:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Roghnú gléis agus malartú:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "CARTLANN" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "bain úsáid as cartlann chomhaid nó gléas CARTLANN" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "is logánta í an chartlann fiú má tá idirstad ina hainm" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "bain úsáid as ORDÚ in ionad rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "bain úsáid as ORDÚ cian in ionad rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "sonraigh tiomántán agus a dhlús" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "cruthaigh/liostaigh/bain amach cartlann le hiliomad imleabhair" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "athraigh téip i ndiaidh UIMHIR × 1024 beart" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "rith script i ndiaidh gach téip (-M intuigthe)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "úsáid/nuashonraigh an uimhir imleabhair i gCOMHAD" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blocáil ghléis:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOIC" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOIC × 512 beart sa taifead" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "UIMHIR beart sa taifead, iolraí de 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "déan neamhshuim ar bhloic nialasacha sa chartlann (is ionann le EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "athbhlocáil le linn léimh (le píopaí 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Roghnú formáide:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMÁID" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "cruthaigh cartlann san fhormáid seo" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "Is FORMÁID ceann de na rudaí seo:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "seanfhormáid V7 tar" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "formáid de réir GNU tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "formáid de réir GNU tar 1.13" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formáid POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formáid POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "ar comhbhrí le pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "is ionann le --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "is ionann le --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "lorgfhocal[[:]=luach][,lorgfhocal[[:]=luach]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "rialaigh lorgfhocail pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TÉACS" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1840,79 +1940,79 @@ msgstr "" "cruthaigh cartlann le TÉACS mar ainm imleabhair; úsáid TÉACS mar phatrún " "globála ar an ainm imleabhair agus an chartlann á liostú/baint amach" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Roghanna comhbhrúite:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "úsáid iarmhír na cartlainne chun an modh comhbhrúite a dhéanamh amach" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" "ná húsáid iarmhír na cartlainne chun an clár comhbhrúite a dhéanamh amach" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "CLÁR" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "scag le CLÁR (ní foláir -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Roghnú comhaid logánta:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "cuir an COMHAD sainithe leis an gcartlann (is áisiúil an rogha seo nuair atá " "dais ag tosach an chomhadainm)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "COMHADLANN" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "athraigh go dtí COMHADLANN" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "díchumasaigh an rogha --null roimhe seo" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATRÚN" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "fág as an áireamh aon phatrún atá i gCOMHAD" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1920,94 +2020,96 @@ msgstr "" "gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad " "clibe féin" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "gabh thar ábhar na gcomhadlann ina bhfuil COMHAD, seachas COMHAD féin" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "ná fág an córas comhaid seo agus cartlann á cruthú" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "téigh isteach i gcomhadlanna (réamhshocrú)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "ná struipeáil `/' tosaigh ó ainmneacha comhaid" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "lean naisc shiombalacha; cartlannaigh agus dumpáil na comhaid a nascann na " "naisc leo" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "lean naisc chrua; cartlannaigh agus dumpáil na comhaid a nascann na naisc leo" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "AINM-BAILL" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "tosaigh ag ball AINM-BAILL sa chartlann" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "ná sábháil comhaid níos nuaí ná DÁTA-NÓ-COMHAD" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DÁTA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "déan comparáid le dáta/am modhnaithe" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "MODH" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "déan cúltaca sula scriostar, roghnaigh modh oibre maidir le leaganacha" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "TEAGHRÁN" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2015,101 +2117,104 @@ msgstr "" "déan cúltaca roimh bhaint, agus sáraigh an gnáth-iarmhír ('~' mura dtugtar é " "leis an athróg thimpeallachta SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Trasfhoirmiú ainmneacha comhaid:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "struipeáil UIMHIR comhpháirt tosaigh ó ainmneacha comhaid" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "SLONN" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "Úsáid ordú ionadaíochta SLONN, i bhformáid \"sed\", chun ainmneacha comhaid " "a thrasfhoirmiú" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Roghanna maidir le comhoiriúnú ainmneacha comhaid (cuirfear iad seo i " "bhfeidhm do phatrúin eisiata agus do phatrúin iniata araon):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "ná bí cásíogair" # subject is "exclude patterns" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "comhoiriúnaíonn patrúin tar éis gach `/' (réamhshocrú i gcás eisiata)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "comhoiriúnú teaghráin carachtar ar charachtar" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "ní ghlacann saoróga le `/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Aschur faisnéiseach:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "taispeáin gach comhad atá próiseáilte, go foclach" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 #, fuzzy msgid "warning control" msgstr "Rialú forscríofa:" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "cuir dul chun cinn ar taispeáint, gach UIMHIRú taifid (réamhshocrú 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "GNÍOMH" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "déan GNÍOMH ag gach seicphointe" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "taispeáin eolas mura bhfuil gach nasc dumpáilte" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "COMHARTHA" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2121,32 +2226,36 @@ msgstr "" "Ceadaítear na comharthaí seo a leanas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 agus " "SIGUSR2; glacfar leis na hainmneacha céanna gan an réimír SIG freisin" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "taispeáin dátaí mionathraithe de réir UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "scríobh aschur foclach i gCOMHAD" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "taispeáin bloc sa chartlann le gach teachtaireacht" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "iarr deimhniú ar gach gníomh" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "taispeáin réamhshocruithe tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2154,33 +2263,33 @@ msgstr "" "agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach bhfuil " "comhoiriúnaithe don chuardach" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "taispeáin ainmneacha comhaid/cartlainne i ndiaidh trasfhoirmithe" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STÍL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "socraigh stíl athfhriotail ainmneacha; féach thíos le haghaidh luachanna " "bailí do STÍL" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "cuir carachtair athfhriotail timpeall na carachtair ó TEAGHRÁN" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "ná húsáid comharthaí athfhriotail timpeall carachtair ó TEAGHRÁN" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Roghanna Comhoiriúnachta:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2188,64 +2297,56 @@ msgstr "" "is ionann le --old-archive le linn cruthaithe; is ionann le --no-same-owner " "le linn baint" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Roghanna eile:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "cuir bac ar úsáid de roghanna gurbh fhéidir leo a bheith urchóideach" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Ná tabhair ach ceann de na roghanna `-Acdtrux'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Roghanna contrártha comhbhrúite" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Comhartha anaithnid: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Comhad samplach dáta gan aimsiú" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Formáid dáta anaithnid; ag baint úsáid as %s in ionad %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Rogha %s: Ag caitheamh le dáta `%s' mar %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: léadh an liosta comhad cheana" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "scag an chartlann le xz" -#: src/tar.c:1296 +#: src/tar.c:1179 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "Argóintí bailí do roghanna --quoting-style:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2253,53 +2354,49 @@ msgstr "" "\n" "Luachanna réamhshocraithe don tar *seo*:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Úinéir neamhbhailí" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Fachtóir bacainneach neamhbhailí" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Fad téipe neamhbhailí" -#: src/tar.c:1529 +#: src/tar.c:1466 #, fuzzy msgid "Invalid incremental level value" msgstr "Drochfhormáid incriminteach" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Níos mó ná spriocdháta amháin" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Leagan neamhbhailí ar fhormáid na ngannchomhad" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "ní thacaítear le --atime-preserve='system' ar an chóras seo" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "ní mór do luach --checkpoint a bheith ina slánuimhir" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Grúpa neamhbhailí" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Mód neamhbhailí ar rogha" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Uimhir neamhbhailí" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Úinéir neamhbhailí" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2307,69 +2404,71 @@ msgstr "" "tá an rogha --preserve dulta i léig, bain úsáid as --preserve-permissions --" "preserve-order ina háit" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Méid taifid neamhbhailí" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Ní foláir méid taifid a bheith iolraí de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Tá líon na mball neamhbhailí" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Ní cheadaítear ach aon rogha --to-command amháin" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Tá an argóint dlúis míchumtha: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Dlús anaithnid: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Níl na roghanna `-[0-7][lmh]' ar fáil sa leagan seo tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[COMHAD]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Tá gá le hargóint ar an seanrogha `%c'." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "tá an rogha --occurrence gan bhrí in éagmais liosta comhad" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "níl an rogha --occurrence ar fáil sa mhód iarrtha" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Ní foláir an rogha `-M' le níos mó ná cartlann amháin" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Ní féidir --listed-incremental a úsáid le --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2379,53 +2478,80 @@ msgstr[2] "%s: Lipéad imleabhair rófhada (%lu bheart ar a mhéad)" msgstr[3] "%s: Lipéad imleabhair rófhada (%lu mbeart ar a mhéad)" msgstr[4] "%s: Lipéad imleabhair rófhada (%lu beart ar a mhéad)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Ní féidir cartlanna le hiliomad imleabhair a fhíorú" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Ní féidir cartlanna comhbhrúite a fhíorú" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Ní féidir an patrún %s a úsáid" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Ní féidir úsáid a bhaint as cartlanna il-ranna comhbhrúite" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Ní féidir cartlanna comhbhrúite a iarcheangal" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "níl an rogha --pax-option le fáil ach le cartlanna POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Ní féidir an patrún %s a úsáid" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Ní cheadaítear fad an imleabhair a bheith níos lú ná an mhéid taifid" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Ní chruthófar cartlann fholamh (go cladhartha)" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Níl na roghanna `-Aru' ar fáil in éineacht le `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Ní foláir rogha amháin de `-Acdtrux' ar a laghad" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Scor le stádas teipthe de bharr earráidí roimhe seo" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2440,53 +2566,49 @@ msgstr[4] "%s: Chrap an comhad %s beart" msgid "Keyword %s is unknown or not yet implemented" msgstr "Tá an lorgfhocal %s anaithnid nó nach bhfuil sé curtha i bhfeidhm fós" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Stampa ama as raon" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Ní féidir an patrún %s a úsáid" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Ní féidir an lorgfhocal %s a shárú" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Ceanntásc míchumtha breisithe: fad ar iarraidh" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Fad an cheanntáisc breisithe as raon" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Fad %*s as raon sa cheanntásc breisithe" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Ceanntásc míchumtha breisithe: spás bán ar iarraidh tar éis an fhaid" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Ceanntásc míchumtha breisithe: sín chothroime ar iarraidh" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Ceanntásc míchumtha breisithe: líne nua ar iarraidh" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" "Lorgfhocal anaithnid `%s' sa cheanntásc breisithe; ag déanamh neamhshuim air" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2494,65 +2616,65 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Tá an ceanntásc breisithe %s=%s as raon %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Ceanntásc míchumtha breisithe: %s=%s neamhbhailí" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Ceanntásc míchumtha breisithe: %s=%s sa bhreis" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Ceanntásc míchumtha breisithe: %s neamhbhailí: bhíothas ag súil le " "teormharcóir %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Ceanntásc míchumtha breisithe: %s neamhbhailí: corruimhir de luachanna" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: teorainn ama neamhbhailí" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: gníomh anaithnid seicphointe" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "scríobh" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "léamh" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Seicphointe scríofa %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Seicphointe léimh %u" @@ -2702,7 +2824,7 @@ msgstr "Uimhir as raon: %s" msgid "Negative size: %s" msgstr "Méid diúltach: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "theip ar stat(%s)" @@ -2731,8 +2853,8 @@ msgstr "Formáid anaithnid ar an dáta" msgid "[ARGS...]" msgstr "[ARGÓINTÍ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "ní féidir `%s' a oscailt" @@ -2746,67 +2868,100 @@ msgstr "ní féidir 'seek' a dhéanamh" msgid "file name contains null character" msgstr "tá carachtar nialasach sa chomhadainm" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "ní féidir gannchomhaid a chruthú ar an ngnáth-aschur; úsáid rogha --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "masc mícheart (i ngar do `%s')" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Réimse anaithnid `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "ní féidir an t-am a shocrú ar `%s'" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "ní féidir `%s' a oscailt" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Theip ar ordú %s" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "ní féidir `%s' a oscailt" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "D'éirigh leis an ordú\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Theip ar an ordú le stádas %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Stopadh an t-ordú le comhartha %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Stopadh an t-ordú ar chomhartha %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Rinne an t-ordú córdhumpa\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Ordú críochnaithe\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "Tá ainmneacha comhaid de dhíth ar --stat" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Ní féidir an chomhadlann reatha a athrú" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "sórtáil ainmneacha le cur in oiriúint" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Réimse rófhada agus an comhad roghbhlúire á léamh" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Earráid agus an comhad roghbhlúire á léamh" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Luach réimse gan choinne sa chomhad roghbhlúire" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Fad an cheanntáisc breisithe as raon" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Grúpa neamhbhailí" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Scriosadh an comhad sular léadh é" diff --git a/po/gl.gmo b/po/gl.gmo index b0346d965e5dc2b960cfc37059b19ec26fce515b..856e9cdf816bd17ad3916fa6cbc5b92f8f0cea40 100644 GIT binary patch delta 2591 zcmXxkdrXye9LMo596&)dt_IPO)8z;qJaFJh7;+Jg*OZ71(~vAnMKDv7l8yDut=ZDl zT(fen+cf88t4$^=N2`@>=GyWfHgn5hZn#yW^@pqF)_Q-Q^W!(Z&+GR*=Xrj&@9)QC z=dBL!Mqb)cqx2K^5|;vIAK#h+iR$=QEW%VqrGb@jsljr50J~5F z^-%4+i~8<@^BSt3JO1w;jWGOb9#o(j=*IhSFXrJ1Ou=Eyz%Q^EzjnX>j1O`D2iD^3 zS!VNa6>0?rumX?aQv4p{n0=R7g#K+26^*bD)xaT);U#Rs+wOio!!F@|6Z!*0HGIO| z|Ad;rU#Rv9S!WGk0n&u6MGdS6^YJKpAu4C6CLt{)1H7c)*~o4@rv+qCR{R)!->q&PP!1 zjba2RFpRnMrUBHU8g56e)JD{Iuc6v~5B1(j)b}F=tiNV-iwA1xZ&YrB^s1TFq3#pN zPuA_+g*qT_pgKB?+H~hoo9O^(ak2)^< zQ8WG&({UKJ2}e-xe}^%=iLcUQ0n=lD*;`CoDLRho=quD-xsF<)3}&Uh;uTX_K&26@ z@fB>v)2IRbj(lSo+$dG0s2Mk+2DZ-K_o9||A2#EMs19!+f0o5ZnrIl~7)Sc`Yzr0o zu#Zu@_97}3zo3p)fZ=OJqNwMssAJTF%Hii&j@OY@wg98l(ifvvq69U8h% z^lwL~M0s!(HM0NkVXPrh?YI@2@Jp=4e=vlVtp7r6#}#-0>u?nH-po+a1XgiBfcpIm zR^qtysN|5S25d&Hz#wWSAE8Ei!QKCc`cN+^cU8C;SECw!9~qln#U=PBYS-8Dvfgjy zqINeUi)Dl8g{T~(q8wdBA>pk{U! zdDXr_wKIX5SZZ1F_yth|D@RRac^T^;qSDKQ6g+_H@F42^pLH(|JFlU3@xShVI-}MK zL{JSkqE1D(b31AiddQ;MAyi7wqx#!G|F(rt(TAIeRm5_lfl$#3Y58>;G&mho{ab#F z*gCHs3of<^PRWze;mp!+#kq^N2_DeSZ$~# aUSA!nh{cD_746L)N`!+cL*cR?0{;WNQE0`I^M)WDwRQic0* z8upmOvFq-sHJN_?THp7nWh{0Gy7bR7L$MaFmG^UGWH>pGX2Q1ncq+y z{EO;%61{5et5EG$V+n4-N_+~HkzVxSB`m`t9#*>rsDZYj-rGHn{41p|a6=uRM7{W| z+we0~2Lq^?k6~x2BM)j1G@vrj=6;SM?=<^dUqKzDH&O37jr^IfxM*`;OH;|BQoyh@ z(?aCrm~vEuIqv;tR0HL38MK8?d?dqroHPa@n#;vFqA3&x26V&d$f?A4^yiLci0+o>ssQVGraXW}w z!f$Z~=8#ra(^O!V&VM}>rD8d12FTxzi!SK`|^7nSy!G|p26qc|I1M>Y5YE3km+%35529mtWfjBId-Uy z>ruxi=$gVpK0k|Es>7(Ye;4&al?FoTSJ5oHh&DoNucNz-7%FL1?jw{|%}hl<6x)dy z;Sh_6p;GTwG#ixwp}nKQs#Fmq$*@A1|5Gf(wS?B6ZIdZ^TsIIoI{!*@2cg-kDE%p- zl^80UhbkB+qJ&P0GO?Jj#N&igt)e}nf4EfY2xU}dIH9aPLTJP8()n+q@(`hQR?#}E zbP~|6(CqjX6(r<&Q|7RJiFm*|{RnmHxsmF#~ z-S$x%^ji{=@XMsruPNX96w~$CB-wPQyDT%`qz!P((^b diff --git a/po/gl.po b/po/gl.po index 00854939..0370b445 100644 --- a/po/gl.po +++ b/po/gl.po @@ -2,12 +2,12 @@ # Copyright (C) 2002 Free Software Foundation, Inc. # Jacobo Tarrío Barreiro , 2002. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.13.25\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2002-03-26 19:17+0100\n" "Last-Translator: Jacobo Tarrío Barreiro \n" "Language-Team: Galician \n" @@ -27,62 +27,61 @@ msgid "ambiguous argument %s for %s" msgstr "argumento %s ambiguo para %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Os argumentos válidos son:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Emprego: %s [OPCIÓN]...\n" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Escriba '%s --help' para máis información.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -90,7 +89,7 @@ msgstr "" "Informe dos erros no programa a .\n" "Informe dos erros na traducción a .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Erro do sistema descoñecido" @@ -102,7 +101,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -123,17 +122,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -141,62 +139,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opción \"%s\" é ambigua\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opción \"--%s\" non admite un argumento\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opción \"%c%s\" non admite un argumento\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opción \"--%s\" non recoñecida\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opción \"%c%s\" non recoñecida\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opción non válida -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opción precisa dun argumento -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opción \"-W %s\" é ambigua\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opción \"-W %s\" non admite un argumento\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memoria esgotada" @@ -212,28 +210,30 @@ msgstr "Non se pode armacena-lo directorio de traballo" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "\"" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "\"" @@ -243,7 +243,7 @@ msgstr "\"" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -253,7 +253,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -519,7 +519,12 @@ msgstr "sa msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Non se pode executar un intérprete de comandos remoto" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Non se pode executar un intérprete de comandos remoto" @@ -575,8 +580,8 @@ msgstr "Fin de ficheiro inesperado nos nomes alterados" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -584,8 +589,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -600,7 +605,7 @@ msgstr "" msgid "cannot open %s" msgstr "Non se puido abrir %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -609,9 +614,9 @@ msgstr "" msgid "Garbage command" msgstr "Comando lixo" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Isto non semella un arquivo tar" @@ -650,63 +655,63 @@ msgstr "Non se poden verifica-los arquivos da entrada/sa msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Non se poden actualiza-los arquivos comprimidos" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "No comezo da cinta, saíndo agora" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Demasiados erros, saíndo" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tamaño do rexistro = %lu bloques" msgstr[1] "Tamaño do rexistro = %lu bloques" -#: src/buffer.c:913 +#: src/buffer.c:914 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloque desaliñado (%lu bytes) no arquivo" msgstr[1] "Bloque desaliñado (%lu bytes) no arquivo" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Non se pode recuar no arquivo; pode ser ilexible sen -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contén un número de volume non válido" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Desbordamento no número de volume" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Prepare o volume #%d para %s e prema enter: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Chegouse á fin de ficheiro onde se esperaba unha resposta do usuario" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "AVISO: O arquivo está incompleto" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -718,475 +723,497 @@ msgstr "" " ! Executar outro intérprete de comandos\n" " ? Amosar esta lista\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Non hai novos volumes; saíndo.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, fuzzy, c-format msgid "%s command failed" msgstr "O comando \"%s\" fallou" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s non continúa neste volume" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s non continúa neste volume" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s ten un tamaño incorrecto (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Este volume está fora da secuencia" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "O arquivo non está etiquetado para coincidir con %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "O volume %s non coincide con %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "A fin do ficheiro (EOF) do arquivo %s non se atopa no límite do bloque" -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "So se puido ler %lu de %lu bytes" msgstr[1] "So se puido ler %lu de %lu bytes" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "O contido é diferente" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Fin de ficheiro inesperado no arquivo" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "O tipo de ficheiro é diferente" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "O modo é diferente" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Os uid son diferentes" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Os gid son diferentes" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "A data de modificación é diferente" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "O tamaño é diferente" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Non ligado a %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "A ligazón simbólica é diferente" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "O número de dispositivo é diferente" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verificar " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tipo de ficheiro \"%c\" descoñecido; trátase coma un ficheiro normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "O arquivo contén cabeceiras base-64 obsoletas" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "FALLO NA VERIFICACION: detectáronse %d cabeceiras non válidas" msgstr[1] "FALLO NA VERIFICACION: detectáronse %d cabeceiras non válidas" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valor %s fóra do rango de %s %s..%s; substituíndo %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valor %s fóra do rango de %s %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Xerando cabeceiras octais negativas" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:622 +#: src/create.c:611 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: O ficheiro encolleu %s bytes; enchendo con ceros" msgstr[1] "%s: O ficheiro encolleu %s bytes; enchendo con ceros" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: o ficheiro está nun sistema de ficheiros diferente; non se envorca" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (memoria volcada)" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de ficheiro descoñecido; ignórase este ficheiro" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " ligazón a %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: ficheiro sen cambios; non se envorca" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: o ficheiro é o arquivo; non se envorca" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: o ficheiro cambiou mentres se lía" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: ignórase o socket" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: ignórase a porta" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Pasando á seguinte cabeceira" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Borrando o que non sexan cabeceiras do arquivo" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: a marca de tempo %s está %lu segundos no futuro" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistencia inesperada ao crea-lo directorio" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Renomeouse o directorio antes de poder estrae-lo seu estado" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extraendo os ficheiros contiguos coma ficheiros normais" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Tentando extrae-las ligazóns simbólicas coma ligazóns duras" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Non se pode extraer -- o ficheiro é continuación doutro volume" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Fin de ficheiro (EOF) inesperado no arquivo" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "%s: Tipo de ficheiro \"%c\" descoñecido, extraéndoo coma ficheiro normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Non se puido copiar este ficheiro" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Non se pode renomear a %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Renomeouse o directorio" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Renomeouse o directorio" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: O directorio é novo" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: o ficheiro está nun sistema de ficheiros diferente; non se envorca" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Renomeouse o directorio" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Marca de tempo non válida" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Proporcionouse na opción un modo non válido" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Número de dispositivo non válido" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Número de inode non válido" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1115 src/incremen.c:1153 -#, fuzzy -msgid "Read error in snapshot file" -msgstr "Erro de lectura en %s" - -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Fin de ficheiro (EOF) inesperado no arquivo" -#: src/incremen.c:1124 src/incremen.c:1164 -#, fuzzy -msgid "Unexpected field value in snapshot file" -msgstr "Fin de ficheiro (EOF) inesperado no arquivo" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Non se pode reservar memoria para o factor de bloqueo %d" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: o ficheiro está nun sistema de ficheiros diferente; non se envorca" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Borrando %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Non se pode eliminar" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Omitíndoo" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloque %s: ** Bloque de nulos **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloque %s: ** Fin de Ficheiro **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloque %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Atopáronse espacios na cabeceira onde se esperaba un valor númerico de %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1194,162 +1221,177 @@ msgstr "" "a 2" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "O valor octal do arquivo %.*s está fóra do rango de %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "O arquivo contén cabeceiras base-64 obsoletas" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "A cadea base-64 asinada do arquivo %s está fóra do rango de %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "O valor base-256 do arquivo está fóra do rango de %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "O arquivo contén %.*s onde se esperaba un valor numérico de %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "O valor do arquivo %s está fóra do rango de %s %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " ligazón a %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " Tipo de ficheiro %s descoñecido\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Cabeceira de Volume--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continúa no byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Creando o directorio:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Non se pode cambia-lo directorio de traballo" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Renomeando %s a %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Non se pode renomear a %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Renomeando %s a %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Ficheiro eliminado antes da súa lectura" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proceso fillo" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "canle interproceso" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "O comando \"%s\" fallou" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: o ficheiro é o arquivo; non se envorca" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "Non se puido evalua-lo ficheiro %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Non atopado no arquivo" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Non atopado no arquivo" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "O arquivo non está etiquetado para coincidir con %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "As opcións \"-%s\" e \"-%s\" precisan da entrada estándar" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Grupo non válido" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Quérense as características de GNU no formato de arquivo incompatible" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1367,10 +1409,10 @@ msgstr "" " # dando moitos datos\n" " %s -xf arquivo.tar # Extraer tódolos ficheiros de arquivo.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1389,80 +1431,80 @@ msgstr "" " nil, existing numera se existen copias de seguridade numeradas\n" " never, simple sempre fai copias de seguridade sinxelas\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "Fin de ficheiro inesperado no arquivo" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1470,568 +1512,617 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 #, fuzzy msgid "remove files after adding them to the archive" msgstr "Borrando a especificación de unidade dos nomes do arquivo" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:457 +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 #, fuzzy msgid "extract files to standard output" msgstr "Erro ao gravar na saída estándar" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Non se pode verifica-los arquivos multi-volume" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Arquivar da entrada estándar" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Opcións de compresión conflictivas" -#: src/tar.c:616 +#: src/tar.c:662 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Non se puido escribir no programa de compresión" -#: src/tar.c:618 +#: src/tar.c:664 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Non se puido escribir no programa de compresión" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "Non se pode cambia-lo directorio de traballo" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Eliminadndo o \"%.*s\" inicial dos nomes dos membros" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "O volume %s non coincide con %s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2039,301 +2130,318 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "Proporcionouse na opción un modo non válido" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 #, fuzzy msgid "ask for confirmation for every action" msgstr "Non se puido le-la confirmación do usuario" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Non pode especificar máis dunha das opcións \"-Acdtrux\"" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Opcións de compresión conflictivas" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " Tipo de ficheiro %s descoñecido\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Non se atopou o ficheiro de data" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Substituíndo o formato de data descoñecido %2$s por %1$s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 -#, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: o ficheiro é o arquivo; non se envorca" - -#: src/tar.c:1201 +#: src/tar.c:1108 #, c-format -msgid "%s: file name read contains nul character" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "%s: o ficheiro é o arquivo; non se envorca" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Propietario non válido" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Factor de bloqueo non válido" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Lonxitude da fita non válida" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Máis dunha data de umbral" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Grupo non válido" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Proporcionouse na opción un modo non válido" -#: src/tar.c:1912 +#: src/tar.c:1858 #, fuzzy msgid "Invalid number" msgstr "Número de inode non válido" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Propietario non válido" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Tamaño de rexistro non válido" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "O tamaño do rexistro debe ser múltiplo de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 #, fuzzy msgid "Invalid number of elements" msgstr "Lonxitude da fita non válida" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 +#: src/tar.c:2133 #, fuzzy, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "Patrón descoñecido `%s'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opcións `-[0-7][lmh]' non soportadas por *este* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "A antiga opción \"%c\" precisa dun argumento." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Varios ficheiros de arquivo requiren a opción \"-M\"" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Non se pode combinar --listed-incremental con --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: A etiqueta do volume é longa de máis (o límite é %lu bytes)" msgstr[1] "%s: A etiqueta do volume é longa de máis (o límite é %lu bytes)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Non se pode verifica-los arquivos multi-volume" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Non se poden verifica-los arquivos comprimidos" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Non se poden empregar arquivos comprimidos multi-volume" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Non se poden actualiza-los arquivos comprimidos" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "De xeito cobarde rexéitase crear un ficheiro baleiro" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "As opcións \"-Aru\" son incompatibles con \"-f -\"" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Debe especificar unha das opcións \"-Acdtrux\"" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2345,115 +2453,111 @@ msgstr[1] "%s: O ficheiro encolleu %s bytes" msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Marca de tempo fóra de rango" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "A cadea base-64 asinada do arquivo %s está fóra do rango de %s" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "O valor do arquivo %s está fóra do rango de %s %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Grupo non válido" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Punto de control de escritura %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Punto de control de lectura %d" @@ -2592,7 +2696,7 @@ msgstr "N msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2621,8 +2725,8 @@ msgstr "Erro do sistema desco msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "Non se puido abrir %s" @@ -2637,66 +2741,92 @@ msgstr "Non se pode pechar" msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "Patrón descoñecido `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "Non se puido evalua-lo ficheiro %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Non se puido abrir %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "O comando \"%s\" fallou" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Non se puido abrir %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "O fillo morreu co sinal %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Nomes de ficheiro alterados--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Non se pode cambia-lo directorio de traballo" + +#, fuzzy +#~ msgid "Read error in snapshot file" +#~ msgstr "Erro de lectura en %s" + +#, fuzzy +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Fin de ficheiro (EOF) inesperado no arquivo" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Grupo non válido" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Ficheiro eliminado antes da súa lectura" diff --git a/po/hr.gmo b/po/hr.gmo index 3dfdd4e6db2acfb955fdecef43c6e48388ed0b6b..1abd837b3c8a152b22eaa2d93bd36aed68c38e10 100644 GIT binary patch literal 52730 zcmc(|2b^6;dH;Q|4Gyw#!Mz`2%i6VdSH*p0*t0{#;igFgXJ0S{arMF)e+Je~vI%yk!dH28V21N?!2NQ4xT|FPXjlDCxTajE5KP$^>_!k2K+nlcyK=+s{E6{W55;Q zQQ#(!Ziuc0PX;UC8Q>kD+WBFy6Z|}=dK^Hd&I6Z$*MZl8D*sd9vEX;WcJMLqVDN-h zvxQ2sP}&yTn#=9o(4XdixIFLR6pGgsy=T8XTb+Sz5l|q=_~MApx*O3Q1>4K z`4|0^{|*CBJjdlPfV?8w0_r`_15X9t0-g`<2I->c51`6B>)a^192^Ff?oHqc;DeyX z>HDDSe*m4J_MGUk2VBPWEXWW=_kuC_C9nC?Hs1XTI~@FZ{-sBwFZ$B%+f z;`%$_{@_1=YUlSssv14%0!M%6fuhf~;341@9=C&fPZJa!yc87O>;~0OKLZ)k=%foB z_JS92{ajGv`EgMF|1A)bj~)k)0Z)M#MEB=|2Z9%aDsLm$4ekQfj}L%!RrDyxzbK{> z>aS}+^~X!WGqs@E66qrrazjgP1dEEO#SH-dwp-g6JA`g{dcfBYw?_nf%a)oTD$ ze_jQi0PX-G#psow>c1OQy}#%2#~yzHimo09mHuol#0N!C^}7w!`~MnLxjzO~-{=xY zC&z%Q?}h%l1d85n2361dz$3x0fG2|g44w=|m%93%0v^HTS}+Em399@WsC>78r-1i@ zhl2Nm{ENQAf9lsmyIeUJfhy-}Q0Xh+0pQEPgTYsVqNg{3$AfPJWAM|U_~r-TQQ%{s z@*lX)@yRmqRIaZFmw+z>RsY+;A@Dv>^@`RzzCH|8z1D*ouNi;+I#Bib94I>aGN|`_ z6I6R22Q}UYZE*cQ0IHrlz+=HzfQN(kfugrhfry4^e=be}&jVHeAyD<10M*~Sz)Qfp zL8=;k8@v=eo|maz*MJ9s&jpqK7Et~84p4OSaZvp9FsSk$0afq+0yRD-Y;yg$5>)!17U{VsFka5SiLmVrvQ0o41i1l7(-@IdeuQ1!SA zRDXW}RQ7e+5En(dZUeueXDe3m*qX zkKY6j1|I>{AO8*>03O=w+H)j$7S|_$qKi$S+J6-&dZ~gc=cS9ycfz>j%+08~3a z3nE&hUx4bL)BD`GUkGaao(Zb|ZvfTrbub2>4XPhs52{|D07Z8XfGX!}pxW~Y*a7|# zycF!{cjHq9)gR9VA*JYDpx*Ng3Uh;8L!8!R25bRR6yT6n%aURK6d8qOV_r zqMIepboDwJRJ%{}*Jt|c72uP(e;z2gb`hw4yAsrUZUohz_kuC_Venw^TcG;$N1)!n z-+*h!@u0?|8$1KN5j+%p4R|B?E>Qh-{GhAXh2WK3Uks{!cZ2GuPl3+>e*vl=4jpp! zY6lPFdL4KKI0#-1j)4b(4}y?L^c7I~P8fFeJQqBY>tRssoB);oFTkgR_ke20`#`08 z2vm9h0Imdo0;>Ox*%n3oi%#Z0SR!ir>raEqck~rbPn-p=;QD${^l~St_udT_zz=~( zgFgh-AHM@tpJV6@wf`(o&#wl>UpInhgYN@X?hirr^Wj%HI#>&y#&rqQxZDEjeeVX< z{||vr1;6F-pFoZK&piGLd=l5c0lUH9g5uY;bgt-Z3>5#}32L0)3##4^gExSWfufgz zYg|7*A5?qp29^FkQ0@9UsP;$Ca@YZiE}jK00lxyO-0y-Xg1-aL1&_Mc$?eVHAzZ%< z6dk+))HwYWcntV)P~-V9sP{bL?;mlUlQU<5PvibHsQNw|R6XAXYWzOw@#~=I?GbNvRe1b!6MIGlWg%YQj2e!do>VkG}&qaD6JoungP| zz8`!U*bZJi>E1gIs$Q=G&j3FL9tHjYd<6Ut@W>}&e@;31_t>->|Nj7=!SfRaQtqDR>X4_dEce1wIN&J{(;6H;Jhpw9I=P6L_e>HeM_)$>(_-~--?5Mh{*ZH9CPk%W z9t-{&jKPDS?fA0*icX7Q4|o?Sdi_W6NbrE?xOyB1iZ0Fv)h~UZ`0qMU<^MT&1o&Q1 z{QUr^`t1MQC@O;&fo})j0iFPEd7i^@Q0;m#sB%97z8m~3DEhkb`L5n?09D@KfUCe? zfnNeoeSsUte+4z}N4yZ82hRgV_XqqrvIblYt^n@=Ro^f8>&HR0^Yjf`SibV z<2necoM(G{2dHuTI(RntD7X|n`DWMu8$6DK`*Z(xa6jpMWT<9(pU>3iVu;8C|a zeqQPEeDECZUkna`bx`B^Iq(wj_u!>q=WTBMpAEKi{Z3Hw@9X~lzktVaeZ=i(o13eTKkJuB+gI;Cn#T|AXK%@L}*`@b{qVf8oob=+D3*Q0cGr z*Cp^Wt}CF*{|I;*_$a9M90C)s11|+n1z!ZJf8P$C0X_&S-Ov2>2`~3@0o3zxP<(PH zsPVrKRQbC>mG@Kd>EM#PoV+>-lsvcy)cqk)?HU8cw>N_ccrSP+7`?)kcNQqV?FaSV zQSiy&t>DwamxH3Kw}NMZ?*x_Z8=&gzsile+*RrFMG8sXC)}Pcpj+t4uMyKRd5CPIZ*ZboyQ~p(p|3v zFX#RiQ2c#2sDAwhcqI4>@DT7xce`>A1GjK}7N~qTfmeW^0W}UMyvFJKOTd`xt>6*h zjiC7RCEzjOec-X+XF&D)_rNyrz}LEdTnV1c^%dZ9a28a*ycIkS{1B*ie%a$sJ??*x zyMHpM@-GC%CjTu|3FkM9IU|K9_9!BgJg^x`zw!}Y!3R`92w#{I&3UHU0- z4cG4n&jx=Eo(G=tMi;-`242ebm%*dJL*C@@bTH<+6FdyO20Rg*0!6>KfCqqgfa?EO zfEu4qfJcMh07ci2f=>qzf3u_4(?QYiCQ$v+3u>H(z)tXmpvw6qsB!ovC_4Hjcs%$A zQ2CB|i{r-oO za6JpE9nbdoT2S=;5r6$7Q1lqR!}af(;2B(YfvV>?C_20q)cAkUUq1q>+^4u2+F4fK^cRaht!s4_wLhXF<{J??8?BL4W1+ z@jCEKu5Sd@j@N_F06zn&Uw;CMPM`dKSDzR>nCtVwL%)Hr<()O&snUI;G#h=szV?cheP-vh1&9|I*HPXDNDe-V^CdO3JL_(kv>aQ}}v zya4RwdK&BkKLM(K{|)NB%RlbkcLk{ay9-pkJ_DWx{sLSH9`*^>?k-UIZU9xU+x-29 zLFIc4Tn`@qNmt+Nz-3(D1s)523|tOA?4SP;+`#qfPq{e64p8;~G`IqM98|kczu&dv z3h->M-wwv$cfk|D--8!}M}OM&&oHR>yc*PaKM3mmKLt+$pY(w1?^8fsUkPeFXTcM} zTS3+9o!~LxFF-v%;BOtj9Sat?J_}U8T?OiWw}GP9kAkYt|A21**FNaR>mNbMnFBxL z(ys!~;`%!9IPg~RQSfcxZ^1ivJ9&KbLvEa228y3Q2kO1Q0@d%Q{+%0_%fZvRZi1qR zdqCCyVem-sQBeKxNAO_q*v~q-uoOI=>&rlm?eVzgy%JtQt_;3R30-p_@0e%Wp`X7TE!QX*5fR}v1)#pv% zd0c-HJPq9Mi_ZQy18n1Z6jZx!2hRmR0E&M81zZXq^CfqGEvWo;Q181N902bFuLb`H zd@}f~FFU#&0afo?!6$)R`45(`-+uf*<*IZpO@M0XmC z|K|8Q_kIeV#G&8cbA2Uv5XXmfgWtb#?9csnj(_KTDX8C9!JqkaU0=`nd%!<%9KiYK zIF9D1aZGXO_hXK2oHse1!XaA!4-Uz^H*r7?_WNs|J;d1?z?~eYb6m&q0gm@`=(h#@ zM}PiecPpxaRe$e%@NFC~_t)aHzvNtW^dj&V;5$J`C+Y;R0AC3{2P|^j&iO`;7jXVp z9M9+cb>LlK_ziMC!Ep~ap2hJE&bv5{<9MS_)Zl!8Bmet07qEErcmDo|Ie!x8e+xbg zil(mx|BFMv*E&f5M~p{1cqZBUZt%Svt2l1p(C@|I>o^|t*LQI5dz}9fEcttvfKTK2 zC zC;s}mobKZI6~{{M{RDg=_%l$yM>($K`sH?oo#6A`1McGZ4EOKm_#x+#Yi|TMfTw_n zsPy+Ht}o;2GvF4m!to6M^dsQ!IR1=h_kwqW&*spt2tEeB0+c-e2Y-J*k3Ztx0~{ac z`uE^<9KYoJzrg{&)nT>qy}KjiT??%%+11lQm3_kI9A&OQCA9Jg>>&hbu;@Z0Ru z>iQ1OuL%#pgzJaF)4v-_4xg!tsxs_kpjlyTmLwU(cc6 z*En8kXKudYFwU>y*%7)Aev;$I9H(%7G{^HeKFXorQ5^5$Sk3b`@CBfLG5DY0k^Wlu z{+#1)xxP~u{Jy~XT8=|FU&rx#&R+vQ8QcMG=g{v^t`qPbpnm`6@r9iK1?S%cKgMwu z$8xUk2fqpa6UQex|1PNCD92qKC61dpX1V_s|LjJtFY@P~@)&bZzeBiwsyns+Pxj}h zfk)|?Pyc4{cJ4g}E(d?Z@hi?J!3mCnPxl<~431?Szvlke!0&SX?0R9ihW!(ETN15{t;J<)lU>Eoma1;10@V_|@<9IgL`hD6# z^h$7;W1MHd<&T&7-OE|{4e<4So67c&D$9uTn5B>`neiw%mkADqb;LpEIxl`0Th^ zi>H!CsTN-}-e}Bpu2?ZvX?9d=V=Jay*7}OEnW>KP#`M(19ZU3{n19=ArBYn4Zg1>J zYNgJ2XSEq~;%+yp@#uI`87sv}r5M*r#d5t-D~~iArMTQs5hYSmMqht?Mc2SUSKrW8 z%c*VL7%#=8n;NA`Bc3VMrpt{+sThy!q;@+xme7=e(oD71h)0@Z*0^|SeMuBk{mwXw zPmS}x!I@-7B~IdcbEH0AnwlcrCHd#^)>@gjG}M?WYRB_y`nL}C^!IgibX*&8uQI6` z*&8ZxC7CXT?3>E7v@5QZcEsDuQziFoJAJ6ySEzp6rdI3Cr5l^Hr9GalPBo`XZT0pg z@r|Jv!>$pvhe2Bs@6<3*C~xLf>#LPUxza4fRXQSRFizC4S(&UYgD;hE7fV>Y%uOEr>E8K?FpSy)SdAvoi>wF-voZ?R7i|E2 zIU2$pwQ6N7u9tU};x#DS*=IJh< zcRZ;TbHts0R4YwaMITukYbB$5V}tztda2}@!|rY>Hq<(MGklGagUs z5MQZ+3{X)bi#*RKM&fH^$>#rCN1Q z$?J=z@2S9wkV#S-9hdB(=F^F*a37Soz1oEB%1Ar++*+asGtJtVUSABu(TM~}M(71b zRDESB`z2;cW)}nMj8d(JC`u3;G@eda9`6`;eV15spxdlpo=^_g{sAXrVCB)#W{q(i zMQ$$EkfCZdMy~9nbz{iTO2gCGFp_o#DuaK^70ADi5T~S_)D?1@P9|GgZjB2Nv-B?`#17}1tl8jC^kzdl9>P1(4tqPe`D@b2;O?7+PLwkAb-jE99 zBpyvhk-sUqq8BAo)^J!!Y09!^2&V$#N^^RoRI?;mUTTP@NGNUlcB~C_eX%r)In!yR z=2^q#sY31L91R$KIEfC^)#Eur!XD2rUbpKzA;Rf3_KIS2dd3q~$RX|GnRL-KC?&I; ziVLSOfy~P@x*T=-2ys`RnJPEh_ch;ia#OstxToYM8PiU$G^b?LnLu@&ZO!r;!gC3N zMHNBz8(-4@vNor&M$3M%oEpa33+mU#pgcV@l{B3SuOhq~WlRS|)bvd32S1E?bwTM2uNAh*FhbZ8`zyOQg7^^<{CfTB=u;k#cIPx&uX;${qKr zkhoBI!ih7}YSBWkptbv61(zCPNTx^1W6f&Qi^jB$F2P>kyHJAG4z5>6Crb#w9Fw$+ zkcma~ue6Yee0#IetU2irY*sjXbaJLDqZ^gX5ZbsmD_9EEu?of(>c9=H8wl6k3qH5L zUqU>lZGC&xwsoL?(?C~m+&wVRKhPfcRa3{tjO9}=nU|#By{A5IcEWgqO7%8MsERVp zlxIrqQK7ItwLCM8SST#v$rkB_EjS9f%Ra0ecj*g?ROj(cGeqcbgnjuQbvS&&{wJWON-0;;;(U%&3ICX{h=#$N z51wN^TDPTt{pLXr@lEl$t5$pZCRhP=jKb>CI=NMuq;VtcU6*xJcvz+_yjQ+A8eJz( z1iucl@?+sBe*I-#eVe)mqxJp0y-jU&2!431a%s!v%a_!|g zeO%oEC!?&9=AMv<);eNCg-IO9**2XMt#|iLI!l6J+c}LTo#vj36jRcqk>=4$gPN)r zcStSP6+k5v7;Wg{8(sZZ=pQIZ7e*U;2BHn3LDI}%4>(m2;sH?_U8+&v1ZlUkDdbpcv6AMk(VR~9>xytxY2nEkWMVy^ru_FIa<07sQVxljC z$m#Ci=v6F?BI!3n-|j$QrV6(E%B=(4gM+drx-GOqbk;c7Ij+RE2-@F({>9iB zG_?i^2SJln$7&;+g<4=3HXF-<#B2?nHLA_gah)_Pa*WbK(+blL4Vu|qVhT+4(5@m8 zXT(Elj94hBP7%;x5$5pyzqG!#Me~?2X2?zL%uVdgnWdN_nLcyko22q5RU26a&WSMs zFqKm)jWws}8&O0(GGf`-KhWDX6gjZ+TtArCQI*eTgSk;59wX`;FLg$C+Z;tx`+BeE zPGa`N36RMnL{1sH(Wxe(Tn#%q%+BFx7`{?(&lh86J7K8u_Oc9-A;fetMtHenN$y># zonvu)1c6mUA_$ARJQ@s_@W2B5E^I-g%TrjBa;elJ8?uZEw{{H;br1A)#QsG6vCPl@ zEECr)v!LU$NKW{6)CnVvJ(wU-OwK8AmYU(IhIG+I%VMWe{?hB3TDoX$ysBf>YAaCJ zT%6r;Q;0}zN@^qUxWvDv0-|t@S2)jnjy9DDha+W~oteRf&{*i5VFrLXg9YXX#!9q) zYDRMdF2BTv*vWNJM?6qsy2DEx%;Xs`Uf^dn;o%9MUJMyJEmT0wQ{jos^p);&>?_A zVUjjG6^D_YROb+1+)^EdiHw|5)z%sHc3s{-a7{;VPhbDQwNY<(@4D`RLSI*JH|Il_ z^>2uJ6PPmVQ4J-zk|_}(!hvcqU6=*kt%q`tiEYxoo$<1vWmYQ`#%QS|4S_4WY+zZw zs5I@BgtnT*C~eklu@n_T7&QwiER@1oCoa@iS?on~5)Ca_o1mR7jL3{~m`7Q9+S%0w z-yCKe6n4y|mxB+rVnipoY&cVSh1n^MqF9V6&ON0odzRNcS+&UAq{X)N2BWF^zUFOa z(<8-_O7Lz9nij1x*QNIH8Y^TsB0g5uYrg=DI3vrG$Q6ccOu2}c9vIfL+$ASQOmyuB}? zL+>olV5*>v5_7ZTVhusQoKWXz$+_2F8EM^wCTN3;HdCvLFrr@Hr?S|*heomfrWbL+ z-#`QOR(*^-=oW5h=0tNH6s8GL7mz~pHO8s3A5D_5S~v8u4@ z!V4~l+gOf~)Y^l^)RJKJ%9X3)HsY(GO zIWAh#a^DzBw``r166TjmwJx8c9Jq3@d;MTE*t4mxYYTu=KR7hd)3*t@3g3KCD?L&} zsx|gz&zv>2zyoTMIVwI?Sabois2!#=2Q9j*04GXuk~CV z4I+e6d1n{UOX36g%9Qg8qQS}X%#7YhrK~V#okxQ#(Q1?%O{)!^rF_BM3U7y&>8RGE zH*_$VqDPCB%pK7^rOgd!H0am&1gSl^lc`_U9%&N51tDZQI}WU4hmSLDguvCZ7K`!~ z-BO1fse5A~ol|I;HS&@YacInoyGjifdZX8BoouFdPCwKE|lH zTyi9rsDLmvZO^KV{B1u0RACY-DN-<1(QK<3kW^(NH#ToTU!p-^Co#1tl)Fkp;w~p{gSPP7`7@v3#y5J+!3d0i8$P zb15bIkyz1?pU}1m9#NXeU%C=f^Z^1H$8_3)^E`1I1hsN`T;8teG?kamv5{<#hI3Bj zFp)_=U0{<{ZRv6p3G&cwi>9i#wi^ zR)OcWu=pm&SELW?8B16vHz)!YZuw}cN-$d>y>BZl+!7@c%bu_fkA__wTb(YW3tL+X z#%c4M7YYe&_ZjLa)y`N?d zCVVum2&LL8x4kBX;nK8zNts_%CBf1eZJTpbLQXweDBRerN=g>$jh!+H&DZyN6!H&_ zzGhVvQWX6|o|53zTA4X0@1xc`qHS)9AoBC$@NOyu%tVp2_0N3dFmsZ#nO0||IN8N3lWGTatPF{&_FhuYz zunU~FvgEM7*qUaD-b|&cl=Sv;?%A=#rrP|lXkh_*u+tGE`RQj&v|D9J|8{H7G_R`ymN)QBca9FUznf_pjpTsS~ zR?`!*%sDq!WZ_s+A8%JF7%Nri7wXXh|z%36E_q>)i)6`_A=an`eMz)HfxZz+tYL!RqE_9-C30x&kpNa|GuolJC zmzMpqoUe)&NE3UNrqGU7EZ)%%bvFk`_hD17VeYuC{dQP{8a-b{0Z^>@1+zw3aVe-Ch!pS?C^C$QjuvR^~uk1!OP`jZU1- z(2Hf+5PGbL;PaO^$N=y+L=xFKV=cpuH{{c}`7M9T7EQX?ODhHV7{^WVs+FtHan@br zmRO2_(x%3mhBRB+FBDC=*cKGKxg=D2K9uhHpdJTqX{Q7%35+}!)gek@-me)wl4aHm zE09}oh+FDu)45UV`Ko{X>QUVzqJS-OQ<$Tm&#*!1eD?`TkO|?Y=U+xsW9wW2I0$-A z^Z6tu=e%ic@=x|Y%T*MmsW(=5NnurX1F7el3`*j$sp<$TBUlpT!w%xnTv7g2d_R;c zXrU>8pU|)W2_k|%tCu39MOOc~)hY{Ea_Z2$5Tnh$(nK}Fz{1n;Ttg;FCQE}9L_9e| z-%0Yk7-=&q)k<>QMxy@pQ`@6Z=1w!t{SbwvWZpt@@@rug5t6oYovw0Tfflp{ehV3p zyJmmb2Q}y*+GDbd*Gx-`d6$g}x;bp^4hoq{V!_rXR(%TE^*D*_gr#iJKLtQgzd`qkL2RT75537)n#o`k->WC>7^o z#A(%^0-QGGXjZrshP6JKCc75$20At&HG?gFlLC7oW*L`MtROI@u^_O)c=sJeFHZA8}3Qk+4)rDGZZ=Hle zRGQkJzI7kUm4($(o|#;8%GrlHrSDuMt%^<47)j%F(JnrKDe>K-|ITF(jef$JTi$5> ztxvXO>6jqg>So~6V#6We9bAUG`gZOI@1{svP#$%vcQ$e zEMAq_O+NY)yY;E!E(?ohVIWE{8_&}*_2k=31nSiGR8QHM&$a4Wv$<)C%;s!;3Z>4` z_32y7VIrHFB_j&h7*XW~bt-nmFZj=;nheYK$gj|%a2FI7LqNC^b}`fQb3W;@Voh;* z3U`ZvrBwY#3Z&57l!!aU+=W*3(Z_AEnr@jI~93B|cIn5boTgoD5XB#alH-jK)afJq!>x z|JIalW68SdxX2z^5XP32Nd86$?IIShCZwoIff`{5wb*b@riO%?CEKTjEtYQy^M169 zR-W3af)JxrU4eD17ig2HQcCe>pSKcKO8`$+^(ZT(!@22AEo`s|m6?&O*bGmlNEtpe z{%zfCps6-3*ssS#?ShyzP8Vf2f~inA&Q_7S}hY zbJ4Qqr1=)R#Lg>mWR^?YvaV1rmfXO3n%(SgFVD~(QI?QTrZH0>U^6AXIgnQ?bF!x6 z+8*h15gKWdH!zxrnKdskc`Y?cWToiqj}WDlM_|5_GbbJEpi41<$c1m{Trg=li4B+B zc{s9_bid85=~%nWTQbYmU>w;N0PW%-%8*?b4C$;Cl#?#-v>8EX1EodzPg7`DsPEqT zhLrYkPvA#|0`y)CRkWdIwPj3squHf(!owz9TSBx{Y_DT<2&flT6i zw>5E>)*mwXE_iJXMvM1sx@>ssa^W+Fdxq?!r_bT=;J_-28}g9z)oW}(oFyzHSlW|E z)I?uiSO?lt1*f3krNGk0K^n}|!q0uyBVyLfsr95E^t9d98XwQ4HBKT}aioN$C-@-I z!Z2o(`&FlU6Z;#aYZ@$YfIY5Nr&5-}U@$;|Zpz&nYCV{kc_b!t9L#&2P35T`%Rz4l zbNo;b?hg)TnZ*^{=i47w;WfUwf!r++wki@|@Sls6py0yyn{5)y=X9)IH@G1dyAsJl zTFNv+BS2hvMh^m8N%UEKt_L9t${~FwLSl&!h%+R1&2j{%2%=-&X=PFaf+*96O{hdK zF7P4jyB{WWv~Z-M$PwpJZMrd~aERk#ze-)cN$kBij4XwvcSg)W#r4rz8Ka)(K5l43 zZ|m0Dv~EnsaiO<8atpFGKj(z-T5S+<)BM}B=co54J}#<5UOZ=>F$x?V;fj3`Lv zqT_0;scZxf1H?qMbCO6Ku6;tIOA)<2nl@h7Q02@K=byKTcNJsSUvRu_YGMs?&M#Fk zE$ryoCbPo|DrM9t1c{NpnfjY?4qfVbQ1Q-Ypf&Qsvpy`i=k(+_ABs9+^HUIF6}ZO_ zvlA^g48c^fEY@r_)0>Bm?H$pyE*W;OkiztGozAy8MLr7AIwKnqzhp1ME^lZ}NcfzD zYtx@DNNX?kUWf5w8rTX%X1lJRPjxFnZ>kw&&vAs@%LfmCom z+kHd1Is~eAYQon|Ppj+kzLzp-)a}xh6%;j@t6Z71%&j< zjI4!02&G0XRKGmV31DR^7)80_^kNBlxH+H4>SK%_REwr6 zAnZ9ao^?I|K|dq8vC_*)WLB&DAEm@1P|PTk=ExK;X;PW*EnIz9!V0SD1m=ICr&!qL zWLc+~*{eEMpXc{ZD)iRbai*}2WkH3ZYNyr*6%Z_!`VDxNZ0#Q^tQYeUNGoh0%-k8T zUb*V*!m5>pmFLE*&+c5c@~o9-uUtvO!T>87Brvmds|%}E7gn!|SFY?_dEr?rS@^bO zOHywXhD0qakJL_0Lsiy>OeM4N=GrbMmEwz-jIkRXlXm0Mv1vjb9SE6=$y^z0;^P&D zv??fGU#n6ve2a^ws*_Ar?@C6?6Un962hE#0#%o!6cKfL<>Fw$5&iY|h$I2z^-P*E( zmbB9|4AlzE-g0G)#SG93Ylnw67B0xr8IhN2g>F16Y4OhZf{}7#$yPp@Nu~-L(G1MP zRA%h5zV>W(aIw?1ZIz{~R<2#UDn8?kSf?vbUAt-(i|ALzBh?8Dt}OU39@L4OOhH(W#;ZFnT-9+dyJHPkN6NeJNG3`Z zzTjcX@}V~;l?kSMs^6o9$$h|?s=JhE>2A}>yu5= zw{9?|R6X^X@Pt}nSUce62-xwTdzj8+yAXv?uM zyh!+BlxFV&W)n7i z*kg`e$#_HKqL+b1z7=7A4$IQ#>rrm~jEKOJ?Q)jXA_PgPIHCcMD`du0n}ME^i0hf^ z?mJ2iMjBg&IMry9+l_3YXA69F6uwDXk?u-nFR55(i4;XhjMB90dToTKjhgg!k!|&% z`;FGrwTq|jWLU?Li=;p)6>AUOUykdLK0^xIF#f){8BOgx^k&GP83*`X&e1~ql=bP& zW6ij{YqkarG7?MOHag(}D$+Pmj|dmW%{?WUol5EzXt@C`HW%K#ER@SSv6?uM>X+>! z^4)h#HmU5crn+fPB}$VTmhrOoxWg9-B*tiofnAR!v;jl6IabxAh{iSR;LdpdYj@uv za$WS5%}JIeP(AuH%Z-Ok7sG0*$Gn~>i_x;mudC4$C2dre?RPebaw|_XHQ=FRO%S_* zbDN&+A&r_Cx(0DeJ7H8S(yF;3y==}ao*N>0*OQZIM0#$bG$yGJ&7%Uu22{W?ZxUPk zsaxVR^5t4JW@HKJPb0nU1&|eMAzc@x83Q#Y5>6~YOZ5@b|C~M5}3`@7;ZAvmc%wZ6eOC|D2QM+n&AQ0TFTB7*G2!| zF7mJ=_ImrKRw80HWU+mO6y5UM0= zgnyxv+yD1PB>yjzLEpPlhS9mqFHp-&z|B(w3nprnbNM8HDhd7nUq&FwKKA^XmSs>z ze55*R5~~cErx2f~4YzOA)d|*Gf=o;hiW+D%WEgKpGXJ|2p;kfF%g{niW`Y3~h*Fxa zl%c%bCU_xzC6huUxP7gZYxJ0sx)cJWEd@&ZYo*xAa|9*q%rRFPaGB)Eh9; zWecQiF_|fn-t??o#ocmt8KxF-kYrbJwmN}HpxyB1zHraQBoj__xt;Xp=B0+Ncjg%I zVGvOx^mnYGx8B>+yJYl>Ak3$0+Qh28x`@P5zXt1(;IUJm&54rhS3ar5b3zUyH)RoE zna@%XpZG#rMt7-M7N`n(sm{o`mQD7f7u>sa^hYmvgA>ZCBgUKwz+9Iu&~qm9ov!4? z;gu{1%85~HwttnqXK9@`X%xJlC*=|5WLyQZ)Y=H{iKosSjYZ4V#(7Vm;E)_5vms$T zp>?msa@7s#_ELlSkLQm9Q(wG7KKdMn4c(j@SyNT)&R3dbo

^NVABiC?)DFlg!UU zo64*}(`wlvqtJkWC!ItT!=(;k)+%kAm=eb#Y5YJfiAWed`0l7}(?It_Z`#}y`_22h z*tZYLmak}gC;0$GN&E24Puefagmas0B3T+qnBRAfW~iNI8{mN11=Q6(8 z`W!DOyZRxnWp-yDg!x_ltf`Y)?aH2hW#kciK`v4|8MhE^aQ5js$`7Jn z`}�l*7yYU5T7mok>(y%F{@0rhnT_WLBrMJ^z6R9r?1N>4uucvF@@DX)V+DQBlnaV?PA%1HIn^Js)RnKo%jVc_L>&#U_-UA z|6dv(k=N*A4dQW3Jm`#SnS32h*k4ZLl|~b6H@h+Pg%am2Yug&oOk6T&Eu5Rbb*LEO z;7KwpK9Zs{%~en0`X}1SucZRJpRJu%Z{$ql(mk+=4J*CFPrMf_zHV<^SwS;9!hzQ{98 zVc92fj=7z6Rc;`xmlqn1{`t8q?Ht^3wRVpB-pr^r~SWs4jo0Co0Ej2;cw(aaRi@cnjXepun@J`4L(e#v9bHX98th} zmT4B66m&UTA~d8ZT0(ey`wb~K5I|6@B#I`?nAKwL%ozpF?b5b~!@chRLeG|-f;R@b z!WM{{-C@WO-et{oF=~i1KHi%XJxihxfKJ^tiN-K_kP3T5v7AH94(IdB{*awRtfP}6 z5N_#%+>n%lel1fb)j&FgWNd6wBOIZb2^UUM&&>4|n9M7SjGeEkNSTw7-5P2i7uCn+ zP7c$N!4knSlon2G*k~zNr)vsUT!l*69=;2=4jdtO|$}IFq38-OUD}7%BG5G&Y+yS(>WC=T}~S_ ze%ci_=ta}KHdoB>g_|NvS*Bf4|GF(bo8A8^8w#dY^mRJrIG*x<-FQI;urDS_A2BhC zjK>6%b=+d(vj>c1seFJChOh1)*xcXC zuAQ88ZC1|_&+zND6ibja;EwIcD2mm}c;}LsBhH{=Bj9~8CJeWt-I>gVNo3ii6N}30 zY#r<?whGpUaecu$xrEP8g+rG z(%c4(2ue(E=ozD+HkqL7L$`Ir{pxwlN3ZHC@C&1b@RK7%*Refgn!LnDCC(LKGMTnI zvZy52%WU0!$BLZYOHRn$MfoVbZBA0#zOm>S%Jy#zvfOXpNWWLTksicp5@`p=7V$VN z9l?~0sI-nX4in()gvP-E*;bB_ipj!GjDvL2XnUfGJ(@Bp4+Zu}rE)%%WLz*l=iLti zIekFQbKQ_PicQyI1E)!0W-FTyTbMFb&trsZw!Y1Ffo#twY(kn)bOjX;OI#vyaD)MS za1okuhrVvo0qxGAQh3~uPo%sQr+fW`@JBcnEVsly$~~`j$%g_ zpzTb~sw@1&xX4LS{CuvuG^^Yeu^MJc?$tESc{Fn#K%ZY6PP1fn8 z^mIpW%#5}?m>aQ6tJGRNeeaeZ`pqP_Tt2+}_P(y`2YN2=-hF$t*@Pub=D0$Z2vmzO zabCu*L<0Zja!5yE#y!DeNdtRkw4kM&&5`ajY0h-83~cq46k8@VH*M+K*4J}Q$Kcj} z9HPFSYa^|`>fX{VW!$A*C;K;aMVnaP08d!&NYfR?ExRP8W`ho@XBb2XH&L*xkixE&ke0Q_AmxfIA zakDC^sTX_4W3QRb=yX#8P3eSvs^;8GYVBU%6r9{?vy>FXUoK0+)`l^yrM)iq*3#t*5Wuyu&V*=jbCR|E6Riog;G$`^_o)7n2LPDPOA@mbbNF|+CB zu)PcI!VG4PYfA>nd)IlkJjhHfLR#rvcv$4@)y6hSmN|;6#T4k3S)6&ZrD&V2W8kg^ zg}1^L^55XyF?gf5J6bo;f4Th^bUO`kuVdcMf(mLdzE6J7&G`yQ63=4BPKu-v2>FUw zzjM|}<>PbG+{!(p6@#!5Wy6K*WNo+*SGvB^92dW0jwDy<5i6DH6ilNod{n@de%ZevLXg>Oy<-_B>DD#VXXvLsPI zyv2l&BNuk}%GqjIhUg3DUa-ZWv(xvmMW-{K7u%uJKXre6icL0U%pp;2f6j33_vReN z$AM4hXyi0X6HG&W|GKa^S zKsbay#7g+mG~xscLtzp+9YMjs69}K@xf^lfHnF;y5?KFU)drqrI*vbmNGU9w@F8>U z<4JXC5;nQwW-JaQ#We%nL&F1o*Rp1|$1i<#Q{C`X&exKboz!OZDx*HDbr0TrOpX2~ zW@oybxg48M3e8Y3aVDFa#PLCV(>WGCGLhYkcHfTk0wuRPoJ2&tciYYOV{Xx8unpsM z+t10|GZrwjP&s>)?BSVWOj)TeXSV#cg{QSQ=x|sA7N$&0t=e=m^@Nc5YsrkY+NEWT zaG@A=FWFp!-InPxlY3!tx@1~Cp-~C}Xd}?M4;5pTyBro!lin<8#I8w){Iiw^$dbYC z%@JQHYWL6(BI}C!dah>w&>l7vZ8f&Ngb8tqt*!RErOknK4;5Ho~=a z)?OG6i%x^DtSK@AeOmpy=o~a50)kj8W7L&%4=qd8ZBW`mNPUntQ4++Cn^|uQOXu2K zC&4hh7D<@wb4ujz{IscMUyc=QP8Z_lmXwAk&WRmmUIMj>%tKm0?bIw+MrzgOZ|8%! zVPzRCBi&=|!a8T8voIwIZ>M+leGWn>mHfE};#M~WLxc@kpbk<&Y`Wza|GEWqrV&`j zE-p@&74T;Y{S?_m8g)TtvKW2_cey11lPW|OXx5SuY$}VFv+6@El-%@oSj#ddaIkQWZQB7Wr>UD>XR2HP0hWR4}^@W z){ttBz9(^>e8zGdZOBYHSqJpLUjQMJ+u)}hT9!H~kqaf+gte9-%2i9{hs3cIvm_d% zJ?kfFTFQuqxAqeq@9w+2Tf4G`^%~NH?EVec%(Lx+s$a@PAyyG29GcUNai`eX(hG4E zncsVm&b64UCiAEdWJwG4pFE%J)^hIHvB)_D%$#|)TU4MO_*pUG7s+)e0Hh? zTh;loGKtG_UPfzd&sm+;rgV@mPpvFmBy*Lde`Acyu83ID1Un;GY0$oc$4GDlk4a&7 zUlWNdm|mYLMW$*ggRdlW(MD&DLHMrPfnTH@EgImxYxh)kL7F18Cql@&Z>hp7ZMqqe z&xWQv%dLcw2PWT{DyD0<+MFI$y~DJe>mMej=z{Rcg7>}X9v6V62x;Q5n3(XTJR-~) zOK7HD%Cyqzig_c7i4$cB980%8bqOWAXKO`P?%<#WuQFlSZQ+Mu=`Tu zoNH$Hv0V5R3C%GP`(0P-s__hENXw#4ax30Tk)M~B0_1N(RO^@{eto{P{QY`$L=P+a zywUGh-VA3!_a{;cQ`~Zu5G*-wldtVr!4|hc%FmPe&CVG7$rdV3g=x3tkbkVLS|`|) z4V#u(b=#(7(M?&@WfFVgcxqP1#YTSm@J|m^Rn4`LrWx^Cw&}-M44ws10k9^GRq^0 z71&@kncD%@E$D(}{pXJ@G-%tv2HG}x!phrp0fg}~-Dk7PL}K!b&&FMB1cxA4#T26* z%FZ`_4;^s$opp;=39jjb`VOrIiQtvr#HqcnnIc91cfW@Dnv%d*{J-TV)X%IlD# zDK8NZOvRKNc~?+$TpE_qIF6vLy-)H1X@&hZ2lM%?sB&^|I%E6?)Foe z;#ONZ>{3adg^4!$P&57JJj=vwDYPS0c7=*W&9BHl3&oJ-PRYJne+8ex-B9K><tcU)C}3O zV{C=L>oSSV5IwS9`c#B?TAnj!vtdkECM(=As{py`O4rTRb-9Fr<%6%5+0O+nk7kcF zzuH+dqds&8C;Re6?(n zngu$WvPi%O6}~_FGLeO{V{|YRjO{$TWe%ec&wB#_A+0#M`pUvIm1n z9v36ZW%A4Y@?YVgsf$1 z#UjrxPIWp9>C)Unr>C@11$(OmQ2m39!Ni$dJ0bvVJ69}Q=fGHEMu z8x>P4k)s|PVCPD$?bmIwoj?YCt3d6i61b{A%3?t$I$A5pP+Ej2>6`I%5^ zp&e`)#k*7q1Sun3-o@&#ySzZj7+IfYvRi;H98RM86g`3V%tx5D87+2!RmZ7*DZi8+ z>0TpAIzr#Cu&-$-1a=(3HpU@xq3V4s2uCB)jwVt`bp@B&as{>P!!cWcPfUW3Gvu1( z*Q5AM=r?azTChN*CO;6LW1rKzeJ`+E=4A<+-=Zh=6@kq+FpZ~glmgvALRzVp?tjZR zF~s4tD;hCNZGp=^Fx~Vzd+}JDDok8KW`R>A$kh7a(?I23Ds-!nZZWQ+y7VqB!#*c7 zF*ZVa)^#ocuam05T;qQ&>?=o28GEc^Koa8@2qHAS(G!aWC6BSa1u}YF^5Wc*8WJG>Fa(iTK z<~#tnpXHCq6gf;0Yn5*ZD8tSgF_?PJT1B_@u8eux2}k?yItxFndz_oVLNPJ}#Fweh z;LI3mgKUr~QD%S08GU&Hmoq5kuoJJF&UPUVb4W7I)?)U|8c|<3Nx&Y2ni!UzMQ8?j zrX?aSIdnSQ+q%x346c3)nLUtm&cZH3-afH*o^|XcHuLt948ByPn$*i@4hls3*H(ih z%Jc#TQ(9sFUA#B!aA725!`Gt`Bit181m8i@$VJoT{Im!i{!|o?A#1IUaWmFk`~lIhjs-HdFJ(Zs zM&S9L_v|eziFWMe?=sSpZdH>!pmY_IcRBPi7lf>MQldP}cd8+tYvfZ^&86aR+A`{F zm15t3nfYpAx6pSf*D(vrH)7&2Hzi8bZKBPwA?s))FqqlqPotoS?Xw|G%(y>uve5p# zZsNwaDnxr|K9|CsuJA7x1)CWuG3dTcQe42fh04xbLsV#}!+D65kww(1@v4r<=zk(| z%kwEm)ppolCSjl6z=*^_`HrDk+f|-Lt2brRw1f^bhIc_Cvq5u{1(Z*f zoCI)tBrz&t0m7v|N7~hnUnL7|-aB-CGxEU#4NTM?6PgxJ~5PuYo;#)wvdMcD}aa6|5B2I-VldTT@X-MqYdOB7z7>P~@D= zd*|P0_ulO041QZd>c(_R_COo>&ahOIFY>g=3jLw=mF9`l_S6XprWBRodlI*$uTnBs z8XmP+wpM_7skZyCB`u{%-8R2-tt#HC7tYfg!4uWr@kyg3Xfw%IK9S8Oy+W6et|aij=PO{iZ z;?_GkDIBGVttFXK5?47|=aYlXRWi3ZOjIqVR0tTohKYxb!R)80cyCc3sKe s@zo#Et=6;?e*W+4xt-}TN^M_umc!U;7{Amv#HY{#IR`eC*Gm2W0BRNaQ2+n{ literal 10878 zcma)>dyHJyUB_=|+K|nIB$O7~q#U<6eq}bh>)1(loy5=Bj^kZpuN|5P$(fnEGk0g^ z-syeJdKVR;RH#L$D1ZB=~;tH^CnPe-FG3{7djd z;NO7n1-}o@gEw;s?RygZQE(O1xjw~ zIRe%H3*bZGAAq9gKS1g8T`*PWd<+!dp9Q7g7G%jF^Y{WNeti)<1b!Rb4}K74O23xC z`@o+8FM(eI9|3PLrQV$cMbA1YI(`LQ0KWmA0B_t;+S3v!{dyi0AHN7{-*17E$MqPo z=xc!by$rHd@Np283|<7~cfJgYuYV6}oqzTH@5dR4A4kCZ!2}eYzYXdfe*ubbQ!rKY z?gFJp$3R{M%b@nT3~K#f0!7#7K#luj(12eDQRU#fAgUHz&te=QxDyoL9|1MK4~pK8 zgObDNLH>e2Ma6-ceBdKjAR} zb^cF+urzoP)OlV7#fLXRR3o^NP4s&gsB<0%MdwA|AA_Rr7r~ps&-wn}1x4rAK}Zk& z1-uS?FG7)=-Ur?Y9t8FNFsS`P-~R~^)e1fhN)EpRO3z;f#gD%Qb&l_Wm}YPT%oD$M zfU?Jvp!U;qil#Ao9-yt!nl#B>yjr16KH}$on)cH(L+j8IT27NbSI=?(MZQi?izYsZ zMm=*hNO!ur0iK|pr-?VBThA2jr)ck{NhYf_$wZH6ENIWss^_Wd3pk|3w0mjtCx>Z< zHlj&xdZaJ1Wj#k|;-{YX(4@;x(8T+7+Bw=HO}x}29n#aMU8Fs(AO3ll#|s{%e?REI ze-s?hj?$zbmL~sjk`~db=NZ2I0Bwo(G1@W>(YfakpOU5g!;`dIX!p=$2iMacqaCA3 zFQ277O4B1f@6o#Y!IRN0(azEyqDg-qrs} zuU6N_ozM)DHoNL5+q~phVVZTLp+*!@+wANY_n1!kWz+aHw0UT<^}(35$@k&qJhiRd zG#VwD5HTieB~1p#a>8zyj%llp-L+|Zf@71*rr{tNi4pbSG>q+F8-lVh^c;7ikB9vb zrgn@Zpy|h>G;HNbx^B8QGtDrJO}SKi%WDZGT-(y=hca&^NkbFmnaOgS7oxK0x9K;Y z17W$|qmp%bdcAeC*3@I$%yz3UBC(aEi0O!pO9*TkQnyiza>pavN0CZhHgPd%hN&CUPLk9_6NhnzQL1a(u*DWex!3H0 zby!GUSqTvbykpC39c~O3oEf!?!O&Az&5-GM&c5xKBKA99H6lw|y)ds&x+~Z{jE2Ol zM&np*u{Jl&bqr%?)@V%e=905qa|$_!sk)Aof`wUG*qA$T(7=@f4T78^H^~Y!O)5jJ zN7fwNIlUKNU^Ah(7p755gUk7qQd~VNX=VwGX^BN{(}VY!t~*Xv50QxEVN!z%-mUxUVp+CWM#6R)K=b7s-Kl!+yVdR}9;7>XJqpW*O}F z#*)<|G6G1^&!dJn<7WOBPiYiH`XdKc*0(~N?7(jS(PCoB`w zsZISZSDgwjD4{ED(b;$zEz3~p-X$w58R6N7QU5|2awXggy=XYpW~@jSm3vPeTqv4Z z9_59zb`BzvsvO-p#L{FqV{pOeyVa7*%5~ZaVsjxhNqR`RCrV*gr69p_qL>=5n=nn2 zG#kg8;NpZ$O=Na*7!yh0MSo!^vzv02;F8OxDpf%OX*eHTDt&I?(+-HK4_60u|IYg; z(&==iPuP3n$oa+7iznyJ5uc$zS*bc?&SCIeV2L!PU#d2h)JpjW&Jpk%$&bJ8-D{4@ zK}gz*7az~e-n~3s(bU+aNb-9)6%hGMs{Q)k`?mH z2uGLt!A4nI9QNtN)?w>5ha3>|Nch9cU5iGN8@i~XPn0I8vj?w15a*N#s$A;u4(}IC zwpov`mSmMoy>YtTKrR_tJMYwDc6xUI^xT1|^P!BaaW>b2GEEjhX$8**P;iJAYvRzL~k183s1a<94-AJ#J>M zF>_yI?x2~SnZNJBeP>TB?>>HEdC%^P%g6T3?U{PqW_e>7Dzm=Deb1Y-QJQfhSx(wX znv87A92(^1_h%12czE4*lVqBR@h~&vPC@)=EQfZ$tszYa8Mv-P{iFx`H*70fwTJO| z#pUU4Ivzi7y6M!}(`QeNSu#64Gvy<7W0~79Ou{(t9rkS$FG#E@X8ll>68Rgut-JP`UuiG(f-iS%ebFQ`6GieVNTHXUq9IX>J!d}X{J%e>9(*UB<9BG7qch$ zP-H`PgA#fA@mfdI=;d(0%HxZB4`q#33ponMRQQ@0)-1P4Mv)5?-JMf*zKh0RieDum&=segGhS)BxYA@cKb{Ho~_GdgT$0ayb_U&dltBz>{~jo z*RJx#>5Zh+K|3gk2$L&eFB)04h{IkIZ@7DY9y84J(4Qn9S@eHZH{gmk>!)s`?+as5 zyPGx|5SPO*GMX{~)QpAerMUUk+lXfo0S^o>BPna86uuTfbg4Ejg@boVUx~aa;V+u_ z$ZfQ2ToTYh9a)pATFIR_fS`KD^Lm2O^=N0_r8;BPPJUNn3_K$O*ipeHU#T%x&PD?S zws|jRyO;JI#^Gbes`xg8C(8$pDhdd#)o_HrX`63VSU6f26r|2=rzjY5>A|GY(FWSYN~E0`89p~{sK)Y3iMVThr_DJ2CUnmg8m{zY z*=AI)yk&BAOW*Lvv-nZin_|v5kurU%H*_vn9{Gyw$CVxAaB;lt4n84uPGqTv&G34> zrM!|S#+`K=inf_lRx9e6S5I2NZo_<7Tc2r#Bawnuql!;aFINqYvtxujRPZ>IF*J;H1;;rhGI_rpcg zv&q;q(-EAv8v~*;Zl{t`VVt~i{gQXV$;-0R)zYql4MT@`+?I3PvE3k5DB_|_brmQV z2yL%~h9DeaSD0geRVvmDH&n8yR)J^KEHD8^ZCkg<>Y_z8Wtb4>*oot}tpasXI^I0o zWBRK_)+_4O?JGrEt}PL!(LlE5&6sPOkIp>;h?4%ujEF9%eV;Mcn&9dXQR|&o-ZXGx z@lto|18f?$rMlsAjx(;f(aSkkGDOUwauavLFhl6U1=+1#Rk$Qi-Qe0$(0iun5tWq$ zB<&_C*uc~Y0= zxKeco%hAw<{3u#ui5!LBrc5P!zC#|hOkQ#P_-2>Cs2;LsJfK}*wG4F5 zXWT81O&A!t>Y^R@Pk2QXbld96Za0Q93#W`$5Vh2Ki>gq0+03X**doI$RMOg>byBx66(nY1eB$->Y*aZad-Kpv_nmVMa8~5NIRO^zDLqnD_ zI$IWJHf%R%Ag)YVVYtE2>UyafjkC_OL=*V}P11A*>!-;_`#KGwg;L(ec$TZv#8Fl_ zyQ@T_KIFtt7#yjG}0v?k_nNV`QWLd4T4h8 zQp%b~+%(Lg^Cy-so?m=e6$E#;*{U9h4xTv2E}z!Jd1JF?CpDaNI17MzEiUAD>>OHW^~fRcU?fU?#M2J{DeTl9 z%hq)rXQa>z)%9J_mvp>VN$6XyPn(Q(Nf$A>zz+W*DPwCL^u%Yb-6$)*MW)@elM!1L zo=s~l)|q|eJY#(gSoHT)>leb<6x#Ipd*fn0Lvay5BI{r40Nv($m&(3zwXxCuLu zLOHckfd|F#m7wxlSqSR!znfv9Ym=%$7W4G=pnA}m)N&iBuIPG;j+0qa4cb}^f, 2002. +# Translation of tar to Croatian. +# Copyright © 2002 Free Software Foundation, Inc. +# This file is distributed under the same license as the tar package. # ... wishes to thank everybody who helped in good faith. # # Well, in 03:12 hrs (for 1st pass)!! who beats me I owe him a pizza ;-) -- TM -#: src/create.c:1552 +# +# Mirsad Todorovac , 2002. +# Tomislav Krznar , 2012. +# +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.13.25\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2002-04-26 10:49+MET(DST)(UTC+2)\n" -"Last-Translator: Mirsad Todorovac \n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2012-12-21 00:09+0100\n" +"Last-Translator: Tomislav Krznar \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Gtranslator 2.91.5\n" #: gnu/argmatch.c:135 #, c-format msgid "invalid argument %s for %s" -msgstr "pogre¹an argument %s za %s" +msgstr "neispravan argument %s za %s" #: gnu/argmatch.c:136 #, c-format msgid "ambiguous argument %s for %s" -msgstr "nejednoznaèan argument %s za %s" +msgstr "viÅ¡eznačan argument %s za %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Ispravni argumenti su:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" -msgstr "" +msgstr "ARGP_HELP_FMT: vrijednost %s je manja ili jednaka %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" -msgstr "" +msgstr "%.*s: ARGP_HELP_FMT parametar zahtijeva vrijednost" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" -msgstr "" +msgstr "%.*s: ARGP_HELP_FMT parametar mora biti pozitivan" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" -msgstr "" +msgstr "%.*s: Nepoznati ARGP_HELP_FMT parametar" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" -msgstr "" +msgstr "Smeće u ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" +"Obavezni ili opcionalni argumenti dugačkih opcija također su obavezni ili " +"opcionalni za odgovarajuće kratke opcije." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" -msgstr "" +msgstr "Uporaba:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " -msgstr "" +msgstr " ili: " -#: gnu/argp-help.c:1657 -#, fuzzy +#: gnu/argp-help.c:1659 msgid " [OPTION...]" -msgstr "" -"\n" -"Kori¹tenje: %s [OPCIJA]...\n" +msgstr " [OPCIJA...]" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" -msgstr "Poku¹ajte `%s --help' za vi¹e informacija.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" +msgstr "PokuÅ¡ajte „%s --help” ili „%s --usage” za viÅ¡e informacija.\n" -#: gnu/argp-help.c:1712 -#, fuzzy, c-format +#: gnu/argp-help.c:1714 +#, c-format msgid "Report bugs to %s.\n" -msgstr "" -"\n" -"Prijavi gre¹ke i bugove na .\n" +msgstr "Prijavite greÅ¡ke na %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" -msgstr "Nepoznata pogre¹ka u sistemu" +msgstr "Nepoznata greÅ¡ka sustava" #: gnu/argp-parse.c:83 msgid "give this help list" -msgstr "" +msgstr "prikaži ovaj popis pomoći" #: gnu/argp-parse.c:84 msgid "give a short usage message" -msgstr "" +msgstr "prikaži kratke upute za uporabu" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" -msgstr "" +msgstr "IME" #: gnu/argp-parse.c:85 msgid "set the program name" -msgstr "" +msgstr "postavi ime programa" #: gnu/argp-parse.c:86 msgid "SECS" -msgstr "" +msgstr "SEK" #: gnu/argp-parse.c:87 msgid "hang for SECS seconds (default 3600)" -msgstr "" +msgstr "zaustavi na SEK sekundi (zadano 3600)" #: gnu/argp-parse.c:144 msgid "print program version" -msgstr "" +msgstr "ispiÅ¡i inačicu programa" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" -msgstr "" +msgstr "(GREÅ KA PROGRAMA) Nema poznate inačice!?" -#: gnu/argp-parse.c:613 -#, fuzzy, c-format +#: gnu/argp-parse.c:614 +#, c-format msgid "%s: Too many arguments\n" -msgstr "%s: za opciju `%s' neophodan je argument\n" +msgstr "%s: PreviÅ¡e argumenata\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" -msgstr "" +msgstr "(GREÅ KA PROGRAMA) Opcije su trebale biti prepoznate!?" #: gnu/closeout.c:114 msgid "write error" -msgstr "" +msgstr "greÅ¡ka pisanja" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: opcija `%s' nije jednoznaèna\n" +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: opcija „%s” je viÅ¡eznačna\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 -#, fuzzy, c-format +#: gnu/getopt.c:626 gnu/getopt.c:630 +#, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: opcija `--%s' ne dozvoljava argument\n" +msgstr "%s: opcija „--%s” ne dozvoljava argument\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 -#, fuzzy, c-format +#: gnu/getopt.c:639 gnu/getopt.c:644 +#, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: opcija `%c%s' ne dozvoljava argument\n" +msgstr "%s: opcija „%c%s” ne dozvoljava argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 -#, fuzzy, c-format +#: gnu/getopt.c:687 gnu/getopt.c:706 +#, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: za opciju `%s' neophodan je argument\n" +msgstr "%s: opcija „--%s” zahtijeva argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 -#, fuzzy, c-format +#: gnu/getopt.c:744 gnu/getopt.c:747 +#, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: ne prepoznajem opciju `--%s'\n" +msgstr "%s: neprepoznata opcija „--%s”\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 -#, fuzzy, c-format +#: gnu/getopt.c:755 gnu/getopt.c:758 +#, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: ne prepoznajem opciju `%c%s'\n" +msgstr "%s: neprepoznata opcija „%c%s”\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 -#, fuzzy, c-format +#: gnu/getopt.c:807 gnu/getopt.c:810 +#, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: pogre¹na opcija -- %c\n" +msgstr "%s: neispravna opcija -- „%c”\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 -#, fuzzy, c-format +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: opcija zahtijeva neophodan argument -- %c\n" +msgstr "%s: opcija zahtijeva argument -- „%c”\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 -#, fuzzy, c-format +#: gnu/getopt.c:936 gnu/getopt.c:952 +#, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: opcija `-W %s' nije jednoznaèna\n" +msgstr "%s: opcija „-W %s” je viÅ¡eznačna\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 -#, fuzzy, c-format +#: gnu/getopt.c:976 gnu/getopt.c:994 +#, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: opcija `-W %s' ne dozvoljava argument\n" +msgstr "%s: opcija „-W %s” ne dozvoljava argument\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 -#, fuzzy, c-format +#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: za opciju `%s' neophodan je argument\n" +msgstr "%s: opcija „-W %s” zahtijeva argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" -msgstr "iscrpljena memorija" +msgstr "memorija iscrpljena" #: gnu/openat-die.c:40 -#, fuzzy, c-format +#, c-format msgid "unable to record current working directory" -msgstr "Ne mogu promijeniti radni direktorij" +msgstr "ne mogu zapisati trenutni radni direktorij" #: gnu/openat-die.c:59 -#, fuzzy, c-format +#, c-format msgid "failed to return to initial working directory" -msgstr "Ne mogu pohraniti radni direktorij" +msgstr "nisam se uspio vratiti u početni radni direktorij" # -# MT -- FIXME -- for now this is left untranslated, until we -# come to UTF-8 or something alike (20020412) #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" -msgstr "`" +msgstr "„" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" -msgstr "'" +msgstr "”" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. @@ -247,9 +249,9 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" -msgstr "" +msgstr "^[dDyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. @@ -257,26 +259,26 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" -msgstr "" +msgstr "^[nN]" #: gnu/version-etc.c:76 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Pakirao %s (%s)\n" #: gnu/version-etc.c:79 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Pakirao %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: gnu/version-etc.c:86 msgid "(C)" -msgstr "" +msgstr "©" #: gnu/version-etc.c:88 msgid "" @@ -287,24 +289,30 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" +"\n" +"Licenca GPLv3+: GNU GPL inačica 3 ili novija .\n" +"Ovo je slobodan softver: slobodno ga smijete mijenjati i dijeliti.\n" +"NEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n" +"\n" #. TRANSLATORS: %s denotes an author name. #: gnu/version-etc.c:104 -#, fuzzy, c-format +#, c-format msgid "Written by %s.\n" -msgstr "Napisao François Pinard." +msgstr "Napisao %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:108 -#, fuzzy, c-format +#, c-format msgid "Written by %s and %s.\n" -msgstr "Napisao François Pinard." +msgstr "Napisali %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:112 -#, fuzzy, c-format +#, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "Napisao François Pinard." +msgstr "Napisali %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -315,6 +323,8 @@ msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Napisali %s, %s, %s\n" +"i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -325,6 +335,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Napisali %s, %s, %s,\n" +"%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -335,6 +347,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Napisali %s, %s, %s,\n" +"%s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -345,6 +359,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Napisali %s, %s, %s,\n" +"%s, %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -356,6 +372,9 @@ msgid "" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Napisali %s, %s, %s,\n" +"%s, %s, %s, %s\n" +"i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -367,6 +386,9 @@ msgid "" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Napisali %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -378,40 +400,43 @@ msgid "" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Napisali %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s i ostali.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: gnu/version-etc.c:247 -#, fuzzy, c-format +#, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" -"Prijavi gre¹ke i bugove na .\n" +"Prijavite greÅ¡ke na %s.\n" +"Prijavite greÅ¡ke prijevoda na .\n" #: gnu/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report %s bugs to: %s\n" -msgstr "" -"\n" -"Prijavi gre¹ke i bugove na .\n" +msgstr "Prijavite %s greÅ¡ke na %s\n" #: gnu/version-etc.c:253 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s početna stranica: <%s>\n" #: gnu/version-etc.c:255 #, c-format msgid "%s home page: \n" -msgstr "" +msgstr "%s početna stranica: \n" #: gnu/version-etc.c:258 msgid "General help using GNU software: \n" msgstr "" +"Općenita pomoć za koriÅ¡tenje GNU softvera: \n" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -420,7 +445,7 @@ msgstr "" #: lib/paxerror.c:58 lib/paxerror.c:71 #, c-format msgid "%s: Cannot %s" -msgstr "%s: Ne mogu %s" +msgstr "%s: Ne mogu izvrÅ¡iti %s" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -429,7 +454,7 @@ msgstr "%s: Ne mogu %s" #: lib/paxerror.c:84 #, c-format msgid "%s: Warning: Cannot %s" -msgstr "%s: Upozorenje: Ne mogu %s" +msgstr "%s: Upozorenje: Ne mogu izvrÅ¡iti %s" #: lib/paxerror.c:93 #, c-format @@ -439,929 +464,974 @@ msgstr "%s: Ne mogu promijeniti mod u %s" #: lib/paxerror.c:101 #, c-format msgid "%s: Cannot change ownership to uid %lu, gid %lu" -msgstr "%s: Ne mogu promijeniti vlasni¹tvo na uid %lu, gid %lu" +msgstr "%s: Ne mogu promijeniti vlasniÅ¡tvo u uid %lu, gid %lu" #: lib/paxerror.c:127 #, c-format msgid "%s: Cannot hard link to %s" -msgstr "%s: Ne mogu napraviti hard link na %s" +msgstr "%s: Ne mogu napraviti čvrstu vezu na %s" #: lib/paxerror.c:179 lib/paxerror.c:211 -#, fuzzy, c-format +#, c-format msgid "%s: Read error at byte %s, while reading %lu byte" msgid_plural "%s: Read error at byte %s, while reading %lu bytes" -msgstr[0] "%s: Pogre¹ka u èitanju na bajtu %s, èitam %lu bajtova" -msgstr[1] "%s: Pogre¹ka u èitanju na bajtu %s, èitam %lu bajtova" +msgstr[0] "%s: GreÅ¡ka čitanja na bajtu %s pri čitanju %lu bajta" +msgstr[1] "%s: GreÅ¡ka čitanja na bajtu %s pri čitanju %lu bajta" +msgstr[2] "%s: GreÅ¡ka čitanja na bajtu %s pri čitanju %lu bajtova" #: lib/paxerror.c:192 -#, fuzzy, c-format +#, c-format msgid "%s: Warning: Read error at byte %s, while reading %lu byte" msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes" -msgstr[0] "%s: Upozorenje: Pogre¹ka u èitanju na bajtu %s, èitam %lu bajtova" -msgstr[1] "%s: Upozorenje: Pogre¹ka u èitanju na bajtu %s, èitam %lu bajtova" +msgstr[0] "%s: Upozorenje: GreÅ¡ka čitanja na bajtu %s pri čitanju %lu bajta" +msgstr[1] "%s: Upozorenje: GreÅ¡ka čitanja na bajtu %s pri čitanju %lu bajta" +msgstr[2] "%s: Upozorenje: GreÅ¡ka čitanja na bajtu %s pri čitanju %lu bajtova" #: lib/paxerror.c:259 #, c-format msgid "%s: Cannot seek to %s" -msgstr "%s: Neuspjeli seek na %s" +msgstr "%s: Ne mogu ići na %s" #: lib/paxerror.c:275 #, c-format msgid "%s: Warning: Cannot seek to %s" -msgstr "%s: Upozorenje: Neuspjeli seek na %s" +msgstr "%s: Upozorenje: Ne mogu ići na %s" #: lib/paxerror.c:284 #, c-format msgid "%s: Cannot create symlink to %s" -msgstr "%s: Ne mogu kreirati simbolièki link prema %s" +msgstr "%s: Ne mogu napraviti simboličku vezu na %s" #: lib/paxerror.c:349 -#, fuzzy, c-format +#, c-format msgid "%s: Wrote only %lu of %lu byte" msgid_plural "%s: Wrote only %lu of %lu bytes" -msgstr[0] "%s: Upsje¹no zapisao samo %lu od %lu bajtova" -msgstr[1] "%s: Upsje¹no zapisao samo %lu od %lu bajtova" +msgstr[0] "%s: Zapisao samo %lu od %lu bajta" +msgstr[1] "%s: Zapisao samo %lu od %lu bajta" +msgstr[2] "%s: Zapisao samo %lu od %lu bajtova" #: lib/paxnames.c:140 -#, fuzzy, c-format +#, c-format msgid "Removing leading `%s' from member names" -msgstr "Uklanjam vodeæe `%.*s' iz imena èlanova" +msgstr "Uklanjam početni „%s” iz imena elemenata" #: lib/paxnames.c:141 -#, fuzzy, c-format +#, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "Uklanjam vodeæe `%.*s' iz imena èlanova" +msgstr "Uklanjam početni „%s” iz odrediÅ¡ta čvrstih veza" #: lib/paxnames.c:154 -#, fuzzy msgid "Substituting `.' for empty member name" -msgstr "Uklanjam vodeæe `%.*s' iz imena èlanova" +msgstr "Mijenjam „.” za prazno ime elementa" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "" +msgstr "Mijenjam „.” za prazno odrediÅ¡te čvrste veze" #: lib/rtapelib.c:299 #, c-format msgid "exec/tcp: Service not available" -msgstr "exec/tcp: Servis nije dostupan" +msgstr "exec/tcp: Usluga nije dostupna" # FIXME -- verify against source #: lib/rtapelib.c:303 #, c-format msgid "stdin" -msgstr "stdin -- standardni ulaz" +msgstr "standardni ulaz" #: lib/rtapelib.c:306 #, c-format msgid "stdout" -msgstr "stdout -- standardni ulaz" +msgstr "standardni izlaz" #: lib/rtapelib.c:429 #, c-format msgid "Cannot connect to %s: resolve failed" -msgstr "" +msgstr "Ne mogu se spojiti na %s: rezolucija nije uspjela" + +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Ne mogu pokrenuti udaljenu ljusku" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" -msgstr "Ne mogu pokrenuti udaljenu (remote) ljusku" +msgstr "Ne mogu pokrenuti udaljenu ljusku" #: rmt/rmt.c:432 msgid "Seek direction out of range" -msgstr "Seek smjer izvan opsega" +msgstr "Smjer traženja izvan granica" #: rmt/rmt.c:438 -#, fuzzy msgid "Invalid seek direction" -msgstr "Pogre¹an mod dan opcijom" +msgstr "Neispravan smjer traženja" #: rmt/rmt.c:446 -#, fuzzy msgid "Invalid seek offset" -msgstr "Pogre¹na oznaka vremena" +msgstr "Neispravan pomak traženja" # FIXME -- find xlation for 'seek offset' -- TM #: rmt/rmt.c:452 msgid "Seek offset out of range" -msgstr "Seek ofset izvan opsega" +msgstr "Pomak traženja izvan granica" #: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608 -#, fuzzy msgid "Invalid byte count" -msgstr "Pogre¹na duljina trake" +msgstr "Neispravan broj bajtova" # FIXME -- find xlation for 'seek offset' -- TM #: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625 -#, fuzzy msgid "Byte count out of range" -msgstr "Seek ofset izvan opsega" +msgstr "Broj bajtova izvan granica" #: rmt/rmt.c:558 -#, fuzzy msgid "Premature eof" -msgstr "rmtd: Prerani eof\n" +msgstr "Preuranjen eof" #: rmt/rmt.c:601 -#, fuzzy msgid "Invalid operation code" -msgstr "%s: pogre¹na opcija -- %c\n" +msgstr "Neispravan operacijski kod" #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" -msgstr "" +msgstr "Operacija nije podržana" #: rmt/rmt.c:664 -#, fuzzy msgid "Unexpected arguments" -msgstr "Neoèekivani EOF u arhivi" +msgstr "Neočekivani argumenti" #: rmt/rmt.c:689 msgid "Manipulate a tape drive, accepting commands from a remote process" -msgstr "" +msgstr "Upravlja pogonom vrpce, prihvaćajući naredbe udaljenog procesa" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" -msgstr "" +msgstr "BROJ" #: rmt/rmt.c:697 msgid "set debug level" -msgstr "" +msgstr "postavi razinu debugiranja" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" -msgstr "" +msgstr "DATOTEKA" #: rmt/rmt.c:699 msgid "set debug output file name" -msgstr "" +msgstr "postavi ime datoteke izlaza za debugiranje" #: rmt/rmt.c:715 rmt/rmt.c:783 -#, fuzzy, c-format +#, c-format msgid "cannot open %s" -msgstr "%s: Neuspjeli seek na %s" +msgstr "ne mogu otvoriti %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" -msgstr "" +msgstr "previÅ¡e argumenata" #: rmt/rmt.c:822 msgid "Garbage command" -msgstr "Neispravna naredba" +msgstr "Naredba smeća" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ovo ne izgleda kao tar arhiva" -# FIXME -- ovo neæe raditi ako je prevedeno -- Denis? +# FIXME -- ovo neće raditi ako je prevedeno -- Denis? #: src/buffer.c:521 src/buffer.c:530 -#, fuzzy msgid "Total bytes written" -msgstr "Ukupno ispisano bajtova: %s (%sB, %sB/s)\n" +msgstr "Ukupno zapisano bajtova" #: src/buffer.c:528 src/buffer.c:542 msgid "Total bytes read" -msgstr "" +msgstr "Ukupno pročitano bajtova" -# FIXME -- ovo neæe raditi ako je prevedeno -- Denis? +# FIXME -- ovo neće raditi ako je prevedeno -- Denis? #: src/buffer.c:532 -#, fuzzy, c-format +#, c-format msgid "Total bytes deleted: %s\n" -msgstr "Ukupno ispisano bajtova: %s (%sB, %sB/s)\n" +msgstr "Ukupno izbrisano bajtova: %s\n" #: src/buffer.c:621 msgid "(pipe)" -msgstr "(cjevovod - pipe)" +msgstr "(cjevovod)" #: src/buffer.c:644 msgid "Invalid value for record_size" -msgstr "Pogre¹na vrijednost za record_size" +msgstr "Neispravna vrijednost za record_size" #: src/buffer.c:647 msgid "No archive name given" -msgstr "Nije dano ime arhive" +msgstr "Nije zadano ime arhive" #: src/buffer.c:689 msgid "Cannot verify stdin/stdout archive" -msgstr "Ne mogu verificirati stdin/stdout arhive" +msgstr "Ne mogu provjeriti stdin/stdout arhivu" #: src/buffer.c:703 #, c-format msgid "Archive is compressed. Use %s option" -msgstr "" +msgstr "Arhiva je komprimirana. Koristite opciju %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" -msgstr "Ne mogu a¾urirati komprimirane arhive" +msgstr "Ne mogu ažurirati komprimirane arhive" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" -msgstr "Poèetak trake, zavr¹avam" +msgstr "Početak trake, zavrÅ¡avam" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" -msgstr "Previ¹e pogre¹aka, zavr¹avam" +msgstr "PreviÅ¡e greÅ¡aka, zavrÅ¡avam" -#: src/buffer.c:892 -#, fuzzy, c-format +#: src/buffer.c:893 +#, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" -msgstr[0] "Velièina sloga = %lu blokova" -msgstr[1] "Velièina sloga = %lu blokova" +msgstr[0] "Veličina zapisa = %lu blok" +msgstr[1] "Veličina sloga = %lu bloka" +msgstr[2] "Veličina sloga = %lu blokova" -#: src/buffer.c:913 -#, fuzzy, c-format +#: src/buffer.c:914 +#, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" -msgstr[0] "Neporavnat (unaligned) blok (%lu bajtova) unutar arhive" -msgstr[1] "Neporavnat (unaligned) blok (%lu bajtova) unutar arhive" +msgstr[0] "Neporavnat blok (%lu bajt) unutar arhive" +msgstr[1] "Neporavnat blok (%lu bajta) unutar arhive" +msgstr[2] "Neporavnat blok (%lu bajtova) unutar arhive" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" -msgstr "Ne mogu se pomicati unazad unutar arhive; mo¾e biti neèitljiva bez -i" +msgstr "Ne mogu se pomicati unatrag unutar arhive, može biti nečitljiva bez -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" -msgstr "" +msgstr "rmtlseek nije stao na granici zapisa" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" -msgstr "%s: sadr¾i pogre¹an broj dijela arhive" +msgstr "%s: sadrži neispravan broj dijela arhive" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" -msgstr "Prekoraèenje u broju dijela arhive" +msgstr "Preljev broja dijela arhive" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " -msgstr "Pripremite dio arhive #%d za %s i pritisni :" +msgstr "Pripremite dio arhive #%d za %s i pritisnite [RETURN]: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" -msgstr "Naðen EOF gdje sam oèekivao odgovor korisnika" +msgstr "Pronađen EOF gdje sam očekivao odgovor korisnika" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" -msgstr "UPOZORENJE: Arhiva nije kompletirana" +msgstr "UPOZORENJE: Arhiva je nepotpuna" -#: src/buffer.c:1148 -#, fuzzy, c-format +#: src/buffer.c:1149 +#, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" " q Abort tar\n" " y or newline Continue operation\n" msgstr "" -" n [ime] Daj novo ime datoteke za slijedeæi (i nadovezujuæe) dijelove\n" -" q Zavr¹i tar\n" -" ! Pokreni podljusku operativnog sistema\n" -" ? Ispi¹i ovu listu\n" +" n [ime] Daj novo ime datoteke za sljedeći (i nadovezujuće) " +"dijelove\n" +" q Prekini tar\n" +" y ili novi redak Nastavi rad\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" -msgstr "" +msgstr " ! Pokreni podljusku\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" -msgstr "" +msgstr " ? IspiÅ¡i ovaj popis\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" -msgstr "Nema novog dijela arhive; zavr¹avam.\n" +msgstr "Nema novog dijela arhive, zavrÅ¡avam.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" -msgstr "" +msgstr "Ime datoteke nije navedeno. PokuÅ¡ajte ponovo.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" -msgstr "" +msgstr "Neispravan unos. Unesite ? za pomoć.\n" -#: src/buffer.c:1258 -#, fuzzy, c-format +#: src/buffer.c:1259 +#, c-format msgid "%s command failed" -msgstr "Neuspjela `%s' naredba" +msgstr "naredba %s nije uspjela" -#: src/buffer.c:1439 -#, fuzzy, c-format +#: src/buffer.c:1440 +#, c-format msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s nije nastavljen za ovom dijelu arhive" +msgstr "" +"%s je možda nastavljen na ovom dijelu arhive: zaglavlje sadrži skraćeno ime" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" -msgstr "%s nije nastavljen za ovom dijelu arhive" +msgstr "%s nije nastavljen na ovom dijelu arhive" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" -msgstr "%s je pogre¹ne velièine (%s != %s + %s)" +msgstr "%s je pogreÅ¡ne veličine (%s != %s + %s)" -#: src/buffer.c:1472 -#, fuzzy, c-format +#: src/buffer.c:1473 +#, c-format msgid "This volume is out of sequence (%s - %s != %s)" -msgstr "Ovaj dio arhive je izvan slijeda" +msgstr "Ovaj dio arhive je izvan niza (%s - %s != %s)" # FIXME -- clean against source! (TM) -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" -msgstr "Arhiva nije oznaèena labelom da odgovara %s" +msgstr "Arhiva nije označena da odgovara %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Dio arhive %s ne odgovara %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" +"%s: ime datoteke je predugačko za spremanje u GNU viÅ¡edjelnom zaglavlju, " +"skraćujem" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" -msgstr "" +msgstr "pisanje nije zavrÅ¡ilo na granici bloka" -#: src/compare.c:95 -#, fuzzy, c-format +#: src/compare.c:96 +#, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" -msgstr[0] "Uspio proèitati samo %lu od %lu bajtova" -msgstr[1] "Uspio proèitati samo %lu od %lu bajtova" +msgstr[0] "Pročitao samo %lu od %lu bajta" +msgstr[1] "Pročitao samo %lu od %lu bajta" +msgstr[2] "Pročitao samo %lu od %lu bajtova" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" -msgstr "Sadr¾aji se razlikuju" +msgstr "Sadržaji se razlikuju" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" -msgstr "Neoèekivani EOF u arhivi" +msgstr "Neočekivani EOF u arhivi" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" -msgstr "Tipovi datoteka se razlikuju" +msgstr "Vrste datoteka se razlikuju" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Mod se razlikuje" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid se razlikuje" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid se razlikuje" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" -msgstr "Mod time (vrijeme modifikacije) se razlikuje" +msgstr "Vrijeme uređivanja se razlikuje" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" -msgstr "Velièina se razlikuje" +msgstr "Veličina se razlikuje" -# FIXME -- language purists might lynch me for this "polinkan" -- TM -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" -msgstr "Nije polinkan na %s" +msgstr "Nije povezan na %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" -msgstr "Simbolièki link se razlikuje" +msgstr "Simbolička veza se razlikuje" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" -msgstr "Broj ureðaja (device number) se razlikuje" +msgstr "Broj uređaja se razlikuje" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " -msgstr "Verificiraj " +msgstr "Provjeri " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" -msgstr "%s: Nepoznat tip datoteke '%c', diff-iran kao normalna datoteka" +msgid "%s: Unknown file type '%c', diffed as normal file" +msgstr "" +"%s: Nepoznata vrsta datoteke „%c”, izvrÅ¡en diff kao na normalnoj datoteci" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." -msgstr "" +msgstr "Arhiva sadrži imena datoteka s uklonjenim početnim prefiksima." -# FIXME -- obsolescent -- TM -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Arhiva sadr¾i base-64 zaglavlja zastarjelog formata" +msgstr "Arhiva sadrži pretvorena imena datoteka." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." -msgstr "" +msgstr "Provjera možda neće uspjeti pronaći izvorne datoteke." -#: src/compare.c:603 -#, fuzzy, c-format +#: src/compare.c:612 +#, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" -msgstr[0] "NEUSPJELA VERIFIKACIJA: detektirano %d pogre¹nih zaglavlja" -msgstr[1] "NEUSPJELA VERIFIKACIJA: detektirano %d pogre¹nih zaglavlja" +msgstr[0] "NEUSPJELA PROVJERA: otkriveno %d neispravno zaglavlje" +msgstr[1] "NEUSPJELA PROVJERA: otkrivena %d neispravna zaglavlja" +msgstr[2] "NEUSPJELA PROVJERA: otkriveno %d neispravnih zaglavlja" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" -msgstr "" +msgstr "Izolirani nulti blok na %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" -msgstr "" +msgstr "%s: sadrži oznaku direktorija spremnika %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" -msgstr "vrijednost %s izvan %s raspona %s..%s; substituiram %s" +msgstr "vrijednost %s izvan %s raspona %s..%s; mijenjam sa %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "vrijednost %s izvan %s raspona %s..%s" -# FIXME -- find `pade¾' here from source -#: src/create.c:327 +# FIXME -- find `padež' here from source +#: src/create.c:328 msgid "Generating negative octal headers" -msgstr "Generiram negativna oktalna zaglavlja" +msgstr "Stvaram negativna oktalna zaglavlja" -#: src/create.c:612 src/create.c:675 -#, fuzzy, c-format +#: src/create.c:601 src/create.c:664 +#, c-format msgid "%s: file name is too long (max %d); not dumped" -msgstr "%s: datoteka nepromijenjena; ne arhiviram ju" +msgstr "%s: ime datoteke je predugačko (najviÅ¡e %d); ne arhiviram" -#: src/create.c:622 -#, fuzzy, c-format +#: src/create.c:611 +#, c-format msgid "%s: file name is too long (cannot be split); not dumped" -msgstr "%s: datoteka nepromijenjena; ne arhiviram ju" +msgstr "%s: ime datoteke je predugačko (ne može se razdvojiti); ne arhiviram" -#: src/create.c:649 -#, fuzzy, c-format +#: src/create.c:638 +#, c-format msgid "%s: link name is too long; not dumped" -msgstr "%s: datoteka nepromijenjena; ne arhiviram ju" +msgstr "%s: ime veze je predugačko; ne arhiviram" -#: src/create.c:1064 -#, fuzzy, c-format +#: src/create.c:1084 +#, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" -msgstr[0] "%s: Datoteka se skratila za %s bajtova; nadopunjujemo nulama" -msgstr[1] "%s: Datoteka se skratila za %s bajtova; nadopunjujemo nulama" +msgstr[0] "%s: Datoteka skraćena za %s bajt; nadopunjeno nulama" +msgstr[1] "%s: Datoteka skraćena za %s bajta; nadopunjeno nulama" +msgstr[2] "%s: Datoteka skraćena za %s bajtova; nadopunjeno nulama" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" -msgstr "%s: datoteka je na drugom datoteènom sustavu; ne arhiviram ju" +msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" -msgstr "" +msgstr "sadržaj nije arhiviran" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" -msgstr "%s: Nepoznat tip datoteke; datoteka ignorirana" +msgstr "%s: Nepoznata vrsta datoteke; datoteka zanemarena" -#: src/create.c:1529 -#, fuzzy, c-format +#: src/create.c:1549 +#, c-format msgid "Missing links to %s." -msgstr " link do %s\n" +msgstr "Nedostaju veze na %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" -msgstr "%s: datoteka nepromijenjena; ne arhiviram ju" +msgstr "%s: datoteka nepromijenjena; ne arhiviram" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" -msgstr "%s: datoteka je arhiva; ne arhiviram ju" +msgstr "%s: datoteka je arhiva; ne arhiviram" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" -msgstr "" +msgstr "direktorij nije arhiviran" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" -msgstr "%s: datoteka se promijenila dok smo ju èitali" +msgstr "%s: datoteka se promijenila za vrijeme čitanja" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" -msgstr "%s: socket ignoriran" +msgstr "%s: utičnica zanemarena" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" -msgstr "%s: door ignoriran" +msgstr "%s: vrata zanemarena" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" -msgstr "Preskaèem do slijedeæeg zaglavlja" +msgstr "Preskačem na sljedeće zaglavlje" -# FIXME -- non-header dubious -- clean against source! -- TM -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" -msgstr "Bri¹em neispravno zaglavlje iz arhive" +msgstr "BriÅ¡em neispravno zaglavlje iz arhive" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" -msgstr "" +msgstr "%s: nevjerojatno stara vremenska oznaka %s" -#: src/extract.c:295 -#, fuzzy, c-format +#: src/extract.c:320 +#, c-format msgid "%s: time stamp %s is %s s in the future" -msgstr "%s: oznaka vremena %s je %lu sekundi u buduænost" +msgstr "%s: vremenska oznaka %s je %s sekundi u budućnosti" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" -msgstr "%s: Neoèekivana nekonzistentnost kod otvaranja direktorija" +msgstr "%s: Neočekivana nekonzistentnost pri izradi direktorija" + +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" -#: src/extract.c:721 +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" -msgstr "%s: Direktoriju promijenjeno ime prije nego ¹to mu je dobavljen status" +msgstr "%s: Direktoriju promijenjeno ime prije ekstrakcije njegovog stanja" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" -msgstr "Ekstrahiram neprekinute datoteke kao regularne datoteke" +msgstr "Ekstrahiram neprekinute datoteke kao obične datoteke" -# FIXME -- 'hard links' -- TM -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" -msgstr "Poku¹avam ekstrakciju simbolièkih linkova kao hard linkova" +msgstr "PokuÅ¡avam ekstrakciju simboličkih veza kao čvrstih veza" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "%s: Ne mogu ekstrahirati -- datoteka se nastavlja iz drugog dijela arhive" -#: src/extract.c:1372 src/list.c:1121 -#, fuzzy +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" -msgstr "Neoèekivan EOF u mangliranim imenima" +msgstr "Neočekivano zaglavlje dugačkog imena" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" -msgstr "%s: Nepoznat tip datoteke '%c', ekstrahiran kao normalna datoteka" +msgid "%s: Unknown file type '%c', extracted as normal file" +msgstr "%s: Nepoznata vrsta datoteke „%c”, ekstrahirana kao normalna datoteka" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" -msgstr "" +msgstr "Trenutni %s je noviji ili jednako star" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" -msgstr "%s: Nisam uspio napraviti backup ove datoteke" +msgstr "%s: Nisam uspio napraviti kopiju ove datoteke" -#: src/extract.c:1594 -#, fuzzy, c-format +#: src/extract.c:1767 +#, c-format msgid "Cannot rename %s to %s" -msgstr "%s: Ne mogu preimenovati u %s" +msgstr "Ne mogu preimenovati %s u %s" -#: src/incremen.c:473 src/incremen.c:517 -#, fuzzy, c-format -msgid "%s: Directory has been renamed from %s" -msgstr "%s: Direktoriju promijenjeno ime" - -#: src/incremen.c:485 +#: src/incremen.c:494 src/incremen.c:536 #, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Direktoriju promijenjeno ime" +msgid "%s: Directory has been renamed from %s" +msgstr "%s: Direktoriju je promijenjeno ime iz %s" -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Novi direktorij" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Direktoriju je promijenjeno ime" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" -msgstr "Pogre¹na oznaka vremena" +msgstr "Neispravna vremenska oznaka" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" -msgstr "Pogre¹an mod dan opcijom" +msgid "Invalid modification time" +msgstr "Neispravno vrijeme uređivanja (sekunde)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" -msgstr "" +msgstr "Neispravno vrijeme uređivanja (nanosekunde)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" -msgstr "Pogre¹an broj ureðaja" +msgstr "Neispravan broj uređaja" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" -msgstr "Pogre¹an inode broj" +msgstr "Neispravan broj indeksnog čvora (inode)" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 +msgid "Unexpected EOF in snapshot file" +msgstr "Neočekivani EOF u datoteci snimke stanja" + +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 -#, fuzzy -msgid "Unexpected EOF in snapshot file" -msgstr "Neoèekivani EOF u arhivi" +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 -msgid "Missing record terminator" +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1260 +msgid "Missing record terminator" +msgstr "Nedostaje kraj zapisa" + +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" -msgstr "" +msgstr "Neispravan inkrementalni oblik datoteke" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" -msgstr "" +msgstr "Nepodržana inačica inkrementalnog oblika: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "" +msgstr "Izobličen direktorij za ispis: očekujem „%c”, pronaÅ¡ao %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "" +msgstr "Izobličen direktorij za ispis: „X” udvostručen" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "" +msgstr "Izobličen direktorij za ispis: prazno ime u „R”" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "" +msgstr "Izobličen direktorij za ispis: prije „T” ne dolazi „R”" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "" +msgstr "Izobličen direktorij za ispis: prazno ime u „T”" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" -msgstr "" +msgstr "Izobličen direktorij za ispis: očekujem „%c”, pronašao kraj podataka" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" -msgstr "" +msgstr "Izobličen direktorij za ispis: „X” se uopće ne koristi" -# FIXME -- blocking factor -- can't translate (ask others) -- TM -#: src/incremen.c:1609 -#, fuzzy, c-format +#: src/incremen.c:1656 +#, c-format msgid "Cannot create temporary directory using template %s" -msgstr "Ne mogu alocirati memoriju za faktor pakiranja u blokove %d" +msgstr "Ne mogu napraviti privremeni direktorij koriÅ¡tenjem predloÅ¡ka %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" -msgstr "" +msgstr "%s: Ne uklanjam direktorij: ne mogu izvrÅ¡iti stat" -#: src/incremen.c:1683 -#, fuzzy, c-format +#: src/incremen.c:1730 +#, c-format msgid "%s: directory is on a different device: not purging" -msgstr "%s: datoteka je na drugom datoteènom sustavu; ne arhiviram ju" +msgstr "%s: datoteka je na drugom uređaju: ne uklanjam" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" -msgstr "%s: Bri¹em %s\n" +msgstr "%s: BriÅ¡em %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" -msgstr "%s: Ne mogu obrisati" +msgstr "%s: Ne mogu ukloniti" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Izostavljam" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" -msgstr "blok %s: ** Blok ispunjen NULama **\n" +msgstr "blok %s: ** Blok ispunjen NUL-znakovima **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Kraj datoteke **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" -msgstr "Razmaci u zaglavlju gdje se oèekuje numerièka %s vrijednost" +msgstr "Praznine u zaglavlju gdje se očekuje numerička %s vrijednost" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" -"Oktalna vrijednost %.*s iz arhive je izvan %s opsega; pretpostavljam dvojni " +"Oktalna vrijednost %.*s iz arhive je izvan %s granica; pretpostavljam dvojni " "komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" -msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s opsega" +msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s granica" # FIXME -- obsolescent -- TM -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" -msgstr "Arhiva sadr¾i base-64 zaglavlja zastarjelog formata" +msgstr "Arhiva sadrži zastarjela base-64 zaglavlja" # FIXME?? -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" -msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s opsega" +msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s granica" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" -msgstr "Base-256 vrijednost iz arhive je izvan %s opsega" +msgstr "Base-256 vrijednost iz arhive je izvan %s granica" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" -msgstr "Arhiva sadr¾i %.*s gdje je oèekivana numerièka %s vrijednost" +msgstr "Arhiva sadrži %.*s gdje je očekivana numerička %s vrijednost" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" -msgstr "Vrijednost %s iz arhive je izvan %s opsega %s..%s" +msgstr "Vrijednost %s iz arhive je izvan %s raspona %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" -msgstr " link do %s\n" +msgstr " veza na %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" -msgstr " nepoznat tip datoteke %s\n" +msgstr " nepoznata vrsta datoteke %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" -msgstr "" +msgstr "--Dugačka veza--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" -msgstr "" +msgstr "--Dugačko ime--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Zaglavlje dijela arhive--\n" # FIXME -- clarify against source -- TM -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" -msgstr "--Nastavljeno s bajtom %s--\n" +msgstr "--Nastavljeno na bajtu %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" -msgstr "Kreiram direktorij:" - -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Ne mogu promijeniti radni direktorij" +msgstr "Stvaram direktorij:" -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" -msgstr "Preimenujem %s u %s\n" +msgstr "Mijenjam ime %s u %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ne mogu preimenovati u %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" -msgstr "Preimenujem %s natrag u %s\n" +msgstr "Mijenjam ime %s natrag u %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" -msgstr "%s: Datoteka uklonjena (removed) prije nego ¹to smo ju proèitali" +msgstr "%s: Datoteka uklonjena prije nego Å¡to smo ju pročitali" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" -msgstr "podproces" +msgstr "proces dijete" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" -msgstr "meðuprocesni kanal" +msgstr "međuprocesni kanal" + +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "naredba %s nije uspjela" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: popis datoteka je već pročitan" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ne mogu postaviti vrijeme na „%s”" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: pročitano ime datoteke sadrži prazan znak" -#: src/names.c:590 +#: src/names.c:821 msgid "Pattern matching characters used in file names" -msgstr "" +msgstr "Znakovi za uspoređivanje uzoraka koriÅ¡teni u imenima datoteka" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" +"Koristite --wildcards za omogućavanje uspoređivanja uzoraka ili --no-" +"wildcards za potiskivanje ovog upozorenja" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" -msgstr "%s: Nije naðeno u arhivi" +msgstr "%s: Nije pronađen u arhivi" -#: src/names.c:611 -#, fuzzy, c-format +#: src/names.c:842 +#, c-format msgid "%s: Required occurrence not found in archive" -msgstr "%s: Nije naðeno u arhivi" +msgstr "%s: Potrebna pojava nije pronađen u arhivi" # FIXME -- clean against source! (TM) -#: src/names.c:645 -#, fuzzy, c-format +#: src/names.c:876 +#, c-format msgid "Archive label mismatch" -msgstr "Arhiva nije oznaèena labelom da odgovara %s" +msgstr "Oznaka arhive ne odgovara" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" +"KoriÅ¡tenje opcije -C u popisu datoteka nije dozvoljeno uz --listed-" +"incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" -msgstr "" +msgstr "Samo jedna opcija -C je dozvoljena uz --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" -msgstr "Opcije `-%s' i `-%s' obje zahtijevaju standardni ulaz" - -#: src/tar.c:158 +#: src/tar.c:86 #, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" +msgstr "Opcije „-%s” i „-%s” obje zahtijevaju standardni ulaz" + +#: src/tar.c:163 +#, c-format msgid "%s: Invalid archive format" -msgstr "%s: Pogre¹na grupa" +msgstr "%s: Neispravan oblik arhive" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" -msgstr "GNU specijalne pogodnosti zatra¾ene na nekompatibilnom formatu arhive" +msgstr "GNU mogućnosti zatražene na nekompatibilnom obliku arhive" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" +"Nepoznat stil navođenja „%s”. PokuÅ¡ajte „%s --quoting-style=help” za prikaz " +"popisa." -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1369,19 +1439,18 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"\n" -"Usage: %s [OPCIJA]... [DATOTEKA]...\n" +"GNU „tar” sprema viÅ¡e datoteka u arhivu na vrpci ili disku i može vratiti " +"pojedinačne datoteke iz arhive.\n" "\n" "Primjeri:\n" -" %s -cf arhiva.tar foo bar # Kreiraj arhiva.tar od datoteka foo i bar.\n" -" %s -tvf arhiva.tar # Ispi¹i redom sve datoteke iz arhiva.tar " -"op¹irno.\n" +" %s -cf arhiva.tar foo bar # Napravi arhiva.tar od datoteka foo i bar.\n" +" %s -tvf arhiva.tar # OpÅ¡irno ispiÅ¡i sve datoteke iz arhiva.tar.\n" " %s -xf arhiva.tar # Ekstrahiraj sve datoteke iz arhiva.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1390,1398 +1459,1467 @@ msgid "" " nil, existing numbered if numbered backups exist, simple otherwise\n" " never, simple always make simple backups\n" msgstr "" -"\n" -"Backup sufiks je `~', osim ako je postavljen drugi s --suffix ili\n" -"SIMPLE_BACKUP_SUFFIX. Kontrola verzije mo¾e biti postavljena s --backup\n" +"Sufiks sigurnosne kopije je `~', osim ako je postavljen drugi s --suffix " +"ili\n" +"SIMPLE_BACKUP_SUFFIX. Kontrola inačice može biti postavljena s --backup\n" "ili s VERSION_CONTROL, vrijednosti su:\n" "\n" -" t, numbered radi pobrojane (numbered) backup-e\n" -" nil, existing pobrojani ako pobrojani veæ postoje, inaèe jednostavni\n" -" never, simple uvijek radi jednostavne backupe\n" +" none, off ne radi sigurnosne kopije\n" +" t, numbered radi numerirane sigurnosne kopije\n" +" nil, existing numerirane ako numerirane sigurnosne kopije postoje,\n" +" inače jednostavne\n" +" never, simple uvijek radi jednostavne sigurnosne kopije\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" -msgstr "" +msgstr "Glavni način rada:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" -msgstr "" +msgstr "ispiÅ¡i sadržaj arhive" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" -msgstr "" +msgstr "ekstrahiraj datoteke iz arhive" -#: src/tar.c:395 -#, fuzzy +#: src/tar.c:411 msgid "create a new archive" -msgstr "Neoèekivani EOF u arhivi" +msgstr "napravi novu arhivu" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" -msgstr "" +msgstr "nađi razlike između arhive i datotečnog sustava" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" -msgstr "" +msgstr "dodaj datoteke na kraj arhive" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" -msgstr "" +msgstr "dodaj samo datoteke novije od kopije u arhivi" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" -msgstr "" +msgstr "dodaj tar datoteke u arhivu" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" -msgstr "" +msgstr "izbriÅ¡i iz arhive (ne na magnetskim vrpcama!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" -msgstr "" +msgstr "provjeri oznaku dijela arhive i izađi" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" -msgstr "" +msgstr "Modifikatori operacija:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" -msgstr "" +msgstr "učinkovito upravljaj raÅ¡trkanim datotekama" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" -msgstr "" +msgstr "GLAVNI[.SPOREDNI]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" +"postavi inačicu raÅ¡trkanog oblika za koriÅ¡tenje (podrazumijeva --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" -msgstr "" +msgstr "upravljaj inkrementalnim sigurnosnim kopijama starog GNU oblika" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" -msgstr "" +msgstr "upravljaj inkrementalnim sigurnosnim kopijama novog GNU oblika" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" -msgstr "" +msgstr "razina ispisa za stvorene ispisane-inkrementalne arhive" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" -msgstr "" +msgstr "ne izlazi s kodom različitim od nule u slučaju nečitljivih datoteka" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" "diff, --extract or --list and when a list of files is given either on the " "command line or via the -T option; NUMBER defaults to 1" msgstr "" +"Obradi samo svako BROJ-to pojavljivanje svake datoteke u arhivi. Ova je " +"opcija ispravna samo uz jednu od podnaredbi --delete, --diff, --extract ili " +"--list te kad je popis datoteka naveden u naredbenom retku ili uz opciju -T. " +"BROJ je uobičajeno 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" -msgstr "" +msgstr "arhiva se može pretraživati" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" -msgstr "" +msgstr "arhiva se ne može pretraživati" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" -msgstr "" +msgstr "ne provjeravaj brojeve uređaja pri stvaranju inkrementalnih arhiva" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" -msgstr "" +msgstr "provjeri brojeve uređaja pri stvaranju inkrementalnih arhiva (zadano)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" -msgstr "" +msgstr "Upravljanje prepisivanjem:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" -msgstr "" +msgstr "pokuÅ¡aj provjeriti arhivu nakon pisanja u nju" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" -msgstr "" +msgstr "ukloni datoteke nakon dodavanja u arhivu" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" -msgstr "" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" -msgstr "" +msgstr "ne zamjenjuj postojeće datoteke novije od kopija u arhivi" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" -msgstr "" +msgstr "prepiÅ¡i postojeće datoteke pri ekstrakciji" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" -msgstr "" +msgstr "ukloni svaku datoteku prije ekstrakcije preko nje" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" -msgstr "" +msgstr "isprazni hijerarhije prije ekstrahiranja direktorija" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" -msgstr "" +msgstr "očuvaj metapodatke postojećih direktorija" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" -msgstr "" +msgstr "prepiÅ¡i metapodatke postojećih direktorija pri ekstrakciji (zadano)" + +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "prepiÅ¡i postojeće datoteke pri ekstrakciji" -#: src/tar.c:473 +#: src/tar.c:496 msgid "Select output stream:" -msgstr "" +msgstr "Odaberi izlazni tok podataka:" -#: src/tar.c:476 -#, fuzzy +#: src/tar.c:499 msgid "extract files to standard output" -msgstr "Pogre¹ka u pisanju na standardni izlaz" +msgstr "ekstrahiraj datoteke na standardni izlaz" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" -msgstr "" +msgstr "NAREDBA" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" -msgstr "" +msgstr "proslijedi ekstrahirane datoteke drugom programu kroz cjevovod" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" -msgstr "" +msgstr "zanemari izlazne kodove djece" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" -msgstr "" +msgstr "postupaj s izlaznim kodovima djece različitim od nule kao s greÅ¡kama" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" -msgstr "" +msgstr "Upravljanje svojstvima datoteka:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" -msgstr "" +msgstr "prisilno postavi IME kao vlasnika dodanih datoteka" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" -msgstr "" +msgstr "prisilno postavi IME kao grupu dodanih datoteka" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" -msgstr "" +msgstr "DATUM-ILI-DATOTEKA" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" -msgstr "" +msgstr "postavi mtime dodanih datoteka iz DATUM-ILI-DATOTEKA" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" -msgstr "" +msgstr "PROMJENE" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" -msgstr "" +msgstr "prisili (simboličke) PROMJENE moda dodanih datoteka" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" -msgstr "" +msgstr "METODA" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" +"očuvaj vremena pristupa ispisanih datoteka, ili vraćanjem vremena nakon " +"čitanja (METODA='replace'; zadano), ili ne postavljanjem vremena " +"(METODA='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" -msgstr "" +msgstr "ne ekstrahiraj vrijeme uređivanja datoteke" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" +"pokuÅ¡aj ekstrahirati datoteke s istim vlasniÅ¡tvom kakvo je u arhivi (zadano " +"za administratora)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" -msgstr "" +msgstr "otpakiraj datoteke kao trenutni korisnik (zadano za obične korisnike)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" -msgstr "" +msgstr "uvijek koristi brojke za imena korisnika/grupe" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" -msgstr "" +msgstr "izdvoji informacije o dozvolama datoteka (zadano za administratora)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" +"primijeni korisnički umask pri ekstrakciji dozvola iz arhive (zadano za " +"obične korisnike)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" -msgstr "" +msgstr "isto kao -p i -s zajedno" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" +"odgodi postavljanje vremena uređivanja i dozvola ekstrahiranih direktorija " +"do kraja ekstrakcije" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" +msgstr "poniÅ¡ti utjecaj opcije --delay-directory-restore" + +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Upravljanje svojstvima datoteka:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:530 -msgid "Device selection and switching:" +#: src/tar.c:559 +msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:532 -msgid "ARCHIVE" +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" msgstr "" -#: src/tar.c:533 -msgid "use archive file or device ARCHIVE" +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:535 -msgid "archive file is local even if it has a colon" +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:537 -msgid "use given rmt COMMAND instead of rmt" +#: src/tar.c:565 +msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:539 -msgid "use remote COMMAND instead of rsh" +#: src/tar.c:567 +msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:543 -msgid "specify drive and density" +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" msgstr "" +#: src/tar.c:576 +msgid "Device selection and switching:" +msgstr "Odabir i zamjena uređaja:" + +#: src/tar.c:578 +msgid "ARCHIVE" +msgstr "ARHIVA" + +#: src/tar.c:579 +msgid "use archive file or device ARCHIVE" +msgstr "koristi datoteku ili uređaj ARHIVA" + +#: src/tar.c:581 +msgid "archive file is local even if it has a colon" +msgstr "datoteka arhive je lokalna iako sadrži dvotočje" + +#: src/tar.c:583 +msgid "use given rmt COMMAND instead of rmt" +msgstr "koristi navedenu rmt NAREDBU umjesto rmt" + +#: src/tar.c:585 +msgid "use remote COMMAND instead of rsh" +msgstr "koristi udaljenu NAREDBU umjesto rsh" + +#: src/tar.c:589 +msgid "specify drive and density" +msgstr "navedi uređaj i gustoću" + # FIXME -- volume -- find more suitable (ask others) -- TM -#: src/tar.c:557 -#, fuzzy +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" -msgstr "Ne mogu verificirati vi¹edjelne arhive" +msgstr "napravi/ispiÅ¡i/ekstrahiraj viÅ¡edjelnu arhivu" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" -msgstr "" +msgstr "promijeni vrpcu nakon zapisivanja BROJ x 1024 bajtova" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" -msgstr "" +msgstr "pokreni skriptu na kraju svake vrpce (podrazumijeva -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" -msgstr "" +msgstr "koristi/ažuriraj broj dijela arhive u DATOTECI" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" -msgstr "" +msgstr "Podjela uređaja u blokove:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" -msgstr "" +msgstr "BLOKOVI" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" -msgstr "" +msgstr "BLOKOVI x 512 bajtova po zapisu" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" -msgstr "" +msgstr "BROJ bajtova po zapisu, viÅ¡ekratnik 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" -msgstr "" +msgstr "zanemari blokove u arhivi pretvorene u nulu (znači EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" -msgstr "" +msgstr "ponovo napravi blokove pri čitanju (za 4.2BSD cjevovode)" -#: src/tar.c:583 -#, fuzzy +#: src/tar.c:629 msgid "Archive format selection:" -msgstr "Konfliktne opcije formata arhive" +msgstr "Odabir oblika arhive:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" -msgstr "" +msgstr "OBLIK" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" -msgstr "" +msgstr "stvori arhivu zadanog oblika" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" -msgstr "" +msgstr "OBLIK je jedan od sljedećih:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" -msgstr "" +msgstr "stari V7 tar oblik" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" -msgstr "" +msgstr "GNU oblik za tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" -msgstr "" +msgstr "GNU tar 1.13.x oblik" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" -msgstr "" +msgstr "POSIX 1003.1-1988 (ustar) oblik" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" -msgstr "" +msgstr "POSIX 1003.1-2001 (pax) oblik" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" -msgstr "" +msgstr "isto kao pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" -msgstr "" +msgstr "isto kao --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" -msgstr "" +msgstr "isto kao --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." -msgstr "" +msgstr "ključna_riječ[[:]=vrijednost][,ključna_riječ[[:]=vrijednost]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" -msgstr "" +msgstr "kontrolne pax ključne riječi" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" -msgstr "" +msgstr "TEKST" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" +"Napravi arhivu s imenom dijela arhive TEKST. Pri ispisu/otpakiranju koristi " +"TEKST za traženje uzorka za ime dijela arhive." -#: src/tar.c:614 -#, fuzzy +#: src/tar.c:660 msgid "Compression options:" -msgstr "Konfliktne opcije za kompresiju" +msgstr "Opcije kompresije:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" -msgstr "" +msgstr "koristi sufiks arhive za određivanje programa za kompresiju" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" -msgstr "" +msgstr "ne koristi sufiks arhive za određivanje programa za kompresiju" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" -msgstr "" +msgstr "PROGRAM" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" -msgstr "" +msgstr "filtriraj kroz PROGRAM (mora prihvaćati -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" -msgstr "" +msgstr "Odabir lokalnih datoteka:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" +"dodaj navedenu DATOTEKU u arhivu (korisno ako njeno ime počinje crticom)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" -msgstr "" +msgstr "DIR" -#: src/tar.c:642 -#, fuzzy +#: src/tar.c:688 msgid "change to directory DIR" -msgstr "Ne mogu promijeniti radni direktorij" +msgstr "promijeni u direktorij DIR" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" -msgstr "" +msgstr "otkrij imena za otpakiranje ili napravi iz DATOTEKE" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" -msgstr "" +msgstr "-T čita praznim znakom zavrÅ¡ena imena, onemogućuje -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" -msgstr "" +msgstr "onemogući utjecaj prethodne opcije --null" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" -msgstr "" +msgstr "ukloni navode imena datoteka pročitanih s -T (zadano)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" -msgstr "" +msgstr "ne uklanjaj navode imena datoteka pročitanih s -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" -msgstr "" +msgstr "UZORAK" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" -msgstr "" +msgstr "izostavi datoteke koje odgovaraju UZORKU" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" -msgstr "" +msgstr "izostavi uzorke navedene u DATOTECI" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" +"izostavi sadržaj direktorija koji sadrže CACHEDIR.TAG, osim datoteke oznake" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" -msgstr "" +msgstr "izostavi sve unutar direktorija koji sadrže CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" -msgstr "" +msgstr "izostavi direktorije koji sadrže CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" +msgstr "izostavi sadržaj direktorija koji sadrži DATOTEKU osim nje same" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" -msgstr "" +msgstr "izostavi sve iz direktorija koji sadrže DATOTEKU" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" -msgstr "" +msgstr "izostavi direktorije koji sadrže DATOTEKU" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" -msgstr "" +msgstr "izostavi sustavske direktorije kontrole inačice" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" -msgstr "" +msgstr "izostavi sigurnosne kopije i datoteke zaključavanja" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" -msgstr "" +msgstr "izbjegavaj automatsko spuÅ¡tanje u direktorije" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" -msgstr "" +msgstr "ostani u lokalnom datotečnom sustavu pri stvaranju arhive" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" -msgstr "" +msgstr "rekurzivno uđi u direktorije (zadano)" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" -msgstr "Uklanjam vodeæe `%.*s' iz imena èlanova" +msgid "don't strip leading '/'s from file names" +msgstr "ne uklanjaj početne „/” iz imena datoteka" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" -msgstr "" +msgstr "slijedi simboličke veze; arhiviraj i ispiÅ¡i datoteke na koje pokazuju" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" -msgstr "" +msgstr "slijedi čvrste veze; arhiviraj i ispiÅ¡i datoteke na koje se odnose" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" -msgstr "" +msgstr "IME-ELEMENTA" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" -msgstr "" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" +msgstr "započni s elementom IME-ELEMENTA u arhivi" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" -msgstr "" +msgstr "spremi samo datoteke novije od DATUM-ILI-DATOTEKA" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" -msgstr "" +msgstr "DATUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" -msgstr "" +msgstr "usporedi datum i vrijeme samo ako su podaci promijenjeni" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" -msgstr "" +msgstr "KONTROLA" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" -msgstr "" +msgstr "napravi sigurnosnu kopiju prije uklanjanja, odaberi KONTROLU inačice" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" -msgstr "" +msgstr "NIZ" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" +"napravi sigurnosnu kopiju prije uklanjanja, zamijeni uobičajeni sufiks („~” " +"osim ako je promijenjen varijablom okoline SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" -msgstr "" +msgstr "Pretvaranja imena datoteka:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" -msgstr "" +msgstr "ukloni BROJ vodećih komponenti iz imena datoteka pri otpakiranju" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" -msgstr "" +msgstr "IZRAZ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" -msgstr "" +msgstr "koristi sed zamjenu IZRAZA za promjenu imena datoteka" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" +"Opcije podudaranja imena datoteka (utječe na uzorke za isključivanje i " +"uključivanje):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" -msgstr "" +msgstr "zanemari veličinu slova" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "Dio arhive %s ne odgovara %s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" -msgstr "" +msgstr "Informativni izlaz:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" -msgstr "" +msgstr "opÅ¡irno ispiÅ¡i obrađene datoteke" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" -msgstr "" +msgstr "KLJUČNA_RIJEČ" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" -msgstr "" +msgstr "kontrola upozorenja" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" -msgstr "" +msgstr "prikaži poruke o napretku svakih BROJ zapisa (zadano 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" -msgstr "" +msgstr "RADNJA" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" -msgstr "" +msgstr "izvrÅ¡i RADNJU na svakoj kontrolnoj točki" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" -msgstr "" +msgstr "ispiÅ¡i poruku ako nisu ispisane sve veze" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" -msgstr "" +msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also " "accepted" msgstr "" +"IspiÅ¡i ukupan broj bajtova nakon obrade arhive. Uz argument - ispiÅ¡i ukupan " +"broj bajtova nakon primanja ovog SIGNALA. Dozvoljeni signali su: SIGHUP, " +"SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. Također se prihvaćaju imena bez prefiksa " +"SIG." -#: src/tar.c:756 -#, fuzzy +#: src/tar.c:802 msgid "print file modification times in UTC" -msgstr "Pogre¹an mod dan opcijom" +msgstr "ispiÅ¡i vremena uređivanja datoteka u UTC-u" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" -msgstr "" +msgstr "ispiÅ¡i potpunu rezoluciju vremena datoteke" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" -msgstr "" +msgstr "poÅ¡alji opÅ¡iran izlaz u DATOTEKU" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" -msgstr "" +msgstr "prikaži broj bloka u arhivi uz svaku poruku" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" -msgstr "" +msgstr "traži potvrdu svake radnje" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" +msgstr "prikaži zadane postavke za tar" + +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:769 +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" +"pri ispisu ili ekstrakciji, ispiÅ¡i svaki direktorij koji ne odgovara " +"uvjetima pretraživanja" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" -msgstr "" +msgstr "prikaži imena datoteke ili arhive nakon pretvaranja" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" -msgstr "" +msgstr "STIL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" +"postavi stil navođenja imena; pogledajte niže ispravne vrijednosti STILA" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" -msgstr "" +msgstr "dodatno navedi znakove iz NIZA" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" -msgstr "" +msgstr "onemogući navođenje za znakove iz NIZA" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" -msgstr "" +msgstr "Opcije kompatibilnosti:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" +"pri stvaranju, isto kao --old-archive; pri ekstrahiranju, isto kao --no-same-" +"owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" -msgstr "" +msgstr "Ostale opcije:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" -msgstr "" +msgstr "onemogući koriÅ¡tenje nekih potencijalno opasnih opcija" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" -msgstr "Ne mo¾ete navesti vi¹e od jedne od `-Acdtrux' opcija" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" +msgstr "" +"Ne možete navesti viÅ¡e od jedne od opcija „-Acdtrux” ili „--test-label”" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" -msgstr "Konfliktne opcije za kompresiju" +msgstr "Konfliktne opcije komprimiranja" -#: src/tar.c:996 -#, fuzzy, c-format +#: src/tar.c:1047 +#, c-format msgid "Unknown signal name: %s" -msgstr " nepoznat tip datoteke %s\n" +msgstr "Nepoznato ime signala: %s" -#: src/tar.c:1020 -#, fuzzy +#: src/tar.c:1071 msgid "Date sample file not found" -msgstr "Datoteka s datumom nije pronaðena" +msgstr "Datoteka s primjerom datuma nije pronađena" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" -msgstr "Substituiram %s za nepoznat format datuma %s" +msgstr "Mijenjam %s za nepoznat oblik datuma %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 +#: src/tar.c:1108 #, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: datoteka je arhiva; ne arhiviram ju" +msgid "Option %s: Treating date '%s' as %s" +msgstr "Opcija %s: Postupam s datumom „%s” kao %s" -#: src/tar.c:1201 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 -#, fuzzy, c-format msgid "filter the archive through %s" -msgstr "%s: datoteka je arhiva; ne arhiviram ju" +msgstr "filtriraj arhivu kroz %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" -msgstr "" +msgstr "Ispravni argumenti opcije --quoting-style su:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" +"\n" +"Uobičajeno ponaÅ¡anje *ovog* programa tar je:\n" + +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Neispravan vlasnik" -# FIXME -- clarify this against source and man -- TM -#: src/tar.c:1402 +#: src/tar.c:1339 msgid "Invalid blocking factor" -msgstr "Pogre¹an faktor pakiranja u blokove" +msgstr "Neispravan faktor pakiranja u blokove" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" -msgstr "Pogre¹na duljina trake" +msgstr "Neispravna duljina vrpce" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" -msgstr "" +msgstr "Neispravna vrijednost inkrementalne razine" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" -msgstr "Vi¹e od jednog datuma s pragom (threshold)" +msgstr "ViÅ¡e od jednog datuma praga" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" -msgstr "" +msgstr "Neispravna vrijednost raÅ¡trkane inačice" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" -msgstr "" +msgstr "--atime-preserve='system' nije podržan na ovoj platformi" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" -msgstr "" - -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Pogre¹na grupa" +msgstr "vrijednost --checkpoint nije cjelobrojna" -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" -msgstr "Pogre¹an mod dan opcijom" +msgstr "Neispravan mod naveden opcijom" -#: src/tar.c:1912 -#, fuzzy +#: src/tar.c:1858 msgid "Invalid number" -msgstr "Pogre¹an inode broj" +msgstr "Neispravan broj" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Pogre¹an vlasnik" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" +"Opcija --preserve je zastarjela, koristite --preserve-permissions --preserve-" +"order umjesto nje" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" -msgstr "Pogre¹na velièina sloga (record)" +msgstr "PogreÅ¡na veličina zapisa" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." -msgstr "Velièina sloga (record) mora biti vi¹ekratnik %d." +msgstr "Veličina sloga mora biti viÅ¡ekratnik %d." -#: src/tar.c:2019 -#, fuzzy +#: src/tar.c:1975 msgid "Invalid number of elements" -msgstr "Pogre¹na duljina trake" +msgstr "Neispravan broj elemenata" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" -msgstr "" +msgstr "Dozvoljena je samo jedna opcija --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" -msgstr "" +msgstr "Izobličen argument gustoće: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr "Nepoznata gustoća: „%c”" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" -msgstr "Opcije `-[0-7][lmh]' nisu podr¾ane od strane *ovog* tar-a" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" +msgstr "*Ovaj* tar ne podržava opcije „-[0-7][lmh]”" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." -msgstr "" +msgstr "[DATOTEKA]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." -msgstr "Stara opcija `%c' zahtijeva obavezan argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." +msgstr "Stara opcija „%c” zahtijeva argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" -msgstr "" +msgstr "--occurrence nema smisla bez popisa datoteka" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" -msgstr "" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" +msgstr "--occurrence se ne može koristiti u traženom načinu rada" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" -msgstr "Vi¹edjelne arhive zahtijevaju `-M' opciju" +msgid "Multiple archive files require '-M' option" +msgstr "ViÅ¡edjelne arhive zahtijevaju opciju „-M”" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Ne mogu kombinirati --listed-incremental s --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" -msgstr "" +msgstr "--level nema smisla bez --listed-incremental" -#: src/tar.c:2423 -#, fuzzy, c-format +#: src/tar.c:2433 +#, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" -msgstr[0] "%s: Oznaka dijela arhive je predugaèka (limit je %lu bajtova)" -msgstr[1] "%s: Oznaka dijela arhive je predugaèka (limit je %lu bajtova)" +msgstr[0] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajt)" +msgstr[1] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajta)" +msgstr[2] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajtova)" -# FIXME -- volume -- find more suitable (ask others) -- TM -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" -msgstr "Ne mogu verificirati vi¹edjelne arhive" +msgstr "Ne mogu provjeriti viÅ¡edjelne arhive" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" -msgstr "Ne mogu verificirati komprimirane arhive" +msgstr "Ne mogu provjeriti komprimirane arhive" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Uzorak %s se ne može koristiti" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" -msgstr "Ne mogu koristiti vi¹edjelne komprimirane arhive" +msgstr "Ne mogu koristiti viÅ¡edjelne komprimirane arhive" -#: src/tar.c:2450 -#, fuzzy +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" -msgstr "Ne mogu a¾urirati komprimirane arhive" +msgstr "Ne mogu spojiti komprimirane arhive" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" -msgstr "" +msgstr "--pax-option se može koristiti samo na POSIX arhivama" + +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option se može koristiti samo na POSIX arhivama" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option se može koristiti samo na POSIX arhivama" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option se može koristiti samo na POSIX arhivama" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Uzorak %s se ne može koristiti" -#: src/tar.c:2492 +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" -msgstr "" +msgstr "Duljina dijela arhive ne može biti manja od veličine zapisa" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" -msgstr "" +msgstr "--preserve-order nije kompatibilno s --listed-incremental" # LOL -- TM -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" -msgstr "Kukavièki odbijam kreirati praznu arhivu!" +msgstr "Kukavički odbijam napraviti praznu arhivu" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" -msgstr "Opcije `-Aru' nisu kompatibilne s `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" +msgstr "Opcije „-Aru” nisu kompatibilne s „-f -”" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" -msgstr "Morate specificirati jednu od `-Acdtrux' opcija" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" +msgstr "Morate navesti jednu od opcija „-Acdtrux” ili „--test-label”" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" -msgstr "" +msgstr "Izlazim sa stanjem neuspjeha zbog prethodnih greÅ¡aka" -#: src/update.c:86 -#, fuzzy, c-format +#: src/update.c:87 +#, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" -msgstr[0] "%s: Datoteka se skratila za %s bajtova" -msgstr[1] "%s: Datoteka se skratila za %s bajtova" +msgstr[0] "%s: Datoteka skraćena za %s bajt" +msgstr[1] "%s: Datoteka skraćena za %s bajta" +msgstr[2] "%s: Datoteka skraćena za %s bajtova" #: src/xheader.c:164 #, c-format msgid "Keyword %s is unknown or not yet implemented" -msgstr "" +msgstr "Ključna riječ %s je nepoznata ili joÅ¡ nije implementirana" -#: src/xheader.c:174 -#, fuzzy +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" -msgstr "Oznaka vremena izvan opsega" +msgstr "Vremenska oznaka je izvan dozvoljenih granica" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" -msgstr "" +msgstr "Uzorak %s se ne može koristiti" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" -msgstr "" +msgstr "Ključnu riječ %s se ne može zaobići" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" -msgstr "" - -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" +msgstr "Izobličeno proÅ¡ireno zaglavlje: nedostaje duljina" -# FIXME?? -#: src/xheader.c:557 -#, fuzzy, c-format +#: src/xheader.c:676 +#, c-format msgid "Extended header length %*s is out of range" -msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s opsega" +msgstr "Duljina proÅ¡irenog zaglavlja %*s je izvan granica" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" -msgstr "" +msgstr "Izobličeno proÅ¡ireno zaglavlje: nedostaje praznina nakon duljine" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" -msgstr "" +msgstr "Izobličeno proÅ¡ireno zaglavlje: nedostaje znak jednakosti" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" -msgstr "" +msgstr "Izobličeno proÅ¡ireno zaglavlje: nedostaje novi redak" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" -msgstr "" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" +msgstr "Zanemarujem nepoznatu ključnu riječ proÅ¡irenog zaglavlja „%s”" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" +"Stvoreni par ključna_riječ/vrijednost je predugačak (ključna_riječ=%s, " +"duljina=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 -#, fuzzy, c-format +#: src/xheader.c:1042 +#, c-format msgid "Extended header %s=%s is out of range %s..%s" -msgstr "Vrijednost %s iz arhive je izvan %s opsega %s..%s" +msgstr "ProÅ¡ireno zaglavlje %s=%s je izvan raspona %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" -msgstr "" +msgstr "Izobličeno proÅ¡ireno zaglavlje: neispravan %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" -msgstr "" +msgstr "Izobličeno proÅ¡ireno zaglavlje: suviÅ¡an %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" +"Izobličeno proÅ¡ireno zaglavlje: neispravan %s: neočekivan znak razdvajanja %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" +"Izobličeno proÅ¡ireno zaglavlje: neispravan %s: neparan broj vrijednosti" -#: src/checkpoint.c:107 -#, fuzzy, c-format +#: src/checkpoint.c:109 +#, c-format msgid "%s: not a valid timeout" -msgstr "%s: Pogre¹na grupa" +msgstr "%s: nije ispravno vremensko ograničenje" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" -msgstr "" +msgstr "%s: nepoznata radnja kontrolne točke" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" -msgstr "" +msgstr "piÅ¡i" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" -msgstr "" +msgstr "čitaj" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 -#, fuzzy, c-format +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 +#, c-format msgid "Write checkpoint %u" -msgstr "Toèka provjere ispisa %d" +msgstr "Kontrolna točka pisanja %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 -#, fuzzy, c-format +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 +#, c-format msgid "Read checkpoint %u" -msgstr "Toèka provjere èitanja %d" +msgstr "Kontrolna točka čitanja %u" #: tests/genfile.c:111 -#, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" -msgstr "Generiraj podatkovne datoteke za GNU tar skup test programa.\n" +msgstr "" +"genfile rukuje podatkovnim datotekama GNU paxutils skupa testova.\n" +"OPCIJE su:\n" #: tests/genfile.c:127 -#, fuzzy msgid "File creation options:" -msgstr "Konfliktne opcije za kompresiju" +msgstr "Opcije stvaranja datoteka:" #: tests/genfile.c:128 tests/genfile.c:139 msgid "SIZE" -msgstr "" +msgstr "VELIČINA" #: tests/genfile.c:129 msgid "Create file of the given SIZE" -msgstr "" +msgstr "Napravi datoteku navedene VELIČINE" #: tests/genfile.c:131 -#, fuzzy msgid "Write to file NAME, instead of standard output" -msgstr "Pogre¹ka u pisanju na standardni izlaz" +msgstr "PiÅ¡i u datoteku IME umjesto na standardni izlaz" #: tests/genfile.c:133 msgid "Read file names from FILE" -msgstr "" +msgstr "Čitaj imena datoteka iz DATOTEKE" #: tests/genfile.c:135 msgid "-T reads null-terminated names" -msgstr "" +msgstr "-T čita imena zavrÅ¡ena praznim (null) znakom" #: tests/genfile.c:137 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" -msgstr "" +msgstr "Popuni datoteku navedenim UZORKOM. UZORAK je „default” ili „zeros”" #: tests/genfile.c:140 msgid "Size of a block for sparse file" -msgstr "" +msgstr "Veličina bloka za raÅ¡trkanu datoteku" #: tests/genfile.c:142 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" +"Stvori raÅ¡trkanu datoteku. Ostatak naredbenog retka zadaje mapu datoteke." #: tests/genfile.c:144 msgid "OFFSET" -msgstr "" +msgstr "POMAK" #: tests/genfile.c:145 msgid "Seek to the given offset before writing data" -msgstr "" +msgstr "Idi na zadani pomak prije pisanja podataka" #: tests/genfile.c:151 msgid "File statistics options:" -msgstr "" +msgstr "Opcije statistike datoteka:" #: tests/genfile.c:154 msgid "Print contents of struct stat for each given file. Default FORMAT is: " msgstr "" +"IspiÅ¡i sadržaj statistike strukture za svaku navedenu datoteku. Uobičajeni " +"OBLIK je: " #: tests/genfile.c:161 msgid "Synchronous execution options:" -msgstr "" +msgstr "Opcije sinkronog izvrÅ¡avanja:" #: tests/genfile.c:163 -#, fuzzy msgid "OPTION" -msgstr "" -"\n" -"Kori¹tenje: %s [OPCIJA]...\n" +msgstr "OPCIJA" #: tests/genfile.c:164 msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" +"IzvrÅ¡i ARGUMENTE. Korisno uz --checkpoint i jednu od opcija --cut, --append, " +"--touch, --unlink" #: tests/genfile.c:167 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" msgstr "" +"IzvrÅ¡i zadane radnje (pogledajte dolje) pri dostizanju kontrolne točke BROJ" #: tests/genfile.c:170 msgid "Set date for next --touch option" -msgstr "" +msgstr "Postavi datum za sljedeću opciju --touch" #: tests/genfile.c:173 msgid "Display executed checkpoints and exit status of COMMAND" -msgstr "" +msgstr "Prikaži izvrÅ¡ene kontrolne točke i izlazno stanje NAREDBE" #: tests/genfile.c:178 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" +"Radnje sinkronog izvrÅ¡avanja. One se izvrÅ¡avaju kad se dostigne broj " +"kontrolne točke zadan opcijom --checkpoint." #: tests/genfile.c:181 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" +"Skrati DATOTEKU na veličinu zadanu prethodnom opcijom --length (ili 0 ako " +"nije zadano)" #: tests/genfile.c:185 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" +"Dodaj VELIČINA bajtova u DATOTEKU. VELIČINA je zadana prethodnom opcijom --" +"length." #: tests/genfile.c:188 msgid "Update the access and modification times of FILE" -msgstr "" +msgstr "Ažuriraj vrijeme pristupa i uređivanja DATOTEKE" #: tests/genfile.c:191 msgid "Execute COMMAND" -msgstr "" +msgstr "IzvrÅ¡i NAREDBU" #: tests/genfile.c:194 msgid "Unlink FILE" -msgstr "" +msgstr "Ukloni vezu DATOTEKE" #: tests/genfile.c:244 -#, fuzzy, c-format +#, c-format msgid "Invalid size: %s" -msgstr "Pogre¹na oznaka vremena" +msgstr "Neispravna veličina: %s" #: tests/genfile.c:249 -#, fuzzy, c-format +#, c-format msgid "Number out of allowed range: %s" -msgstr "Inode broj izvan opsega" +msgstr "Broj izvan dozvoljenih granica: %s" #: tests/genfile.c:252 #, c-format msgid "Negative size: %s" -msgstr "" +msgstr "Negativna veličina: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" -msgstr "" +msgstr "stat(%s) nije uspio" #: tests/genfile.c:268 #, c-format msgid "requested file length %lu, actual %lu" -msgstr "" +msgstr "tražena duljina datoteke %lu, stvarna %lu" #: tests/genfile.c:272 #, c-format msgid "created file is not sparse" -msgstr "" +msgstr "stvorena datoteka nije raÅ¡trkana" #: tests/genfile.c:361 #, c-format msgid "Error parsing number near `%s'" -msgstr "" +msgstr "GreÅ¡ka analize broja kod „%s”" #: tests/genfile.c:367 -#, fuzzy, c-format +#, c-format msgid "Unknown date format" -msgstr "Nepoznata pogre¹ka u sistemu" +msgstr "Nepoznat oblik datuma" #: tests/genfile.c:391 msgid "[ARGS...]" -msgstr "" +msgstr "[ARGUMENTI...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" -msgstr "" +msgstr "ne mogu otvoriti „%s”" #: tests/genfile.c:434 -#, fuzzy msgid "cannot seek" -msgstr "Ne mogu zatvoriti" +msgstr "ne mogu tražiti" #: tests/genfile.c:451 #, c-format msgid "file name contains null character" -msgstr "" +msgstr "ime datoteke sadrži prazan (null) znak" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" +"ne mogu stvoriti raÅ¡trkane datoteke na standardnom izlazu, koristite opciju " +"--file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" -msgstr "" +msgstr "netočna maska (kod „%s”)" -#: tests/genfile.c:600 tests/genfile.c:633 -#, fuzzy, c-format +#: tests/genfile.c:602 tests/genfile.c:635 +#, c-format msgid "Unknown field `%s'" -msgstr " nepoznat tip datoteke %s\n" +msgstr "Nepoznato polje „%s”" -#: tests/genfile.c:660 -#, fuzzy, c-format +#: tests/genfile.c:662 +#, c-format msgid "cannot set time on `%s'" -msgstr "%s: Neuspjeli seek na %s" +msgstr "ne mogu postaviti vrijeme na „%s”" -#: tests/genfile.c:699 +#: tests/genfile.c:692 #, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "ne mogu ukloniti vezu „%s”" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "naredba %s nije uspjela" + +#: tests/genfile.c:706 +#, c-format msgid "cannot unlink `%s'" -msgstr "%s: Neuspjeli seek na %s" +msgstr "ne mogu ukloniti vezu „%s”" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" -msgstr "" +msgstr "Izlaz naredbe uspjeÅ¡an\n" -#: tests/genfile.c:827 -#, fuzzy, c-format +#: tests/genfile.c:835 +#, c-format msgid "Command failed with status %d\n" -msgstr "Potproces zavr¹io uz signal %d" +msgstr "Naredba nije uspjela sa stanjem %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" -msgstr "" +msgstr "Naredba zavrÅ¡ena signalom %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" -msgstr "" +msgstr "Naredba zaustavljena signalom %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" -msgstr "" +msgstr "Naredba je izbacila jezgru\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" -msgstr "" +msgstr "Naredba zavrÅ¡ena\n" -# FIXME -- 'mangled filenames'??? -#: tests/genfile.c:871 -#, fuzzy, c-format +#: tests/genfile.c:879 +#, c-format msgid "--stat requires file names" -msgstr "--Manglirana imena datoteka--\n" - -#, fuzzy -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Datoteka uklonjena (removed) prije nego ¹to smo ju proèitali" - -#, fuzzy -#~ msgid "Cannot restore working directory" -#~ msgstr "Ne mogu pohraniti radni direktorij" - -#, fuzzy -#~ msgid "Cannot resolve hostname %s" -#~ msgstr "%s: Ne mogu preimenovati u %s" - -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: ilegalna opcija -- %c\n" - -#~ msgid "Reading %s\n" -#~ msgstr "Èitam %s\n" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Report bugs to <%s>.\n" -#~ msgstr "" -#~ "\n" -#~ "Prijavi gre¹ke i bugove na .\n" +msgstr "--stat zahtijeva imena datoteka" -#, fuzzy -#~ msgid "filter the archive through compress" -#~ msgstr "%s: datoteka je arhiva; ne arhiviram ju" - -#, fuzzy -#~ msgid "filter the archive through lzma" -#~ msgstr "%s: datoteka je arhiva; ne arhiviram ju" - -#, fuzzy -#~ msgid "filter the archive through lzop" -#~ msgstr "%s: datoteka je arhiva; ne arhiviram ju" +#~ msgid "Cannot get working directory" +#~ msgstr "Ne mogu saznati trenutni radni direktorij" -#~ msgid "rmtd: Cannot allocate buffer space\n" -#~ msgstr "rmtd: Ne mogu alocirati prostor za meðuspremnik\n" +#~ msgid "sort names to extract to match archive" +#~ msgstr "razvrstaj imena za ekstrakciju da odgovaraju arhivi" -#~ msgid "Cannot allocate buffer space" -#~ msgstr "Ne mogu alocirati prostor za meðuspremnik" +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Polje predugačko pri čitanju datoteke snimke stanja" -#~ msgid "Try `%s --help' for more information.\n" -#~ msgstr "Poku¹ajte `%s --help' za vi¹e informacija.\n" +#~ msgid "Read error in snapshot file" +#~ msgstr "GreÅ¡ka čitanja u datoteci snimke stanja" -#, fuzzy -#~ msgid "" -#~ "Usage: %s [OPTION]\n" -#~ "Manipulate a tape drive, accepting commands from a remote process.\n" -#~ "\n" -#~ " --version Output version info.\n" -#~ " --help Output this help.\n" -#~ msgstr "" -#~ "Kori¹tenje: %s [OPCIJA]\n" -#~ "Upravljaj jedinicom trake, prihvaæajuæi naredbe od udaljenih procesa.\n" -#~ "\n" -#~ " --version Informacije o verziji programskih ispisa.\n" -#~ " --help Ispi¹i ovu pomoæ.\n" +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Neočekivana vrijednost polja u datoteci snimke stanja" -# FIXME -- find xlation for 'seek offset' -- TM -#, fuzzy -#~ msgid "Seek offset error" -#~ msgstr "Seek ofset izvan opsega" +#~ msgid "Invalid group" +#~ msgstr "Neispravna grupa" -#~ msgid "Premature end of file" -#~ msgstr "Prerani kraj datoteke" +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Duljina proÅ¡irenog zaglavlja je izvan dozvoljenih granica" -#~ msgid "Error is not recoverable: exiting now" -#~ msgstr "Gre¹ka iz koje se ne mogu oporaviti: zavr¹avam s radom" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: ilegalna opcija -- %c\n" #~ msgid "block size" -#~ msgstr "velièina bloka" +#~ msgstr "veličina bloka" #~ msgid "Cannot dup" #~ msgstr "Neuspjeli dup" @@ -2795,17 +2933,20 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgid "tar (grandchild)" #~ msgstr "tar (pod-podproces)" +#~ msgid "Reading %s\n" +#~ msgstr "Čitam %s\n" + #~ msgid "WARNING: No volume header" #~ msgstr "UPOZORENJE: Nema zaglavlja za dio arhive" #~ msgid "Child returned status %d" -#~ msgstr "Podproces zavr¹io uz status %d" +#~ msgstr "Podproces zavrÅ¡io uz status %d" #~ msgid "Member names contain `..'" -#~ msgstr "Imena èlanova sadr¾e `..'" +#~ msgstr "Imena članova sadrže `..'" #~ msgid "%s: Member name contains `..'" -#~ msgstr "%s: Ime èlana sadr¾i `..'" +#~ msgstr "%s: Ime člana sadrži `..'" # FIXME -- clarify this against source -- TM -- didn't help # Paul E. said this means: @@ -2813,22 +2954,22 @@ msgstr "--Manglirana imena datoteka--\n" # "tar" read a LONGNAME or LONGLINK header from the archive in a context # where it was not expected. #~ msgid "Visible long name error" -#~ msgstr "Vidljiva pogre¹ka u dugom imenu" +#~ msgstr "Vidljiva pogreÅ¡ka u dugom imenu" + +#~ msgid "Error is not recoverable: exiting now" +#~ msgstr "GreÅ¡ka iz koje se ne mogu oporaviti: zavrÅ¡avam s radom" #~ msgid "Device number out of range" -#~ msgstr "Broj ureðaja izvan opsega" +#~ msgstr "Broj uređaja izvan opsega" #~ msgid "Visible longname error" -#~ msgstr "Vidljiva pogre¹ka u dugom imenu" +#~ msgstr "Vidljiva pogreÅ¡ka u dugom imenu" #~ msgid "Renamed %s to %s" #~ msgstr "Preimenovao %s u %s" -#~ msgid "%s: Cannot symlink to %s" -#~ msgstr "%s: Ne mogu napraviti simbolièki link prema %s" - #~ msgid "Symlinked %s to %s" -#~ msgstr "Napravio simbolièki link %s prema %s" +#~ msgstr "Napravio simbolički link %s prema %s" #~ msgid "Unknown demangling command %s" #~ msgstr "Nepoznata naredba za demangliranje %s" @@ -2836,6 +2977,12 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgid "Missing file name after -C" #~ msgstr "Nedostaje ime datoteke nakon -C" +#~ msgid "rmtd: Cannot allocate buffer space\n" +#~ msgstr "rmtd: Ne mogu alocirati prostor za međuspremnik\n" + +#~ msgid "Cannot allocate buffer space" +#~ msgstr "Ne mogu alocirati prostor za međuspremnik" + #~ msgid "" #~ "This program comes with NO WARRANTY, to the extent permitted by law.\n" #~ "You may redistribute it under the terms of the GNU General Public " @@ -2843,9 +2990,12 @@ msgstr "--Manglirana imena datoteka--\n" #~ "see the file named COPYING for details." #~ msgstr "" #~ "Ovaj program dolazi BEZ GARANCIJA, do granica dozvoljenih zakonom.\n" -#~ "Mo¾ete ga redistribuirati pod uvjetima GNU General Public License;\n" +#~ "Možete ga redistribuirati pod uvjetima GNU General Public License;\n" #~ "vidi datoteku imena COPYING za detalje." +#~ msgid "Premature end of file" +#~ msgstr "Prerani kraj datoteke" + # FIXME -- now this is supposed to be funny #~ msgid "rmtd: Garbage command %c\n" #~ msgstr "rmtd: %c je neispravna naredba\n" @@ -2857,7 +3007,7 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "" #~ "GNU `tar' sprema mnogo datoteka zajedno u jednu arhivu na traci ili " #~ "disku, i\n" -#~ "mo¾e povratiti pojedinaène datoteke iz arhive.\n" +#~ "može povratiti pojedinačne datoteke iz arhive.\n" #~ msgid "" #~ "\n" @@ -2866,7 +3016,7 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "" #~ "\n" #~ "Ako duga opcija pokazuje agument kao obavezan, onda je obavezan\n" -#~ "i za ekvivalentnu kratku opciju takoðer. Jednako vrijedi i za " +#~ "i za ekvivalentnu kratku opciju također. Jednako vrijedi i za " #~ "opcionalne\n" #~ "argumente.\n" @@ -2886,17 +3036,17 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "" #~ "\n" #~ "Glavni mod rada:\n" -#~ " -t, --list ispi¹i sadr¾aje arhive\n" +#~ " -t, --list ispiÅ¡i sadržaje arhive\n" #~ " -x, --extract, --get ekstrahiraj datoteke iz arhive\n" #~ " -c, --create kreiraj novu arhivu\n" -#~ " -d, --diff, --compare naði razlike izmeðu arhive i datoteènog " +#~ " -d, --diff, --compare nađi razlike između arhive i datotečnog " #~ "sustava\n" #~ " -r, --append nadodaj datoteke na kraj arhive\n" #~ " -u, --update nadodaj samo datoteke novije od kopije u " #~ "arhivi\n" #~ " -A, --catenate nadodaj tar datoteke na arhivu\n" #~ " --concatenate isto kao -A\n" -#~ " --delete izbri¹i iz arhive (ne radi na magnetskim " +#~ " --delete izbriÅ¡i iz arhive (ne radi na magnetskim " #~ "trakama!)\n" #~ msgid "" @@ -2924,16 +3074,16 @@ msgstr "--Manglirana imena datoteka--\n" #~ "files\n" #~ msgstr "" #~ "\n" -#~ "Modifikatori operacija: -W, --verify poku¹aj verificirati " +#~ "Modifikatori operacija: -W, --verify pokuÅ¡aj verificirati " #~ "arhivu nakon pisanja\n" -#~ " --remove-files obri¹i datoteke nakon njihovog dodavanja " +#~ " --remove-files obriÅ¡i datoteke nakon njihovog dodavanja " #~ "arhivi\n" -#~ " -k, --keep-old-files ne zamjenjuj postojeæe datoteke kod " +#~ " -k, --keep-old-files ne zamjenjuj postojeće datoteke kod " #~ "ekstrakcije\n" -#~ " --overwrite prepisuj postojeæe datoteke kod ekstrakcije\n" +#~ " --overwrite prepisuj postojeće datoteke kod ekstrakcije\n" #~ " --overwrite-dir prepisuj meta-podatke direktorija kod " #~ "ekstrakcije\n" -#~ " -U, --unlink-first obri¹i svaku datoteku prije ekstrakcije preko " +#~ " -U, --unlink-first obriÅ¡i svaku datoteku prije ekstrakcije preko " #~ "nje\n" #~ " --recursive-unlink isprazni hijerarhije prije ekstrahiranja u\n" #~ " direktorij\n" @@ -2945,8 +3095,8 @@ msgstr "--Manglirana imena datoteka--\n" #~ " -g, --listed-incremental=FILE\n" #~ " obradi inkrementalni backup novog GNU-formata\n" #~ " --ignore-failed-read\n" -#~ " ne zavr¹avaj uz ne-nula izlazni kod na\n" -#~ " neèitljivim datotekama\n" +#~ " ne zavrÅ¡avaj uz ne-nula izlazni kod na\n" +#~ " nečitljivim datotekama\n" # FIXME -- 'volume number' -- TM #~ msgid "" @@ -2974,17 +3124,17 @@ msgstr "--Manglirana imena datoteka--\n" #~ " --owner=NAME forsiraj NAME za vlasnika dodanih " #~ "datoteka\n" #~ " --group=NAME forsiraj NAME za grupu dodanih datoteka\n" -#~ " --mode=CHANGES forsiraj (symbolièke) promjene pristupnog\n" +#~ " --mode=CHANGES forsiraj (symboličke) promjene pristupnog\n" #~ " moda za dodane datoteke\n" #~ " --atime-preserve ne mijenjaj vremena pristupa (access " #~ "time)\n" #~ " pohranjenim datotekama\n" #~ " -m, --modification-time ne ekstrahiraj vremena modifikacije\n" -#~ " --same-owner poku¹aj postaviti vlasni¹tvo datoteka\n" +#~ " --same-owner pokuÅ¡aj postaviti vlasniÅ¡tvo datoteka\n" #~ " kao u arhivi\n" #~ " --no-same-owner ekstrahiraj datoteke pod svojim " -#~ "vlasni¹tvom\n" -#~ " --numeric-owner uvijek koristi numerièka imena\n" +#~ "vlasniÅ¡tvom\n" +#~ " --numeric-owner uvijek koristi numerička imena\n" #~ " korisnika/grupa\n" #~ " -p, --same-permissions ekstrahiraj informacije o dozvolama\n" #~ " --no-same-permissions ne ekstrahiraj informacije o dozvolama\n" @@ -3013,15 +3163,15 @@ msgstr "--Manglirana imena datoteka--\n" #~ " --volno-file=FILE use/update the volume number in FILE\n" #~ msgstr "" #~ "\n" -#~ "Selektiranje i mijenjanje ureðaja:\n" -#~ " -f, --file=ARCHIVE koristi datoteku ili ureðaj za " +#~ "Selektiranje i mijenjanje uređaja:\n" +#~ " -f, --file=ARCHIVE koristi datoteku ili uređaj za " #~ "arhiviranje\n" #~ " ARCHIVE\n" -#~ " --force-local ime arhive je lokalno èak i ako sadr¾i\n" -#~ " dvotoèku\n" +#~ " --force-local ime arhive je lokalno čak i ako sadrži\n" +#~ " dvotočku\n" #~ " --rsh-command=COMMAND koristi remote COMMAND umjesto rsh\n" #~ " -[0-7][lmh] specificiraj drive i density\n" -#~ " -M, --multi-volume kreiraj/izlistaj/ekstrahiraj vi¹edjelne\n" +#~ " -M, --multi-volume kreiraj/izlistaj/ekstrahiraj viÅ¡edjelne\n" #~ " arhive\n" #~ " -L, --tape-length=NUM promijeni traku nakon ispisivanja\n" #~ " NUM x 1024 bajtova\n" @@ -3031,7 +3181,7 @@ msgstr "--Manglirana imena datoteka--\n" #~ " --volno-file=FILE koristi/nadopuni volume number u FILE\n" # FIXME -- clear this 'device blocking' xlation -- TM -# FIXME -- vidi ovaj 'znaèi EOF' u man -- TM +# FIXME -- vidi ovaj 'znači EOF' u man -- TM #~ msgid "" #~ "\n" #~ "Device blocking:\n" @@ -3042,14 +3192,14 @@ msgstr "--Manglirana imena datoteka--\n" #~ " -B, --read-full-records reblock as we read (for 4.2BSD pipes)\n" #~ msgstr "" #~ "\n" -#~ "Faktor grupiranja u blokove na ureðaju (device blocking):\n" +#~ "Faktor grupiranja u blokove na uređaju (device blocking):\n" #~ " -b, --blocking-factor=BLOCKS BLOCKS x 512 bajtova po zapisu (record)\n" -#~ " --record-size=SIZE SIZE bajtova po zapisu, vi¹ekratnik od " +#~ " --record-size=SIZE SIZE bajtova po zapisu, viÅ¡ekratnik od " #~ "512\n" #~ " -i, --ignore-zeros ignoriraj blokove ispunjene nulama u " #~ "arhivi\n" -#~ " (koji inaèe znaèe EOF)\n" -#~ " -B, --read-full-records pregrupiraj blokove dok èita¹\n" +#~ " (koji inače znače EOF)\n" +#~ " -B, --read-full-records pregrupiraj blokove dok čitaÅ¡\n" #~ " (za 4.2BSD cjevovode -- pipes)\n" #~ msgid "" @@ -3073,14 +3223,14 @@ msgstr "--Manglirana imena datoteka--\n" #~ "arhive NAME\n" #~ " PATTERN u vrijeme izlistavanja/ekstrakcije,\n" #~ " koristi PATTERN za globbing\n" -#~ " -o, --old-archive, --portability ispi¹i V7 format arhivu\n" -#~ " --posix ispi¹i POSIX format arhivu\n" +#~ " -o, --old-archive, --portability ispiÅ¡i V7 format arhivu\n" +#~ " --posix ispiÅ¡i POSIX format arhivu\n" #~ " -j, --bzip2 filtriraj arhivu kroz bzip2\n" #~ " -z, --gzip, --ungzip filtriraj arhivu kroz gzip\n" #~ " -Z, --compress, --uncompress filtriraj arhivu kroz compress\n" #~ " --use-compress-program=PROG filtriraj kroz program PROG (moji " #~ "mora\n" -#~ " prihvaæati opciju -d)\n" +#~ " prihvaćati opciju -d)\n" #~ msgid "" #~ "\n" @@ -3116,35 +3266,35 @@ msgstr "--Manglirana imena datoteka--\n" #~ " -C, --directory=DIR promijeni direktorij u DIR\n" #~ " -T, --files-from=NAME dobavi imena za ekstrahirati ili kreirati\n" #~ " iz datoteke NAME\n" -#~ " --null -T èita nul-terminirana imena, onemoguæi -" +#~ " --null -T čita nul-terminirana imena, onemogući -" #~ "C\n" #~ " --exclude=PATTERN izostavi datoteke, dane s PATTERN\n" #~ " -X, --exclude-from=FILE izostavi uzorak datoteka: pobrojane u " #~ "FILE\n" -#~ " --anchored - koje zapoèinju tim imenom (default)\n" +#~ " --anchored - koje započinju tim imenom (default)\n" #~ " --no-anchored - koje se podudaraju s uzorkom nakon " #~ "nekog '/'\n" #~ " --ignore-case izostavljanje ignorira razliku\n" -#~ " izmeðu velikih i malih slova\n" +#~ " između velikih i malih slova\n" #~ " --no-ignore-case izostavljanje uzima u obzir razliku\n" -#~ " izmeðu malih i velikih slova " +#~ " između malih i velikih slova " #~ "(default)\n" #~ " --wildcards izostavi uzorke koristi wildcard " #~ "(default)\n" -#~ " --no-wildcards uzorci za izostavljanje su obièni nizovi\n" +#~ " --no-wildcards uzorci za izostavljanje su obični nizovi\n" #~ " --wildcards-match-slash izostavi uzorak wildcard podudara '/'\n" #~ " (default)\n" #~ " --no-wildcards-match-slash\n" #~ " izostavi uzorak - wildcard ne podudara " #~ "'/'\n" -#~ " -P, --absolute-names ne bri¹i vodeæe `/' iz imena datoteka\n" -#~ " -h, --dereference ne arhiviraj simbolièki link nego " +#~ " -P, --absolute-names ne briÅ¡i vodeće `/' iz imena datoteka\n" +#~ " -h, --dereference ne arhiviraj simbolički link nego " #~ "datoteku\n" #~ " na koju pokazuje\n" #~ " --no-recursion ne idi rekurzivno u poddirektorije\n" -#~ " -l, --one-file-system ne prelazi na drugi datoteèni sustav\n" +#~ " -l, --one-file-system ne prelazi na drugi datotečni sustav\n" #~ " kod kreiranja datoteka\n" -#~ " -K, --starting-file=NAME poèni s imenom NAME u arhivi kod " +#~ " -K, --starting-file=NAME počni s imenom NAME u arhivi kod " #~ "ekstrakcije\n" #~ msgid "" @@ -3185,15 +3335,15 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "" #~ "\n" #~ "Informativni ispis:\n" -#~ " --help ispi¹i ovu pomoæ, potom zavr¹i\n" -#~ " --version ispi¹i broj verzije tar programa, potom zavr¹i\n" -#~ " -v, --verbose op¹irno izlistaj imena datoteka kod procesiranja\n" -#~ " --checkpoint ispisuj imena direktorija dok èita¹ arhivu\n" +#~ " --help ispiÅ¡i ovu pomoć, potom zavrÅ¡i\n" +#~ " --version ispiÅ¡i broj verzije tar programa, potom zavrÅ¡i\n" +#~ " -v, --verbose opÅ¡irno izlistaj imena datoteka kod procesiranja\n" +#~ " --checkpoint ispisuj imena direktorija dok čitaÅ¡ arhivu\n" #~ " --totals ispisuj ukupan broj ispisanih bajtova dok " -#~ "kreira¹\n" +#~ "kreiraÅ¡\n" #~ " arhivu\n" -#~ " -R, --block-number prika¾i broj bloka unutar arhive uz svaku poruku\n" -#~ " -w, --interactive tra¾i odobrenje za svaku akciju\n" +#~ " -R, --block-number prikaži broj bloka unutar arhive uz svaku poruku\n" +#~ " -w, --interactive traži odobrenje za svaku akciju\n" #~ " --confirmation isto kao -w\n" #~ msgid "" @@ -3208,13 +3358,13 @@ msgstr "--Manglirana imena datoteka--\n" #~ "*This* `tar' defaults to `-f%s -b%d'.\n" #~ msgstr "" #~ "\n" -#~ "GNU tar ne mo¾e èitati ili proizvoditi `--posix' arhive. Ako je\n" +#~ "GNU tar ne može čitati ili proizvoditi `--posix' arhive. Ako je\n" #~ "POSIXLY_CORRECT definirano u environment okolini, GNU ekstenzije se\n" -#~ "onemoguæuju pomoæu `--posix'. Podr¹ka za POSIX je samo djelomièno\n" -#~ "implementirana, ne raèunajte jo¹ na nju.\n" -#~ "ARCHIVE mo¾e biti FILE, HOST:FILE ili USER@HOST:FILE; DATE mo¾e biti\n" -#~ "tekstualni datum ili ime datoteke koje zapoèinje s `/' ili `.',\n" -#~ "u kojem sluèaju je kori¹ten datum datoteke.\n" +#~ "onemogućuju pomoću `--posix'. PodrÅ¡ka za POSIX je samo djelomično\n" +#~ "implementirana, ne računajte joÅ¡ na nju.\n" +#~ "ARCHIVE može biti FILE, HOST:FILE ili USER@HOST:FILE; DATE može biti\n" +#~ "tekstualni datum ili ime datoteke koje započinje s `/' ili `.',\n" +#~ "u kojem slučaju je koriÅ¡ten datum datoteke.\n" #~ "*Ovaj* `tar' podrazumijeva `-f%s -b%d'.\n" #~ msgid "Obsolete option, now implied by --blocking-factor" @@ -3227,7 +3377,7 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "Zastarjelo ime opcije zamijenjeno s --read-full-records" #~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?" -#~ msgstr "Upozorenje: opcija -I nije podr¾ana; mo¾da ste mislili -j ili -T?" +#~ msgstr "Upozorenje: opcija -I nije podržana; možda ste mislili -j ili -T?" #~ msgid "Obsolete option name replaced by --touch" #~ msgstr "Zastarjelo ime opcije zamijenjeno s --touch" @@ -3239,7 +3389,7 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "Zastarjelo ime opcije zamijenjeno s --block-number" #~ msgid "Warning: the -y option is not supported; perhaps you meant -j?" -#~ msgstr "Upozorenje: opcija -y nije podr¾ana; mo¾da ste ¾eljeli -j?" +#~ msgstr "Upozorenje: opcija -y nije podržana; možda ste željeli -j?" #~ msgid "Obsolete option name replaced by --backup" #~ msgstr "Zastarjelo ime opcije zamijenjeno s --backup" @@ -3248,7 +3398,7 @@ msgstr "--Manglirana imena datoteka--\n" #~ msgstr "Napisali John Gilmore i Jay Fenlason." #~ msgid "Error exit delayed from previous errors" -#~ msgstr "Pogre¹an izlaz (naknadno) zbog prija¹njih pogre¹aka" +#~ msgstr "PogreÅ¡an izlaz (naknadno) zbog prijaÅ¡njih pogreÅ¡aka" #~ msgid "" #~ "If a long option shows an argument as mandatory, then it is mandatory\n" @@ -3260,9 +3410,9 @@ msgstr "--Manglirana imena datoteka--\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Ako duga opcija pokazuje argument kao obavezan, tada je on obavezan\n" -#~ "takoðer i za ekvivalentnu kratku verziju opcije.\n" +#~ "također i za ekvivalentnu kratku verziju opcije.\n" #~ "\n" #~ " -l, --file-length=LENGTH LENGTH (duljina) generirane datoteke\n" #~ " -p, --pattern=PATTERN PATTERN je `default' ili `zeros'\n" -#~ " --help ispi¹i ovu pomoæ i zavr¹i\n" -#~ " --version ispi¹i informaciju o verziji i zavr¹i\n" +#~ " --help ispiÅ¡i ovu pomoć i zavrÅ¡i\n" +#~ " --version ispiÅ¡i informaciju o verziji i zavrÅ¡i\n" diff --git a/po/hu.gmo b/po/hu.gmo index 42bf11858b13aa0fb655466242974eb2912d663e..efb9c1a0bbd1c5a301cf2e069d6de44e774f5d2d 100644 GIT binary patch delta 11431 zcmYk?33yG{8piRR8A&RVh(tmXQzVf{NR&iEViwdqPeoNtE!7grF_jiI9Yd8;t+B>B zrMS1$TvMp(ZK;mNUes+>QR?3Ro3-4>e){=+-`e}^z4lsb?{j#1{;JQ_-9E1GLwy%| zIc(mJlLl!aj^j}t=QwJAm}K-#cAOG~whWBIOgx6qU^teq;W++S6XUQB#$p!?!qL{L zIGuW44aem~kVK_8PAaBZ`(Rb-*;ocY#xOjL>g0K>gn@jh8KztcizF z9r+WpF@nbO*uJLATwoXthSoM6 zcoTD}H=-_d-L{v_a2!&nE{5Px)aS<|mvmgqNOYkhjK|;cX$;RaQ_>1`!g1IVSEG*m z4@P4sx2>s4McqJ0)C~=_F2Mxq!^o^TzhWH5aFOa<-^nqFGY~`BF$eX5_pt&VL(Sba zYl*sMK~_f}+LKUIkc#x(X@^>b(@=}_Eqn^sT6dtXa|pA!zVi)<7EgFRGgS4EX?BKL z-^KdWCsA`+iiy_{Rz)5Tr!khp7f~0UjsZ9uHS~+H2_8d@WC$ye!E>@Oi|actk!Z*^ zU=)6X>d@~Pf#tZmMj#dS1h&DZI2Lt*eW;GyL5)OQj=4Z1REG*tBRLVHaXGR+o!#hC z&##lH$3Cne8E6ed{&S-FLm%jl)o>=NgWFIY_!@QMzy_wn38*!ai|TM+ThBtRwauuG zo@v1Nhm+i)AqGn|G(($!6{wqH7!JTV9D^E>C8*DB#aKLqrSUTIpL2&lG@^C#%z65w z&NB&h{6h4_?RhTqJnp7Ji|GiK$Kx1>S5S{lK)!h|M50cRimXSc4aVa%EQRZ^B6_eR zol&`9>evN#Uap?RngcdaC8K(Ytvtn&yPVqQ~oXOl6IdKKyeTTw%K618@I zLOo9RQ5OhmW;$L8HAVRthh0#gAAry^6ZPBU^_yH+3RvDsoUK zYGd1npgQ0}-RXP`z^$ke+=&|UZ%`fdYhk`4qA^gL0CsEzSEP3G2|_9TRXK@&r4(kO#!MgViykz&xJ4Foo+oZjwaYhe>!HU&e@5 zOasn9b?gM{{qPfNBpzT82DLUL5{16hbx=2yjmemgS{uVrBQO!QW)`7KC)z@yq52H< z!5^(xQFr<)YPE;8F&!yD&3#{F4xKTmDVUBL`gbr6-$#w)0aV9+MlHUps2jT5hVj=O z1wF$fh1IYjcEVs>gc^}m$og_lp)M5B){I0VrcpP-syGU3;5(=(ID+cvE!5`%+L<+0 z9<|2O+cEy?SrZy`=PglnJ6m@~Kk8nnH(Y=)QFaBZ#s~O zx{*B8lnljc__m9rG|65Zfu~SIme;{_q%U@*ehzhqdr%{F2`gb(M>7(2P#tTFA@~A@ z;aKdBvoR2V!B%(&HS(_fPNt_lF`S0iPJ>f`pTg~^wQvwMRbQbl{1a+Q@1rZ8B&fH!P%7$xo|uQD zP>fwn261A5+>u( z{w}j9?$A)5hNuDNM`UM=r=E$ixCzzKleWHR_eXMDb!g8*U1$Wx;T+7zt*EKIjXGca zKyzFptU~>)i$r%m4YTnRtcSNzA53}Pbg+ljg?g+$Kn?Lt)DTAuGECY9d=zK(NOrmU`|vEH8-to-4Au=<54GChavbmmcetVskx5TF_Hx!^RO`v z#)`NF6R-%k;GdYN=YP!*(}B~d9zMis7(dj!TASl#>fRXc#Yu;mH)FTqW-au_O6;GC z>d0Eu$ep$OyPXk{2XiI1Jnp5^Xx`p4(fbeQ2U=pKd$dACh^C2F$Y(nM&M`Eb6Rqwc`w9Z zFX{qJ!u6=3K8qTGzwv2|d)bU+SJa{#kF{_GR>d=R|2=eRPAiNui!cWxsfVNHY&xpP zYp@OOzz*p5ig`13L!Gb>YUEzW-AvIujH7NfnwJg^L(P4oF}#*>2x_WEjbZ%N!<97X zLI+So{UyGOzhVr|Dm0JhdaO%*1z9{!>{xS$EwCK*5X{6WSQ&R=XZ#Lzos4nj!ksaW zddfJ)zbVNo8ua{M$3|HFHS;(QMa|th)R6DD-o!H0k>kyYlTbt73d3v zcViPAIGJ^T8&T&=nqo%KHJC&vT7X(aU!WG>AE*PPr~~9o=C8 z@-A{*sK@UrYH^mGX7=Y|JoQMdhYO4@r-(#zT4K5xfjra+3Q@1twbt)3fx7G)<^(yY zdNgV+tgs$MAL`rIyQryqfEwXy468r(#^Ue)=SVb{ldNtGrCyB%xD%_P?+nwSWYkFX zLv?&UHpAnnrzUKsxzk#hP2CYI<6JC(A7e@U6!q^<&JmLCco#L~?PrXjIPTQLxKVkbO^t+4z&`({Ip%wlYhr%`LG@_aKDO|b^`i1|GKx|8KJ zq~SShDYvbXb)CV76DGXj@?j#bEsIxH?2Vw*kqRuxLJL3*a$Kb{0^9@js zX-gc6Z@5VGT;D+*_|)6x&KqJb^-NUzG1OE&L@gfgC8i@ms6|&3dtn>Yh;2lTzy;KZ z+{JJVe}~sGCSr4REhf=i{D_elywn_64dbY@u`Bk(j<_A$VyR{3+pq@)QBTJTxBzvb zZKx?bf;#VYERVkLnhwWe6xVlhNgA@FD`wyl)EyUL7&^<%yFDCrr!`O~D!?i@5H-g$ zQ5V{Vy6|z-akr2QIi*&ZZV_n#cA9)W~hZKIr|vc{=)GHx~^{Njl*j%)x>W*nw}N>Wioj z#;-DUFPuWX6kB8LYSW=%s1aC#(YOtRu?S=E0{Y^8^utH!(qrel#td~P>cAFQ0S96w zoQhB5TGUAVfEvPUsHf$3%*FV%W`z2phW=I5(=pH1t56r-iDF3`>3a(;s&#*3ecN+B$mKe&>ttDhW2#~KsV|Vq+xOx+!|dS@W-5@!|agxQgO>T&!Fz?5oTfSEoP*K zqdqqcb-fQ!Q|&rRGL+;B24jb<=0)->R;S*JI`K7(!0?aE5GSMNxP^59YSFn+Q?nGy zpa&b^Aq+&nZT#&B%U};Z|0_u*(eO7Wq03|L;6rRp{R66FDIc4;%*Hy@!%!Vqh5FoH zR0sZz_0WI2S$qvq$9KR~oPj!i7gp2re~CnkC2)rsnpD(@TVn(cLiOB*x}%v`3g1Po z=5?qwuo-=D2X?~UsKpubiFv`b$0pQnR7cKXGS_!X?BriBFaxvkBqm_VU1liLF^#$f z>M9PRIqn&Zr=E?mxD})EG^)cla27`GF~2$2>|y+Mp^G$( zM(@4mLSs>@bu;GU8LWk6KQnjS9J^7^!ZvsXvoUj@`5`g_J5ujKbv$gpIZrceN<9PX z;1~N{W-*jFVBXEOu`N5?n2DEAJuiRIo&f7n&pIPliNHk}2FdaWatpFM32N>iVs$nMeQ#{jlfdWVmyiMG3G1tj(-vRQ_sZ~_y_6+a{pzY|M4Wczh@Fw{r?!| zU)v?31EFWNA92_o@L%#Lw+0k%u`ku`A8C!W>h8nHm)Z~Q!i|JCp%Ktlk!V$%(dOdd zJrr~BFJcmTE;$j`lcAR_%kwTOst`pjJ6ItZli!1X_I;=(K zHQFu^KCD0Idy;iD{*2k!4PVE9pthN4{tp#iqo%3&&wudeKK5<5$AweBWA`V}_C9$u zZnpbhrfx~ZQuEHT8~4ASbU%&X5>3c`u_W;gp-nHR&O~cl`&ox;C)T3b1T!`FiIF|n1nO?=A!xi|%XL6_dm{)D!NG%hFN$m6hhW9g0{uW!p|$nTQ} z;*UgCVw~M4ey3iDGi+Ng+(g?ULR%+XLHvvOUGuMP7U4}pd4exMrx!j)Xq#pz{)xp4 z(fOWOK^(H};#J}p$LnSD3I5Z5R{OM#Ca%yHiPwpG2Bs^)Kg7Zgr^xX(%55H5BjL12U{t z?9u+VzHC+VTJkQo9)iU_7@RBd`_K!18sXFoKBRbtr|Xyp+qAhhA1FT5)tgHO)MkVmPnK=&UhkdFSP5g zxXI0*Ni_DrJk++zQ2dw6P2@Lh`>WRew9O~i?}0R;G_l9-`!Cj`)^7rBFHzqmY7ob$ zPvIAO{-4}lv_%Gf&AvCWf<0y>&VJ(f-`LlQ=tx@*QOEA9X#EfVO8k>!yl^*>Lf#b9 zQJd>eieE{p5_^e@)Y`h^Z6eLqb!j_A4AxGzFKI7LoFsPHW2VslZ{i0X!1fH$hkbL2 zsl_ekk1f=HldjYJ=aPil6I3F9m%M|mb@*50i||9-K&HO?YFVgK{QIonk;->A|HU-?hq4*zO=nV1d%5ZuJ#n_#N%xg$ujCSc!sz|^d$0W+m0XGV_RTb zn?IyoTNLpV(Tet`ur~1@LfdI#DeVV{JH#XEwHp6wBx7kPeiM;*C4amHlN3@vMZ}UH z!4~)@QQsan0OwOb-d>@eL$Q+h_HiRFp#24$Nqj~=k0`$CS8#=Ri+DivW5?Cvojm{6 zjd+iJPi`LC((V4T_#r#LAhaHQc+m$XJ5C%CNS~be}oZ%VNX}g!FUYGeko`jx>Uhe6=JnnwIQ{1b2hk3mE#QA#G_y5b= zQ#6pXels+@geU%$iT<9?$Hn-%lPAs%shyIZmXekkSF3hbdRlT?ZO`$ED@(ce&5ZC= zoW&tA^Flo%=05Q9yfc5Xk7xLzuL3+TET87@PFmgHb9nV2FHhe3Xm9tX4a3}N8*jN= zZz}M7wCTM7_nhtb-Me4d6uAvCFzWReV-%*2^VAc18ptOzQWQ5F?h zQ2`?Y;vfhriV+pDVHfNb)^*p8u7&^ich3z5^?9Fno;`fdIrrRiPrn!3&-d3n_Ib_d zdrfNHl3-a@`x=(j6Gt?*taph|ZEso1e=6PhJibiO?-y)^zv6S)BEzzh@FT2)r_jdV zupPGRVOi(maMy{riu9ZwR@7=vR|E%HC>F8-i>)~h%U zf5477te0gqz#MFimm*bKYf%k3fP?WpOvdEiQS*R)z3BxR9H3d81O3cQ4Q6pEMr>cSNu@o~=4SE=d;c?W1lLwgm(MVgYd{hUcw-ZqX_oE(o z1ofa_F$GgDFg+QCWLXPPQ?(9N@gW?K|3#G_G|;ln$9bqJT#7AlBdVi&unm4}(orjc zaZDv61GTv#bTEmS2x`ajWZ2*S$y^t;bR2 zf5Xn$W29-|OjHM#q3Ydm!d}KDr|^bMn{=nB74Zt>O6(2s3Y^x6i1?Nn2EKp6m^m< z! zxtopJepjOMA4E0meXN6@pdR=IYOd>FXhxtvQk69cJL1i#hDY}iX-VWYY>ZzbjkQjr zCxQ4yrXgF$n~^z&>e-K|hMqUUOhsE9PI@phi`Ft6fd^1MK8^J;Wuhscj%@d+HJ*ru zdMRp=U5na&_n;oM7j>q;fa=+C)Lj0IHa41MD(r=+q$gtsEJbbW+fY5NK&^$RumK*& zrrQ4}-3z}u8B{*m%wZSQA{&Tm;7nA*7Nge4->@#;j%wK5n1+?8hJS^6P@O5J=Siq3 zvQZsK#kM@(8bYKy&P5H?D%T3sTpe-!3VV=lHr2dr#-Mt<9Cc9LgW854U>9t6u{l33 z#B|atQ0L11sI~D1M#DrBrt#vy5>(6fq7Innu@QcT=i({Uh}4>HDo8;szKN)wU5x6; zY;24xQ6sSqwZ`s8)prOrVsA`m{B`3GWXNB!6V_rYsOQ~K+hz)?VXIJUWCLoBcVka{ z3-#c7Gt5h@AD%}#ADdt)YN}SFjW?op-Geh2fA!!f84d9bOv2AlBk(h3V6&NKHIGKk z>EBU97{jr60QI2Sv&;$C5_NxHR0AiYIu=E(kd{2hP%gpF zcsFWfp2JJ=7;5MyUSb+nh}3Bn2T8LUN6H!k; zMDDe|$No5VzS%aba3bj#s)7$ti|2o+sY+g8hO!501ZJV?3!{3z3N^BKAZMEO0II`3 zVUqTLYHlyXwzvfs;UUyw>+Cf{ zI~~=-LR9%EY8P!rjmT@RHS!pLEvlY*X7SyHiKJgZJ>V_WgHK^UOv*Pem+`3meI2rh ztPNNnx1;8EA8O8zVhVnOdT^Zrcd?^JW?}*3ul>B14E10Gs^y1Ki|bw2Z?HY-x<1we zcEc`s3nt?Mq*K=0sNFN1Lb|^YyWwT1wY3d3rSISnJU3cs&g_d&4Y(RR;X`izakNP% z`_0r0MwPo9)qow?3*SUlT(8KyoCYFCiZu(z;ZE$1r?3Nd2$%*$#}VmE#!A#s?L#f9 zlAu!*on3Hszb@p|luyOG5nwLT>>P&cp; zbmLr93s<{t$BRfGMfLdnkQwsPsHs|r$`8A4Ky}~{>VcnPeM}6ShBQZwL|;tS{$E5y zbG6LL;4coSo^L}{^aeJeRQc=BL`87@^jRhNGvlWH~_VVyr>6V zgX-}^*c?B^ruZX9m2qyl8KMrTgQN#G#0i*;b5RwP;stmYCgE`$gkNEA?7qw_!Ud?2 zT8rw?o!APWLDl;q_Q0=~G5)oQq%1c_ZYmBXoq@X1k4-R!8Mp;G_N~`ZQ`F~gW(pRd zMq(8X!23`m`VneT*Ii*6*cCN0^HA5XSi$&fj<=GbRrw6I#2>LOHs-oo+!H6`2%L`B zV={h>8kyfv9qD$Nc|cFBPkJWqXX>)iCf()=8jr&;6_cV@TGly4hM?wf464N;)PrwE zJ?I|110ToMIDe(tzvZYY*^8R%uTb|V|J|H)L$Dv|EbM@5a3=0Rm5bKC$~-s~Z8EZO zESBI9d=y9FPdFHdt}=63hMIzy>jBi9pF~ysGioZ@Ty56M4AeGWjD2u7j??}>L4?Lw zJy)AK*@J57aa0ATu>lTP!vqkov5_dw0j#i+G#9iD@`upaJ5 z4fRua34Vu~iYe>Ox8n7#@1PcM*IUih72zP#H(+x-ax3FMp2$aJXpYivGhewuoJ#sb zRK>k-H!qJ6jwF2p*2Y({9lnif=ubEc+iWmXT7u`1-iUQ^JJ!dCa0VWX5}8P(1)Ezv z%0&&$%{UETK%H#%Msu)?LQRbi(^L-Cql4HJe{oI!r|H-NRJ|3b2EL7b@mJSq?>o(Y z&c^{b;YR+43VwkZTYEhPBC%hM1;ft7oCs1pq#a-sUwwOq|C$`7I zNJpa90wP*Gt5I{Z0aalfXX4w~3wz#eD#*s6q>Ipx+ps0JyvLO5g__bF9ELkkBlM+v zy~}1Zb(dg0?f*qY+EZXLYUr=Sw)iy8$4^m1IBJU-kuYk6)?yNF!yKHuHD2Uf728Fx2&VsEW2@2YeFs zfX`4H%v|54amU z;sNZ8AG_BRcbEosK$RPZdT=(X{Bo>^o3ImZ+rjt`CUTSvJ+Q$}^QqMdwO#t7_Wdwa zkH%qloR1ob)p!ve!&%tz0rLsA97mBph*?;B7hhL+32KV>;~e~U7vryeIO##NsP0Bx z_|Q!cj+=w147KPU!Yg$nPQoR-O@j`hM(Ari9}^!kFRjj~wbB=L|HW7fugBVWbCgI= zBDY~vJc7F6ebk))f?Ax(d(8G6iW-p;)KIQK-G4P^;6BueFo z$6)kx_d@!^W*Ziu=586Ph3im@Yy+m?6Q~}1gbnd?Ou|#x4$s|ZJ~+~F9_egsfsbP* zzKI3cYQNLLsC5MqErvT$J$)LrC{JQvJpU1M<5X1oCR9(KK`p8uFiqtiHH+~=WEWaN z)JTP}4lct6cm-;0-GCX||Lcip2%kaC(T}Je_kYX`pmxP`*aJ`EP;7O; zq-S9((yMSCZbH>}!QI`sPYeEXZ#r3W8!mWPz|6J6xd<7W= zWURs2_${i36OWje&H}7W+J{;^L9B^Oa0V{JOgxGsu<7$=du5>-b{lrb!?+&5$HBNZ z`hxjJdk!_U-=G#_;)`bS4aPLm(04cw`@d`! zWehdN+fmPpzCc9V>Qht&$w$qD2Vx)6OHo63KVE__VMFZpiYYe;Q%IMgD!v`nfJaab ze-p38TCbXKz#CD|c@dZJeCtaheaP^>W>)#FIFj^Z*cw zLCwP~(iN!senZvM`%SYgORz8L%{Ug1VSnxal()>HnT-p%a3xN~kFg*2ecSY8F{;9U z;6OZvT`=jGS!_dHbFmxw*PuGE2QS8x*bxUGH`fcOw#Y;69n8HpfHBz+i%DE~b(CDU;_>6>sUeunAT@qIIu(@-N+g3f>ct01B|d>?yZ z!Uty6_Q4BCXQPJhcGN0<8JpuTs0TOw(A+l_JCMEtlW+^F+#{$Ve+AW`Rv(!Wo%Ipp zKaGr)WT?QKs0XzD*o??{Jf-W{6PJHtPR8x1^a&h>tv)sTdN#IA;NODqLcHlS^A0%v zxmg3Bphi0Bg!xXGd?IQNkQf=7%jYlyzr_*Q{-l|b984j7HMYn5uob?5y64*O)r>!C zE5h%4gY}Y|?vD-K_^n*K+PyA*aO3@5?Hc^^t6O#~CK7&guRWptzsAeJ-G(B;CWLw9`dlB1_cnvj*4G8*O=KRSSf;B1k2+y~^ zAo4chf5dyC7S!JeRlh0Z{Y>H?IFPV~c<-u<*oC}7grS5=!oBXbj>I)ZY#!(LBk8S# zUZjc%^$F3HWE^oWn?EihJ(*}3R{yb%th)%ek$)FqfP3*h*URx)!n<6nMbAIRmZYbHi-`P{smycL9Z2s+_z zCN$!jk5EQxF@HqaPP)cY-_?fWJE%<%{wSf2ojGH1`yXzC!&5gtNGu!nKNBy z;0EI5ZCW*!U4inq(>7r6K};sQ*<34 zfX9i~#rXvNIvJdQ)J`XU)J->_+;-i^?;su_e4zdRAHq|FY%c64)Fb?zw0^?~-x2<) zM77_BYVqW1@&9sPOB(j1d;cQ$+AD5438xcoB>xHm{pZEwUOb=pFUsKe19`u>`AWAY z^dbE!=Hdc^hxk>5XNc>!6E87QD~*7=T!&A%*RRH@gvo>g!dk-PTz`_#jj)rjno#|> zkwkOKIrE=K;&u}HRk)TA_Yq%=x43y1xE88lwck0!d%M@R63-=kLzqrjNdEb{M$m`q z3xsV1{VMeQ`%K)ri2@(G@j3Vv>3n1MO9|JJKY`GJ_&%JA54dID za3#z68}qlMYbwF7O%132WK>%m9l3DWy{Rp(BYj`BN_1mW%C8}>9$_BoHB@ExHIq3ZWF@#Z9EVG}HOpKl!|v7C@dxSo(qC7BdTz^-_byry`9Fqfd;L`*VK z=fCqbr0f*ZCkSoa{I;&*JgyI{mfperV_$MJYT+kjd`g%{$RIT52F-0Ld*wBbvJ-?A z#JjrpP{caT@7{0Y?Ym!C_hNfdr<~L@JJ*+&=gqY}VLK2E6?y!2p3m>KI)w+>GXjNy z;F5roVMoe}z3v^}rIC;)C-SG8;#s{9*J$MTg(J4dAM$!~%WVFPjqlec-lJb>Lah6M zcJVF!U#pRk;|TUc!D=%`@MnuNI|SkR;$>Pqvm$;`g83_FlhUOfqZ*O0ew*; za($%20Z(zbfCsCG@#N7-3DHFnPbk$6drG}wyT}tLb1sFcAm2-qLNqNBv^{p1+o>qx zVGM#HhAdoYdqOz{zEW?R?Fr=C^oYlVBf*fDdvblHzT6UbD8qJMC|Kn5(7h!iF>%aN zPf@Yo8x0Riw5c{^r|0BV)tI4l9$m;ryMsN7_D8&DUsa9j1(j1!Eue5lRb7$Nvn#XR zUk7`lnH)38VS6D%U)3l*wbUER4u-w{vNKgJ{p*@&))=!2nChz9oPJiTE+aACbzJWp#y9W6zIWP&+>qEGdqqjJqe+VP@kRc9+=hanowE z61}1Luj2;R?l!5!AMr7KRc&{NLJP>p1T0FQl*$^?0*dvUwEsL-gh@H;HLSwcqa z%SqQpog%iDdX~mmZOqkBt0CGDox;`>r%aeSojeBG#Il2t0(*%k5V6A%hTlW;eSzYV zNVOX>LnYMWEQp+7Q8D#r)8r*SZd{a}XQ!w3u2y(%&-4NF=lY8Z=BKg`skNlII2h7q z$S$+HMGAc3ZdxbtC6o6iH1~!=tU~7Q>=oT*>iU{}ysU(r!jfWY$jkFBwSBaG1>3wN zz-kHGVQ<7VAwAtK5DdkF`NdGc2*iGup&9%t&vL>kWi`k+MNll9L*HVn*u`mzD&bK7}J?G*)Xb zgY{VTQ1@!Ob9Ja`0%sEE6X%l7+Kl+CGrHD_&Iy({v*j$FVsDNwugo+nQoz~7RIunW zb8;i0lBK2(>FE&;taQI8+v~5|E|ybE2?u!CtwJ{j^PJP`|9Ss8?iLHjf1dMmjjrB& zoh%W%$g5ehCykjja?G^!$(fVJXxZwtch8CVck}ktt{)7fMmRr<{hplIMT=89=Qr`EE|{MLkm8qf`f<9q<&zw`8|Gr-3Ig!V`3MQzG_$xK(`T;_K^lV)LjB>ygoN z-&l$=K{*9yo<8K#wzblI{@ffkaM;cbI(yF)p*CyDnM-H#^n}=)k{cWKO7Gbxy;pC$ zSFb_+`gHHvJO00tO^GuzyOejeKe}vVr<{*2yTi__+_cyqsoY*%5@sV7v0fv*u6Sjb zx30gk!n}1WH!+i@bYW!$hf1V!Pbi|8rPJx6*xIrd-KuJ3$FR=0rTPtQ?sB`(m(9K{ z^~Bd*HlS8ZEe?-O!H~@sF4ZdVmwLjb@h4U$*NFXnRcidzt2Wk54|t300#CR+K#c{S zNM)SX(FlgG=+Lgh%00O>(nmG%+-y%E?pgC`-A%>N`Z(gS$7!H?vV()Eh8#}T-_kyg-{eIiYtK82bDd!H4UF`Gw zJpoUIii(|)GYziX6jqD&lxKSb@r+x23DHb@+~gS=Wlls5GozKA?GCo>%`bCC+2(nE zPkt~=*YnG05RY+Ar<{Vy?WLR^jE$F})*R@Gx>oMo?aoB7kOj4tk%; zM74HJ9hGrEZ}X{@75?1HO(p(6zRjINXT8sP1y@!?Lf(R4dAUcGovF(da~2F^!E2q< z>aTy%s%$k~9|_K21q-vC*0|pjRo?)=H^IHDgFW)ljoB=h%8J}WyS#kfdHvxahyCI| zx96{$aOU}@M(62^J-)~vKN|k@XucXII7`$#s&Wr&f?+qi+$1`KOu{J!a8nd@7m6qfjNcqVH+&&M+HvjCX;?WL8E>Qxu=Vw2sEo) z9V%t-l|{U4Ry!vg)SEcg_KvS&@7$3T`|b{JVx+|HS#*_KMSRiPeAiSJ1 z2WNMB`G9r`=bcrQccqo-`LH zjq|4HnB&y&*#*9APwbZmTE-7o)T=$$&a|_A<&j{3iww1PzxrLmnHTZovnCnO6+A7C z^DrmuDRfRXI_!@G%Ok3uTk_pzyI)U~PSo)dE85>O8usRMNNA=jD@vK8#7uopmHR5= zY_ZBmwcwn$c6z$|5#=0Ao5*VgYhX>iO-MfZ5ieT7=! zs*x{`GgYSj#pdN;uB^!BsAUBbXX}R!?b5UU@JXiC=F9)RNL4fc(8&1F9akhovw}=e zcD9et3VnT5ZpvY}^(Kng#i7c0HnYdP75Y56I=eN)ovJ?Nw62^PsLFIc=#;A+7hrR; z*fJ8es%Q9eZ7(nKijXzI$J@ql7O|Zj3qJ7lxz78`ofcMG`&hqSgQDR>yXc-4!yxCW z`W~<@I`a)cr+Dd^OWJ{FHl*2)KHj<<&@ACFpAY`CJ|8mdslWH^_b#3Np_rmC#p-?G zldjsb3h~*vVpoIOyh?eqmU<(c5WIt{?RmX$bu2Pd0bXzB9n13l!{>t2gQ^cpJ+Ep+ ztAAdqf0Nicg&7Og^y3&4qs8DZK=D5j~t7r1J zrF?zTob_7K7tE9UpRJqA4#^37Idc7r`4nX`@>$KLjDT}=J8ypTF~xo;42CSqv(9uz z@aak0c^ZXTI6c(o#qP#-Zq{-x%szCZKfe0Or236mfuSNkBJ3VIXf_36D~@%DuYSR< zH^DrBzdZ6fa&F=an19&NwCi6Ls(l&+IEy$LDMv#&OPsS@2SKivkB$H6ZJS> zE8Ym-^_)Y_bcQ^Iyf@h3nl?VKcAg;0{*i@-hrHGw?<-{aySM$}mTDd5@3md{ WzADzb*Ne2=8(Vv, 2002. # Gabor Kelemen , 2006, 2007, 2008, 2009, 2010. -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.24\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2010-10-25 14:41+0200\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" @@ -31,36 +31,35 @@ msgid "ambiguous argument %s for %s" msgstr "a(z) „%s” argumentum nem egyértelmű a következőhöz: „%s”" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Az érvényes argumentumok a következők:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s értéke nem nagyobb, mint %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Az ARGP_HELP_FMT paraméter egy értéket igényel" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Az ARGP_HELP_FMT paraméternek pozitívnak kell lennie" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Ismeretlen ARGP_HELP_FMT paraméter" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Szemét az ARGP_HELP_FMT-ben: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,31 +67,31 @@ msgstr "" "A hosszú kapcsolók kötelező vagy elhagyható argumentumai a megfelelő rövid " "kapcsolókhoz is kötelezőek vagy elhagyhatóak." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Használat:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " vagy: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [KAPCSOLÓ...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "További információkért próbálja kiadni a „%s --help” vagy „%s --usage” " "parancsokat.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "A hibák a(z) %s címen jelenthetők.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Ismeretlen rendszerhiba" @@ -104,7 +103,7 @@ msgstr "ezen súgószöveg megjelenítése" msgid "give a short usage message" msgstr "rövid használati utasítás megjelenítése" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NÉV" @@ -125,17 +124,16 @@ msgstr "szünet MP másodpercre (alapértelmezetten 3600)" msgid "print program version" msgstr "a programverzió kiírása" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMHIBA) A verziószám ismeretlen???" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: túl sok argumentum\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMHIBA) A kapcsolót fel kellett volna ismerni???" @@ -143,62 +141,62 @@ msgstr "(PROGRAMHIBA) A kapcsolót fel kellett volna ismerni???" msgid "write error" msgstr "íráshiba" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a(z) „--%s” kapcsolóhoz argumentum szükséges\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: érvénytelen kapcsoló -- „%c”\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a kapcsoló egy argumentumot igényel -- „%c”\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a „-W %s” kapcsolóhoz argumentum szükséges\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "elfogyott a memória" @@ -214,28 +212,30 @@ msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "”" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "”" @@ -245,7 +245,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[iIyY]" @@ -255,7 +255,7 @@ msgstr "^[iIyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -545,7 +545,12 @@ msgstr "szabványos kimenet" msgid "Cannot connect to %s: resolve failed" msgstr "Nem lehet csatlakozni ehhez: %s: a feloldás meghiúsult" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Nem futtatható távoli parancssor" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Nem futtatható távoli parancssor" @@ -595,8 +600,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Szalagos meghajtó manipulálása, parancsok elfogadása távoli folyamattól" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "SZÁM" @@ -604,8 +609,8 @@ msgstr "SZÁM" msgid "set debug level" msgstr "hibakeresési szint beállítása" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -620,7 +625,7 @@ msgstr "hibakeresés kimeneti fájlnevének beállítása" msgid "cannot open %s" msgstr "a(z) %s nem nyitható meg" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "túl sok argumentum" @@ -629,9 +634,9 @@ msgstr "túl sok argumentum" msgid "Garbage command" msgstr "Értelmetlen parancs" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ez nem úgy néz ki, mint egy tar archívum" @@ -669,65 +674,65 @@ msgstr "Nem ellenőrizhető az archívum, ha a szabványos be/kimenetet használ msgid "Archive is compressed. Use %s option" msgstr "Az archívum tömörített. Használja a(z) %s kapcsolót." -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Tömörített archívumok nem frissíthetők" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "A szalag eleje, most kilépek" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Túl sok hiba, kilépek" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Rekordméret = %lu blokk" msgstr[1] "Rekordméret = %lu blokk" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Kitöltetlen blokk (%lu bájt) az archívumban" msgstr[1] "Kitöltetlen blokk (%lu bájt) az archívumban" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Nem törölhető vissza az archív fájl, lehet hogy olvashatatlan lesz a -i " "nélkül" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "az rmtlseek nem állt meg egy rekord határán" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: érvénytelen kötetszámot tartalmaz" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Kötetszám-túlcsordulás" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Készítse elő a(z) %d kötetet %s számára és üssön entert:" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Fájlvége a várt felhasználói válasz helyett" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "FIGYELMEZTETÉS: Az archívum befejezetlen" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -738,67 +743,67 @@ msgstr "" " q A Tar megszakítása\n" " y vagy újsor A művelet folytatása\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Új parancsértelmező hívása\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Ezen lista kiírása\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Nincs új kötet, kilépés.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Nincs megadva fájlnév, próbálkozzon újra.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Érvénytelen bemenet. A súgó a ? beírásával kérhető le.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "A(z) „%s” parancs meghiúsult" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s lehetséges, hogy ezen a köteten folytatódott: a fejléc csonkolt nevet " "tartalmaz" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s nem folytatódik ezen a köteten" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s mérete hibás (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ez a kötet kívül esik a sorozaton (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Az archívum nincs úgy címkézve, hogy megfeleljen a következőhöz: %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "A(z) %s kötet nem felel meg a következőnek: %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -806,411 +811,436 @@ msgstr "" "%s: a fájlnév túl hosszú egy GNU többkötetes fejlécben való tároláshoz, " "csonkításra került" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "az írás nem egy rekord határán fejeződött be" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Csak %lu bájt olvasható %lu bájtból" msgstr[1] "Csak %lu bájt olvasható %lu bájtból" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "A tartalom eltér" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Váratlan fájlvége jel az archívumban" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "A fájltípus eltér" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "A mód eltér" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Az Uid eltér" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "A Gid eltér" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "A módosítási idő eltér" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "A méret eltér" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Nincs a következőre linkelve: %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "A szimbolikus link eltér" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Az eszközszám eltér" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Ellenőrzés " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: A(z) „%c” fájltípus ismeretlen, a diffelés normális fájlként történt" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Az archívum eltávolított előtagokkal rendelkező fájlneveket tartalmaz." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" "Lehetséges, hogy az ellenőrzés nem fogja megtalálni az eredeti fájlokat." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "AZ ELLENŐRZÉS SIKERTELEN: %d érvénytelen fejléc található" msgstr[1] "AZ ELLENŐRZÉS SIKERTELEN: %d érvénytelen fejléc található" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Egy magányos nulla blokk %s helyen" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: fájl gyorsítótár-könyvtár címkét tartalmaz (%s); %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" "a(z) %s érték a(z) %s %s...%s tartományán kívül esik, helyettesítve a " "következővel: %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "a(z) %s érték a(z) %s %s...%s tartományán kívül esik" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Negatív oktális fejlécek előállítása" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: a fájlnév túl hosszú (maximum: %d), nem kerül kiírásra" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: a fájlnév túl hosszú (nem darabolható), nem kerül kiírásra" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: a fájlnév túl hosszú, nem kerül kiírásra" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre" msgstr[1] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: a fájl eltérő fájlrendszeren van, nem kerül kiírásra" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "a tartalom nem került kiírásra" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Ismeretlen fájltípus, fájl a figyelmen kívül hagyva" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Hiányzó linkek a következőre: „%s”." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: a fájl változatlan, nem kerül kiírásra" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: a fájl az archívumban van, nem kerül kiírásra" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "a könyvtár nem került kiírásra" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: a fájl módosult olvasás közben" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: a foglalat figyelmen kívül hagyva" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: ajtó figyelmen kívül hagyva" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Ugrás a következő fejlécre" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "A nem fejlécek törlése az archívumból" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: valószínűtlenül régi időbélyeg: %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: a(z) %s időbélyeg %s másodperccel a jövőbe mutat" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Váratlan inkonzisztencia a könyvtár létrehozása során" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: a könyvtár átnevezésre került az állapotának kinyerése előtt" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "A folytonos fájlok kibontása normál fájlként" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Kísérlet a szimbolikus linkek kibontására közvetlen linkként" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: nem lehet kibontani -- a fájl egy másik köteten folytatódik" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Váratlan hosszú névfejléc" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Ismeretlen fájltípus: „%c”, normál fájlként lesz kibontva" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "A jelenlegi „%s” újabb vagy egyező korú" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Nem sikerült biztonsági mentést készíteni erről a fájlról" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s: Nem nevezhető át a következőre: %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: A könyvtár át lett nevezve a következőről: %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: a könyvtár át lett nevezve" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: a könyvtár új" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: a fájl eltérő fájlrendszeren van, nem kerül kiírásra" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: a könyvtár át lett nevezve" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Érvénytelen időbélyeg" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Érvénytelen módosítási idő (másodperc)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Érvénytelen módosítási idő (nanomásodperc)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Érvénytelen eszközszám" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Érvénytelen inode-szám" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Túl hosszú mező a pillanatképfájl olvasása közben" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Olvasási hiba a pillanatképfájlban" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Váratlan fájlvége a pillanatképfájlban" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Váratlan mezőérték a pillanatképfájlban" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Hiányzó rekordlezáró" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Hibás növekményes fájlformátum" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nem támogatott növekményes formátumverzió: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" "Rosszul formázott kiíratási könyvtár: a várt „%c” helyett %#3o található" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Rosszul formázott kiíratási könyvtár: az „X” többször szerepel" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Rosszul formázott kiíratási könyvtár: üres név az „R”-ben" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Rosszul formázott kiíratási könyvtár: a „T”-t nem előzi meg az „R”" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Rosszul formázott kiíratási könyvtár: üres név a „T”-ben" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Rosszul formázott kiíratási könyvtár: a várt „%c” helyett az adatok vége " "található" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" "Rosszul formázott kiíratási könyvtár: az „X” soha nem került felhasználásra" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" "Nem hozható létre ideiglenes könyvtár a következő sablon használatával: %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: a könyvtár nem kerül törlésre: nem érhető el" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: a fájl egy másik eszközön van: nem kerül törlésre" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s törlése\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: nem távolítható el" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: kihagyás" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blokk %s: ** A blokk üres **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blokk %s: ** Fájlvége **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blokk %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" "Üres értékek a fejléc azon részében, ahol a program a(z) %s számértéket várta" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1218,109 +1248,125 @@ msgstr "" "feltételezi, hogy kettes komplemens" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Az archívum %.*s oktális értéke túllépi a(z) %s tartományt" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "Az archívum előjeles base-64 karakterlánca (%s) túllépi a(z) %s tartományt" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Az archívum base-256-os értéke túllépi a(z) %s tartományt" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Az archívum %.*s értéket tartalmaz, ahol a program %s számértéket vár" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Az archívum %s értéke túllépi a(z) %s %s..%s tartományát" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " link a következőre: %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " ismeretlen fájltípus: %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Hosszú link--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Hosszú név--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Kötetfejléc--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Folytatva %s bájttól--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Könyvtár létrehozása:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "A munkakönyvtár nem kérdezhető le" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s átnevezése a következőre: %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Nem nevezhető át a következőre: %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s helyreállítása a következő névre: %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: a fájl el lett távolítva a beolvasás előtt" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "gyermekfolyamat" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "folyamatközi csatorna" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "A(z) „%s” parancs meghiúsult" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: a fájllista már be van olvasva" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "nem állítható be az idő a következőn: „%s”" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Mintaillesztő karaktereket használt a fájlnevekben" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1328,58 +1374,59 @@ msgstr "" "Használja a --wildcards kapcsolót a mintaillesztés engedélyezéséhez, vagy a " "--no-wildcards kapcsolót ezen figyelmeztetés letiltásához" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nem található az archívumban" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: A szükséges előfordulás nem található az archívumban" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Hibás archívumcímke" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "A -C használata fájllistán belül nem engedélyezett a --listed-incremental " "kapcsolóval" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Csak egy -C engedélyezett a --listed-incremental kapcsolóval" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "" "A(z) „-%s” és a(z) „-%s” kapcsolók mind a szabványos bemenetet igénylik" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Érvénytelen archívumformátum" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU szolgáltatásokat kértél inkompatibilis az archívumformátumokon" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "A(z) „%s” idézési stílus ismeretlen. Próbálja a „%s --quoting-style=help” " "parancsot segítségért." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1398,9 +1445,10 @@ msgstr "" " tar -xf archívum.tar # Kibontja az összes fájlt az archívum.tar\n" " fájlból.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1420,81 +1468,81 @@ msgstr "" " egyébként egyszerű\n" " never, simple mindig egyszerű mentés létrehozása\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Fő működési mód:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "felsorolja egy archívum tartalmát" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "fájlok kibontása egy archívumból" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "új archívum létrehozása" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "különbségek keresése az archívum és a fájlrendszer között" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "fájlok hozzáfűzése egy archívum végéhez" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "csak az archívumban lévő másolatnál újabb fájlok hozzáfűzése" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "tar fájlok hozzáfűzése egy archívumhoz" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "törlés az archívumból (szalagon nem működik!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "az archívum kötetcímkéjének tesztelése és kilépés" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Műveletmódosítók:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "ritka fájlok hatékony kezelése" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAGAS[.ALACSONY]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "a használandó ritka formátum verziójának beállítása (magával vonja\n" " a --sparse kapcsolót)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "régi GNU formátumú növekményes mentés kezelése" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "új GNU formátumú növekményes mentés kezelése" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "kiíratási szint a létrehozott listázott növekményes archívumhoz" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "ne lépjen ki nem nulla értékkel ha a fájl olvashatatlan" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1507,122 +1555,133 @@ msgstr "" "átadásra a parancssoron vagy a -T kapcsolón keresztül. A SZÁM " "alapértelmezett értéke az 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "az archívum kereshető" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "az archívumban nem lehet pozicionálni" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "ne ellenőrizze az eszközszámokat növekményes archívumok létrehozásakor" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "eszközszámok ellenőrzése növekményes archívumok létrehozásakor " "(alapértelmezett)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Felülírás felügyelete:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "kísérlet az archívum ellenőrzésére annak kiírása után" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "fájlok eltávolítása azok archívumhoz adása után" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "ne cserélje a meglévő fájlokat kibontáskor" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "ne cserélje a meglévő fájlokat kibontáskor" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "ne cserélje az archív változatuknál újabb meglévő fájlokat" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "meglévő fájlok felülírása kibontáskor" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "minden egyes fájl eltávolítása a rá történő kibontás előtt" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "hierarchiák kiürítése könyvtár kibontása előtt" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "meglévő könyvtárak metaadatainak megőrzése" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "meglévő könyvtárak metaadatainak felülírása kibontáskor (alapértelmezett)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "meglévő fájlok felülírása kibontáskor" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Kimeneti adatfolyam kiválasztása:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "fájlok kibontása a szabványos kimenetre" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "PARANCS" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "kibontott fájlok továbbítása másik program számára" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "utódok kilépési kódjainak figyelmen kívül hagyása" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "az utódok nem nulla kilépési kódjainak kezelése hibaként" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Fájlattribútumok kezelése:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "a NÉV kényszerítése a hozzáadott fájlok tulajdonosaként" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "a NÉV kényszerítése a hozzáadott fájlok csoportjaként" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DÁTUM-VAGY-FÁJL" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "a DÁTUM-VAGY-FÁJL dátumnál újabb fájlok mtime értékének beállítása" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "MÓDOSÍTÁSOK" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "a (szimbolikus) mód módosítások kényszerítése a hozzáadott fájlokra" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "MÓDSZER" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1632,11 +1691,11 @@ msgstr "" "olvasás után történő visszaállításával (MÓDSZER='replace'; alapértelmezett) " "vagy az időpontok be nem állításával az első helyen (MÓDSZER='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "ne bontsa ki a fájl módosításának időpontját" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1644,22 +1703,22 @@ msgstr "" "próbálja az archívumban létezővel azonos tulajdonossal kibontani a fájlokat " "(alapértelmezett a rendszergazdának)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "fájlok kibontása a saját nevében (alapértelmezett normál felhasználóknak)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "mindig számok használata a felhasználó- vagy csoportnevekhez" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "a fájl jogosultságaival kapcsolatos információk kibontása (alapértelmezett a " "rendszergazda számára)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1667,15 +1726,16 @@ msgstr "" "a felhasználó umask értékének alkalmazása a jogosultságok kibontásakor az " "archívumból (alapértelmezett az egyszerű felhasználók számára)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "kibontandó nevek rendezése, az archívumnak való megfelelés érdekében" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "azonos, mint a -p és -s egyszerre" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1683,139 +1743,180 @@ msgstr "" "kibontott könyvtárak módosítási idői és jogosultságai beállításának " "késleltetése a kibontás befejeztéig" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "a --delay-directory-restore kapcsoló hatásának megszüntetése" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Fájlattribútumok kezelése:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Eszköz kiválasztása és váltása:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHÍVUM" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "az ARCHÍVUM archívumfájl vagy -eszköz használata" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "az archívumfájl helyi, még ha tartalmaz is kettőspontot" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "az adott rmt PARANCS használata az rmt helyett" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "a távoli PARANCS használata az rsh helyett" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "meghajtó és sűrűség megadása" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "többkötetes archívum létrehozása/listázása/kibontása" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "szalagváltás a SZÁM x 1024 bájt kiírása után" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "parancsfájl futtatása minden egyes szalag végén (-M esetén)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "a FÁJLBAN található számú kötet használata/frissítése" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Eszközblokkolás:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKK" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "rekordonként BLOKK x 512 bájt" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "SZÁM bájt rekordonként, az 512 többszöröse" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "nullázott blokkok (EOF) mellőzése az archívumban" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "újrablokkolás olvasáskor (4.2BSD csövekhez)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Archívumformátum kiválasztása:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMÁTUM" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "az adott formátumú archívum létrehozása" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "A FORMÁTUM a következők egyike:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "régi V7 tar formátum" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "A tar <= 1.12 által használt GNU formátum" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x formátum" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) formátum" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) formátum" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "azonos a pax formátummal" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "azonos a --format=v7 formátummal" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "azonos a --format=posix formátummal" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "kulcsszó[[:]=érték][,kulcsszó[[:]=érték]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "a pax kulcsszavak irányítása" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "SZÖVEG" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1823,80 +1924,80 @@ msgstr "" "archívum létrehozása a SZÖVEG kötetnévvel. Listázáskor vagy kibontáskor " "használja a kötetnév keresési mintájaként a SZÖVEGET" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Tömörítési kapcsolók:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "archívum kiterjesztésének használata a tömörítőprogram meghatározására" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" "ne használja az archívum kiterjesztését a tömörítőprogram meghatározására" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "tömörítése a PROG használatával (el kell fogadnia a -d kapcsolót)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Helyi fájlválasztás:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "az adott FÁJL hozzáadása az archívumhoz (hasznos, ha neve kötőjellel " "kezdődik)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "KÖNYVTÁR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "váltás a KÖNYVTÁR könyvtárba" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "kibontandó nevek lekérdezése vagy létrehozás a FÁJLBÓL" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "a -T nullal lezárt neveket olvas, letiltja a -C kapcsolót" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "a korábbi --null kapcsoló hatásának letiltása" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "a -T segítségével beolvasott fájlnevek idézettségének megszüntetése " "(alapértelmezett)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "ne szüntesse meg a -T segítségével beolvasott fájlnevek idézettségét" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MINTA" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "a MINTAKÉNT megadott fájlok kihagyása" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "a FÁJLBAN megadott minták kihagyása" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1904,96 +2005,98 @@ msgstr "" "a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl " "kivételével" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "a FÁJLT tartalmazó könyvtárak tartalmának kihagyása, a FÁJL kivételével" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "a FÁJLT tartalmazó könyvtárak kihagyása" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "verziókezelő-könyvtárak kihagyása" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "mentési és zárolási fájlok kihagyása" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "ne lépjen be automatikusan a könyvtárakba" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "az archívum létrehozásakor maradjon a helyi fájlrendszeren" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "ne vágja le a kezdő „/” jelet a fájlnevekből" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "szimbolikus linkek követése; az általuk mutatott fájlok archiválása és " "kiíratása" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "közvetlen linkek követése; az általuk mutatott fájlok archiválása és " "kiíratása" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "TAGNÉV" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "kezdés a TAGNÉV tagnál az archívumban" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "csak a DÁTUM-VAGY-FÁJL dátumnál újabb fájlok tárolása" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DÁTUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "dátum és idő összehasonlítása ha csak a dátum módosult" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "FELÜGYELET" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "mentés eltávolítás előtt, a FELÜGYELET verzió kiválasztása" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "KARAKTERLÁNC" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2001,102 +2104,105 @@ msgstr "" "mentés eltávolítás előtt, a szokásos utótag („~”, hacsak a " "SIMPLE_BACKUP_SUFFIX környezeti változó nem bírálja felül) felülbírálása" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Fájlnév-átalakítások:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "a fájlnevek SZÁM darab kezdő összetevőjének levágása kibontáskor" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "KIFEJEZÉS" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "A KIFEJEZÉS sed helyettesítőkifejezés használata fájlnevek átalakítására" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Fájlnévillesztés beállításai (érintik mind a kihagyási, mind a felvételi " "mintákat):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "kis- és nagybetűk figyelmen kívül hagyása" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "a minták illesztése a fájlnevek elejére" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "a minták illesztése bármely / után (alapértelmezett kihagyáskor)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "szó szerinti karakterlánc-illesztés" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "a helyettesítő karakterek nem illeszkednek a perjelre" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "" "a helyettesítőkarakterek illeszkednek a „/” jelre (alapértelmezett " "kihagyáskor)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informatív kimenet:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "feldolgozott fájlok bőbeszédű listázása" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "KULCSSZÓ" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "figyelmeztetés felügyelete" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "előrehaladási üzenetek megjelenítése minden SZÁM. rekordnál (alapértelmezés: " "10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "MÅ°VELET" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "a MÅ°VELET végrehajtása minden ellenőrzőponton" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "üzenet kiírása, ha nem minden link került kiíratásra" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SZIGNÁL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2108,31 +2214,35 @@ msgstr "" "Az engedélyezett szignálok: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 és SIGUSR2; a " "SIG előtag nélküli nevek is elfogadottak" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "a fájlmódosítási idők kiírása UTC szerint" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "fájl módosítási idejének kíiírása teljes pontossággal" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "bőbeszédű kimenet küldése a FÁJLBA" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "az archívumon belüli blokkszám megjelenítése minden egyes üzenettel" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "megerősítés kérése minden egyes művelethez" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "a tar alapértelmezéseinek megjelenítése" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2140,31 +2250,31 @@ msgstr "" "listázáskor vagy kibontáskor minden egyes, a keresési feltételnek meg nem " "felelő könyvtár listázása" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "fájl- vagy archívumnevek megjelenítése átalakítás után" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STÍLUS" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "az idézési stílus beállítása, az érvényes STÍLUS értékeket lásd alább" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "a KARAKTERLÁNCBÓL származó karakterek kiegészítő idézése" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "a KARAKTERLÁNCBÓL származó karakterek idézésének letiltása" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Kompatibilitási kapcsolók:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2172,64 +2282,57 @@ msgstr "" "létrehozáskor megegyezik a --old-archive kapcsolóval; kibontáskor a --no-" "same-owner kapcsolóval" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Egyéb kapcsolók:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "néhány potenciálisan káros kapcsoló használatának letiltása" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "A következő kapcsolók közül egynél többet nem használhat: „-Acdtrux” vagy „--" "test-label”" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "A tömörítési kapcsolók ütköznek" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Ismeretlen szignálnév: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "A dátummintafájl nem található" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "%s cseréje az ismeretlen %s dátumformátumhoz" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "„%s” kapcsoló: A(z) „%s” dátum kezelése mint %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: a fájllista már be van olvasva" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "az archívum tömörítése a(z) %s használatával" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "A --quoting-style kapcsoló érvényes paraméterei:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2237,52 +2340,49 @@ msgstr "" "\n" "*Ezen* tar alapértelmezései:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Érvénytelen tulajdonos" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Érvénytelen blokkolási tényező" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Érvénytelen szalagméret" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Hibás növekményszintérték" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Egynél több küszöbdátum" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Érvénytelen ritka verzió érték" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" "Az --atime-preserve='system' nem támogatott ezen az operációs rendszeren" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "A --checkpoint értéke nem egy egész" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Érvénytelen csoport" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Érvénytelen mód került megadásra a kapcsolóban" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Érvénytelen szám" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Érvénytelen tulajdonos" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2290,122 +2390,152 @@ msgstr "" "A --preserve kapcsoló elavult, használja a --preserve-permissions --preserve-" "order kapcsolókat helyette" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Érvénytelen rekordméret" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "A rekordméretnek %d többszörösének kell lennie." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Érvénytelen elemszám" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Csak egy --to-command kapcsoló engedélyezett" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Rosszul formázott sűrűségargumentum: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Ismeretlen sűrűség: „%c”" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "A „-[0-7][lmh]” kapcsolókat *ez* a tar NEM támogatja" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FÁJL]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "A régi „%c” kapcsoló paramétert igényel." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "a --occurrence értelmetlen fájllista nélkül" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "a --occurrence nem használható a kért működési módban" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Több archívumfájl esetén szükséges a „-M” kapcsoló" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "" "A --listed-incremental és a --newer kapcsolók nem használhatók egyszerre" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "a --level értelmetlen a --listed-incremental nélkül" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: A kötetcímke túl hosszú (a korlát %lu bájt)" msgstr[1] "%s: A kötetcímke túl hosszú (a korlát %lu bájt)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "A többkötetes archívumok nem ellenőrizhetők" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "A tömörített archívumok nem ellenőrizhetők" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "A(z) %s minta nem használható" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Nem használhatók többkötetes tömörített archívumok" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Tömörített archívumok nem fűzhetők össze" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "a --pax kapcsoló csak POSIX archívumokon használható" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "a --pax kapcsoló csak POSIX archívumokon használható" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "a --pax kapcsoló csak POSIX archívumokon használható" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "a --pax kapcsoló csak POSIX archívumokon használható" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "A(z) %s minta nem használható" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "A kötet hossza nem lehet kisebb a rekord méreténél" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "a --preserve-order nem kompatibilis a --listed-incremental kapcsolóval" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Üres archívum létrehozása visszautasítva" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Az „-Aru” kapcsolók összeférhetetlenek a „-f” kapcsolóval" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Meg kell adnia a következő kapcsolók egyikét: „-Acdtrux” vagy „--test-label”" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Kilépés hibaállapottal a korábbi hibák miatt" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2417,121 +2547,117 @@ msgstr[1] "%s: A fájl zsugorítva %s bájttal" msgid "Keyword %s is unknown or not yet implemented" msgstr "A(z) %s kulcsszó ismeretlen vagy még nincs megvalósítva" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Az időbélyeg kívül esik az engedélyezett tartományon" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "A(z) %s minta nem használható" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "A(z) %s minta nem bírálható felül" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Rosszul formázott kiterjesztett fejléc: a hossz hiányzik" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "A kiterjesztett fejléc hossza kívül esik a tartományon" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "A kiterjesztett fejléc %*s hossza kívül esik a tartományon" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" "Rosszul formázott kiterjesztett fejléc: a hossz után hiányzik egy üres hely " "karakter" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "A kiterjesztett fejléc hibás: egy egyenlőségjel hiányzik" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Rosszul formázott kiterjesztett fejléc: az újsor hiányzik" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" "A(z) „%s” ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Az előállított kulcsszó/érték pár túl hosszú (kulcsszó: %s, hossz: %s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "A kiterjesztett fejléc %s=%s értéke túllépi a(z) %s..%s tartományát" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Rosszul formázott kiterjesztett fejléc: érvénytelen %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Rosszul formázott kiterjesztett fejléc: többlet %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Rosszul formázott kiterjesztett fejléc: érvénytelen %s: váratlan határoló " "(%c)" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" "Rosszul formázott kiterjesztett fejléc: érvénytelen %s: az értékek száma " "páratlan" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: érvénytelen időtúllépés" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: ismeretlen ellenőrzőpont-művelet" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "írás" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "olvasás" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "%u. írási ellenőrzőpont" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "%u. olvasási ellenőrzőpont" @@ -2681,7 +2807,7 @@ msgstr "A szám kívül esik az engedélyezett tartományon: %s" msgid "Negative size: %s" msgstr "Negatív méret: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "a stat(%s) meghiúsult" @@ -2710,8 +2836,8 @@ msgstr "Ismeretlen dátumformátum" msgid "[ARGS...]" msgstr "[ARGUMENTUMOK...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "a(z) „%s” nem nyitható meg" @@ -2725,67 +2851,99 @@ msgstr "Nem lehet pozicionálni" msgid "file name contains null character" msgstr "a fájlnév null karaktert tartalmaz" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "nem állíthatók elő ritka fájlok a szabványos kimeneten, használja a --file " "kapcsolót" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "helytelen maszk (a(z) „%s” közelében)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Ismeretlen mező: „%s”" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "nem állítható be az idő a következőn: „%s”" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "a(z) „%s” nem törölhető" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "A(z) „%s” parancs meghiúsult" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "a(z) „%s” nem törölhető" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "A parancs sikeresen befejeződött\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "A parancs meghiúsult a következő állapottal: %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "A parancs befejeződött a következő szignállal: %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "A parancs leállítva a következő szignállal: %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "A parancs hibakeresési kimenetet adott vissza\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "A parancs befejeződött\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "a --stat fájlneveket igényel" +#~ msgid "Cannot get working directory" +#~ msgstr "A munkakönyvtár nem kérdezhető le" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "" +#~ "kibontandó nevek rendezése, az archívumnak való megfelelés érdekében" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Túl hosszú mező a pillanatképfájl olvasása közben" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Olvasási hiba a pillanatképfájlban" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Váratlan mezőérték a pillanatképfájlban" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "A kiterjesztett fejléc hossza kívül esik a tartományon" + +#~ msgid "Invalid group" +#~ msgstr "Érvénytelen csoport" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: a könyvtár el lett távolítva a beolvasás előtt" diff --git a/po/id.gmo b/po/id.gmo index 6d9994f9f5edb48b6955db5622101d7eb97d2ee5..108f623697127421ca6950eb3f1873a6b300b1f8 100644 GIT binary patch delta 11421 zcmYk?3w%%YAII@C+uY{5&6sWW+iYfIY}hb{xi^WD7zUTA(p7R^E?2zxSH+|ig1N|2H zIBZ26Ckc|uIgVFtm*c4aVS>@GhT{|`wAI5jI(HOvo+F&h=!BJQmmtr_>z}k2e zHIP5C5r)uN8MA7;%>|yPqaqz{tbj|9LO5Hn3hu{hcnNi6e!yhM_A62m{_QNr#N?k+^=r)eRz`AAt zGq4HyX4Hjl+Wrdl9EYaU0L$S})aNH4mvr3AXy`(pV-)^@^)WcbOi6px3CCe3u0b95 z8-`&Zx2>tFg}Q+*s2dt;eG}uzk0P_?{DLkF=OWd)zLRbm&a)WEj(MmLti%XBj+(n4 zt;HLd1z8<^=}$mSK`mtLPAAkNoQ7JYbFd7qv*x3&^D#E!`p!8TT0FrGO{p3p)9gHN zeH$B-pG3`RNhV$;j71&}rzKXzVWeW_G&KW`L#>e}r~&8Ld^T#WZAA_A zbW`ddOrwB~a4gx(lr|0{$XjC&_D2`yp(^qw>T}yM5T$Y{x(D!O;*gUYU$>UK|k&Zf1 zN83LHH2^p2P8VV^+>WZ?9#qNCp$6#xg!zsL!vH=1@idCEBLy|$#;7^$gj&7BQFFY^ zx*uc6uUP#v&HEw&Q|a%Cakv0^f}Op{1L725b*$IUJf6KVk?T7i8u54t6YwU!gdy#j z2Aqi+*a_78;VP;U53m%L>R>7oihks&s2gg8HLy8qZM=Z0z(mxVS&VL-Xd4Zc>LBWa zSFATsclrxzwFh-H18Ikv`y6BrojlYOOh=XeEp*{ZR3#6i26hd#_->$X=x#^quRALB zB##tU!)DkOOXFfxMOGv0%Q=O*P{>oJ67iTs-U4HBB-X^YP*d;;YM{TOK3A-hS!0z^ zYb?1F_1DN+(V;ufMCF}q{xtfN_eQu^PVNrcsv00UUv+P$kRgYzC5p-N^@_?r=Yb7>I{Zr96u|?iT8VK2Mt|D2=LM6XcK6 ziXS{6&N7={M}026oB7Vj!rENlnMOm4CLeX-{g{XsFa(Qp`>IGJYCug;705#EpM-kM z-oUze7CEs~yoV`u1JqjRk5zFtYHGG)n4bSHXlM#rSUqh8@JVj0|pS_?-|Q}q? z0UeF$2<>lviF_KP$Y)_BZb1$7q|NWy{gt?_RQl6U7aD;soQKVEJ8CL#qs|xgtU0a) z#*p`Q)6kty!$!Cp8{%!$2NMUH0rs-GQIFLsREd8^l{jROnVMu&e=F+?s2f;lBr~O)S{b!b#OVx;%U489=bKB5hKkaOvg&(FQDdZI%>pgu_NYV zXY_yBycv6-PWTL}a#L{=Q?vks$5MJ`=bj-p^jgII{pAQ#`CDD3YlOY+YIE1b!MR| zeA`V!a}@ZB`8B*As^lYa7*4@7yn|t=f3RqT?NE0#9jUJ4#VS~1qFL>kIGubX>bQrf zsjEK8JSF2%19oqq(UiuQsM3_5Y<9$;F4P{i$X>JkJFpG;dDI<7y=qo-AM8y&7gfny z=)%A$=7M!m1Ia;6(QKpJIYgrt9e-j9#!fYN+6!xwkG8JEAo6ceCB114nPw`OVa-J! z_D@A$oQ^urEYyWRz@qpYhU@viOG9%ROub|^R3#cQ4zN;MoKa1EBg!&n?o zVln(0+u>zQ$Amd%V1rPVnul6j2Qdbnx#qEqMcqK#xzxV_jbXN9J=P>Yg|+Y@Y5+Cn znbJOiF7iRBfzCip)drh?h?U4MqNcLI=Edfl7nBP%;F_rG=FO-68p#eibfR;plHWw# zVZ;LSZ5NALOsN=)X&8k$sLxHtins_h68s%vmMUChj z*1_@~Gmw^8mwXf!#f{b-=px^Pn!5AY25)0+Z1lS6A7Y(~LG&-jmgvO{bl;<)ufw!O z<{jM$%aRX7t>)3#3Kye3coDl|6z^xP^3fQ8ucM~qU95lyQLFxIRAqigy}(K=F%^tO z`rS@D8k+N5)asv)TE%-%mAQr*$Q{(&2EAeKtS0ILtx+fLiy=4xb^PmC3B9)e1Zpk) z2TP*Qn_862e<>PibR=U%9EzoJ3YNl!sM0S-m2fRafXcxN8r5h?tN9u{x-yDibv&?ra((XbeL=$5*iv{)}1+ zP1l(dXQL`K1*7n7)YKio%6J(yu=}>Z;(9Yhsi-?|fja*P9E20FyPp5+GzQSobb~q3 z8f-v*5F6rs)CcQsG$n3|dOC7YQ?wK{pzWvupGLhwe?<*AdJ`ANMyLwAQEOrsChGaW zK_i}y3Y*QFsVVA&15kG~9aXY5SR8j_03JktJYhYJKIG>x8!uoDtiQ!nAQx4s1vcM| z)wsTMfreJE&sOud-QJi;zRY?YwW#i4Du!({caVj;(?8L=CJLmcxap3#>w& z=Y5RBGpK<+!0I^4OZ`>iW7WUw_qLoDWCdlB;mWw6tu!leHF*B4|LJ-8iwKqRLKrwGTubpVZ;aK zgW1-%Py;%L4Y16I=3hG6pgy-8b)GM=GTuim%HVyb((Yz7V(1uxy3_fn#kU*v;`jkm z(SN_m8>7}rw#|p5re;1?!9%Dua0LVLchp+(J7A7$jjG&e%+&M0kwz391*nl$Jji!8 zHbsr}HtG%|51G6xs^pWf67IlTcpRgB82Cr#&3NIkxx?=;iv1;zn2OZITI7AOwx0hv zG<1P|*c5ML7}ovRT;NGmJ_vPZQ_zKrFdXwyi|!0I#J{l_)<0_A8+q84d?srD8B|3} ze?o=0zSEM17DqQMgJV$#%s_uUh(+-zw!@PcgQ3UFQ_=*}$h+cmI3IO~4^RV3_|!~k z7i>a48CAhU=+=pTr%@k6j+<565#z~6qfWE}b%8HXB@g(_{FWPo70BCSHuk{*_yKC* zQ76oe#bIgkOk{=%A9-+2`%wQMXn53Xw>NFuk35GMZF8-Oc8?uL>by%ZcBc{jcW@fk zcJff;S;0*SqzXR?d z?h;=-_W9SyRrBu9hp0ol&tv-w?|PL_4W}*2%RQT_{rmOJh z2mCz5zFqdXVDh)@{y6$p(hkF|cK=J{nM5Qx>(g%B{|1^L(fKXWinbq?AkGomY7kEo z9c=DzeL*|fhS@wGFPbiA678Y1Clmjroq;jf4gbbRTejx^4#8Wt@b7Qh(UN$BzKM8? zxIyF-dik`WzXx6*v=t{Gjzx#>XuZcf2|Jr5~ zMd+wZ@OE^1;{Zb2G(+KEIKHNRnOIJIZ2QG1;yB0ai)A-{Xg{lc+C~%C>C?;WCee`g zd2Flee?&vu1mYWFE-}uYAWQwUI}xF_?>#(X+w67@&@N4sB7U;{t8g+gg8gT40rtX6 z`T*M@B8pg}`>#nn$Ikj#nb5mg+xPU9BU%!VwvLargXlaO@>HUk?Hi2x zm-ENB2IK*B6xM$&$x3@bJ!_0Tx~R>6u&R3IX(EjF zYxquKFW)(|Pw4&sGaYHf=X5L~?h}IuZGRCV#4++XeAf22!0Cj(e5zqz3?y0*`bus` zoFqcnSC?2uTbsVrN))zuBIqAu*I!|mho1>__QDL*w%SnmHYTza_544+4YNr-{DyrqFv1?Q0_Q$<{O|1RN_3$w zok+F&s#t%+Ux*Jm#s}Xg5^1-_WYp&VljIi~vBUx5Kjhka;%y?y<_+jOMLegSY-i{% zOPnP3+GAd&|G&g{I)Lp-;u-eMC#Dqkm>=87|E9TK^WTI@u&{i9tCq@!eiAzLNqCERn6&}HJPX0MR*kJCVeWuA%Lw;9B_^e~ z>eNk3PO6bq*Slh(r-b*=%nrVum*+-!Gv}W5@z$T8;OkxOc_qN}%<^3C-Q|%!-Zd+a z`FPf?9^i>sv(NMInoQ5uwMD(TYp?rz#%{jonYd+*_m{1|`*{6#6!G)U$?xjpiP`g+ xCvtBc&xpNY-Wz-O`+2htjQ90E{Ag@Z@A*%=mGBNZ)47=U{)OXyp5j+t{~zolEtLQO delta 15924 zcma*s2Y6If;`i|zT9DoeCFBBu&?XS7bV3IyN|h!|l1VaTG83i%L1A131aws#6xK!5 zMZ|*W8pMWW!3Ls&4P-@F7sb`ZvWvaF-`_oVvhlw@@3ZrG_?&a@y{DgZFZk#ms&D&C z_4xZuYTS}ySyuaMmemU{Zfsenh>z%CS<2t*G499b2>SgKTj6;;jH%g{)ePUjT6hj^ z{0uX&VNc7dhdo_~;I*VD^t9qu3nItJ;9l!v*Os)T6X~%?d#nI9#Z}0E*3JAu`>caF z4nM+7%+9f_`Zyiiq8BOBT7_!J9vqCXVQZ|@J8mlI)Z4OJk}&|A<5X;fK5U0eu`}L+ z>gj$QgvU?~sn^G{`eRSL0t-SsFCQ{*Rl$*SDZ)>BDbI#Z~!UOI*ByW zs^8DDh+4z3BStX~x1vVw2UG)_Q2SEMK{e=J9EPu;Dy}oY(Ba-NCPr{acwZfRFsZnS-nt;D}WlhO>X`RsKu2s)R=>0Szc_7+fgI?1a`v{ zsFA47yr=&Z&pc?$tNXEZCkvGUti!Y$k_9(LmM`8!kh1d)?U|Zad?eHl~ z$CKC;zeOACjW!i{P|uA6%)C;&5zmiDfZ+))X9pn@~M|1MA`i)cw{Zv(3|yk&auJ z5YggVh}z%FP!(-No#l6;dbS5Om#?9Xe@7KqW3o99+G9u36Hwc^6xGwKP$RJg>*F5O z6z_NPcjfw!U>eh};9yQrR@Lru}Y zQ62amHTMmtGOg5aWfRd*&2_yBHCNkR4`NT!A7g(^yVUe}D(Zk*hT47=*aiQE{jkkt zW~eViohNbZhWB9v-$HF^Yy33RvW=*NqUwoM1NhK6h|YK??Yb9^oK!Us?l zzlS+kd#0KDLD+=!1k_Z`M;i-JL%$Z)fxBli{tb!TM@BPz0yP4!VK#n@Be3NxGpCoM zMxYSK;wDr@Cr~Hbr>N&sXPXALM|Er(YK<(%EZm7L@zppH74RXpz;CfBHoV-lup?@O zy140{Zn`hlB!4if;#^F_1*nRaVsqSqHa>xx%9E%mIEQLLJavxgQ3h%#Ct_z@iW-^Q zaS1+%8oG?RreVX7GOSTJFNN<1R8PO1XGX5wd~p%&R5)Ku(4559q#Qp;;b zt|h90{ZVUcBDRPVDJL=*Z^Ax!1XZv;^fV>CP(7WGTK#J<1Mfvu_%dp$&f*xnfVns* zpYtEDa$Sd7GdH>3it!XOwh_^T+ffI_SyY7$3e3LmkDA-**bd8a5pG2-w(n3w+u3J& zI1F|FG*nNQqef(x>)WU`RlSh$*LI2(n%Cl;s0tpyws;u(;W-?M=|yILFG4M%5Z1-3 zQ4P2rHRpF@dwdL4@w@Kz)M7I-8CaiuZ!zPq9)!ry+-yV5@x!h!UQ?G!DbI@e8wYEkXMZupv; z{?5JLDrC0jU{pn6wDBg?)chGecmY*jhca{DXv`#?hZ>1%QH%X?9H{+&fruW=W<{ul z^IfmT38e2v_4qSvjV;4ws(PdH$GV149oUMh@Nuk*r%(<42WlizBc_}_*i8F>ikp#- z>iH^ELHA)JJcNz$B=*36qAG3`HIBs5q)V_bK8#w#A7U2Ph%xWj1H0mTsD{*9N<*pN z>P@6G&c^1r3O~fn*er#Q%Vp-sy>Yo&Bb!l+@<~*KPN7DyPPw^$F{+{~P!+Am7PuFi z;wx_YG{!YVUlY+mQf-AfNZO%>IvZ8M1iTny*bMjJAUue@@n`IbIaivI@}fEv!B%)1 zHpIQC`<};|c;QOMzZQ}2$ry?$SD6QgV-wPan2qJQ0PjUjQLU9`=yOmbF&78mO4Qsx ziduvxQ4RbNwYz$*GS_FKrg+6F#=jSl+sH`6SFjzPMYXs(*Qa1poQ`?e8uy__<`}9c zKcOn9ezjS2UGV{?t{-Z|{`Nb*|L|+n6o0asj}^4y*O&({Lbbdn*2fuG5A*O=3}IWW zwZ>H35&M&#ikka%s71OLbrQaaeer$N2sK@6wrPJ;7ZigJ&D@ZA7YXAf6w)1$hV;8 zY#$EC6R0Uj+d%KJ3u@7A#WwgR4#v-MEOy^$PRcN$*G8MnJ|BVI z$e-aFM~(3Pu1C;$|9?iLIv2h`6?6gBfXtg&a5x9G_!ePfTt!7tTh8K|zVQnl&bzn7Kf*VmI@J^hFTGs3jX2=Gk7F__fEq9~#?=jSU z7w}?ibDK%eK&_oCQETH~)V4g18riSV#%6ys4ef`TvYBo=UQ8s7jPR=#>jbvJFHl2XZ>JgRbky}xsI@T< zvv56Xu|JHNcoO59^IwRx!^ZcRwa^RI(+Q{%Sb(Z{8LGmYu?6lyJ@*1?4V`uKf5LRq z&32j3`rfDthvFd2LpAXBU5tNyB9D?$4-aB3Jc??-an$Pn6m_69xYsPc;iz;WcE>HQ z2XO%D&v7JX-DkG(VjN3)tLtghcJ6#XiH>D zk1wExzW#30fp(~#cSkjF0@lD4SQF!J{#w-T*{2N6{UOv)e&k-L`Jib)8tTFEn2J-d zE6zgg_p5OPK7?8$U!WRTYmeCt>8OKgDtd4Y_Q6N6KE^*HqLy4hwKVl1vpwpe8stIc zPeR>y8EWndP(8g0`{8Xk9gku?%zW5XoP+a77os|P06XDnla5<8|7=>?0XuVH2KK}& zu{%D1HXcU}`M0PBG=78yhFwt&9EMsuqg*GtUgloE9Br;IK&`1&n4|rF7ZDBFo2ViB z1RG#lg=s(*Y8OmL^|aK@-+@`AU&n^{4X(h{y=G)qqZ)Q6dT}SNP2u{Z=DFYRqw(7R zj}qyFr&0U9>0_pceXud2=r*KSrL9TTNdwtFs&S;=)`Uf!Cpi> zx-Xmb4AdMaa4bHJow3Ft^FJcHqt?b!REKusV0;%fqRkJRhKDN&`{1k2c5p_VNziSrbAk>@} z;0WA~jqx;&$1iap4mxQ@Hi}J1KM*IPp?C(hSiZvs*!HjH#_m{?bRO2iV!Q-Hs5yKJ zwGGdp%J~KtWAFD&PjAPrq>rGc_-oXz$~$G_XEWlPI526;`DO5*lpD`V6fc3TibBHi?&cAfkP=wzFgY}x5 z?uQNB_*Sm1cdv`D+<1T2jB1qX-a7^_BK+iDdlv6^udQ~Bvt5Y1PI!@vV^RNZ^AYhd zYHiFUG^Ws0()$QDX-$QGWLxi&$Bwnykzn0A$1go|epkERiq*L9N&Ey)5WXYcOD)xK zuOuXYQ^@moj$j44ExW7VIw)m?-?kbf6JYePSlh4cFze{wQg?{TdkF1boO{XH+~)Y zZ@TxnS(S81p?>`xE=ty`?oH2Q5$V4X<`d5#6cU~%t-aio@F#+PLGt~C62i5l=U_Qu ztaFv~fsq+XdKf{!3cQ`ri0~ZgOVt0_Bu-)`CVv}`cAwC_3KMqTd*GYCx6cP7jU8KZ#ao3$om=l5^f@X8xAGt zfup2{VDi_2NPxT#@g#mqh!GkRz9&5H-uOOo?RA}u`kgk#@o)Pi7U`n<8;s4|R(i=l zM*2#^Ho_p%qY0CU*X14`@}jH!<#BBUsiz42iR-uAU?uQNH*cmR-I+n;MmJOU1qp)) z-zdRPZ>$Sdt`8@^j__yaDm};J?)58(w{-JM$$NwF1?e4x8{Pa=w_{3n(*AEq#u6M& zMg^gvuJHSua5>>?u3d~zV+Ixz`VhaGu$6Ep={DGia(3XOglxj4gpGtd3Hp`c3vOKL zLj+By^(~n_s$6JFK|M*=a$8yxXK~-?bez zyNY-zi9ZnPYX5g8a+XlXy=f92ApH^cz*U5s36GI(K|?OXZ3O+kHdOw(i~NU4-Hp7D ztVapU6iAQ6zY{(tzL4-w!j|Ou6D6VF3BuEawWLQ8?k1i_r8eRh7I88WDI7rAN{|Sx%MT9kE=r@e;Z^CvZs{H;~CEmJ9{4<_w zNdy1lKEKGlcFavT#c70_$Y1SV`_8@AhIIS~H}fkpe{wG64; z6GGgRf-ksF|Bm>B#2e#}X!Bfq{2S@yuYHxu-X`;3ghvR?-5aWNZ+o5pquh*K*Ufl_ zi~0=9CmbSv5rsYAUO$L^2<^xZ<7I@Wi2oiVgg+5qMc7UJ5qybI^|y~iXY$@vrnCR> z2QorcZro1%7Q&~xiQn~vXWi@9;#9(9LJ{HjglD+^7lJ;u_7H9(uj=o163yMb!YUWy z_qv%eGK+~X#?5Zt0N0W#4=7rjkmFvvhj;M0vF|6;VKXG#T*ubTP>&c%;=t%r=oQDs&_rC2)mh%DoFVfYO z;Mdk&6V)o$2IHT}g_qrj((xA3_f;uG4>sX}4dm4(%qRVhGWpdZzc%3=^0yHFO=wF< z{=OjIg2XIrf-Bq$FXL5&I-36*2(2h&gdW5$_%YEYc#bev`TQ=yW+v+V{jLG`P9=Sg zknZNUa~1WuKCnvqL7sojP1nG`lkR_(KjslUgyuY;xgCCnuN{uE6NGWZyOO6Lw^+aM zTXLqNL-+Bim)VOtZMR+N}~IKjEZ~uzf~r_sLU7kM*X3nT^cIzRRjjksngUKEZ|BprTW5l zz!xlv7AMkYv`QQpHLr^=P+&(xAv+KX7TL>+X}>Bi@RN!Jy=9SNDpRj2T90m)5?>Vc zhO_L5cd0L8mwJQc&ZP(i6!~aInC3)7w%3mEI0Z$$^g9%0m?9;%H=JMWU+U{&dxHfw zy`Y*%G!*vnOo4x?zaZugU&Jm9hf1AZxsPPmsWWD|x3nzai$@04u_-oed-4mDC1xvK zNEh11wC60`}qGnMz6e~-#A9r`6@JDDDKCTA1fihBvwWVg@yj*wx71IVr$2Otd@u!@kLD&JRbK3N}4`l@}-l; zEF76T>XMn4E}TAd?AQsHXV;m*K4d{ewDbwHXWr*)E~NLU%a^eH2fTCCN5Nw19iq!B}aYFHG0< zb1qlrnA&t-&>!ew`H+}GUq8wnJfH%(y~GENNH6;|~<%v!Nq)LCD#Q<`zn`mQ`M=%u@}CIkC-+ay-5IcyfB%IXQ#+ z_37TLcg0V!#6@v>Tf#|_#pK#ie}T7zmq&>&=wYeQ?VPw1|5&wUeQbTX?igoeX)ms-ZFdXs8l6(PgG0(ELy$So8 z4i(?8ek&zWvbJ@_>ub7JPxQO9VPfd|)K+@unpZHTmwR>yQ%IEj64s_SKwE;gP9!sN&dWT`+nn3N{^UBb>4a*C@+u$2(HJWJAKv35 zV^mY+^=L|T>(Ogmjrq;jILEN_QQ#bi{L#^#!RLcNpr%HAr7>^f%z@_foLeG3maf<4 zeVgz9A70`k`ARBbRXC+2`&_lBDwOy5H=7To44llDmN(C9Mu@?*OJdYwYxy~gKu49C z_5ZBXsJA%gPds~TVU2NN-sx#u4mX+YEs1hAg;@6##p3Cbczw%))JuJ(en!6{W9xS{ zdyO=sU;2Mv^g2Ic(O9v1&H(szmSyp}Pqf^As_Ui63>JVl%hrMFEUV-L-f&Tj^%Kob z{CoR7aqTUN%{3tazpYBkSy1{`87)>R<$veUje1wh<0`5Ls=f@JHU)c ziTfSk3)s0F{6$Vt`V^?VeUYc?mq2nH3t|j)ksS*7w4}p!H-FIIt>UITzE5e$uxSrd zlJixNDBabvV&h%aYQ%F(iv3}-o!K<6Fx#um!RLoQ2ughUe4=vV_ycSjUWV)e)1=Bz z182kh_Q%1j|MOvx+(ebd#DlyclhtbDIiCkrzYchVd;P(3?{9t^n4U8^LE7sKG@Hj1 z_nTh{S{MJhgOwZ)2SdDuf8$Gm9p~p<=c4Jm8#P}|QRiG_ocJX0@z)C$7@z+f&MZyZ z`Wqh%d@k!abE?nhL1$JYzS{1?btbZ&yhMBF+O(riqJeKZr_!gafz>tN?E#9UN6q3bH6A~?P@!B zoVVO-CqFBk)ty{e9KPD1*>;uo{ni(TX`9(D&MGu-lkAFbcRkBe;{({OKF=S~Ssvtj zA>!_D?N!qkXDLR!?Ed85t?~_F2IN;?A(m5cu{Rv!gY3V`j5uqV;ymu*{J#}iv2XXv z>OFXMEaR0>z>&_T4{@0BF_P=aoic9R)ET*K8ofl4-y}H?UsWrSx36R3ug^B|SbEXX zCH`tjM4eMfzz2faYUX^^HK-J!m+4| zaUM$!bg;;MtLtw9n!fx{eu$3;vqO^&oAuHwH9Y_MC^55Y?)>%VN@bp^O|(C<`TqfC C7S`7Q diff --git a/po/id.po b/po/id.po index db7d8e20..5a6fa0e4 100644 --- a/po/id.po +++ b/po/id.po @@ -4,12 +4,12 @@ # Tedi Heriyanto , 1999, 2002. # Arif E. Nugroho , 2008, 2009, 2010. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.23.90\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2010-07-14 10:00+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" @@ -30,36 +30,35 @@ msgid "ambiguous argument %s for %s" msgstr "argumen %s untuk %s ambigu" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Argumen yang valid adalah:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s nilai lebih kecil atau sama dengan %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parameter membutuhkan sebuah nilai" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parameter harus positif" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Parameter ARGP_HELP_FMT tidak diketahui" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Sampah dalam ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,29 +66,29 @@ msgstr "" "Argumen wajib atau opsional ke pilihan panjang juga wajib atau opsional " "untuk argumen pendek yang berkorespondennya." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Penggunaan:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " atau: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [PILIHAN...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Coba `%s --help' atau `%s --usage' untuk informasi lebih lanjut.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Laporkan bug ke %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Kesalahan sistem tidak dikenal" @@ -101,7 +100,7 @@ msgstr "berikan daftar bantuan ini" msgid "give a short usage message" msgstr "berikan sebuah pesan penggunaan singkat" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAMA" @@ -122,17 +121,16 @@ msgstr "berhenti untuk DETIK detik (baku 3600)" msgid "print program version" msgstr "tampilkan versi aplikasi" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(APLIKASI ERROR) Tidak ada versi yang dikenal!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Terlalu banyak argumen\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(APLIKASI ERROR) Pilihan seharusnya telah dikenali!?" @@ -140,62 +138,62 @@ msgstr "(APLIKASI ERROR) Pilihan seharusnya telah dikenali!?" msgid "write error" msgstr "error menulis" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: pilihan '%s' ambigu\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: pilihan '--%s' tidak mengijinkan sebuah argumen\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: pilihan '%c%s' tidak mengijinkan sebuah argumen\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: pilihan '--%s' membutuhkan sebuah argumen\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: pilihan tidak dikenal '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: pilihan tidak dikenal '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: pilihan -- '%c' tidak valid\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: pilihan '-W %s' ambigu\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: pilihan '-W %s' tidak mengijinkan sebuah argumen\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pilihan '-W %s' membutuhkan sebuah argumen\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "kehabisan memori" @@ -211,28 +209,30 @@ msgstr "gagal untuk kembali ke direktori kerja inisial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -242,7 +242,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yY]" @@ -252,7 +252,7 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -538,7 +538,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "Tidak dapat menghubungi ke %s: penelusuran gagal" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Tidak dapat menjalankan remote shell" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Tidak dapat menjalankan remote shell" @@ -587,8 +592,8 @@ msgstr "Unexpected tidak terduga" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Manipulasi sebuah tape drive, menerima perintah dari proses remote" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NOMOR" @@ -596,8 +601,8 @@ msgstr "NOMOR" msgid "set debug level" msgstr "tentukan tingkat penelusuran" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -612,7 +617,7 @@ msgstr "tentukan keluaran nama berkas penelusuran" msgid "cannot open %s" msgstr "tidak dapat membuka %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "terlalu banyak argumen" @@ -621,9 +626,9 @@ msgstr "terlalu banyak argumen" msgid "Garbage command" msgstr "Perintah sampah" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ini sepertinya bukan sebuah tar archive" @@ -661,64 +666,64 @@ msgstr "Tidak dapat memverifikasi stdin/stdout archive" msgid "Archive is compressed. Use %s option" msgstr "Archive terkompres. Gunakan %s pilihan" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Tidak dapat update compressed archives" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Berada pada awal tape, berhenti sekarang" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Terlalu banyak errors, berhenti" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Ukuran record = %lu blok" msgstr[1] "Ukuran record = %lu blok" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Blok tidak sesuai (%lu byte) dalam arsip" msgstr[1] "Blok tidak sesuai (%lu byte) dalam arsip" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Tidak dapat backspace file archives; kemungkinan tidak bisa dibaca tanpa -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: berisi nomor volum yang tidak valid" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Nomor volum overflow" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Mempersiapkan volume #%d untuk %s dan tekan return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF pada saat user reply diharapkan" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "PERINGATAN: Archive tidak lengkap" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -730,65 +735,65 @@ msgstr "" " q Batalkan tar\n" " y or newline Lanjutkan operasi\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Spawn sebuah subshell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Tampilkan daftar ini\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Tidak ada new volume; keluar.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Nama berkas tidak dispesifikasikan. Coba lagi.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Masukan tidak valid. Ketik ? untuk bantuan.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Perintah %s gagal" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s mungkin dilanjutkan di volume ini: header berisi nama terpotong" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s tidak dilanjutkan di volume ini" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s adalah ukuran yang salah (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Volume ini di luar urutan (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Label archive tidak cocok dengan %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Volume %s tidak sesuai dengan %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -796,511 +801,551 @@ msgstr "" "%s: nama berkas terlalu panjang untuk diurutkan dalam sebuah GNU multivolume " "header, dipotong" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "tulis tidak berhenti di batas blok" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Hanya dapat membaca %lu dari %lu byte" msgstr[1] "Hanya dapat membaca %lu dari %lu byte" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Isi berbeda" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Unexpected EOF dalam archive" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Tipe berkas berbeda" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Mode berbeda" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid berbeda" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid berbeda" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Mod time berbeda" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Ukuran berbeda" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Tidak dilink ke %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symlink berbeda" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Nomor perangkat berbeda" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verifikasi " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Tipe berkas '%c' tidak dikenal, lakukan diff sebagai berkas normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Archive berisi nama berkas dengan awalan dihapus." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Arsip berisikan header base-64 yang kadaluarsas" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Verifikasi mungkin gagal untuk menemukan berkas orisinil." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi" msgstr[1] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Sebuah lone blok nol di %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: berisi sebuah cache direktori tag %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "nilai %s dari %s di luar jangkauan %s..%s; menggantikan %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "nilai %s dari %s di luar dari jangkauan %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Membuat header oktal negatif" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: nama berkas terlalu panjang (maksimal %d); tidak di-dump" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: nama berkas terlalu panjang (tidak dapat memisahkan); tidak di-dump" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: nama link terlalu panjang; tidak di-dump" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Berkas diperkecil %s byte; dipadding dengan nol" msgstr[1] "%s: Berkas diperkecil %s byte; dipadding dengan nol" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "isi tidak didump" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipe file tidak dikenal; file diabaikan" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Hilang hubungan ke %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: berkas tidak berubah; tidak di-dump" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: berkas adalah archive; tidak di-dump" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "direktori tidak didump" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: berkas berubah saat kita membacanya" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: soket diabaikan" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: door diabaikan" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Skip ke header berikutnya" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Menghapus non-header dari archive" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: implausibly penanda waktu lama %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: penanda %s adalah %s dalam masa datang" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inkonsistensi tidak diharapkan ketika membuat direktori" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktori diganti nama sebelum statusnya dapat diperoleh" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Sedang extract contiguous file sebagai regular file" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Mencoba extract symbolic link sebagai hard link" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "%s: Tidak dapat mengekstrak -- berkas adalah kelanjutan dari volume lain" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Tidak terduga nama header panjang" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tipe berkas tidak dikenal '%c', diekstraksi sebagai berkas normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Saat ini %s adalah lebih baru atau berumuran sama" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tidak dapat melakukan backup berkas ini" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Tidak dapat mengubah nama %s ke %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Direktori telah diubah nama dari %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Direktori telah diganti nama" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Direktori adalah baru" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Direktori telah diganti nama" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Time stamp tidak valid" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Waktu modifikasi (detik) tidak valid" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "waktu modifikasi (nano detik) tidak valid" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Nomor perangkat tidak valid" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Nomor inode tidak valid" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Field terlalu panjang ketika membaca berkas snapshot" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Pembacaan error dalam berkas snapshot" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Tidak terduga EOF dalam berkas snapshot" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Tidak terduga nilai field dalam berkas snapshot" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Hilang pengakhir rekaman" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Format berkas incremental buruk" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Versi format incremental tidak didukung: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Salah bentuk dumpdir: 'X' terduplikasi" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Salah bentuk dumpdir: nama kosong dalam 'R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Salah bentuk dumpdir: 'T' tidak diawali oleh 'R'" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Salah bentuk dumpdir: nama kosong dalam 'T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan akhir dari data" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Salah bentuk dumpdir: 'X' tidak pernah digunakan" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Tidak dapat membuat direktori sementara menggunakan template %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Tidak menghapus direktori: tidak dapat memperoleh statistik" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: direktori berada di perangkat yang berbeda: tidak menghapus" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Menghapus %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Tidak dapat menghapus" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Mengabaikan" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok dari KOSONG **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Akhir dari Berkas **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Kosong dalam header saat diharapkan nilai %s numerik" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Nilai oktal arsip %.*s di luar batasan %s; asumsikan komplemen dua" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Nilai oktal arsip %.*s di luar batasan %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arsip berisikan header base-64 yang kadaluarsas" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arsip yang ditandatangahi dengan string base-64 %s di luar batasan %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Nilai arsip base-256 di luar batasan %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arsip berisikan %.*s ketika nilai numerik %s diharapkan" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Nilai arsip %s dari %s di luar batasan %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " link ke %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tipe file tidak dikenal %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Link Panjang--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Nama Panjang--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Volume Header--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Diteruskan pada byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Membuat direktori:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Tidak bisa pindah direktori kerja" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Mengganti nama %s ke %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s:Tidak dapat mengganti nama ke %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Mengganti nama %s kembali ke %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Berkas dihapus sebelum kita membacanya" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proses anak" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "saluran interproses" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Perintah %s gagal" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: daftar berkas telah dibaca" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "tidak dapat menset waktu di `%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: nama berkas yang dibaca berisi karakter nul" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Pola pencocokan karakter digunakan dalam nama berkas." -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1308,57 +1353,58 @@ msgstr "" "Gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards " "untuk menekan peringatan ini" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Tidak ditemukan dalam archive" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Kejadian yang diinginkan tidak ditemukan dalam archive" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Label archive tidak cocok" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Menggunakan pilihan -C didalam daftar berkas tidak diijinkan dengan --listed-" "incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Hanya satu pilihan -C yang diijinkan dengan --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Pilihan `-%s' dan `-%s' membutuhkan standard masukan" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Format archive tidak valid" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Feature GNU dibutuhkan untuk format archive yang tidak kompatibel" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Gaya quoting `%s' tidak diketahui. Coba `%s --quoting-style=help' untuk " "memperoleh daftar." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1376,9 +1422,10 @@ msgstr "" "secara rinci.\n" " tar -xf archive.tar # Bongkar semua berkas dari archive.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1397,80 +1444,80 @@ msgstr "" "sebaliknya\n" " never, simple selalu buat cadangan sederhana\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Mode operasi utama:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "daftar isi dari sebuah archive" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "ekstrak berkas dari sebuah archive" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "buat sebuah archive baru" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "cari perbedaan diantara archive dan sistem berkas" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "tambahkan berkas ke akhir dari sebuah archive" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "hanya tambahkan berkas yang lebih bari dari salinan dalam archive" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "tambahkan berkas tar ke sebuah archive" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "hapus dari archive (bukan dalam pita mag!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "test label volume archive dan keluar" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Pemodifikasi operasi:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "tangani berkas sparse secara efisien" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "set versi dari format sparse untuk digunakan (mengimplikasikan --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "tangani format GNU lama incremental backup" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "tangani format GNU barus incremental backup" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "tingkat `dump' untuk pembuatan `listed-incremental archive'" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "jangan keluar dengan bukan nol dalam berkas tidak dapat dibaca" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1482,122 +1529,133 @@ msgstr "" "diff, --extract atau --list dan ketika sebuah daftar dari berkas diberikan " "baik dalam baris perintah atau melalui pilihan -T; JUMLAH baku ke 1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "pencarian tidak dapat dilakukan dalam archive" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "pencarian tidak dapat dilakukan dalam archive" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" "tidak dapat memeriksa nomor perangkat ketika membuat archive incremental" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "periksa nomor perangkat ketika membuat incremental archive (baku)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Overwrite kontrol:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "mencoba untuk memverifikasi archive setelah menulisnya" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "hapus berkas setelah menambahkannya ke archive" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "jangan timpa berkas yang sudah ada yang lebih baru dari salinan archivenya" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "overwrite berkas yang sudah ada ketika mengekstrak" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "hapus setiap berkas sebelum mengekstrak diatasnya" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "kosongkan susunan sebelum mengekstrak ke direktori" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "jaga metadata dari direktori yang sudah ada" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "overwrite metadata dari direktori yang sudah ada ketika mengekstrak (baku)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "overwrite berkas yang sudah ada ketika mengekstrak" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Pilih stream keluaran:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "ekstrak berkas ke standar keluaran" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "PERINTAH" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "pipe berkas terekstrak ke aplikasi lain" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "abaikan kode keluaran dari anak" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "perlakukan kode keluaran bukan nol dari anak sebagai error" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Penanganan dari atribut berkas:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "paksa NAMA sebagai pemilik untuk berkas yang ditambahkan" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "paksa NAMA sebagai grup untuk berkas yang ditambahkan" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATE-ATAU-BERKAS" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "set mtime untuk berkas yang ditambahkan dari DATE-OR-FILE" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "PERUBAHAN" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "paksa PERUBAHAN (simbolik) mode untuk berkas yang ditambahkan" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODE" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1607,11 +1665,11 @@ msgstr "" "setelah membaca (METODE='replace'; baku) atau dengan tidak menset waktu di " "tempat pertama (METODE='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "jangan ekstrak waktu modifikasi berkas" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1619,19 +1677,19 @@ msgstr "" "mencoba mengekstrak berkas dengan kepemilikan yang sama yang ada dalam " "archive (baku untuk pengguna super)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "ekstrak berkas seperti dirimu (baku untuk pengguna biasa)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "selalu gunakan nomor untuk nama pengguna/grup" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "ekstrak informasi mengenai ijin berkas (baku untuk superuser)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1639,15 +1697,16 @@ msgstr "" "aplikasikan umask pengguna ketika mengekstrak ijin dari archive (baku untuk " "pengguna biasa)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "sama seperti baik -p dan -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1655,139 +1714,180 @@ msgstr "" "tunda konfigurasi waktu modifikasi dan ijin untuk direktori terekstrak " "sampai akhir dari ekstrasi" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "batalkan efek dari pilihan --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Penanganan dari atribut berkas:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Pemilihan dan pengubahan perangkat:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "gunakan berkas archive atau perangkat ARCHIVE" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "berkas archive adalah lokal walaupun ini memiliki sebuah kolon" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "gunakan PERINTAH rmt yang diberikan daripad rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "gunakan PERINTAH remote daripada rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "spesifikasikan drive dan kepadatan" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "buat/daftar/ekstrak multi-volume archive" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "ubah pita setelah menulis ANGKA x 1024 bytes" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "jalankan script di akhir dari setiap pite (mengimplikasikan -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "gunakan/update jumlah volume dalam BERKAS" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Bloking perangkat:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOK" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOK x 512 byte per detik" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "JUMLAH dari byte per rekaman, kelipatan dari 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "abaikan blok yang dinolkan dalam archive (berarti EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "reblok saat kita baca (untuk 4.2BSD pipes)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Pemilihan format archive:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "buat archive dari format yang diberikan" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT adalah satu dari berikut:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "format tar lama V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "format gnu tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "format GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "format POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "sama seperti pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "sama seperti --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "sama seperti --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "kata kunci[[:]=nilai][,kata kunci[[:]=nilai]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "kontrol kata kunci pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEKS" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1795,77 +1895,77 @@ msgstr "" "buat archive dengan nama volume TEKS; di waktu daftar/ekstrak, gunakan TEKS " "sebagai sebuah pola globbing untuk nama volume" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Pilihan kompresi:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "gunaka nama akhiran archive untuk menentukan aplikasi kompresi" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "jangan gunakan nama akhiran archive untuk menentukan aplikasi kompresi" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "saring melalui PROG (harus menerima -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Pemilihan berkas lokal:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "tambahkan berkas yang diberikan ke archive (berguna jika namanya berawal " "dengan sebuah dash)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "pindah ke direktori DIR" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T baca nama berakhiran kosong, non-aktifkan -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "non-aktifkan efek dari pilihan --null sebelumnya" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "unquote nama berkas baca dengan -T (baku)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "jangan unquote nama berkas baca dengan -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "POLA" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "jangan masukan berkas, berikan sebagai sebuah POLA" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "jangan masukan pola yang terdaftar dalam BERKAS" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1873,93 +1973,95 @@ msgstr "" "jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas " "tag itu sendiri" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "jangan masukan direktori berisi CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "jangan masukan isi dari direktori berisi BERKAS, kecuali untuk BERKAS itu " "sendiri" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "jangan masukan apapun dibawah direktori berisi BERKAS" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "jangan masukan direktori berisi BERKAS" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "jangan masukan direktori sistem pengontrol direktori" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "abaikan berkas cadangan dan berkas kunci" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "hindari penurunan secara otomatis dalam direktori" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "tetap dalam sistem berkas lokal ketika membuat archive" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "rekursif kedalam direktori (baku)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "jangan hilangkan awalan `/' dari nama berkas" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "ikuti symlinks; berkas archive dan dump yang mereka tunjuk ke" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "ikuti hard links; berkas archive dan dump yang mereka refer ke" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NAMA-ANGGOTA" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "berawal di anggota NAMA-ANGGOTA dalam archive" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "hanya simpan berkas lebih baru dari DATE-OR-FILE" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "TANGGAL" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "bandingkan tanggal dan waktu hanya ketika data berubah" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "KONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "backup sebelum penghapusan, pilih PENGONTROL versi" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRING" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1967,97 +2069,100 @@ msgstr "" "backup sebelum penghapusan, override akhiran biasa ('~' kecuali di override " "oleh variabel lingkungan SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Transformasi nama berkas:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "hilangkan NOMOR yang mengawali komponen dari nama berkas di waktu ekstraksi" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "EKSPRESI" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "gunakan sed EKSPRESI replace untuk mengubah nama berkas" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Pilihan nama berkas cocok (mempengaruhi baik pola exclude dan include):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "abaikan perbedaan huruf besar dan huruf kecil" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "pencocokan pola nama berkas mulai" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "pencocokan polah setelah `/' apapun (baku untuk exclusion)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "gunakan wildcards (baku untuk exclusion)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "pencocok verbatim string" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "wildcards tidak cocok `/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "wildcards cocok `/' (baku untuk exclusion)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Keluaran informative:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "proses daftar berkas secara verbose" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "KATA KUNCI" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "pengendali peringatan" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "tampilkan pesan perkembangan setiap rekaman ke ANGKA (baku 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "AKSI" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "jalankan AKSI disetiap titik pemeriksaan" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "tampilkan sebuah pesan jika tidak seluruh link didump" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SINYAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2069,31 +2174,35 @@ msgstr "" "adalah: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 dan SIGUSR2; nama tanpa awalah SIG " "juga diterima" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "tampilkan waktu modifikasi berkas dalam UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "tampilkan waktu berkas sampai ke resolusi penuh" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "kirim keluaran verbose ke BERKAS" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "tampilkan jumlah blok didalam archive dengan setiap pesan" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "minta konfirmasi untuk setiap aksi" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "tampilkan tar baku" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2101,31 +2210,31 @@ msgstr "" "ketika mendaftar atau mengekstrak, daftar setiap direktori yang tidak cocok " "dengan kriteria pencarian" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "tampilkan berkas atau nama berkas setelah transformasi" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "GAYA" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "set nama quoting gaya; lihat dibawah untuk nilai GAYA yang valid" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "sebagai tambahan karakter quote dari STRING" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "non-aktifkan quoting untuk karakter dari STRING" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Pilihan yang kompatibel:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2133,64 +2242,57 @@ msgstr "" "ketika membuat, sama seperti --old-archive; ketika mengekstrak, sama seperti " "--no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Pilihan lain:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "non-aktifkan penggunaan dari pilihan berbahaya yang berpotensial" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Anda tidak bisa menspesifikasikan lebih dari satu pilihan `-Acdtrux' atau `--" "test-label'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Pilihan kompresi konflik" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Nama sinyal: %s tidak dikenal" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Tanggal contoh berkas tidak ditemukan" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Menggantikan %s untuk format tanggal tidak dikenal %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Pilihan %s: memperlakukan tanggal `%s' sebagai %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: daftar berkas telah dibaca" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: nama berkas yang dibaca berisi karakter nul" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "saring archive melalui %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Argumen yang valid untuk pilihan --quoting-style adalah:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2198,51 +2300,48 @@ msgstr "" "\n" "*Ini* tar baku ke:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Pemilik tidak valid" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Faktor bloking tidak valid" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Panjang tape tidak valid" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Nilai tingkat peningkatan tidak valid" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Lebih dari satu treshold date" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Nilai versi sparse tidak valid" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "pilihan --atime-preserve='system' tidak didukung di platform ini" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "nilai --checkpoint bukan sebuah integer" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Grup tidak valid" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Mode tidak tepat diberikan pada pilihan" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Nomor tidak valid" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Pemilik tidak valid" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2250,122 +2349,152 @@ msgstr "" "Pilihan --preserve sudah ditinggalkan, lebih baik gunakan --preserve-" "permissions --preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Ukuran record tidak valid" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Jumlah record harus kelipatan dari %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Jumlah dari elemen tidak valid" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Hanya satu pilihan --to-command yang diijinkan" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Salah bentuk kepadatan argumen: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Kepadatan tidak diketahui: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Pilihan `-[0-7][lmh]' tidak didukung oleh tar *ini*" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[BERKAS]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Pilihan 'lama' `%c' membutuhkan argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence tidak berarti tanpa sebuah daftar berkas" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Berkas multiple archive membutuhkan pilihan '-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level tidak berarti tanpa --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Label volume terlalu panjang (batasnya adalah %lu byte)" msgstr[1] "%s: Label volume terlalu panjang (batasnya adalah %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Tidak dapat verifikasi multi-volume archives" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Tidak dapat verify compressed archives" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Pola %s tidak dapat digunakan" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Tidak dapat menggunakan multi-volume compressed archives" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Tidak dapat update compressed archives" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option hanya dapat digunakan dalam archive POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Pola %s tidak dapat digunakan" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Panjang volume tidak dapat lebih kecil dari ukuran rekaman" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order tidak kompatibel dengan --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Secara takut menolak untuk membuat sebuah archive kosong" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Pilihan '-Aru' tidak kompatibel dengan `-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Anda harus menspesifikasikan salah satu dari pilihan `-Acdtrux' atau `--test-" "label'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Keluar dengan status gagal karena error error sebelumnya" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2377,51 +2506,47 @@ msgstr[1] "%s: Berkas mengecil sebanyak %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "Kata kunci %s tidak diketahui atau belum diimplementasikan" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Penanda waktu di luar dari jangkauan yang diijinkan" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Pola %s tidak dapat digunakan" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Kata kunci %s tidak dapat dioverride" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Salah bentuk ekstensi header: hilang panjang" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Ekstensi panjang header diluar dari jangkauan yang diijinkan" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Ekstensi panjang header %*s diluar dari jangkauan" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Salah bentuk ekstensi header: hilang blank setelah panjang" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Salah bentuk ekstensi header: hilang tanda sama dengan" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Salah bentuk ekstensi header: hilang baris baru" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Mengabaikan kata kunci ekstensi `%s' yang tidak diketahui" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2430,63 +2555,63 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Ekstensi header %s=%s diluar dari jangkauan %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Salah bentuk ekstensi header: tidak valid %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Salah bentuk ekstensi header: kelebihan %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Salah bentuk ekstensi header: tidak valid %s: tidak diduga pembatas %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Salah bentuk ekstensi header: tidak valid %s: jumlah dari nilai ganjil" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: bukan sebuah kehabisan waktu yang valid" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: aksi titik pemeriksaan tidak diketahui" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "tulis" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "baca" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Menulis titik pemeriksaan %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Membaca titik pemeriksaan %u" @@ -2633,7 +2758,7 @@ msgstr "Jumlah diluar dari jangkauan yang diijinkan: %s" msgid "Negative size: %s" msgstr "Ukuran negatif: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) gagal" @@ -2662,8 +2787,8 @@ msgstr "Format tanggal tidak diketahui" msgid "[ARGS...]" msgstr "[ARG...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "tidak dapat membuka `%s'" @@ -2677,68 +2802,100 @@ msgstr "Tidak dapat mencari" msgid "file name contains null character" msgstr "nama berkas berisi karakter null" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "tidak dapat menghasilkan berkas sparse di standar keluaran, gunakan pilihan " "--file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "mask tidak benar (didekat `%s')" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Field `%s' tidak diketahui" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "tidak dapat menset waktu di `%s'" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "tidak dapat memutus `%s'" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Perintah %s gagal" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "tidak dapat memutus `%s'" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Perintah keluar secara sukses\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Perintah gagal dengan status %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Perintah berakhir di sinyal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Perintah berhenti di sinyal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Perintah memberika core dump\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Perintah berakhir\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat membutuhkan nama berkas" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Tidak bisa pindah direktori kerja" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Field terlalu panjang ketika membaca berkas snapshot" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Pembacaan error dalam berkas snapshot" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Tidak terduga nilai field dalam berkas snapshot" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Ekstensi panjang header diluar dari jangkauan yang diijinkan" + +#~ msgid "Invalid group" +#~ msgstr "Grup tidak valid" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Direktori dihapus sebelum kita membacanya" diff --git a/po/it.gmo b/po/it.gmo index 306f547034052d4d0d9081bc3ba2a23c8a2e3e02..f0f6910e94121e24a0420c9025a82a3217bf58d3 100644 GIT binary patch delta 11588 zcmYk=34Bf0+Q;#o(GXK4rWkS(F=UiPLIfei9AX|?MG!-ksFTJy0E`Rf>rA7BVxLUr;sMq+h7)DAN+3g=>3+=(^t5H`R| zsE!1ZG{w3YhJzcp%?)0lp$ZL4uo7-XCc-(2weT#~#h*|k4W$?97>(-4P;7+rZ~z`d z-JoU?vxaFHjonZ)F%5^}%Wf*nhVv7u17XRI!+%aPe`;eM4#xSYnfejcA-{%>GZ7JW)qstnWshN1>E-MSs?kzYbq&3TM2jN>NtxxdrdRGf)ekppj_KClmK;#Jhz z{b8+|W;SFR`q7?_nt=>t3{Ea;6RtvS()Cyl-?e^-y3a*y%Ke?2RJ3`bnwY8TfGo4~ zf^`=*BmWY$reQ3+rZ5#_uqReQH|oZ#u>`)3n)CNMBsv{2o%=g8sc6dH zL#D*JiPbQeyQ*WcSQ)#bW@0$%Nt}mm(Tlp#BUFbHnwuHvhq}>pRLAyVO+19v@iMyE zsLrocG=eC0kb2(Cnq|#K{&RZrN9TL6E`EUO;18${RA^x?oQ3M}Akq&eIBmL`{Lu}Epk`ndY5@CDGvz)*MN@tiTi^qv(@taV(h{elM)n>C;g_iMZ=t3# zu$_Hzp&qMb)D7C8I{q|jiKd|om!dwu7wd6<=PVUHpTDC<642g^)P=f1W1Dxf`C!yi zOhjF1o^5{<)qz6PNI$|7cnj5$UrIsz z>LKcb)w&p6sFBt~?e=U`N9Lg38*8u}?nN!Z`>3hEfG+$THIx5Cb*y@h*?g`X=3f^| zq(N`IHkg0|u_Z3XvUm&MDc|+$ab2xxtu-)3FZj!Z^HuS^}q=>1cga2V0_^ zrXJmxe{Hg7X;9B*phiC1<_m1T1OsSag?e?aL(NPF{LQ~DTP7~0(|Nh)eaTcKuZ zFlr!EQA@JLO{FfC^H?7Lz~`}K4>M&`Q5{=@eereF2p^zks%B5~uFpozL_Vrx^RWVM z!VvW0Q+Nu4FtQiRi0%X``rtHFPgi0n9zc!s4C(^kVMTm|8cEsS=Da$n3#MZtwnfe0 zB;-G527h=^oQpOO?_)kU5gY3HUr40^Cmcs@n!BhQKfrhlVc3;16Sax@qB=AQH3JLn z@x!Rc>^yQ|r))oS-AvR}KabiA>#;VT#Be?Tx2WibrI;TrK^-iGsn!;#weMifK_Bv7 z*arKc9^3V(8=OKthIdg*Rpx2a@njrC-VL>9_F)z7?_8sz5j{YCAgI3?SrTdn23Z%Q z_Qnw`jS0_~3pc?U`kKAq&}7&R}eZhljXL zPke`(O_6}QVRuZyB^ZGpU^sq<>S!RtP@aT3-VGaJ0oKGF=)%+33U8riHg1?X|0&dY z)7?~}sJw<6`EhKDKVuV&8*V;03~Q6Guoj{ot1nPfTz7<-;vCe{Jd0|dVcm-A@F%GI z{fycR?n)y~Pa;rj(gL+sqfqaGxi(*m8u>xgg|4GEl@ALYj1^H!6NUA$n{_H?k#ELY zcoXYkiBXQTThD(3D$z7tLv^6kbEb!>SeN`Mtc0`hTU?EyKKwi%ZQhK_$C$ma8Y4M= z6yxw~)RdRaH^-Zz?vsnU&qA!M=l@+QnzFM+4Qv_=B7cb0F<`8DFGQebCJA+cY)r$+ zsF~V}>G&ZgqYuw&15829&`_*~6R|ulMg9M$vw=zgeu9B`37g}Ws2Qj}&b)eCVFGzC zq8BI)jLxSo39W% z;0?^hIQI-Q^2Jz_1}|pdc`S_;=wKdJM|ETtYJ~f3eg?G}|H79rdZyVEyRBD|dpQBK z%o}kwW|AL3&7k`M6_<5!*ez-GuupIBh*?B#pbvdQ}8aT!%=h0 z=3Ri{I*z)|dDPc=IeN=xb~|-U#p#La$ZXVOvl}Du8tQrWnQKfyP3_aDU7v5;U&Sc$ zlh)hlLtcI!|EPh%s1b)^7PiMgJ^zcSXt%FGt>rG%Za;}N@FHg7J*C6>VJsHwk&E(}_1 zzEa5d`u^;inG;Ip_JH6vj>yV00~%BNrpd)3GA?T6Ez%sK@pkYKd=See_#yUhQ$qng4+_w5LH+ zw+%I=7cdkbU}G%fF<&-W7)0Iy{je8mB>hkwoq-{^16_CwwdU7QQ~wzCJE8pwa~-#v zibl2&d*NXW#tJLVV-<;dfegY{xDM6PYv_-qSD7U!kJ_wNP$N#k!I*<}aUZ(y3RcHQ zsPo;GSDXK(YKX0An2NfZ7K%J8Ehtp=M??>Ou!lQ+okjcn|gYkhSIp ziPnx7LHkhD0Oq2u^A@`F{1;LwL&Fu+2)@H+SZSS^iSAgId^Bpxr=gzTnfCZR)F#}7 zad;Ya!{4k`)|(}0VjYBu9G{2HxW7|q8-BxfQX9>P%AuB`5>~;Ms1fzWn)nh{!p*29 zIfR;tZ&B}oAF&?Z$0k@~lUbtPSdDxFmcu1j17F|7{Og17(GYh*T>SBX!E8RK;9ZP6CE%LpGVEeDy)v5pgQ`an~K(==2r7& zN<)1h7c+1!X5vZI<}9(zY_>)?o4h}2#=b_~*x7DI9*COJKG*=KU_Bj14eUJXzV7d- z=yCAfVKzr74kfRTp|}X2#!aXXJVsr(+D>!4Db^lgIEghqdM{!JEH3ybE8pMmwY}(;vP)G z3#b7F>^5s3hKYLqyHkndz-+9q51^Ld3cBzyY7d0(F<&ChusnG$EQfih4vohWIK$?1 z(T98~X5n(weJ*1I^xw;jaepU;ihA4?V{j6Vz)dy}+Gp0d5o(Hi+k6}*lP||;Jc+u| zUF3VlN%5L5nbW8}@*nGc)O#d!Kl9&(N@ptC6zfoHv=8;XoV>TYaidgEPeg09$d!v>rA1mWBn{PYF{A(AVp+O_)@~)Zc$(T>R5;au;h2}!3 zn5y%zAe} z7wmvrQET^$JzndG`9;(kwJGOg5}rbBx`)^dYaBIsKhyxHV|#oH!|<+~il(;oF*YJ5 zpr&>fYBL@}t=$dO-tawc9-nyZMLqz#;eOPN1io+1OUFcq&52r?RW|R-g z*aXKQ9dtX}sA%f0U=IxXz;tLJssk&KcZG8bT{oBf}a0?f0+xUphlX9>d-Q5geNcrA7KS7cgDO(!m%WI3Wj5I ztd7s1HtiHt$F}1Dyoxok$wy}I^ueaw-&s#31Fv8-R{hvKhOMv?`BT^e$6^5P!9YBS z?eQpT2?PIaI@lDIXXEoY3pJ2mF&ksfn!Pd!-5qJzNkupQ9c!cOoZ0nRm`1)BWAGHl z;yrAMwLUR>WgylepNpEQx3Md}kApGzym>Q@#{}}}sPlH7XZ~5DqGf=ZAy1Tl7Ua0K$|my zeD@P=XQ+RplWkiXM%nr;?8&iN_^Lik`I!2oZI<>@q~{!~%M?>~+I3dsvJ zeo6RIzlPiK8*GYC;aog|DzD%wTYt?o75(Ln>->}UgZ5Y``C5CtK5d(+*T4vSd^~wa z&A*EVo}m9PJE)zY?F*s}^#CkQTp?8S1oS4l*gVjhuY;7aHjlwCO_TE?_0iO46F*ST z#5&kV`|mN8;_?jj--u&0=o?BUi&#V3Ec}VMN$|y3^fGEsdq3)*6Dp<1pU0C$8Lw?} zl`013UwDAnOWY^i$2egbl{t7D+Y)-YsQg9S8-$Dcb84XYuyx1Lrf)ZuuGAl48N5!^ zC8if0F@Js~UqyAHZF>gaq3uJ0;&ysd*+5(-el2R_M<@D`S0{LVI|FbSp)$`<^i%6H z^=rfi;zOdiOrr7;=j%ORh)3;bi;qvH@;z-;wf;Ynq?24ly-rUMDl>@Bh$X~ydx7q1 zr{0|ivu$2HY3m$z-ltxUC`;V7?Qi02VjRaW;&SYdUupeS{z*g-ZxM0CC=NEpFropW z@-1z_L>r>GCJ8u*<^QA)Lzll5K>BKqe zuM&@lk%Y>hL}lV%#3_mYyC@^y0e!9 zQ*B+WAYy5I8e5^t7DLg`^LMEKWZNfMhtTGsULO;Q^2Bj_OfUT=1#KBbV|y&z`U~DAj&hDKzDKy@N!n3K zLX`*9?_wR|ed535Do^8mooDkj+W2}e`u9E^{}1gIh_l3Dd(Ir%e;~dlRC0(x99u@b zRMevRr|hBOF>c2U3_+Dh;&tjhZLYRU)K}w9e498#L=yW5l|&pvOd#eGUlA>dV2-_6 zbOt|e$j?y^u=jVo_JG*)M12_buEfuLU<$FD`Yj@rxIsP;TM{ab$R83VsW&GM5!Z?0 zlFzZ#gvvjNn$*A6`oBQ3hL}dQB_B$tj50WH<4d-!6Yj9}w{Q_r$noLCRofnocWixu z^)$z8Qy+>dzZ05!cP@=X5n}%&fU1A#fOjPMdy||R6GL^hM5l;OycEATj zb9-JMddQ2*MDnF1n}{!p8*wG=BQ*!Fko<#WIiYfi_?}oy{Erwy`%Qani**-1BAhUAYKpF46)fouG@+%W~i^2d$N8|oT1^0_?MnB38M1qt41E&BL* z@3va)?>W$}uQ#oIu#b0V#|=K7DcSu!-(;`#Z0elp{iSnafG4}hAx~`21>O<84)}PR z^jYrbt=B)=$20F4uV?Upc+ZvrAzq(>E`RU#A&-2$XNT<%@P77OXi0CxgqeZf)6;7B zdtzsH_i5yrF|&DU!}z4c_{3CKa>Mkb#Ms1!iHW7V=EQf;n>eyyWd4}=tlaT=>8|9& zq@?&nPHpH)N={E~;{AE%!BU>-bAr4L7v}hRZZD4X9$$RL$NTQmPJZ6DD|Y*OTCEDL zJtlwjNY~JjW{8ZrXvn$aM*vp%>sjbhx zEsuRXEw+yE9NK!q^X9f3Z_xHCfu7F0fA9?7v(|faZ*^a9%>G^e-l>Nh`FQTUcf#}a zk(QNP=Z+qm?~1Hb5a}vls`CqmjGQn&-&=U}xWBjLi6MTQmws5nd;j0NOL=cy{-}ia N`nBW$&$MrM{U3ZUWf=ef delta 16200 zcmaLd2YeLOqQ~(GEf6|{-iAO3Eg>Wn0g)PN2oVHn0-I!$tZa6}mV}}%DvBL(1sh%) zAP6eD3S#3bSg>5hhKdcl*K+k*!0SWa?>}dPLGOF>@#K5XnVB=E&m?%qrn*~SsvG;D zRlW5|mSv^Yv8-$y-O{q&CtjFlS<2s^X?zJ^CFuAc?10Dd1#FjPS*iFjHo&83qcJHU!rZHXKqgKMp0t{K!Mo%C#^KGu2I8m~eAv+m>v^|M~biTDfl z#4`q3R#Pm-&bSmQ(z*s!ktcBket;dZV@}LGU~mqtAY&r7!9~~tqu3QM#a_4>)zX)6 zI37V&q;sxi4Z%^k5UWrRcoW;>_t*y;4Kh8EizTE-$B6VNvKdu@*N`%;exU1stWLN9HH6Es9sUi~&|TOCKQZZ;l|(;g zkdcL&U$fE1)z}+1yZ!@Pkv@vLK81l)K{=?gEp)BKB+}PnUAzv}BO6dXxd$~#zrzm9 zKkH{A&B$ney0I(jL7B)YYcy(dormhWJKX#?QIo6XNaGkJ%UX&Z@jg_~9>Bi%C8{S{ zGcKw?KTPKNRt^yrJRI{dfa=^j<%??qMQCRC5?$Cw`Q1rgP#%NWz8J+Tw%vB=7@7NTmt7L)OA*ZW;}BXzX)qOSiP zd*Ohwrh>Ck4P1#T_kQe*FOGHB|CeNRC*uUF=H17c^fc6D3}PC_F%@^AQvh}){Uvt6 zfuk8SWB)cyZLt)AwLhZ;H&Q_vS9q83E(ER3US_9bc`IEJcNzlmn- z=Af3}#i;xTQ5E|T8{ns?2Y!tj>&BBz4-7$yvZi5AydG8Y*d8M7iM)X=@mr*_)(P|^ z5ua=-a`zO|Gw-5Wb_`X~W>d{jbj4AmMBc zhMHtop_bn!)Pr`T_VkxgEjx@F%iqw(7Sl|D12Kbi0rtQu)Uv)A)zWRKxv(Fb;$dv9 z_5YQ7;<%GR;RR+4d!r`VFjNI+qbhbTYL1+b$#@H@Vs~MG+=r_8_oxRom~L90iW(vt z)qo7_%JZ$$iS)zysIFS$x(zi}FS>q@14y?iG%uSxREy6;ZB(03%kU%Yjor>P`^O~A zBz*yDU)h108*gDOOeARrFAj{NYPK7-!Mubm@N;Z}M^QaeZ>A}rJ8JUfqgr+*sv&c* zC9X#G#0JzH+kqYK$MkY5?1gus zdgcXOitnPjE`Oe>*b<~ns}koY@wP*?G<|{Txv8kFdj)pDTd_UvM&?4ydXnS(gc(HkK5$2L#jaru5QIqU2sv@7DmfZ<#itm=@v>DYSZ@AVerT;alvP;e6yAxALzl?go+o%U0#le_bW?n8+Q0x0@WD;2$ zu`%9@8rwanF+Ygi@l(`;85$+`Si3}oRHL9!jpeEH} zRLy^L)4hV``~=kUEXOW*8`}5;j>Qi!6T4TM>!+ixTZ%n#EoS3G$YhUMpAi|R8<+^X zaXzYsm%HAJlSv;$wYXErboqGHP%T2`hg~s7c%^YF5!eyr1-3?1PP} zs0h!ua*3#>i?A22#x}SeKf|XmHHnYQYP01&zRb*#r%;pf3)GxQS#El8C~6LQQ4hKj z)#8V-Egr$vcno98XtKg|Q4iEcG60+7RP2cJQ3X`tX?Q25;$a+)-(wE;TWKcYLR3#( zgKE(2*a4qIm3ssS;14V5|N2C_pJ%q*3>-;13w5I(TVWita0{~STW_Luru?`mQn$$i~K`XXE7zT@j8U{mq568nZ4kFEu-MvAMAVHS5Eun%#g+@p05x zy?|@+1MGr<)n-S$3Uf(6jT-A;P+e_bV&>3r)X)^7jThsYxCyn|V!sekOM6~wYCaBC zQy&h-?KldLpbF}~#`pp}x_=#N>)na!!ROulBd7*gmzkGaDypJ|I9cm|1rZM! z`>`kXy4{Y@xTJTK)>EOIu!T3dq9|q?e**^}W~!_u}dJm7DH$jp@=t)ZDlL^YJEBg+52^ z3q2V}HDoUK;`!EIBHeTWs=x-<}X|h{$Txq}t=AKS5Qf{Vk@T zIhaZMd{j?uM~&%=n2kTV>GX|eZWN$;a0RC0Hq;z?#Z78WOBtD8G@EDH8L3fx*T#c&mex3vWW*@I0pBVH}OWV{06Bx7jIYq8_jmRk15kJ#sgy z#d}Z<{1i3ElD3*5=!Y@Jz$zq?f#;!a+=N|l7iuWpz;^f}+SquTDX>54!INE!u{-JW zQ7ya;Ro-5-@gO$Af1@VniEZxs&$`ES)e>yViAzyqbUik}o80raV>;=_Q0w>z>VeI+ z8?&(&=^3ueQLE#2JRJ|Z>1I33SMjJF^#5c|tRX`e9>g(N=U(%rGafZ3&PSc!iIsQ+ zr{IkHOqbt^ZAtGz4b`itA^H)unv(A~Ly?AR*fdnbX2jeRb5UKq8r8Cms3ACjZSV{1 zhsRMj_StDRlx)l*eHv;A%WxR3MGf5n)DV4%YDk?2%nmsi2at|Mh-kKM!e+V2+vp{eMhEV^;Se z)8f83f%GICifeH!K8I>)%EM+d4MX+JJX8fLQA2Pw*2PVz25iL?-07wt!}_H6VTRWK z0U|xg_yN^*ZFiY5EyQfne$*J=ioNj>)b&U33~aF5%$Yn?1=pY^=`Oq&-$V7>;z!Jb zSD|{~QoJ*k#7l*UX7P$g&6sRNjpa+&27khinDUrePU+a1^iV9psi>WAC#K?eI3Mdi zZth!zPWhDsz?cH^{ht?)zhe<`WkI)@wAyM1F=2nf~RBV3#N>WNn}*xMEpByH8k93-q-C= zlc~F#?t@9Bb8$QlMm=~1YFXWl>d`}}2Ku#NQ5=f7&zr7Vg88IZV=Fv}S}mWt=er&-LpT&Qcjmh3O1zl#b=U{nzF>x6GzPW) z&mp2Ndl@w*$8oSOe9?U4<)a?73bkw=#j)7OAnyRYyYwt%1Nm5uEk7z z7Kh_cn6C9d;2)+dXW<-9tiZ|mI`+pdubA^wFpqQ)HG3aMO~xNF4bxvWFPTZG^d+bk zZ^cRY8fqDLI%s-&2+rX7);uEW>U*&_euf&$X0Mq^l7-o%=i)590?)*cFc))PH`kS- zu3Lxs__UjD{)Va0XlzY>F%H6NjH!k@h-ePHg*kW}`(gH*rsWGzU3ej;<8IU#zmHw< zCsdcVe#Ji@HSt%I1Dv* zpW!HM{f;?56II})Xyb1D72n4Gtk2ipHOu$JVN=0I@0t6?V;0v{zeoS8fGuRG#fMNe ztNXtB=p2mdGC!(Ct1uPUVME-48mjwI%l8!=fM27^?eu~9{{ix`3+e5sIdlNE%9_VM zG%t~GpeHRy6LZRDQWwNY0!13 zxp4qMn;wGA-S|zMyUaZ=esSYN zTms{}ScYa;F-d_g>ngK-w26@@k=y_;Z@)==mm z+j^HgwhpTs2^NwygV2KChPo%2$j)&gKc6SO&$)WE{1a?X`Yb%1P;*SHiQtBc*7 z;R)j3p(b8G;tdFzT-79njvky?ONfyB z5BH*Hu#EJ_gmZ}7N)w(TJ&B-6dlx}Rko zPtI?_i&4j5;?BSSH06fchnEwzk5MEZCGP}klUYan792@X2OcDSI@TO%L@LPp91r6+ zgepP{!f%8ph0@@tL}MB2EOEF%9k(kltK5=M~DBWPD^!Zlue zl~8jOb8a+=#|cA;>sV&6^!F$0-)`n?*I9V28`pIKg5GY&l;D^`__@~k(Ztsf9(2w! z_V~7Yej#yf<2nN5y-xUn_$I=&%2f9?bX%r$FD__7I)vj%KSXG*6CB?Y<`9l@?lgQ7 zyJ0zD5b+BMHxce2-5Fa_&L-SN7(h6aa3$dmf{vvad)7@TgD)@V_?5iOTKTCIlubI> zt!M+B&6RWAYue#;q;JQ!aV&NqWE1a*PvBLAD+v<`Pmt#xG3$I16{Kz^G$Gy#c?DRF z-HWE-KGI)cf4qPYCp<#B9Tk~@w-R(5HJtppmHY=tZN?9A7onQ4jPzLiRQ>-IiN%C( z2{)3dBT8JyJA@|*my#Y&*i5_w5ACk=xD)mgPsVcyI?@f!ADuIaA9T}Ax$a)w$MF=t zNcc$W|2x8dLJ=n(B{U*jLR!Zegr5kvDN*a#SS#MKR{USw*Pev?}p#8jf+>@P%|Bo^_ej)F7H(%+_gj~|EV+k%Kc!*z0c#gP^`*EI$I-g(f5x<>q zwwot@B`o2(hp}@V^L*tyUnx?bPY-fIUqXFal8na*8wno}^v@|luBn61>IROBh~I~; z@HlqozV7%j>6#;ryqe=JB0mxmdVU)>w;mU#5yrXcF|OH#hnD7Ge6bjqnp5KqT zgl^=A@Jzzv#IM0H;V$AD=6i`J@Oi??L;b&-kU{3VCvzDF(v`I?yp8wEp@2|MxQ4Ko^G_4{67DBlPN;qSjYM0nbH=}v#4RLrY;%ng_YprA*SmSAxh~O# zwT_0wbKG-x6E7kBn=q5Gi2P1EN6`1=%Y^L&9ozK$draKAjth>s@wxat>3q)d*+MgN7VLK2ERe1b%sn74V(!;~;S%D>iV0FOBup`SWz3v^}Ws#7lIP#a95+ykY>a_6t z!V%l!4|zQ$%WZzf=MCu_5=dKh+X8hqhU(%1?)(LfaxUQoA9nKxor2SZDIfimhH@)k#eq2-B1qi(Ag ze|=nP9bY(pVp^N{f5t87?e&+~kzmmF2f4JmoF=I*CAu*j@KlD&dA=H&m^nT*DYiJ` z31!$}Pn9=pS9k);ol{{7;DP1d5H*YhZI2!1b_$Ak=!#&78ibeFo=|bQugcrs_5@07 z8pdP7)XK{}CB7>e(=wPxnndxyv`3pU9ZbrZ!|_!^+azVhdlg(2b1tzp-Oo}7J2OlDtXgPM zq=&8P&NX4mbn@tB6DtZv%I#`TAYz9j^u33=`vR5GNUa;jgrbz<%!cA%MJ44IQRQkM zH!jXBwKFqvYF#`(J9Fqc^Zga&=VY)JDK%PI84PJb6fL*=M#_ERzM3S7odvs-+ImAF zrXT}%>U8!L-dH#0Wf~MOiB?iVX{m3S?W67&u+*agrb^fjYZa*qnVIedlr(elw8H$n zMPtW|n>wp-(ac#BCQP1_m2wvAlGzZ}S}YC*BB7w41+rXAw^k|c(Wi?sus@4fOU`EOyrF7e*sF3>iIZn+ z=5n=Xxpo3-&GrgL_rsSmrAwn~q!%{VL3WOko=vAMyhGjz_(s`M87N|&2DM#|Z>7#3#anBtO1 zD7wrvC^Iv{R+j1a6nXtMYsqp-iL%3o-6C{ju+-Vt{@?o>y6Z2T7&PyJ_~X+#Mv5dCso-@mq^J52-Hq1{g%=-NSfWCBZ<3mR`tL zY5U#1eer+{ccay|Xa_tMi4Tj~H|*&tjqnuh>|9~@F7cLn*gu?c@-8d(M>W9{pP##~ zK{^Xgw=reuME7ZmGKj_HCo2_Q+O=Mu&tFo^q7U08L1(?1OL%})ee%@Fy#M2&ed6n) zXC)1ee;yqh*gA#X(b8nQ!0ij7lWoxwuZ9_z#!ZiIPjE z)Xk}k?t9Q?4`ONa?)OAItUY#=AU#MmocI0;+Um1IK3=POlO{G^_Eeq3l~=B>XM2mI z`Y_;DzvqwFzi#w4G#i=rnuZR?XtFkjJzu?D1Er+7&_GS*CwD&47f1eqP(o7lbd!Zq3Z2%Y(KP=ktQz z^x96JG08*DKBsc@9TN2WVy37PUcDJLh3KOq?5(Ku{q>8&7d+*Y!hBJje7bY4#N$>^ zpA*`VL)wk?UGm4bgj)>TZA^PJUjQ0*k6p>T!50p*bm(*Yk7k~%8RgWJcJg!LkHS=z z3e%M16Dt~_r`$qHJg3w$#hPIzN8-X8jwbae^zdMh&2-`Ot=1awFrmX~c8S;Tk9*d) zY3S4U2Qw~SeUq=j#E{;t@i%UIC0>1VxA@IB&uLP~@P~X}YUvBc&$y*s;`q%?8uT4w z2FI>2pBpt3lf8$Tk`b&lGb=4~T3Wo}9p7X*Gon~^VKTetv^33hE^$_&Csf9I6ccGhuv*vet)dd)YA&+pTNDV1-Ov{Rq=$5%?4-sa}kGS-%lVP~kE zkN8>(gGE7~Ca$@&bDds!`e@-QR;)J?iH6MbcQ%&Vi)-7a`|8Ce`_1P|ILzMQ_0@dR zu(Z-HNaNK;7qYYQqHrofhx1+!veupLDp2d&rm`{`@}~Uv?;9RMJM~#ZH&KO?%egXE zYp42i$u-|QPRZt*r`9J=3dMN*eCyiOC+sUyXR3ey>-SFqJ?IU4%cATKEWVm%rm(pF z{1wEy)@AO)`POlMN%}9JK?Uw9KG7(fT|CRV@ z&4P5Es!JF-x0I7NBxY|Lnly4&Si2IF*8Lz#V*@iO=X)s4X4|$|Kwg#>-Qo*4A4Sea z&sWh^_v~*mTOG#4VAn0yW*qOly<5C+`{<72ov$I@C4ao!Ji{rxI4!<*d;8eTh+gvy zT(Pfam*>G|VluGq+c3*!aXUM(snuUUnM@UV(emq>j~7RXmB;>U-e_4?fnK1h9GwyH z@I<#ZiM`vm)Qf2hnU*!9ZGQFR%Yd!hw{MSX7Y)?fD%_7Or;}=bW2IU9F5|sZ%3S!7>iHZ%b!c#oyi6NzLciT3dHa`v`U>o(@4 s-1-wIQ~8L8PT)g?`Qxni;$VoEVP!DjY{NXj`twzPxk6QlM-JZmzr_AY-v9sr diff --git a/po/it.po b/po/it.po index ca30f989..64494d74 100644 --- a/po/it.po +++ b/po/it.po @@ -1,18 +1,18 @@ # Italian translation of GNU tar. -# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. # # Lele Gaifax , 1996. # Marco d'Itri , 1998. # -# Milo Casagrande , 2008-2009, 2010. -#: src/create.c:1552 +# Milo Casagrande , 2008-2010, 2011. +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar-1.25\n" +"Project-Id-Version: tar-1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-11-08 20:28+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-13 12:09+0100\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "Language: it\n" @@ -32,36 +32,35 @@ msgid "ambiguous argument %s for %s" msgstr "argomento %s ambiguo per %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Gli argomenti validi sono:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: il valore %s è minore o uguale a %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: il parametro ARGP_HELP_FMT richiede un valore" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: il parametro ARGP_HELP_FMT deve essere positivo" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: parametro ARGP_HELP_FMT sconosciuto" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Spazzatura in ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -69,29 +68,29 @@ msgstr "" "Gli argomenti obbligatori o facoltativi per le opzioni estese lo sono anche " "per le corrispondenti opzioni brevi." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Uso:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " o: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPZIONE...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Usare \"%s --help\" o \"%s --usage\" per ulteriori informazioni.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Segnalare i bug a %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Errore di sistema sconosciuto" @@ -103,7 +102,7 @@ msgstr "Mostra questo aiuto" msgid "give a short usage message" msgstr "Mostra un breve messaggio sull'uso" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NOME" @@ -124,17 +123,16 @@ msgstr "Resta in attesa per SEC secondi (predefinito 3600)" msgid "print program version" msgstr "Stampa la versione del programma" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ERRORE DEL PROGRAMMA) Nessuna versione conosciuta." -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: troppi argomenti\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ERRORE DEL PROGRAMMA) L'opzione dovrebbe essere stata riconosciuta." @@ -142,62 +140,62 @@ msgstr "(ERRORE DEL PROGRAMMA) L'opzione dovrebbe essere stata riconosciuta." msgid "write error" msgstr "Errore di scrittura" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: l'opzione \"%s\" è ambigua\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l'opzione \"--%s\" richiede un argomento\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opzione \"--%s\" non riconosciuta\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opzione \"%c%s\" non riconosciuta\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opzione non valida -- \"%c\"\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l'opzione \"-W %s\" è ambigua\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memoria esaurita" @@ -213,28 +211,30 @@ msgstr "Impossibile ritornare alla directory di lavoro iniziale" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "\"" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "\"" @@ -244,7 +244,7 @@ msgstr "\"" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[sSyY].*" @@ -254,7 +254,7 @@ msgstr "^[sSyY].*" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN].*" @@ -542,7 +542,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "Impossibile connettersi a %s: \"resolve\" non riuscita" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Impossibile eseguire la shell remota" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Impossibile eseguire la shell remota" @@ -592,8 +597,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Manipola un dispositivo a nastro, accettando comandi da un processo remoto" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NUMERO" @@ -601,8 +606,8 @@ msgstr "NUMERO" msgid "set debug level" msgstr "Imposta il livello di debug" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -617,7 +622,7 @@ msgstr "Imposta il nome del file di output per il debug" msgid "cannot open %s" msgstr "impossibile aprire %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "troppi argomenti" @@ -626,9 +631,9 @@ msgstr "troppi argomenti" msgid "Garbage command" msgstr "Comando spazzatura" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Questo non sembra un archivio tar" @@ -666,66 +671,66 @@ msgstr "Impossibile verificare archivi su stdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "L'archivio è compresso. Usare l'opzione %s." -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Impossibile aggiornare archivi compressi" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "All'inizio del nastro, uscita immediata" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Troppi errori, uscita" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Dimensioni del record = %lu blocco" msgstr[1] "Dimensioni del record = %lu blocchi" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Blocco non allineato nell'archivio (%lu byte)" msgstr[1] "Blocco non allineato nell'archivio (%lu byte)" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Impossibile muoversi all'indietro nel file dell'archivio; potrebbe non " "essere\n" "leggibile senza l'opzione -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek non si è fermata al limite di un record" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contiene un numero di volume non valido" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Overflow del numero di volume" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Preparare il volume #%d per %s e premere Invio: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Ricevuto EOF quando era attesa la risposta dell'utente" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "Attenzione: l'archivio non è completo" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -737,67 +742,67 @@ msgstr "" " q Termina tar\n" " y o Invio Continua l'operazione\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Esegue una subshell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Stampa questo elenco\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Nessun nuovo volume; uscita.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Nome file non specificato. Riprovare.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Input non valido. Premere ? per l'aiuto.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "comando \"%s\" non riuscito" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s potrebbe continuare su questo volume: l'intestazione contiene un nome " "troncato" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s non continua su questo volume" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s è la dimensione sbagliata (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Questo volume è fuori sequenza (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "L'archivio non ha un'etichetta corrispondente a %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Il volume %s non corrisponde a %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -805,238 +810,242 @@ msgstr "" "%s: il nome del file è troppo lungo per essere scritto in un'intestazione " "GNU multi-volume, troncato" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "write non si è fermata al limite di un record" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "È stato possibile leggere solo %lu byte di %lu" msgstr[1] "È stato possibile leggere solo %lu byte di %lu" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "I contenuti sono differenti" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "EOF inatteso nell'archivio" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "I tipi dei file sono diversi" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "I modi sono diversi" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Gli UID sono diversi" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "I GID sono diversi" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Gli orari di modifica sono diversi" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Le dimensioni sono diverse" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Non è collegato a %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "I collegamenti simbolici sono diversi" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "I numeri dei device sono diversi" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verifica " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: tipo di file \"%c\" sconosciuto, confrontato come un file normale" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "L'archivio contiene nomi di file con i prefissi iniziali rimossi." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "L'archivio contiene intestazioni base-64 obsolete" +msgstr "L'archivio contiene nomi di file trasformati." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "La verifica potrebbe non riuscire a trovare i file originali." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "Errore di verifica: trovata %d intestazione non valida" msgstr[1] "Errore di verifica: trovate %d intestazioni non valide" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Un singolo blocco di zeri a %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: contiene un'etichetta di directory cache %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valore %s fuori dall'intervallo (%s) %s..%s; sostituzione con %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valore %s fuori dall'intervallo (%s) %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Generazione delle intestazioni ottali negative" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: il nome del file è troppo lungo (max %d); non archiviato" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: il nome del file è troppo lungo (impossibile dividerlo); non archiviato" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: il nome del collegamento è troppo lungo; non archiviato" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: file ristretto di %s byte; riempito con zeri" msgstr[1] "%s: file ristretto di %s byte; riempito con zeri" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: il file si trova su un altro file system; non archiviato" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "contenuti non archiviati" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: tipo di file sconosciuto; file ignorato" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Collegamenti mancanti a %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: il file non è modificato; non archiviato" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: il file è l'archivio; non archiviato" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "directory non archiviata" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: file modificato mentre era in lettura" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: socket ignorato" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: door ignorata" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Passaggio alla prossima intestazione" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Eliminazione non-intestazione dall'archivio" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: orario %s inverosimilmente vecchio" # (ndt) problema del plurale... -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: l'orario %s è %s secondi nel futuro" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: incoerenza inaspettata nel creare la directory" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: directory rinominata prima di poterne estrarre lo stato" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Estrazione file contigui come file normali" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Tentativo di estrazione dei collegamenti simbolici come collegamenti fisici" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: impossibile estrarre -- il file continua da un altro volume" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Intestazione di nome lungo inattesa" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale" # (ndt) questo è il pezzo di codice @@ -1046,171 +1055,190 @@ msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale" # quote (file_name))); # return 0; # } -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Il file %s corrente è più recente o ha la stessa data" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: impossibile eseguire il backup di questo file" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Impossibile rinominare %s in %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: directory rinominata da %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: directory rinominata" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: directory nuova" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: il file si trova su un altro file system; non archiviato" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: directory rinominata" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Orario non valido" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Orario di modifica non valido (secondi)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Orario di modifica non valido (nanosecondi)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Numero di device non valido" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Numero dell'inode non valido" -# (ndt) oppure rendere snapshot come istantanea? -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Campo troppo lungo nel leggere il file di snapshot" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Errore di lettura nel file di snapshot" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "EOF inatteso nel file di snapshot" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Valore del campo inatteso nel file di snapshot" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Record finale mancante" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Formato file incrementale errato" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Versione formato incrementale non supportata: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir malformata: atteso \"%c\", ma trovato %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir malformata: \"X\" duplicata" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir malformata: nessun nome in \"R\"" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "dumpdir malformata: \"T\" non preceduta da \"R\"" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir malformata: nessun nome in \"T\"" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "dumpdir malformata: atteso \"%c\", ma trovata la fine dei dati" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir malformata: \"X\" mai usata" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Impossibile creare la directory temporanea usando il modello %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: eliminazione directory non eseguita: impossibile fare stat" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: la directory si trova su un altro device: non eliminata" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: eliminazione di %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: impossibile rimuoverlo" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: omesso" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blocco %s: ** Blocco di NUL **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blocco %s: ** Fine del file **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blocco %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Trovati spazi nell'intestazione dove era atteso il valore numerico %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1218,109 +1246,125 @@ msgstr "" "che sia in complemento a due" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "L'archivio contiene intestazioni base-64 obsolete" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" "La stringa base-64 con segno %s dell'archivio è fuori dall'intervallo %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Il valore base-256 dell'archivio è fuori dall'intervallo %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "L'archivio contiene %.*s dove era atteso il valore numerico %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Il valore %s dell'archivio è fuori dall'intervallo (%s) %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " collegamento a %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tipo di file sconosciuto %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Collegamento lungo--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Nome lungo--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Intestazione del volume--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua al byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Creazione directory:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Impossibile recuperare la directory di lavoro" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Rinomina di %s in %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: impossibile rinominarlo in %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Rinomina di %s nuovamente in %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: file rimosso prima di poterlo leggere" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "il processo figlio" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "il canale tra processi" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "comando \"%s\" non riuscito" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: elenco file già letto" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "impossibile impostare l'orario su \"%s\"" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: il nome di file letto contiene un carattere NULL" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Usati caratteri di corrispondenza nei nomi dei file." -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1328,57 +1372,58 @@ msgstr "" "Usare --wildcards per abilitare la corrispondenza o --no-wildcards per " "disabilitare l'avviso" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: non trovato nell'archivio" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: occorrenza richiesta non trovata nell'archivio" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Etichetta dell'archivio non corrispondente" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "L'utilizzo dell'opzione -C all'interno dell'elenco dei file non è consentita " "con --listed-incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Solo un'opzione -C è consentita con --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Le opzioni \"-%s\" e \"-%s\" richiedono entrambe lo standard input" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: formato dell'archivio non valido" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Richieste funzionalità GNU su un formato di archivio incompatibile" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Stile di citazione \"%s\" non conosciuto. Provare \"%s --quoting-style=help" "\" per visualizzarne un elenco." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1396,9 +1441,10 @@ msgstr "" "tar\n" " tar -xf archivio.tar # Estrae tutti i file da archivio.tar\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1419,81 +1465,81 @@ msgstr "" " nil, existing Numerati se esistono backup numerati, altrimenti semplici\n" " never, simple Esegue sempre backup semplici\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Modi operativi principali:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "Elenca i contenuti dell'archivio" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "Estrae file da un archivio" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "Crea un nuovo archivio" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "Trova differenze tra l'archivio e il file system" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "Accoda i file alla fine di un archivio" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "Accoda solo i file più recenti della copia nell'archivio" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "Aggiunge il contenuto di un altro archivio" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "Elimina dall'archivio (non su nastri magnetici)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "Verifica l'etichetta di volume dell'archivio ed esce" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modificatori delle operazioni:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "Gestisce efficientemente i file sparsi" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" # (ndt) hmmm... formato sparso... -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "Imposta la versione da usare per il formato sparso (implica --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "gestisce i vecchi backup incrementali GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "Gestisce il nuovo formato di backup incrementali GNU" # (ndt) suggerimenti? -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "Livello di dump per l'archivio a lista incrementale creato" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "Non esce con non-zero quando ci sono file non leggibili" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1506,122 +1552,133 @@ msgstr "" "sulla riga di comando o attraverso l'opzione -T; il valore predefinito di " "NUMERO è 1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "L'archivio è posizionabile" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "L'archivio non è posizionabile" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "Non controlla i numeri del device quando crea archivi incrementali" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "Controlla i numeri del device quando crea archivi incrementali (predefinito)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Controlli di sovrascrittura:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "Tenta di verificare l'archivio dopo averlo scritto" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "Rimuove i file dopo averli aggiunti all'archivio" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "Durante l'estrazione non sovrascrive i file esistenti" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "Durante l'estrazione non sovrascrive i file esistenti" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "Non sostituisce i file esistenti più recenti delle copie nell'archivio" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "Sovrascrive i file esistenti durante l'estrazione" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "Rimuove ogni file prima di estrarre su di esso" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "Svuota le directory prima di estrarle" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "Preserva i metadati delle directory esistenti" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "Sovrascrive i metadati delle directory esistenti durante l'estrazione " "(predefinito)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "Sovrascrive i file esistenti durante l'estrazione" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Selezione stream di output:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "Estrae i file sullo standard output" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "COMANDO" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "Invia in pipe i file estratti a un altro programma" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "Ignora il codice di uscita dei figli" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "Considera i codici di uscita non-zero come un errore" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Gestione degli attributi dei file:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "Forza NOME come proprietario per i file aggiunti" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "Forza NOME come gruppo per i file aggiunti" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATA-O-FILE" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "Imposta mtime per i file aggiunti da DATA-O-FILE" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "CAMBI" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "Forza il modo CAMBI (simbolico) per i file aggiunti" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODO" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1631,11 +1688,11 @@ msgstr "" "dopo la lettura (METODO=\"replace\"; predefinito) o impostando l'orario " "all'inizio (METODO=\"system\")" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "Non estrae l'orario di ultima modifica del file" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1643,22 +1700,22 @@ msgstr "" "Cerca di estrarre i file con lo stesso proprietario come presente " "nell'archivio (predefinito per il super utente)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "Estrae i file come l'utente attuale (predefinito per gli utenti normali)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "Usa sempre i numeri per i nomi di utente/gruppo" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "Estrae informazioni riguardo i permessi dei file (predefinito per il super-" "utente)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1666,15 +1723,16 @@ msgstr "" "Applica la umask dell'utente nell'estrarre i permessi dall'archivio " "(predefinito per gli utenti normali)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "Ordina i nomi da estrarre come nell'archivio" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "Come -p e -s assieme" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1682,139 +1740,180 @@ msgstr "" "Ritarda l'impostazione dei tempi di modifica e dei permessi delle directory " "estratte al termine dell'estrazione" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "Annulla l'effetto dell'opzione --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Gestione degli attributi dei file:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Selezione e cambio del device:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIVIO" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "Usa come archivio il file o il dispositivo ARCHIVIO" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "L'archivio è locale anche se contiene \":\"" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "Usa il COMANDO rmt indicato invece di rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "Usa il COMANDO remoto invece di rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "Indica drive e densità" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "Crea, elenca, estrae archivi multi-volume" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "Cambia il nastro dopo avere scritto NUMERO × 1024 byte" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "Esegue lo script alla fine di ogni nastro (implica -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "Usa/aggiorna il numero del volume nel FILE" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blocchi del device:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCCHI" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "Usa record di BLOCCHI × 512 byte" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMERO di byte per record, multiplo di 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "Ignora i blocchi a zero nell'archivio (significa EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "Rifà i blocchi durante la lettura (per le pipe di 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Selezione formato di archiviazione:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMATO" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "Crea archivi nel formato indicato" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMATO è uno dei seguenti:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "Vecchio formato di tar V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "Formato GNU di tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "Formato GNU di tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "Formato POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "Formato POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "Come pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "Come --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "Come --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "PAROLA_CHIAVE[[:]=VALORE][,PAROLA_CHIAVE[[:]=VALORE], ...]" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "Controlla le parole chiavi di pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TESTO" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1822,79 +1921,79 @@ msgstr "" "Crea l'archivio con TESTO come nome di volume; durante l'elencazione o " "l'estrazione, usa TESTO come modello di glob per ogni volume" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Opzioni di compressione:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" "Usa il suffisso dell'archivio per determinare il programma di compressione" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" "Non usa il suffisso dell'archivio per determinare il programma di " "compressione" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "Filtra attraverso PROG (deve accettare -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Selezione dei file locali:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "Aggiunge FILE all'archivio (utile se il nome inizia con un trattino)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "Passa alla directory DIR" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "Prende i nomi da estrarre o creare dal file FILE" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T legge nomi terminati da NULL, disabilita -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "Disabilita l'effetto dell'opzione --null precedente" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "Toglie i caratteri di citazione dai nomi dei file letti con -T (predefinito)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "Non toglie i caratteri di citazione dai nomi dei file letti con -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MODELLO" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "Esclude i file i cui nomi corrispondono a MODELLO" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "Esclude i modelli elencati in FILE" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1902,97 +2001,99 @@ msgstr "" "Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il " "file .TAG stesso" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "Esclude le directory contenenti CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso " -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "Esclude tutto quanto all'interno di directory contenenti FILE" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "Esclude le directory contenenti FILE" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "Esclude le directory dei sistemi di controllo della versione" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "Esclude i file di backup e di blocco" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "Non entra automaticamente nelle directory" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "Resta nel file system locale durante la creazione dell'archivio" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "Entra ricorsivamente nelle directory (predefinito)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "Non rimuove le \"/\" iniziali dai nomi dei file" # (ndt) hmmm... non molto chiara... -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "Segue i collegamenti simbolici; archivia ed esegue il dump dei file a cui " "puntano" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "Segue i collegamenti fisici; archivia ed esegue il dump dei file a cui si " "riferiscono" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NOME" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "Inizia dal membro NOME nell'archivio" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "Archivia solo i file più recenti di DATA-O-FILE" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "Confronta data e ora solo quando il contenuto è cambiato" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROLLO" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "Esegue un backup prima di rimuovere, usando il CONTROLLO di versione" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRINGA" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -2000,102 +2101,105 @@ msgstr "" "Esegue un backup prima di rimuovere, sovrascrivendo il suffisso \"~\" a meno " "che non sia sovrascritto dalla variabile d'ambiente SIMPLE_BACKUP_SUFFIX" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Trasformazioni dei nomi di file:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "Toglie NUMERO componenti iniziali dai nomi dei file durante l'estrazione" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "ESPRESSIONE" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "Usa un'ESPRESSIONE di sostituzione di sed per trasformare i nomi dei file" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Opzioni di corrispondenza del nome del file (vale sia per i modelli di " "esclusione che inclusione):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "Non fa differenza tra maiuscole e minuscole" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "I modelli corrispondono all'inizio del nome del file" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "I modelli corrispondono dopo ogni \"/\" (predefinito per le esclusioni)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "Considera diverse le maiuscole e le minuscole (predefinito)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "Corrispondenza letterale della stringa" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "I metacaratteri non corrispondono \"/\"" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Output informativo:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "Elenca prolissamente i file elaborati" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "PAROLACHIAVE" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "Controllo di avviso" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "Visualizza un messaggio di avanzamento ogni NUMERO-esimo record (predefinito " "10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "AZIONE" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "Esegue l'azione a ogni punto di controllo" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "Stampa un messaggio se non tutti i collegamenti sono archiviati" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SEGNALE" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2107,31 +2211,35 @@ msgstr "" "sono: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; sono accettati anche i " "nomi senza il prefisso SIG" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "Stampa le date di modifica del file in formato UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "Stampa la data del file in tutti i suoi dettagli" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "Invia l'output prolisso al FILE" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "Mostra il numero di blocco nell'archivio con ogni messaggio" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "Chiede conferma per ogni azione" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "Mostra le impostazioni predefinite di tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2139,33 +2247,33 @@ msgstr "" "All'elencazione o all'estrazione, elenca ogni directory che non corrisponde " "al criterio di ricerca" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "Mostra il nome del file o dell'archivio dopo la trasformazione" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STILE" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "Imposta lo stile di citazione del nome; consultare più sotto per i valori di " "STILE consentiti" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "Caratteri di citazione aggiuntivi da STRINGA" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "Disabilita la citazione per i caratteri dalla STRINGA" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Opzioni di compatibilità:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2173,63 +2281,56 @@ msgstr "" "Alla creazione, uguale a --old-archive; all'estrazione, uguale a --no-same-" "owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Altre opzioni:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "Disabilita l'uso di alcune opzioni potenzialmente dannose" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Non è possibile indicare più di un'opzione \"-Acdtrux\" o \"--test-label\"" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Conflitto tra le opzioni di compressione" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Nome del segnale sconosciuto: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "File campione della data non trovato" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Sostituzione di %s al posto del formato di data sconosciuto %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Opzione %s: la data \"%s\" viene considerata come %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: elenco file già letto" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: il nome di file letto contiene un carattere NULL" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "Filtra l'archivio attraverso %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Argomenti validi per l'opzione --quoting-style sono:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2237,51 +2338,48 @@ msgstr "" "\n" "Questa versione di tar ha le seguenti impostazioni predefinite:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Proprietario non valido" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Fattore del blocco non valido" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Lunghezza del nastro non valida" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Valore del livello incrementale non valido" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Più di una data di soglia" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Valore versione sparsa non valido" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve=\"system\" non è supportato su questa piattaforma" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "Il valore --checkpoint non è un intero" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Gruppo non valido" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Modo fornito sull'opzione non valido" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Numero non valido" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Proprietario non valido" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2289,122 +2387,152 @@ msgstr "" "L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-" "order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Dimensione del record non valida" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "La dimensione del record deve essere un multiplo di %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Numero di elementi non valido" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Consentita solo un'opzione --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Argomento densità non corretto: \"%s\"" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Densità sconosciuta: \"%c\"" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Le opzioni \"-[0-7][lmh]\" non sono gestite da questa versione di tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FILE]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "La vecchia opzione \"%c\" richiede un argomento." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence non ha senso senza un elenco di file" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence non può essere usata nel modo di operazioni richiesto" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Archivi multipli richiedono l'opzione \"-M\"" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Impossibile combinare --listed-incremental e --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "L'opzione --level non è utilizzabile senza --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: l'etichetta di volume è troppo lunga (il limite è %lu byte)" msgstr[1] "%s: l'etichetta di volume è troppo lunga (il limite sono %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Impossibile verificare archivi multi-volume" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Impossibile verificare archivi compressi" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Il modello %s non può essere usato" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Impossibile usare archivi multi-volume compressi" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Impossibile concatenare archivi compressi" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option può essere usata solo su archivi POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option può essere usata solo su archivi POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option può essere usata solo su archivi POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option può essere usata solo su archivi POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Il modello %s non può essere usato" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" "La lunghezza del volume non può essere minore della dimensione del record" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order non è compatibile con --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Rifiuto totale di creare un archivio vuoto" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Le opzioni \"-Aru\" sono incompatibili con \"-f -\"" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "È necessario specificare una delle opzioni \"-Acdtrux\" o \"--test-label\"" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Uscita con stato di fallimento in base agli errori precedenti" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2416,51 +2544,47 @@ msgstr[1] "%s: il file si è ridotto di %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "La parola chiave %s è sconosciuta o non ancora implementata" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Orario fuori dall'intervallo consentito" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Il modello %s non può essere usato" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "La parola chiave %s non può essere sostituita" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Intestazione estesa malformata: manca la lunghezza" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "La lunghezza intestazione estesa è fuori dall'intervallo consentito" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "La lunghezza dell'intestazione estesa %*s è fuori dall'intervallo" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Intestazione estesa malformata: manca lo spazio dopo la lunghezza" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Intestazione estesa malformata: manca il segno di uguale" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Intestazione estesa malformata: manca un newline" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Parola chiave sconosciuta \"%s\" dell'intestazione estesa ignorata" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2469,65 +2593,65 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "L'intestazione estesa %s=%s è fuori dall'intervallo %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Intestazione estesa malformata: %s=%s non valido" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Intestazione estesa malformata: %s=%s in eccesso" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Intestazione estesa malformata: %s non valido: delimitatore %c non atteso" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" "Intestazione estesa malformata: %s non valido: numero dispari di valori" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: timeout non valido" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: azione di punto di controllo sconosciuta" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "lettura" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "scrittura" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Punto di controllo di scrittura %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Punto di controllo di lettura %u" @@ -2677,7 +2801,7 @@ msgstr "Numero fuori dall'intervallo consentito: %s" msgid "Negative size: %s" msgstr "Dimensione negativa: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) non riuscita" @@ -2707,8 +2831,8 @@ msgstr "Formato data non conosciuto" msgid "[ARGS...]" msgstr "[ARGOMENTI...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "impossibile aprire \"%s\"" @@ -2722,7 +2846,7 @@ msgstr "impossibile eseguire seek" msgid "file name contains null character" msgstr "il nome del file contiene caratteri NULL" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" @@ -2730,60 +2854,89 @@ msgstr "" "file" # (ndt) ? -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "maschera non corretta (vicino a \"%s\")" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Campo \"%s\" sconosciuto" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "impossibile impostare l'orario su \"%s\"" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "impossibile eseguire l'unlink di %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "comando \"%s\" non riuscito" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "impossibile eseguire l'unlink di %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Comando eseguito con successo\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Comando non riuscito con lo stato %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Comando terminato al segnale %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Comando fermato al segnale %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Il comando ha fatto un dump del core\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Comando terminato\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat richiede i nomi dei file" -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: directory rimossa prima di poterla leggere" +#~ msgid "Cannot get working directory" +#~ msgstr "Impossibile recuperare la directory di lavoro" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "Ordina i nomi da estrarre come nell'archivio" + +# (ndt) oppure rendere snapshot come istantanea? +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Campo troppo lungo nel leggere il file di snapshot" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Errore di lettura nel file di snapshot" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Valore del campo inatteso nel file di snapshot" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "La lunghezza intestazione estesa è fuori dall'intervallo consentito" + +#~ msgid "Invalid group" +#~ msgstr "Gruppo non valido" diff --git a/po/ja.gmo b/po/ja.gmo index 18c7de52bce709576f1a23cb00f7ef8558e49be5..e735a9d48042ea8baf383c95ae2a712e1b98a08a 100644 GIT binary patch delta 11603 zcmYk?3w+PjAII_U&)jDibDPV4n_X;Uw%KfknR_wK+(Yiy+!7&^pCs2Jey-(iOC!S1 zJ-2d6$fZK{50!tpr_w)B>Hm7~9FK?ZqmSn~=X*Kle9rlPH`T&Teh;Smc`lbLyvXG^ zj;oO4#A9k%$MI3laMMP;RID)wD-$|eU=?hMC$KjLVN7kuDT+Q2V*ImVO@wb zsIRH*c$|t9qU$(L9A;QYVFdM+7>Gx(JYGNz@+O91Rc>mH=@^dFF#tDWHQa-B@d9cf zMX5BzNDRh)bv>qoS7@k2!#u2j>ybn_`>_U|#z?$_nrRTDNW*BN-ug zDukhyDjhX}0jLR0vgTtH^$W05}OvV`Ogq6^P>Uaqj!_C#}w81p`ccxHK%05I=;#|in z7)Y-gSS(h=_NYt@M!ktMuoe1H9X&)1D6X-|$g`-9CZPtl4XfiGtcn-W!$x)PQP2#+ z*+Ck4BWnw5Ci0Kdi9d9`7bEcqYJj&;11Q_XJh%mFz82jXDNNyK8cN|k)TVNpnYAvAZmJ=u*CzujU^eOjgOPpd%)n4Qh$ZoR)C6v0C-iS_ z2G$38gPj*p16${zpfx*d8~#EKs8$QJW_3^u;b^S+uqNaG_qS zL{tYYQ3LORTB00u<6Efvw_+6iJEtk={rm$plOj);L~P+=@_8*zY_(`tREJ|k*E>Bgj&PdsNI{7%EWo=ebf?E zX=6-BeK-1Jee@zTbWR{|wDTMCqBwDF&1*galj+}COhKQD!j`Cvbil$m3N@jz7>hZmy|Es(M0?PqO>>5V9&{a*st2eWt2|?L zqh=a~+U=RBflNbvH(+=^O)L#Wh$fo}W{DwBVs239r8Y(94u`PYNuY0ww1CB|WI z%)q%AfM-w{xrFRHr+9nQQ5NdHei)CFFakGWZTteY1WvXYXf4zLGf;0+$87SiP4+wu z8rfvj%wMzh*|t6pi_pFp_32!W%G_>LN9Rx}eS~fd>R^^68I{pys7&=kO=Kc!N%A}t zA}O51GWaKs#^N1K$|j-)whX)BO4JPRqcT;!llj(XqB1cGHLzJ&7T02V^kH}W1pP6r zGs}pcI10Kk2Q|_~7=$}eGd+QNz)x5XAEIUw(8XLAfqGyX#$zi~2FD}+IFtE<7sWYm z>mgmuedDm6-v2oi>Ti9m^!SYPIA~r>BqHd@GjYnl*jy=B@^_rbS9_$1> zYo6N_mFm%`y|4mn;!zCI`+tLiIxIncv;+}Y0+X#xP;39RH49zTJ7Y`iih6BVpgQ;j z^%~wqEmf%=X5fj~hk7<@&uqg=^zU4upc&mq-QeHT%q#(wfj-u`sJ*cdOJdw}=D`iH z8uf0Nj4z=+;Ty3u{*2lS|DcwtbT6}n!RXPNCQ=B+mZ%N~+Y1(9Q|g;gui;(P$p1kN zIHtE*%XDi;45NJrK96&-7XE?37}AGdXfX}7B&++__x}_PdM&<3ZK6_r&Du4_M$|`O zI&MG>;07vF75ka?M(C!VgDr76Cg2aKy%p5o{7h(pY%8Z9w#L2vJ!T|@2AE9|hw88c zCgD5`#UmJkKcNO%lxe7*fI6Rz^>GYV#|`MlbglD3gHyqM$P;n zHpE}B0oERDZXAR)sV}tdM!iFQCMu4<9wj^ zzb=Jn8m^!QP-3_lVKPQi?~WDlRs0c`V33Pn&qtUqy;stDsmrxm~`l9*tHp4jTosn1BnT9d=11jYK zV@w9>V+!?WQENRPwMlnkB7TJt=s%YH>w*LdTGK8VkK?d1u1BreA=HSk;4^p^J7W4v zX5b4@4_u1M+yQ)>B|3qXs1F>^+o2^xeag2_Fdwj!6Ue`th6^;v`&bq$zic{;#;MdB zpi;LFmEsGi83#@@9jBqr_d#_q5$oZ6)Mh)18t@&|K%3^6fey|g|85$_(4bAT5Vf`+ zp*}cwP&d?`WR{=mAU)1gof5r4O6gyL&jXm%?4+W*V z(PVQ$XVe;vLp?Yj+33!0dp?o@SD@Y+wN%fc_QYJ|qvq_#Kn$H?z8Ce7WI0_i4bLIl z$|?1#`Cxe_Q_v>cfvNZ{s)GvTT`7*mbnJwhkr#FSZqyg=3MOO4*Ub4$%%(mXL+~(G z$E&F4xu%&Via}mSkJHo?oMF~Qs1zPVb#&9#17A1qZzEL32BBu|!E(46tKmo1%jly1 z7y98pSQA~-&7O$B;(GtvQP7OLpmzCi48TdYeKxkDz8dv_YpB%w&oFzX5o#bqFa?)j zRXl?cc*~v-oM|>`1{S5gI~JpVr!NIk0h{6Ps1&EnGC$Qupa!rCgYYai z#2>K+hR!zUGtfi9YaWA!)5zcxwgnx~6(1y-W&!Gg_*dd?XvgAeWbl3ud}o-hiToM?=-aW?7! zyRbZ-K@I3Cs)OIK1^O@K&B6BA99N=t{STa@oPa@?VcR>SHuE6VeY5QOeZIA zMD*{pqo503$0&Rc>*HD5UTm3pZDOz32Jk$Kn;8|YQRTPoAVFU&k}#nYBTb>s1Y?obvOc(a3(6H`!NKsVh!|L!$!j} zERXY016zkf@IBOhfoo02DHu+Di1kg>eV%O;l)7WquQ8kYZPduq*YR1!&Zq~TLuKkd zYID`dHP^+W_DnO>Ta%5N>0s+5dwxE~(!Ls5dXIC8LO&Y5#5S0cXMQ!BirOTXu@2tG z1Pp%H%rq0jsAr=xH5MZ=AFJV6)cHHMz3h53z!cQ;T49Xd|FINw<0{k*$51K0fm({< z@0p+5HBp&rj3u!>mcSmUfeyqXIL7)ix~O~b8GIG>yt5dEw=j(Uo$~qSHLH(WVhq5Nk73#s;FN9fh|k=!e5~ z)a&*qYAs8?Z$7wx{3i0> zm%>sSbi+f8!KlsVhf)VreHCg=PhfSthMIAa56lNE29v3G#B`j68sKq^#s^p*Yi=;hvoxM+6zb8CfC)Gd^?)U)wLO64@B(VYH&72My30H$8Fjur zYBTmn&3vjozX>Z+KaOSb3f9M8kfrfBQM*m*vN44dFWUMBtVR7K&d1+TshqyYtZhCj z)!(4nAEIVfeJ}sI22;`D{rd-tQ+)KH$!xKGW`Iek|NiXsrl7Td12yxls9pXQYNijd z0!HsQGi`!3sdvDVI1V+#S1|~eVl~`^TFMis=iEnSD)NBYqzy2U{+$UFl(LOjkZRO} zZeRdD!gwro(9EQQL01gL8K@NJqcU^~wP)_3I*j_*bdZWlbze-!=dJm+{W@wOzhY?&K1}{y6si+C zzM%3GE>xpE^e+;06eju*6KtK0?qoi39aU!yae`<>`~PqT)_&re;*|eO``@;0oYr5* znkOz&{YRoBkxld?K6!lpv9#%ELd>PDu5BMoIuA zG&xf#kD&Y-af@l%hpU0Z#nye1 zwnnDvw5R-#aw+_th$JT2bK)NL#W=^dJ%^iVJ4SHu_dg1&iHpR&f;Rr|6!fEBmH32m zFC0YZm|-aRd&5P_SBTZbG2-ztp2A74PsH80-`@N9`~(WuXsfLCzfC2L$~X8FahT9C znfQvBM@+I0=%9AW9f)At=EI}5%xUKk<w(QsN1mbJuUMNY-?8oEt^H~9Qr1s7{m3pu9JJ^3 z(QiQg8A8Ws+W++MM;+oM4QKIl;>qI$TS>yNI5!(>*lX6}yeF>zjdPt9w51a%_FRbd zSG-H?=bA$JA>pY*r8R{F)N!BkU5p?O5&xyGqX+)3>uf!hwzI_ZI?3@R?PZD6#9n*N zG}>*^c9bv>u%AIUoZ5Jpn!HxJnv4;pFwh=nw zaU}5)F`c+fWDtRz%PqKq|8hqC4CNxWf5&G}h%HZ)2T^WM{K5?{6CY5%K_nADQ16Wy zgpT^u9}vYUHzxKF-xH6IQJh;s==g}JPWd~n|0`6M5jjLF>H`QJ!wk;*__}RtiyLhD zU3`<+&H2H^H?}<*f41e>*5jP7NqGS3_=8aHJ$-3>hbToQhUiFn3i0@OiNXr%>+uWX z7osQ8oVJ~~!(Q74vu*hw+I3VRejwV>UK;BWzY;pm5zF=dAK~O5#J@DWM??}i)Tf}1 zXDL5E0w_$RUWN#vd>o&~`$S`V-9YqGe|(Ii{uY(B#J7(daS`o9m4i2^d_-jdq2mH^ zjhIXPP4uVzx;>X?-GmP~_vEpiwnTfrB5vg5=Y;k{G(S|T#j-hx1j^C&MwdQ5|8n#= z?7La#sbaom$-Y9~RjK8CFQ<-k`2y0;7xL9;JgAVn|EQ5;`wksB#y$4Mz9YvB8uj9c zfdkxwh7KR-9@%%qz%g;YoF-lUe0Q5IDeT?Rx|=WcsX&)+W1H13@5`Azy;n2e@vd#x z)c0$<_#)oSj(fbZoo4%nbl&0eHR!s)&llA*+U1?`oX^{@R~>I&ukt=uZ+Br|e*cGs ze5VI(FXH=Zcu;X)=u1=o;-1G`<~n# zxwmr<=AF-5lb4%!>(l{X;G*V!g+6@b?Xon?uOjl++)Y@waczYF delta 16049 zcmb8!2YeO90`Kt+gccAfp|_=ml7t$NCLI)Mf?@%IkerZ6NJ35$h$6>^*b7Iw7A(LX zPyvY^5JCwZLIAGR1mLX1K#g{W`p70>-)U7ABXSE?Ck9HJ>c(8lze$fN#9ph z!e0rqEUQro%W8u?D_ho4;=>wQmhv~p7Z5BJmq6jhE2IE7$-V zw6?4Y*u!-Y&Ln+LYs+Us{v8G{Fd>;AFn#Uis&-xSx;IG&O zZ*FT@H(&zR#mPvO*7K-_6ku2U3TtESc0TihxOVh{i~(2;$6_VS#`^dKHp2j_r@OEV z9!E8#ZhOn>h&^x&=Ad415NqNEY=PxEn2~6YiKKh_h(r?!pc?QAQm1tmX{1#z&a#MF zL$NVFj^puN)X0_Rt!iK+%)wr$2Cc-K@d)b0wL6*ozDQfF38)VG-XNk17NcIc6ZN9Y z*bp1uWO~vE$+E_vrfN2-;w?B3&!ftB>1zi}h#y zLZl)YH+D1DN4+Qpxn=c4Ev{*(p_}XGA4Dy#%H55no(wR%8z|ghR0w>1n8j&Bp4u8XMpz*a|OVf2`lr z)bBwxE6iBvc{lV{sNZ4g|16oS0HV))}hK@!DiUH zw`t%=R0khK)w>ky;?Cag{y$AdLo%+STHdgaNe@OX#&m3ievHJAF;oH8Cw&_0VVS<> zoM?(R>CUK;xfk`^WYh>ffj8oUzCPxc$j4-8bzVYM)P#AcioH<}jKpxvL7ij|Vo7`w zHP_FgjSErRst~K;=cwn;qjt}Y%!fKU03$HPM?^iy!aLB9YT0SjIq(~*VXX$3xw{*+ z{T@T*e}rn-F)WQIP%k`(n(Oknm=WlRRAmjuCipU{;l6w#HHjR+%J>7)SnDdrhY`Qk zG-TmGGcsSGdiEQtp%rg4Q&As#knW1iqV*v5!~#^0uVQ&@ILMTbLAJZk8c0M#Jr%Xc zo<(gx2lb*As55;xs%J+~bNMIQSZT1Suq{TB9)gWA2eqwVNA>hQ)LPh#H{cPhs{Mb) zy>U5|LFGft95zQSvd*Xmjzl%=e$*Oy2+QCbsD{nQXxxNq_yyF9N)I(Xk3>z8jp{%Y z*600JHzKWY6l$nuy1s{+tDUYFur=vw!_3E~AF9XGPzRNR+J;|ab8K+CIX`Z}7}C>G z=gMN#+Bk$hFOjg}d^j*0)v^_+17;Ui!c$lQFQG;xe1xf>A!_jrLiOx+R7dW{%J?{H zBxa-5*kV+DTTml*XawW02Y)3)UdE;v&Q?&*TcWnjP*lTaqSnY9)EqCvHuxFp#pUia zAF(*BNO}TR!5q|7J%u*DgxYl<-O2c?2m8sm5f5P`o!7d59dP($d) z{#bx|QK`Gk30D*KdejYU(~wMhzl=pem?xw^^l4u`20qs0I#0jnJKL zdbFF4$5P}cqmI@ztcg#fUNj%8;XbtS6lyBV++(J|7fD17=z!|cAk=zaie;hR_!S0HP_XYC`Ro*qY@wSK{l zIP5;NZD!&i(tcD0U!xY!AE>FSJ;n@WYt#tbg{ses>iJC6$i9i3X;vPp!@pys_J8HE z=0(j=bJY$t)CtJ6TK6M|ptZqGmmg_vJ4 zmc#d4gQzvL7JZ6rA`*t%u^;Y49Tb%l%?rC?UD64txqTSx;{qIqTTqLwna2$62viRz zqRRVFyC{Gfkpr$Jk{Ew2sy0bx@y){s(z{VF_zd;pOBjcd6U@hDAZmXe%K99&dwNhv&rigb_%Ld1EkaG{m)H#}_$Hb&`&Lu~p2ViO+|56NHtE`_W@@^k z$~}T=zz5hC52GqBH_3dQIwMDlbr%l6rPvBDVPkBZW*XodK%@g1kE4bvAGN5Cpj!T? zn{JkF?)OJ+&t$BJZ=;QCu{VB&G1xG}lpl&JHyNAY3)lviA&cE-og~s(53msQ;3!lJ zpK@J-x02qE>T#V+Gvs|yQ#BTq?{%Gn>cAG%3r}KsjPROcLP3 ze{n$dd=aXmLs$ua#mZPF%S=Hn)QkJOrej~yuVM#0idw`~vdu1Pi%Uu0gDtRJ4h`Y` zR(m39=~!%rk7G4lgeP$WMuzd@a*8=}*Gx5QWCLnZeur8U5xHgrJE7K)2lb+7P(5Cb z)$ur1#oy4Uj0z8!A!>{|NLu5KcpKKnQK$-X@Ftvxk$42V;00`ltsXRsa13gso=0`) z9jt}hQ1u?i*7(zdjDIO24X2qSHwwFxjzv9~idE2$vA6&^_N{}cDQf?anSwE>k(h~{ z@O{*XeuG-nWu}`3wm^-{Xw>~jr!)SV>kq99yL=j$oH5z@eYU-|HU99pFn`W7*8I5g8KZmVw9jZa+W-ltoXXgsE>CvbjJ%s7_JgPxg-1`mRFfZthT2mu29KBcpr=r%@3{*p(LKdsf`hZ9^GCoHQ z;dwV*dXAZ^x~MgAH%8!eH~kbQl3t1xG4f5*^Tybk^bk}Jr=uD=2Q^abPz}3?rM3Sr z5vfVW73_vJ-ZDdW2X-QzirQ8VYGn4h_m5$1(w9(kS>FucJ zKEuj*4(s7%R6TX(GyZx}Zz5VGV^I4%2lb#2HRrQXb2#5k=b>J>0ky66x%nrt5$Ru1 z&)0Iy{bWK@^rD z9fum??pPN`qk52wDnA`HB`>0Sz7RF!>#;xngc^yP7Mp)Txefb~eij*VpY;h5_23uO z>a4%S41G6jNjd|g@eOQ-g{X4pQ9Zoj12Zx)s0Q4EYG6ESgp%C!BsZOjrO404O4|QE zBB36jTD}mqsz1ZV_yej3m6w_ZH9<|qP}EwvA2sxEqZ+gYHDV_*6~pt){-2C$*bGd@ zr|~0S7-v2aRj}YA(|}#5xw`DyC}=7efNIDn*EGDH^dlIDpQ1WaZW(`>K^s-?9Ms5d z#0q!@WARrE{r+#d+$_FsScx0AVKp3$T`&_Paf$0jtVsGWw!%}WwNm9{^FOC*<3Q36 z;V3M`8?ea=^Hpt!ZAp(?!T4)PW|0xve%OKZDpZTlqZVEDmF9kXRQ^a*10KQ{d=|A< zR=M|2qUx)VZ>FL(YRZOSElfd;=EgFyOL}ccy z$v6bPSQ|HD6dpx2pww!!otvZ9#;vH4Nx?R_%tu58Pojpn>>4u#^-zl_7PS@zV|&cR z(YOFxV9B+nfib9hy1I@*jpQRZ7(d1vF}%QR+ep+1`kE1`LnIDs;qBNEC!$*T9M-@B z?1P6;BUXEz*_KUF4Il100jraqhBo>!9+#oEarO0Ps`}s{?f*14V>Q;bSWH+COKvbd zZ-_b{`ePiXO2{O z9dRtSz}aZy`W=jaCnCqm&Rn#=A4==N`siL)Lt+8G*srkaQNR$Fs2-Zb6O65p0YHMAX2BX%oBV-l(!KkE67sKt8_wRj_a`%Q}mpbBK7R_zQ_g{$xe+>34SD3-;F zpBQUkXVNz6h4*45oQZnzt9Tb~Lyc&IPfh+U*qXF&3K6|V;*hDcs_{oD zMYw)3SbN>H{t4wqH~t#;o^b9Qu>rnOKr?tF`~n z5&4|(2l2M3;dzKqbPXl%PZIya&V&WT+ZEl!=HzuDbSG>gyzAa;LVPUoZ{757q!$v} zlFlHMC-@#GgWYxQx|Q@0Qn^_C`hmneg8nsY9zoky*H;GX5iBGef^)!(>JUorO>4Yx{w-8|dMQQ6J-+VwoflV5aoB~s08 zz(+b8&|nB zf_^akrUchO!Y{?{_ar`(@KNZl`OW{Cdw&dhHQf9(@;)W}MA{*|sC*4yS+{3OH={r$ z(wW$o^fJPYy1{jUa5v!+_in-hY=Fsx4#XcJyhfNyx-M3x9tS@rv?kn6c!n^SpldSv zwz>&r?9d-vzmpeJEI*Qp+K?{eHncR3q})AjnHo5Y^gH+&_QqO-HpFY=T6~u93}FCa zEqU(cvmPQbiPY$JvCFvS8WH`P_&~?dh?az0~|BzGw zkKxCJDTJw{d*ca>{}~eF2tN>BB~w>6ab2Gi3J6b-?n?*|ufOSVdI^t#UK7y{M z25Sb!5ca$28z{F#&v9+QorJHo|9>QGCXDCCDndEJ4AQ!8Cj6W5wi3mzImP0&i^b3L zTumCb(S3fLd+!rB9f>0dFOmN!f&TO1ac|Zk{+BYiekJdUo3C_TLVMEuJg^dR3?ZKQ z6NGKVbuGnvP1K4e{w48u2zR-8;&;MC?k&f0Yj{ z;BoRRVgg|Y@dzqg?B3su?FkLY&&1maYluIOUc!9hn&u_MgIGwoc4_=q5TeNZ;#w}# zKsuvX!MBOeCVcOfc@EdR_n*XJgdv1v!t;c6+}}uONmxpFictJ|i$rzGh2}qr#2X}Z zz2}-uJcaoE_==l%lj}qkEOwP8-p;+Zka!~DB4Gq!EctbGk8msOCM+W8dQb0v-^8t1 z6gck2@4*YC&k}TH;YzINrq6|P`LTgHgy+b=jnJ5QK90gXx9lNTvO<6P_?dJ`CAjL9 z2=$+gVvC~*H@3SE)yLVS-!E2)9;{0Fr^zcv7)|=HGP%l=Uyg8?{8tJ8Ce$MoT|W`8 zPU0@Cf)BXwx3-g*Mu;H1K&VY6y(kohE$|F^Rq-@o6hYS@j5N{EUr2AH>`>CD3H99k z`mUlP_d6F$f57wo_qrM3c!G?RgwcdpLUkU{-1cR^9N;KBO&CPHh5HOetgBo(hl1@| z-BRXudtB3msAxMeB`L|1Xvcf)wDinL@u_xFN~*_d>g{6RnKm&keM(v=!_Lah@VHNS zre=37#x_ zN_ytRl(Y%7JJXYpm7bX!9NXjVaQ~-$B1@!r{Z|K9^Z(IjbaPK?qMenVZl|VGbV@Q^ zQd<)Bpf@c(!<)?e)zRRHzL8juc834n0gnIB zfU5o<1`IF7YV>3VJKoZ{RLjBHsaYwET~Wi`anK@SVc6qh21l`uw21s^gI85#Iha&v z4f`MNR4pvl-)zXUzEBZc%l!@waA;*|oYe|#il$y`XsC>rIzxGkvWbmP&q}tZ#HVH1 z-YmvGp0=l?Wn^a+d!SclHnoISLqhtb4C)_Glc%Kc;JBD1J0_}KvBIO;#B{oERO+PU z`=Z#3)S8`|y@zFxFfluW z8j_MyrrIgAeL7n`JB_8{wY}O!YC=qmTOd8t|MmOTe6bOCun(Diul8O-dRkUydMXh1Bw3O6n+cTBLt7#&wr&J^*>F>B(+?0!E z&uWL+OqC~dN{ZK`YSf5pcWjpKl=xgWepNNgEnoD~;IAX1!#duPnX3iCfF*lUGgw%e zZZg{&Kfx2l?xRy?(-WN(I=f;c{0;A1RyQd{M^R{4{%f}U+wbgrL!u|mo065=g&Gs0 z{J-B>x98;S^iT)AS-G@a3o(|(S=0jeZcONIcheqDCmoIPwhrIeV1wZ7I^T~{V$bn$_CS8tXT%peVd|8VnXt@MrBW~AKot| zH8Fur?zI!sL;KSd;RV)|YqzfD{liOJ_+QGtJ1owBHoJRV+n6@(W7@W}+qUfz*S=Mo zc5T{33>z9V+>?`{=Ed~o80uoTYtyz(Ok0ZHWVh|qC9YF&bWY!LV*~2~PT+88$wb?m zcNLru91P4Q>zq@#Du2gf=i-{v&RORxC*RV^w#(VH$JtX<#CagMFp?;P`IJXSOK>!UNm{FfhZ8l3j{-V%*= zA6|akS?+xAtlRMQsviU2%v}@M?rd}Rt}b-mr4g&0pMzazrj-bO@l^AYCDzRKhdm7D$X zYpVJ3NfkPa>G~4Aj1T;tZ~q^@>_r_2eZ-x@&<9_&7OlR}FM(A*uKz%1rG6y*!-w6+ z=eXE+*WUV#vuDGyqS~E{1z$41OEs(8*RFZDsIq_lv=^^S?I~WD*4Ns7PJV#M^*MiwR|b|1-_Orqw_^2`{PT8m|M^!sm0o*x_mVXSf(>Tx3@^K5aqz^7brlz^*FO8s2|oKZeA`xkw)t#mf9-Ibl^dP2(RN@TJ8NlR zp7xouXZ@FjzpYu~?2XXR2wS5YYtz(qD#!e-WFP*#Z2RuZ%tuU&`{Tel@t;2qY-i`1 zxy~Nvw6nn35wU5vb20SZe4leJv~RYpKSneD-aG&O>*2aq>4-by&|)oQ_ZLLb4~Xju z?kqf%f6BS&9CXg<icXH$V3PAoNnf$ge^Fbm{|WK;USZZ3I2-JC&gQ%w1t-n4 zyR*L6opC-A*8f+H(W-LpJjZcXG4PA*ww&E&MXe~B4Ae(Z-=BNmU0I^}wPTzQ#Gb(M zz|UH~*Zmf8wgnfh-W#m6Xjgdkf|Jh9!k+_c0zWu=3Vzvm$l11W<*H-;3rp7zDmwjE z9d&jt`*Y*U;vbPshnywL^7-(wG_9h;cUOT9(DkRcE_U{Wev+6k^xD6iMZraRSIe~8 z=Hwl8Z{_XCKgJ^3A6UoU;zY~)e$!#QxegU)+uFZ^dBJyAhLDhzzZ=H0-yUd>3abB?q7+%tPu!G=8N;*O2ZryD, 2010. +# Masahito Yamaga , 2012. # derived from the version by # Daisuke Yamashita , 1999-2001. # Masahito Yamaga , 2007. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: GNU tar 1.25\n" +"Project-Id-Version: GNU tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-11-08 17:57+0900\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2012-10-21 12:14+0900\n" "Last-Translator: Masahito Yamaga \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -32,36 +32,35 @@ msgid "ambiguous argument %s for %s" msgstr "°ú¿ô %s ¤Ï %s ¤ËÂФ·¤Æ¤¢¤¤¤Þ¤¤¤Ç¤¹" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Àµ¤·¤¤°ú¿ô¤Ï:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s ÃÍ¤Ï %s ¤è¤ê¾®¤µ¤¤¤«Åù¤·¤¤" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿¤ÏÃͤ¬É¬Í×" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿¤ÏÀµ¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ̤ÃΤΠARGP_HELP_FMT ¥Ñ¥é¥á¡¼¥¿" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT ¤Ë¥´¥ß: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -69,29 +68,29 @@ msgstr "" "Ť¤¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëɬ¿Ü¤Þ¤¿¤ÏǤ°Õ¤Î°ú¿ô¤ÏÂбþ¤¹¤ëû¤¤¥ª¥×¥·¥ç¥ó¤ËÂФ·¤Æ¤â" "ɬ¿Ü¤Þ¤¿¤ÏǤ°Õ¤Ç¤¹." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "»ÈÍÑË¡:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " ¤Þ¤¿¤Ï: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [¥ª¥×¥·¥ç¥ó...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï `%s --help' ¤Þ¤¿¤Ï `%s --usage' ¤Ç.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Þ¤Ç.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼" @@ -103,7 +102,7 @@ msgstr " msgid "give a short usage message" msgstr "û¤¤»ÈÍÑË¡¥á¥Ã¥»¡¼¥¸¤òɽ¼¨" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAME" @@ -124,17 +123,16 @@ msgstr "SECS msgid "print program version" msgstr "¥×¥í¥°¥é¥à¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥Ð¡¼¥¸¥ç¥óÉÔÌÀ!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: °ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥ª¥×¥·¥ç¥óǧ¼±ÉÔǽ!?" @@ -142,62 +140,62 @@ msgstr "( msgid "write error" msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '%c%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ̤ÃΤΥª¥×¥·¥ç¥ó '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ̤ÃΤΥª¥×¥·¥ç¥ó '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó -- '%c'\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹ -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "¥á¥â¥ê¤ò»È¤¤ÀÚ¤ê¤Þ¤·¤¿" @@ -213,28 +211,30 @@ msgstr " #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -244,7 +244,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yY]" @@ -254,7 +254,7 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -542,7 +542,12 @@ msgstr "ɸ msgid "Cannot connect to %s: resolve failed" msgstr "%s ¤ËÀܳ¤Ç¤­¤Þ¤»¤ó: ̾Á°²ò·è¼ºÇÔ" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "±ó³Ö¥·¥§¥ë¤¬¼Â¹Ô¤Ç¤­¤Þ¤»¤ó" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "±ó³Ö¥·¥§¥ë¤¬¼Â¹Ô¤Ç¤­¤Þ¤»¤ó" @@ -591,8 +596,8 @@ msgstr "ͽ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "±ó³Ö¥×¥í¥»¥¹¤«¤é¤ÎÌ¿Îá¤ò¼õ¤±ÉÕ¤±¤Æ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤òÁàºî" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NUMBER" @@ -600,8 +605,8 @@ msgstr "NUMBER" msgid "set debug level" msgstr "¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄê" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -616,7 +621,7 @@ msgstr " msgid "cannot open %s" msgstr "%s ¤ò³«¤±¤Þ¤»¤ó" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹" @@ -625,9 +630,9 @@ msgstr " msgid "Garbage command" msgstr "ÉÔÍפʥ³¥Þ¥ó¥É" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "¤³¤ì¤Ï tar ¥¢¡¼¥«¥¤¥Ö¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹" @@ -665,64 +670,64 @@ msgstr "ɸ msgid "Archive is compressed. Use %s option" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹. %s ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤»¤ó" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "¥Æ¡¼¥×¤ÎÀèƬ¤Ç¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "¥¨¥é¡¼¤¬Â¿¤¹¤®¤Þ¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯" msgstr[1] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ö¥í¥Ã¥¯ (%lu ¥Ð¥¤¥È)" msgstr[1] "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ö¥í¥Ã¥¯ (%lu ¥Ð¥¤¥È)" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò¸å¤íÊý¸þ¤ËÌ᤻¤Þ¤»¤ó. -i ¤Ê¤·¤Ç¤ÏÆɤá¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó." -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek ¤òµ­Ï¿¤Î¶­³¦¤Ç»ß¤á¤Þ¤»¤ó" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: ̵¸ú¤Ê¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "¥Ü¥ê¥å¡¼¥àÈֹ椬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "¥Ü¥ê¥å¡¼¥à #%d (%s) ¤ò½àÈ÷¤·¤Þ¤¹. ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "¥æ¡¼¥¶¤¬±þÅú¤¹¤ë EOF ¤¬É¬ÍפȤʤê¤Þ¤¹" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "·Ù¹ð: ¥¢¡¼¥«¥¤¥Ö¤¬ÉÔ´°Á´¤Ç¤¹" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -734,67 +739,67 @@ msgstr "" " q tar ¤ò½ªÎ»\n" " y ¤Þ¤¿¤Ï²þ¹Ô Áàºî¤ò·Ñ³\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! ¥µ¥Ö¥·¥§¥ë¤òµ¯Æ°\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? ¤³¤Î¥ê¥¹¥È¤òɽ¼¨\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "¿·¤·¤¤¥Ü¥ê¥å¡¼¥à¤¬¤¢¤ê¤Þ¤»¤ó. ½ªÎ»¤·¤Þ¤¹.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "¥Õ¥¡¥¤¥ë̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤â¤¦°ìÅÙ.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "ÉÔÀµ¤ÊÆþÎÏ. ? ¤Ç¥Ø¥ë¥×¤òɽ¼¨\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤Ç¤ª¤½¤é¤¯Ï¢Â³¤·¤Æ¤¤¤Þ¤¹: ¥Ø¥Ã¥À¤Ï¾Êά¤µ¤ì¤¿Ì¾Á°¤ò´Þ¤ó¤Ç" "¤¤¤Þ¤¹" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s ¤ÏÉÔÀµ¤Ê¥µ¥¤¥º¤Ç¤¹ (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "¤³¤Î¥Ü¥ê¥å¡¼¥à¤ÏϢ³¤·¤Æ¤¤¤Þ¤»¤ó (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï %s ¤Ë°ìÃפ¹¤ë¥é¥Ù¥ë¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "¥Ü¥ê¥å¡¼¥à %s ¤Ï %s ¤Ë°ìÃפ·¤Þ¤»¤ó" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -802,508 +807,548 @@ msgstr "" "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤Æ GNU ¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À¤ËÊݸ¤Ç¤­¤Ê¤¤¤Î¤ÇÀÚ¤ê¼Î¤Æ" "¤Þ¤¹" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "½ñ¤­¹þ¤ß¤¬¥Ö¥í¥Ã¥¯¶­³¦¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿" msgstr[1] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "ÆâÍƤ¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Ëͽ´ü¤»¤Ì EOF ¤¬¤¢¤ê¤Þ¤¹" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "¥â¡¼¥É¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "¥æ¡¼¥¶ ID ¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "¥°¥ë¡¼¥× ID ¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "ºÇ½ª½¤Àµ»þ¹ï¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "¥µ¥¤¥º¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "%s ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤Þ¤»¤ó" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬°Û¤Ê¤ê¤Þ¤¹" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "¥Ç¥Ð¥¤¥¹Èֹ椬°ã¤¤¤Þ¤¹" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "¸¡¾Ú" -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: ̤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× `%c', Ä̾ï¥Õ¥¡¥¤¥ë¤Èº¹Ê¬¤ò¼è¤ê¤Þ¤¹" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤ËÀÜƬ¼­¤¬ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤¹." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÇѤ줿 base-64 ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" +msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÊÑ´¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "¸µ¤Î¥Õ¥¡¥¤¥ë¤Î½êºß³Îǧ¤Ë¼ºÇÔ¤·¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "³Îǧ¼ºÇÔ: %d ¸Ä¤Î̵¸ú¤Ê¥Ø¥Ã¥À¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" msgstr[1] "³Îǧ¼ºÇÔ: %d ¸Ä¤Î̵¸ú¤Ê¥Ø¥Ã¥À¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "%s ¤Ë¸ÉΩ¤·¤¿¥¼¥í¥Ö¥í¥Ã¥¯" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: ¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê ¥¿¥° %s ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó -- %s ¤òÂåÍÑ" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Éé¤Î 8 ¿Ê¥Ø¥Ã¥À¤òÀ¸À®¤·¤Þ¤¹" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ºÇÂç %d) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ʬ³äÉÔǽ) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ¥ê¥ó¥¯Ì¾¤¬Ä¹²á¤®¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥¼¥í¤ÇËä¤á¤Þ¤¹" msgstr[1] "%s: %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥¼¥í¤ÇËä¤á¤Þ¤¹" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: ¥Õ¥¡¥¤¥ë¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "ÆâÍƤò¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: ̤ÃΤΥե¡¥¤¥ë·Á¼°; ¥Õ¥¡¥¤¥ë¤Ï̵»ë¤µ¤ì¤Þ¤¹" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "%s ¤Ø¤Î¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: ¤Ï¥¢¡¼¥«¥¤¥Ö¤Ê¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥ó¥×¤·¤Þ¤»¤ó" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Æɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: ¥½¥±¥Ã¥È¤Ï̵»ë¤·¤Þ¤¹" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: door ¤Ï̵»ë¤·¤Þ¤¹" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "¼¡¤Î¥Ø¥Ã¥À¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Ø¥Ã¥À¤Ç¤Ê¤¤¤â¤Î¤òºï½ü¤·¤Þ¤¹" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: ¶²¤é¤¯¸Å¤¤¥¿¥¤¥à¥¹¥¿¥ó¥× %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: ¥¿¥¤¥à¥¹¥¿¥ó¥× %s ¤Ï %s ÉÃÀè¤ò¼¨¤·¤Æ¤¤¤Þ¤¹" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥êºîÀ®»þ¤ËÉÔ¬¤ÎÌ·½â¤¬µ¯¤³¤ê¤Þ¤·¤¿" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¾õÂÖ¤òŸ³«¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ëÁ°¤Ë̾Á°¤òÊѹ¹¤µ¤ì¤Þ¤·¤¿" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Ϣ³¤·¤¿¥Õ¥¡¥¤¥ë¤òÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤·¤Þ¤¹" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¥Ï¡¼¥É¥ê¥ó¥¯¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¤ß¤Þ¤¹" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: ¼è¤ê½Ð¤»¤Þ¤»¤ó -- ¥Õ¥¡¥¤¥ë¤ÏÊ̤Υܥê¥å¡¼¥à¤«¤é³¤¤¤Æ¤¤¤Þ¤¹" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "ͽ´ü¤»¤ÌŤ¤Ì¾Á°¥Ø¥Ã¥À" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: ̤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤È¤·¤ÆÃê½Ð" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "¸½ºß¤Î %s ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s ¤Î̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬ %s ¤«¤éÊѹ¹¤µ¤ì¤Þ¤·¤¿" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¿·¤·¤¯ºî¤é¤ì¤Þ¤·¤¿" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: ¥Õ¥¡¥¤¥ë¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "̵¸ú¤Ê¥¿¥¤¥à¥¹¥¿¥ó¥×" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "ÉÔÀµ¤ÊºÇ½ª¹¹¿·»þ¹ï (ÉÃ)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "ÉÔÀµ¤ÊºÇ½ª¹¹¿·»þ¹ï (¥Ê¥ÎÉÃ)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "̵¸ú¤Ê¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ç¤¹" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "̵¸ú¤Ê inode ÈÖ¹æ" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßÃæ¤Ë¥Õ¥£¡¼¥ë¥É¤¬Ä¹²á¤®¤Þ¤¹" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ËÆɤ߹þ¤ß¥¨¥é¡¼" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì EOF" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì¥Õ¥£¡¼¥ë¥ÉÃÍ" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "½ªÃ¼µ­Ï¿¤Ê¤·" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "ÉÔÀµ¤ÊÁýʬ¥Õ¥¡¥¤¥ë·Á¼°" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "̤¼ÂÁõ¤ÎÁýʬ·Á¼°¥Ð¡¼¥¸¥ç¥ó: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬½ÅÊ£" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'R' ¤Ë¶õ¤Î̾Á°" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤¬ 'R' ¤ÎÁ°¤Ë¤Ê¤¤" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤Ë¶õ¤Î̾Á°" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë¥Ç¡¼¥¿¤Î½ªÃ¼" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬Ì¤»ÈÍÑ" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" -msgstr "¥Æ¥ó¥×¥ì¡¼¥È %s ¤ò»È¤Ã¤Æ°ì¼¡¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ì¤Þ¤»¤ó" +msgstr "¥Æ¥ó¥×¥ì¡¼¥È %s ¤ò»È¤Ã¤Æ°ì»þ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ì¤Þ¤»¤ó" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Þ¤»¤ó: ¾õÂÖ¤¬Ê¬¤«¤ê¤Þ¤»¤ó" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï°Û¤Ê¤ë¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤Î¤Ç¾Ãµî¤·¤Þ¤»¤ó" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s ¤òºï½ü\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: ºï½ü¤Ç¤­¤Þ¤»¤ó" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: ¾Êά¤·¤Þ¤¹" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "¥Ö¥í¥Ã¥¯ %s: ** NUL ¤Î¥Ö¥í¥Ã¥¯ **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "¥Ö¥í¥Ã¥¯ %s: ** ¥Õ¥¡¥¤¥ë¤Î½ªÃ¼ **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "¥Ö¥í¥Ã¥¯ %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "¿ôÃÍ %s ¤È¤Ê¤ë¤Ù¤­¥Ø¥Ã¥À°ÌÃÖ¤¬¶õ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹ -- 2 ¤ÎÊä¿ô¤È¸«¤Ê¤·¤Þ¤¹" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÇѤ줿 base-64 ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Éä¹æÉÕ¤­ base-64 ʸ»úÎó %s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "base-256 ÃÍ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë %.*s ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤³¤Ï¿ôÃÍ %s ¤È¤Ê¤ë¤Ï¤º¤Ç¤¹" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s Æâ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " %s ¤Ø¤Î¥ê¥ó¥¯\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " ÉÔÌÀ¤Ê¥Õ¥¡¥¤¥ë¥¿¥¤¥× %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Ť¤¥ê¥ó¥¯--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Ť¤Ì¾Á°--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--¥Ð¥¤¥È %s ¤ÇϢ³--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÊѹ¹¤·¤Þ¤¹\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: ̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÌᤷ¤Þ¤¹\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Æɤ߹þ¤ß°ÊÁ°¤Ëºï½ü¤µ¤ì¤Þ¤·¤¿" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "»Ò¥×¥í¥»¥¹" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "¥×¥í¥»¥¹´Ö¥Á¥ã¥Í¥ë" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: ¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï´û¤ËÆɤ߹þ¤ßºÑ¤ß" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "`%s' ¤Ë»þ¹ï¤òÀßÄê¤Ç¤­¤Þ¤»¤ó" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: Æɤ߹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1311,54 +1356,55 @@ msgstr "" "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤òÍ­¸ú¤Ë¤¹¤ë¤Ê¤é --wildcards, ¤³¤Î·Ù¹ð¤òÍ޻ߤ¹¤ë¤Ê¤é --no-" "wildcards ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "¥¢¡¼¥«¥¤¥Ö¥é¥Ù¥ë¤¬°ìÃפ·¤Þ¤»¤ó" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "¥Õ¥¡¥¤¥ë¥ê¥¹¥ÈÆâ¤Ç -C ¥ª¥×¥·¥ç¥ó¤Ï --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "-C ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±¤Ê¤é --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤¹" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "¥ª¥×¥·¥ç¥ó `-%s' ¤È `-%s' ¤Ï¤É¤Á¤é¤âɸ½àÆþÎϤ¬É¬ÍפǤ¹" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: ̵¸ú¤Ê¥¢¡¼¥«¥¤¥Ö·Á¼°" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU ÆÃÍ­¤Îµ¡Ç½¤Ï¡¢Èó¸ß´¹¤Ê·Á¼°¤òɬÍפȤ·¤Þ¤¹" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "ÉÔÌÀ¤Ê°úÍÑ·Á¼° `%s', `%s --quoting-style=help' ¤Ç°ìÍ÷ɽ¼¨." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1375,9 +1421,10 @@ msgstr "" " tar -tvf archive.tar # archive.tar Æâ¤ÎÁ´¥Õ¥¡¥¤¥ë¤ò¾Ü¤·¤¯°ìÍ÷ɽ¼¨\n" " tar -xf archive.tar # archive.tar ¤«¤éÁ´¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤¹\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1396,79 +1443,79 @@ msgstr "" " ¤½¤¦¤Ç¤Ê¤±¤ì¤Ðñ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n" " never, simple ¾ï¤Ëñ½ã¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "¼çÁàºî¥â¡¼¥É:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤò°ìÍ÷ɽ¼¨" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¤òºîÀ®" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Î°ã¤¤¤ò¸«ÉÕ¤±¤ë" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎËöÈø¤Ë¥Õ¥¡¥¤¥ë¤òÄɲÃ" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤òÄɲÃ" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë tar ¥Õ¥¡¥¤¥ë¤òÄɲÃ" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤éºï½ü (¼§µ¤¥Æ¡¼¥×¾å¤Ç¤Ï¥À¥á!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "¥¢¡¼¥«¥¤¥Ö¤Î¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤ò¥Æ¥¹¥È¤·¤Æ½ªÎ»" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Áàºî¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÉղõ¡Ç½:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "¤Þ¤Ð¤é¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¸ú²ÌŪ¤Ë½èÍý" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "¤Þ¤Ð¤é (sparse) ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀßÄê (--sparse ¤Î°ÕÌ£¤ò´Þ¤à)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "¸Å¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "¿·¤·¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "ºî¤é¤ì¤¿ listed-incremental ¥¢¡¼¥«¥¤¥Ö¤ËÂФ¹¤ë¥À¥ó¥×¥ì¥Ù¥ë" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" -msgstr "Æɤ߹þ¤á¤Ê¤¤¥Õ¥¡¥¤¥ë¾å¤ËÈó¥¼¥í¤Î¾õÂ֤Ǹºß¤·¤Þ¤»¤ó" +msgstr "Æɤ߹þ¤á¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤ÆÈó¥¼¥í¤Ç½ªÎ»¤·¤Þ¤»¤ó" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1480,119 +1527,130 @@ msgstr "" "¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤« -T ¥ª¥×¥·¥ç¥ó·Ðͳ¤Î¤É¤Á¤é¤«¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Î" "¤ßÍ­¸ú. NUMBER ¤Ïɸ½à¤Ç 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤¹¤ë (ɸ½à)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "À©¸æ¤ò¾å½ñ¤­:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤­½Ð¤·¤¿¸å¤Ë¸¡¾Ú" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤Ë²Ã¤¨¤¿¸å¤Çºï½ü" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "¥¢¡¼¥«¥¤¥Ö¥³¥Ô¡¼¤è¤ê¿·¤·¤¤´û¸¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "³Æ¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¾å½ñ¤­¤¹¤ëÁ°¤Ëºï½ü" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼è¤ê½Ð¤¹Á°¤Ë³¬Áؤò¶õ¤Ë" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤òÊݸ" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤ò¾å½ñ¤­ (ɸ½à)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "½ÐÎÏ¥¹¥È¥ê¡¼¥à¤òÁªÂò" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æɸ½à½ÐÎϤ˽ÐÎÏ" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "COMMAND" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤ÆÊÌ¤Î¥×¥í¥°¥é¥à¤Ë½ÐÎÏ" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "»Ò¥×¥í¥»¥¹¤Î½ªÎ»¥³¡¼¥É¤ò̵»ë" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "»Ò¥×¥í¥»¥¹¤ÎÈó¥¼¥í½ªÎ»¥³¡¼¥É¤ò¥¨¥é¡¼¤È¤·¤Æ½èÍý" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "¥Õ¥¡¥¤¥ë°À­¤Î½èÍý" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤ò NAME ¤ËÊѹ¹" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤ò NAME ¤ËÊѹ¹" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATE-OR-FILE" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "DATE-OR-FILE ¤«¤éÄɲåե¡¥¤¥ë¤Î mtime ¤òÀßÄê" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "CHANGES" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î (¥·¥ó¥Ü¥ê¥Ã¥¯) ¥â¡¼¥É¤ò CHANGES ¤ËÊѹ¹" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METHOD" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1601,11 +1659,11 @@ msgstr "" "ºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ò, Æɤ߹þ¤ß¸å¤ËÉü¸µ¤¹¤ë (METHOD='replace'; ɸ½à) ¤«ºÇ½é¤ËÀß" "Äꤷ¤Ê¤¤ (METHOD='system') ¤«¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¥À¥ó¥×¥Õ¥¡¥¤¥ë¾å¤Ç°Ý»ý" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò¼è¤ê½Ð¤µ¤Ê¤¤" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1613,173 +1671,215 @@ msgstr "" "¥¢¡¼¥«¥¤¥ÖÆâ¤ÈƱ¤¸½êÍ­¼Ô¤Î¤Þ¤Þ¤Ç¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¤ß¤ë (¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ç¤Ï" "¥Ç¥Õ¥©¥ë¥È)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "¤¢¤Ê¤¿¼«¿È¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤¹ (°ìÈ̥桼¥¶¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "¥æ¡¼¥¶Ì¾/¥°¥ë¡¼¥×̾¤È¤·¤Æ¾ï¤Ë¿ô»ú¤ò»È¤¦" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "¥Õ¥¡¥¤¥ë°À­¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÃê½Ð (superuser ¤Ç¤Ïɸ½à)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" "¥¢¡¼¥«¥¤¥Ö¤«¤é°À­¤òÃê½Ð¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¤Î umask ¤òŬÍÑ (°ìÈ̥桼¥¶¤Ç¤Ïɸ½à)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Þ¥Ã¥Á¤µ¤»¤ë¤¿¤á¤Ë¼è¤ê½Ð¤¹Ì¾Á°¤òʤÓÂؤ¨" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" "Ãê½Ð¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÃê½Ð¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤È°À­¤ÎÀßÄê¤òÃ٤餻¤ë" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "¥Õ¥¡¥¤¥ë°À­¤Î½èÍý" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "¥Ç¥Ð¥¤¥¹¤ÎÁªÂò¤ÈÀÚÂØ:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹ ARCHIVE ¤ò»ÈÍÑ" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ï¥³¥í¥ó¤ò´Þ¤ó¤Ç¤¤¤Æ¤â¥í¡¼¥«¥ë" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "»ØÄꤵ¤ì¤¿ rmt COMMAND ¤ò rmt ¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "rsh ¤ÎÂå¤ï¤ê¤Ë COMMAND ¤ò»ÈÍÑ" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "¥É¥é¥¤¥Ö¤ÈÌ©ÅÙ¤ò»ØÄê" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®/°ìÍ÷/Ãê½Ð" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "NUMBER x 1024 ¥Ð¥¤¥È¤ò½ñ¤­½Ð¤·¤¿¸å¤Ç¥Æ¡¼¥×¤òÊѹ¹" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "³Æ¡¹¤Î¥Æ¡¼¥×¤ÎºÇ¸å¤Ç¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô (-M ɬ¿Ü)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "FILE Ãæ¤Î¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò»ÈÍÑ/¹¹¿·" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "¥Ç¥Ð¥¤¥¹¥Ö¥í¥Ã¥­¥ó¥°:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCKS" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê BLOCKS x 512 ¥Ð¥¤¥È" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê NUMBER ¥Ð¥¤¥È. 512 ¤ÎÇÜ¿ô" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥¼¥í¥Ö¥í¥Ã¥¯ (¤Ä¤Þ¤ê EOF) ¤ò̵»ë" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "Æɤ߽Ф·¤¿¤è¤¦¤ËºÆ¥Ö¥í¥Ã¥¯ (4.2BSD ¥Ñ¥¤¥×ÍÑ)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "¥¢¡¼¥«¥¤¥Ö·Á¼°¤ÎÁªÂò" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "»ØÄꤵ¤ì¤¿·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT ¤Ï¼¡¤Î¤¦¤Á¤Î 1¤Ä:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "¸Å¤¤ V7 tar ·Á¼°" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU tar 1.12 °ÊÁ°¤Î·Á¼°" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x ·Á¼°" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) ·Á¼°" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) ·Á¼°" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "pax ¤ÈƱ¤¸" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "--format=v7 ¤ÈƱ¤¸" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "--format=posix ¤ÈƱ¤¸" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "keyword[[:]=value][,keyword[[:]=value]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "pax ¥­¡¼¥ï¡¼¥É¤òÀ©¸æ" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1787,167 +1887,169 @@ msgstr "" "¥Ü¥ê¥å¡¼¥à̾ TEXT ¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®. °ìÍ÷/Ãê½Ð»þ¤Ë TEXT ¤ò¥Ü¥ê¥å¡¼¥à̾¤ËÂФ¹" "¤ëÃê½Ð¥Ñ¥¿¡¼¥ó¤Ë»ÈÍÑ" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍѤ¹¤ë" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍѤ·¤Ê¤¤" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "PROG ·Ðͳ¤Ç¥Õ¥£¥ë¥¿ (-d ¤ò¼õ¤±ÉÕ¤±¤ëɬÍפ¢¤ê)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ëÁªÂò:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà (¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ" "Íø)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°ÜÆ°" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß, -C ¤ò̵¸ú²½" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "Á°¤Î --null ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò̵¸ú²½" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "-T ¤ÇÆɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "-T ¤ÇÆɤ߹þ¤ó¤¿¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤·¤Ê¤¤" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATTERN" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ü³°¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ÂÄê" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î `/' ¤ò¼è¤ê½ü¤«¤Ê¤¤" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "¥Ï¡¼¥É¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "MEMBER-NAME" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥á¥ó¥Ð¡¼ MEMBER-NAME ¤Ç³«»Ï" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "DATE-OR-FILE ¤è¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤ò³ÊǼ" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATE" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿»þ¤À¤±ÆüÉÕ¤ª¤è¤Ó»þ¹ï¤òÈæ³Ó" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "ºï½üÁ°¤Ë¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ò CONTROL ¤Ë¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRING" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1955,95 +2057,98 @@ msgstr "" "ºï½üÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×, Ä̾ï¤ÎÀÜÈø¼­ (´Ä¶­ÊÑ¿ô SIMPLE_BACKUP_SUFFIX ¤¬Ì¤ÀßÄê¤Ê" "¤é '~') ¤ò¾å½ñ¤­" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "¥Õ¥¡¥¤¥ë̾ÊÑ´¹:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" -msgstr "Ãê½Ð»þ¤Ë¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î NUMER ¸Ä¤Î¥³¥ó¥Ý¥Í¥ó¥È¤ò½üµî" +msgstr "Ãê½Ð»þ¤Ë¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î NUMBER ¸Ä¤Î¥³¥ó¥Ý¥Í¥ó¥È¤ò½üµî" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÊÑ´¹¤Ë sed ¤ÎÃÖ´¹ EXPRESSION ¤ò»ÈÍÑ" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "Ǥ°Õ¤Î `/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ `/' ¤Ë°ìÃפ·¤Ê¤¤" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ `/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "¾ðÊó:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "½èÍý¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾éŤËɽ¼¨" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "KEYWORD" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "·Ù²ü´ÉÀ©" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "NUMBER (ɸ½à 10) ÈÖÌܤε­Ï¿¤´¤È¤Ë¿ÊĽ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "³Æ¸¡Ìä¤Ç ACTION ¤ò¼Â¹Ô" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "Á´¤Æ¤Î¥ê¥ó¥¯¤¬¥À¥ó¥×¤µ¤ì¤Ê¤¤¾ì¹ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2054,124 +2159,121 @@ msgstr "" "»þ¤ËÁí¥Ð¥¤¥È¿ô¤òɽ¼¨. µö²Ä¤µ¤ì¤¿ SIGNAL ¤Ï: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 " "¤ª¤è¤Ó SIGUSR2. SIG ÀÜƬ¼­¤¬¤Ê¤¤Ì¾Á°¤Ç¤â²Ä" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò UTC ¤Çɽ¼¨" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "¥Õ¥¡¥¤¥ë¤Î»þ¹ï¾ðÊó¤ò´°Á´·Á¼°¤Çɽ¼¨" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "¾éĹ½ÐÎϤò FILE ¤ËÁ÷¿®" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Ö¥í¥Ã¥¯¿ô¤ò³Æ¡¹¥á¥Ã¥»¡¼¥¸ÉÕ¤­¤Çɽ¼¨" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "Á´¤Æ¤ÎÆ°ºî¤ò³Îǧ" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" -msgstr "tar ¤Îµ¬ÄêÃͤòɽ¼¨" +msgstr "tar ¤Î´ûÄêÃͤòɽ¼¨" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "°ìÍ÷¤äÃê½Ð»þ¤Ë, ¸¡º÷´ð½à¤Ë°ìÃפ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò³Æ¡¹°ìÍ÷ɽ¼¨" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" -msgstr "ÊÖ´Ô¸å¤Ë¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥Ö̾¤òɽ¼¨" +msgstr "ÊÑ´¹¸å¤Ë¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥Ö̾¤òɽ¼¨" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "̾Á°°úÍÑ·Á¼°¤òÀßÄê. Í­¸ú¤Ê STYLE Ãͤϲ¼µ­»²¾È." -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "¹¹¤Ë STRING ¤«¤éʸ»ú¤ò°úÍÑ" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "STRING ¤«¤é¤Îʸ»ú°úÍѤò̵¸ú¤Ë" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "¸ß´¹¥ª¥×¥·¥ç¥ó:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "ºîÀ®»þ¤Ï --old-archive ¤ÈƱ¤¸. Ãê½Ð»þ¤Ï --no-same-owner ¤ÈƱ¤¸" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "¤½¤Î¾¥ª¥×¥·¥ç¥ó:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "ÀøºßŪ¤Ë³²¤Ë¤Ê¤ë¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò̵¸ú¤Ë" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "`-Acdtrux' ¤Þ¤¿¤Ï `--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á 2¤Ä°Ê¾å»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ" "¤»¤ó" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó¤¬¿©¤¤°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "̤ÃΤΥ·¥°¥Ê¥ë̾: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "ÆüÉÕ¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "̤ÃΤÎÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î %2$s Âå¤ï¤ê¤Ë %1$s ¤È¤·¤Þ¤¹" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "¥ª¥×¥·¥ç¥ó %s: `%s' ¤ò %s ¤È¤·¤Æ°·¤¦" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: ¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï´û¤ËÆɤ߹þ¤ßºÑ¤ß" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: Æɤ߹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "%s ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÍ­¸ú¤Ê°ú¿ô:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2179,51 +2281,48 @@ msgstr "" "\n" "¡Ö¤³¤Î¡×tar ¤Îµ¬ÄêÃÍ:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "̵¸ú¤Ê½êÍ­¼Ô" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "̵¸ú¤Ê¥Ö¥í¥Ã¥­¥ó¥°°ø»Ò" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "̵¸ú¤Ê¥Æ¡¼¥×¤ÎŤµ" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "̵¸ú¤ÊÁýʬ¥ì¥Ù¥ëÃÍ" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "1¤Ä°Ê¾å¤ÎÉßµï¤È¤Ê¤ëÆüÉÕ" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "̵¸ú¤Ê¤Þ¤Ð¤é (sparse) ¥Ð¡¼¥¸¥ç¥óÃÍ" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint ÃͤÏÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "̵¸ú¤Ê¥°¥ë¡¼¥×" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ï̵¸ú¤Ç¤¹" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "̵¸ú¤Ê¿ô" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "̵¸ú¤Ê½êÍ­¼Ô" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2231,122 +2330,152 @@ msgstr "" "--preserve ¥ª¥×¥·¥ç¥ó¤ÏÇÑ»ßͽÄê¤Ê¤Î¤Ç, Âå¤ï¤ê¤Ë --preserve-permissions --" "preserve-order ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "̵¸ú¤Êµ­Ï¿¥µ¥¤¥º" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "µ­Ï¿¥µ¥¤¥º¤Ï %d ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "̵¸ú¤Ê¥¨¥ì¥á¥ó¥È¿ô" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "--to-command ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±µö²Ä" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "ÉÔÀµ·Á¼°¤ÎÌ©ÅÙ°ú¿ô: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "̤ÃΤÎÌ©ÅÙ: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "¥ª¥×¥·¥ç¥ó `-[0-7][lmh]' ¤Ï¡Ö¤³¤Î¡×tar ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[¥Õ¥¡¥¤¥ë]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "¸Å¤¤¥ª¥×¥·¥ç¥ó `%c' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence ¤Ï¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¤Ê¤±¤ì¤Ð̵°ÕÌ£" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence ¤ÏÍ׵ᤵ¤ì¤¿Áàºî¥â¡¼¥É¤Ç¤Ï»È¤¨¤Þ¤»¤ó" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "ʬ³ä·¿¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë¤Ï `-M' ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental ¤È --newer ¤È¤ò·ë¹ç¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--listed-incremental ¤Ê¤·¤Î --level ¤Ï̵°ÕÌ£¤Ç¤¹" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: ¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤¬Ä¹¤¹¤®¤Þ¤¹ (%lu ¥Ð¥¤¥ÈÀ©¸Â)" msgstr[1] "%s: ¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤¬Ä¹¤¹¤®¤Þ¤¹ (%lu ¥Ð¥¤¥ÈÀ©¸Â)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò³Îǧ¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï³Îǧ¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "¥Ñ¥¿¡¼¥ó %s ¤Ï»È¤¨¤Þ¤»¤ó" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Ë°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï»È¤¨¤Þ¤»¤ó" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤ÏÏ¢·ë¤Ç¤­¤Þ¤»¤ó" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "¥Ñ¥¿¡¼¥ó %s ¤Ï»È¤¨¤Þ¤»¤ó" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "¥Ü¥ê¥å¡¼¥àĹ¤Ï¥ì¥³¡¼¥É¥µ¥¤¥º¤è¤ê¾®¤µ¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order ¤Ï --listed-incremental ¤ÈξΩ¤·¤Þ¤»¤ó" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "¶õ¤Î¥¢¡¼¥«¥¤¥ÖºîÀ®¤Ï¤´ÍƼϴꤤ¤Þ¤¹" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "¥ª¥×¥·¥ç¥ó `-Aru' ¤È `-f -' ¤È¤ÏÁêÍƤì¤Þ¤»¤ó" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "`-Acdtrux' ¤Þ¤¿¤Ï `--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¡¢¤¤¤º¤ì¤« 1¤Ä¤ò»ØÄꤷ¤Ê¤±¤ì" "¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Á°¤Î¥¨¥é¡¼¤Ë¤è¤ê¼ºÇÔ¥¹¥Æ¡¼¥¿¥¹¤Ç½ªÎ»¤·¤Þ¤¹" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2358,114 +2487,110 @@ msgstr[1] "%s: msgid "Keyword %s is unknown or not yet implemented" msgstr "¥­¡¼¥ï¡¼¥É %s ¤Ï̤ÃΤޤ¿¤Ï̤¼ÂÁõ" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬µö²Ä¤µ¤ì¤¿Èϰϳ°¤Ç¤¹" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "¥Ñ¥¿¡¼¥ó %s ¤Ï»È¤¨¤Þ¤»¤ó" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "¥­¡¼¥ï¡¼¥É %s ¤Ïʤ¤»¤Þ¤»¤ó" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: Ťµ¤Î»ØÄ꤬¤¢¤ê¤Þ¤»¤ó" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ¤Ïµö²Ä¤µ¤ì¤¿Èϰϳ°¤Ç¤¹" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ %*s ¤ÏÈϰϳ°¤Ç¤¹" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: Ťµ¤Î¸å¤Ë¥Ö¥é¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: = (¥¤¥³¡¼¥ë) µ­¹æ¤¬¤¢¤ê¤Þ¤»¤ó" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: ²þ¹Ô¤¬¤¢¤ê¤Þ¤»¤ó" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "̤ÃΤγÈÄ¥¥Ø¥Ã¥À¥­¡¼¥ï¡¼¥É `%s' ¤ò̵»ë" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "À¸À®¤µ¤ì¤¿¥­¡¼¥ï¡¼¥É¤ÈÃͤΥڥ¢¤¬Ä¹²á¤®¤Þ¤¹ (¥­¡¼¥ï¡¼¥É=%s, Ťµ=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "³ÈÄ¥¥Ø¥Ã¥À %s=%s ¤Ï %s..%s ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤ÏÉÔÀµ" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤Ï;ʬ" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ͽ´ü¤»¤Ì¶èÀÚ¤êʸ»ú %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ´ñ¿ôÃÍ" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: ̵¸ú¤Ê¥¿¥¤¥à¥¢¥¦¥È" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: ̤ÃΤθ¡Ìä½èÍý" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "½ñ¤­¹þ¤ß" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "Æɤ߽Ф·" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È %u ¤ò½ñ¤­½Ð¤·¤Þ¤¹" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È %u ¤òÆɤ߹þ¤ß¤Þ¤¹" @@ -2607,7 +2732,7 @@ msgstr " msgid "Negative size: %s" msgstr "Éé¤Î¥µ¥¤¥º: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) ¼ºÇÔ" @@ -2636,8 +2761,8 @@ msgstr "̤ msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "`%s' ¤ò³«¤±¤Þ¤»¤ó" @@ -2651,66 +2776,94 @@ msgstr " msgid "file name contains null character" msgstr "¥Õ¥¡¥¤¥ë̾¤¬¥Ì¥ëʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤»¤Þ¤»¤ó. --file ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "ÉÔÀµ¤Ê¥Þ¥¹¥¯ (`%s' ¤Ë¶á¤¤)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "̤ÃΤΥե£¡¼¥ë¥É `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "`%s' ¤Ë»þ¹ï¤òÀßÄê¤Ç¤­¤Þ¤»¤ó" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "`%s' ¤ò unlink ¤Ç¤­¤Þ¤»¤ó" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "`%s' ¤ò unlink ¤Ç¤­¤Þ¤»¤ó" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "¥³¥Þ¥ó¥É¤¬Àµ¾ï½ªÎ»\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "¥³¥Þ¥ó¥É¤¬¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç¼ºÇÔ\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤Ç½ªÎ»\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤ÇÄä»ß\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "¥³¥Þ¥ó¥É¤¬¥³¥¢¤ò¥À¥ó¥×\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "¥³¥Þ¥ó¥É¤¬½ªÎ»\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat ¤Ë¤Ï¥Õ¥¡¥¤¥ë̾¤¬É¬Í×" -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Æɤ߹þ¤ßÁ°¤Ëºï½ü¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê" +#~ msgid "Cannot get working directory" +#~ msgstr "¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Þ¥Ã¥Á¤µ¤»¤ë¤¿¤á¤Ë¼è¤ê½Ð¤¹Ì¾Á°¤òʤÓÂؤ¨" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßÃæ¤Ë¥Õ¥£¡¼¥ë¥É¤¬Ä¹²á¤®¤Þ¤¹" + +#~ msgid "Read error in snapshot file" +#~ msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ËÆɤ߹þ¤ß¥¨¥é¡¼" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì¥Õ¥£¡¼¥ë¥ÉÃÍ" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ¤Ïµö²Ä¤µ¤ì¤¿Èϰϳ°¤Ç¤¹" + +#~ msgid "Invalid group" +#~ msgstr "̵¸ú¤Ê¥°¥ë¡¼¥×" diff --git a/po/ko.gmo b/po/ko.gmo index ede5865167df00677b23efe8bdd1d20f769f7877..afe295eb0f90022cbd2a0dc0b640338bad7ab940 100644 GIT binary patch delta 1065 zcmY+@&r6g+9LMqRx{t2A`8zGE)kbSeT_4$P@sLp$>u7q|DDV(ehnB)6)?=|CQWv2* z2=xba=oYO)bcmp9b|?x@{h;V%N(jnSCB-=KG!5$L>?Q`nfAuHX@{@ zX^Szl)40*V2k|v-)`H(~5I3;{I|H*`9K<7d3ibRlcHu%aUdD08FYpj<;yz3@nhls$ zZGcXeFDC0>SQ$0pL)3(;co^4lFaAY`Elqv`3vrb3G`8by+=EM~gdSlZuA(;n0hQ1X z>|uTTO-Gp|67?4xW*FyDFJ8p`cn$pm(eoud!1vEl3%-rU>)6eB8~L+Dvspj3qY@cI zaT7>%#uFyp(Z%%348wlzG8 zTR4W@ETZuwRyE;uI{L>4sIz;CJ-CLN;5#0}M#`c0N3j))s0~~}mG~B_BKJ`hc#5jn zE7Xy`L!JFLYMo>&^&g^>W;VTe4wdPJ$P#M7JE#SopcZ_C2k|{>!e6M820YYzDb!^f zLW*i9HK4=)$!*C{uiL5*$J+IuYit2rB2ZFOI5b2h|X1^s{9x3 zW@+w*n=iXeC1sh4D^=WFdEV7#f|K#undW=3jzXBvg}HHeqA-!qWpjnv$7C_6eQBGB F{R3}9Rf_-s delta 1492 zcmYk5O=weD6vuCEwRJSwsan6PUY)7YwyB9yKW9V{gjux<7eW#HYN83WNladFbYa{m zx)v9rE(*%520OHwinJzm7OCGGXBaDfEOa3v6oeuo=zt`FY67GkMuotd1CT~vi(#nS`l@F#2wc$Ic0|Rr6Sp&mx5$u8%Mj;!Rv#<^R0T;rj za2|XERnQb%1p~E}#9N^X`UNiGeDfPGs^qZ0;CI-Je*uQ!O{fH4L#Z^st}?$HYNIGz z3Xel2aKWFy442~!2bxP%q%8@un|hR-B9z6@2BBL{EJY^jKRDloaE(a_yxAZwUi~l3u?n0RNytJ z-j?AKI0+R$1=qudKxO?7$j>-Dlt2oq1*f4DxeBGg-vRWOWDoeDoFMI@b zTi-+4WNNwcVm+i2hO6MU0(dPFb-*l!q?LMVsgjhbT59r4E!N)rF-)`iFOz&S$*SH- zjSxeo%4M|KOHz`nYPE#?Jf$S7D&mTGi2|>cqRcW{7*a>3qIKzimD9?Qtly1xdREO- zH~YI$yeH?6a1&#}(2ME=)%ni8s70{qaLVn@q85E}c$g+*s81p0q7)Jdtg&u9F!G*PgGckA%Wo zLXpij64}|Yr8T^HXrk^wO}J3d|fR49)Va(}F(h@q8%T~*%z=M(zp diff --git a/po/ko.po b/po/ko.po index 7d0a6325..b73fe1df 100644 --- a/po/ko.po +++ b/po/ko.po @@ -2,12 +2,12 @@ # Copyright (C) 1996 Free Software Foundation, Inc. # Bang Jun-Young , 1996-1997. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: GNU tar 1.12\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 1997-05-30 22:55+0900\n" "Last-Translator: Bang Jun-Young \n" "Language-Team: Korean \n" @@ -27,50 +27,49 @@ msgid "ambiguous argument %s for %s" msgstr "¸ðÈ£ÇÑ ÆÐÅÏ `%s'" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" @@ -79,17 +78,17 @@ msgstr "" "\n" # -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù" @@ -101,7 +100,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -122,17 +121,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -140,62 +138,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "record_size·Î ºÎÀûÀýÇÑ °ª" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 #, fuzzy msgid "memory exhausted" msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²" @@ -213,28 +211,30 @@ msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "" @@ -244,7 +244,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -254,7 +254,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -526,7 +526,13 @@ msgid "Cannot connect to %s: resolve failed" msgstr "" # -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "¿ø°Ý ¼ÐÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù" + +# +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "¿ø°Ý ¼ÐÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù" @@ -583,8 +589,8 @@ msgstr " msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -592,8 +598,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -609,7 +615,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -620,9 +626,9 @@ msgid "Garbage command" msgstr "¾µ¸ð¾ø´Â ¸í·É" # -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "ÀÌ°ÍÀº tar ¾ÆÄ«À̺êó·³ º¸ÀÌÁö ¾Ê½À´Ï´Ù" @@ -668,67 +674,67 @@ msgid "Archive is compressed. Use %s option" msgstr "" # -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Å×ÀÌÇÁÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ Áö±Ý Á¾·áÇÔ" # -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "¿À·ù°¡ ³Ê¹« ¸¹¾Æ¼­ Á¾·áÇÕ´Ï´Ù" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "·¹ÄÚµå Å©±â = %d ºí·°" msgstr[1] "·¹ÄÚµå Å©±â = %d ºí·°" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "" # -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, fuzzy, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "º¼·ý #%d(%s¸¦ À§ÇÑ)¸¦ ÁغñÇÏ°í ¸®ÅÏÀ» Ä¡¼¼¿ä: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "»ç¿ëÀÚÀÇ ÀÀ´äÀÌ ÇÊ¿äÇÑ °÷¿¡ EOF°¡ ÀÖÀ½" # -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "°æ°í: ¾ÆÄ«À̺갡 ºÒ¿ÏÀüÇÕ´Ï´Ù" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -740,222 +746,222 @@ msgstr "" " ! ¼­ºê¼ÐÀ» ½ÇÇàÇÕ´Ï´Ù\n" " ? ÀÌ ¸ñ·ÏÀ» ÀμâÇÕ´Ï´Ù\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" # -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "»õ º¼·ýÀÌ ¾Æ´Ô; Á¾·á.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "" # -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù" # -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù" # -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, fuzzy, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s´Â À߸øµÈ Å©±âÀÔ´Ï´Ù (%ld != %ld + %ld)" # -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "ÀÌ º¼·ýÀº ¼ø¼­¸¦ ¹þ¾î³µ½À´Ï´Ù" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, fuzzy, c-format msgid "Archive not labeled to match %s" msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, fuzzy, c-format msgid "Volume %s does not match %s" msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" # -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "ºí·° °æ°è°¡ ¾Æ´Ñ ºÎºÐ¿¡¼­ ¾ÆÄ«À̺ê %sÀÇ EOF °ËÃâ" # -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù" msgstr[1] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 #, fuzzy msgid "Contents differ" msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF" # -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 #, fuzzy msgid "File type differs" msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "uid°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "gid°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "º¯°æ ½Ã°¢ÀÌ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "%s¿¡ ¿¬°áµÇÁö ¾ÊÀ½" # -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "±âÈ£¸µÅ©°¡ ´Ù¸¨´Ï´Ù" # -#: src/compare.c:317 +#: src/compare.c:318 #, fuzzy msgid "Device number differs" msgstr "ÀåÄ¡ ¹øÈ£°¡ ¹Ù²î¾úÀ½" # -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "°ËÁõ " # -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" # -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "°ËÁõ ½ÇÆÐ: %d°³ÀÇ ºÎÀûÀýÇÑ Çì´õ°¡ °ËÃâµÊ" msgstr[1] "°ËÁõ ½ÇÆÐ: %d°³ÀÇ ºÎÀûÀýÇÑ Çì´õ°¡ °ËÃâµÊ" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "" # -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" # -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" # -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -963,466 +969,501 @@ msgstr[0] "%s: msgstr[1] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)" # -#: src/create.c:1160 +#: src/create.c:1180 #, fuzzy, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: ´Ù¸¥ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÀ½; ´ýÇÁµÇÁö ¾ÊÀ½" # -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (ÄÚ¾î Ãâ·ÂµÊ)" # -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ" # -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " %s·Î ¸µÅ©\n" # -#: src/create.c:1690 +#: src/create.c:1710 #, fuzzy, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" # -#: src/create.c:1699 +#: src/create.c:1719 #, fuzzy, c-format msgid "%s: file is the archive; not dumped" msgstr "%s´Â ¾ÆÄ«À̺êÀÔ´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "" # -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "´ÙÀ½ Çì´õ·Î °Ç³Ê ¶Ü" # -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "¾ÆÄ«À̺꿡¼­ ºñÇì´õ ºÎºÐÀ» Á¦°ÅÇÔ" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "¿¬¼ÓµÇ¾î ÀÖ´Â ÆÄÀÏÀ» ÀÏ¹Ý ÆÄÀÏ·Î ÃßÃâÇÔ" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "±âÈ£ ¸µÅ©¸¦ ÇÏµå ¸µÅ©·Î ÃßÃâÇÏ°í ÀÖ½À´Ï´Ù" -#: src/extract.c:1365 +#: src/extract.c:1528 #, fuzzy, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "`%s'¸¦ ÃßÃâÇÒ ¼ö ¾ø½À´Ï´Ù -- ÀÌ ÆÄÀÏÀº ´Ù¸¥ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖ½À´Ï´Ù" # -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF" # -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: ÀÌ ÆÄÀÏÀ» ¹é¾÷ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù" # -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" # -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù" # -#: src/incremen.c:485 +#: src/incremen.c:549 #, fuzzy, c-format -msgid "%s: Directory has been renamed" -msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù" +msgid "%s: Directory is new" +msgstr "%s´Â »õ µð·ºÅ丮ÀÔ´Ï´Ù" # -#: src/incremen.c:530 +#: src/incremen.c:566 #, fuzzy, c-format -msgid "%s: Directory is new" -msgstr "%s´Â »õ µð·ºÅ丮ÀÔ´Ï´Ù" +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: ´Ù¸¥ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÀ½; ´ýÇÁµÇÁö ¾ÊÀ½" + +# +#: src/incremen.c:587 +#, fuzzy, c-format +msgid "%s: Directory has been renamed" +msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" # -#: src/incremen.c:1115 src/incremen.c:1153 -#, fuzzy -msgid "Read error in snapshot file" -msgstr "%s¿¡¼­ Àб⠿À·ù" - -# -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF" -# -#: src/incremen.c:1124 src/incremen.c:1164 -#, fuzzy -msgid "Unexpected field value in snapshot file" -msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" # -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" # -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s¸¦ Áö¿ò\n" # -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, fuzzy, c-format msgid "%s: Cannot remove" msgstr "%s¸¦ Áö¿ï ¼ö ¾ø½À´Ï´Ù" # -#: src/list.c:190 +#: src/list.c:189 #, fuzzy, c-format msgid "%s: Omitting" msgstr "%s¸¦ »ý·«" -#: src/list.c:207 +#: src/list.c:206 #, fuzzy, c-format msgid "block %s: ** Block of NULs **\n" msgstr "ºí·° %10ld: ** NUL·Î µÈ ºí·° **\n" -#: src/list.c:233 +#: src/list.c:232 #, fuzzy, c-format msgid "block %s: ** End of File **\n" msgstr "ºí·° %10ld: ** ÆÄÀÏÀÇ ³¡ **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, fuzzy, c-format msgid "block %s: " msgstr "ºí·° %10ld: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" # -#: src/list.c:840 +#: src/list.c:854 #, fuzzy, c-format msgid "Archive base-256 value is out of %s range" msgstr "ÀÌ º¼·ýÀº ¼ø¼­¸¦ ¹þ¾î³µ½À´Ï´Ù" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" # -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " %s·Î ¸µÅ©\n" # -#: src/list.c:1265 +#: src/list.c:1270 #, fuzzy, c-format msgid " unknown file type %s\n" msgstr " ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ `%c'\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" # -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--º¼·ý Çì´õ--\n" # -#: src/list.c:1299 +#: src/list.c:1304 #, fuzzy, c-format msgid "--Continued at byte %s--\n" msgstr "--%ld ¹ÙÀÌÆ® °¿¡ °è¼ÓµÊ--\n" # -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "µð·ºÅ丮¸¦ ¸¸µå´Â Áß:" # -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" - -# -#: src/misc.c:570 +#: src/misc.c:721 #, fuzzy, c-format msgid "Renaming %s to %s\n" msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ" # -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, fuzzy, c-format msgid "%s: Cannot rename to %s" msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" # -#: src/misc.c:603 +#: src/misc.c:754 #, fuzzy, c-format msgid "Renaming %s back to %s\n" msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "" -#: src/names.c:590 +#: src/names.c:360 +msgid "command line" +msgstr "" + +#: src/names.c:378 +#, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "" + +# +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" # -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½" # -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "`-%s'°ú `-%s' ¿É¼ÇÀº ¸ðµÎ Ç¥ÁØ ÀÔ·ÂÀÌ ÇÊ¿äÇÕ´Ï´Ù" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1431,9 +1472,9 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:357 +#: src/tar.c:373 msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1443,81 +1484,81 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" # -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1525,572 +1566,621 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" # -#: src/tar.c:453 +#: src/tar.c:469 #, fuzzy msgid "remove files after adding them to the archive" msgstr "¾ÆÄ«À̺꿡 ÀÖ´Â À̸§µé¿¡¼­ µå¶óÀ̺ê ÁöÁ¤¹®À» Á¦°ÅÇÔ" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "" + +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" # -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" # -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç" -#: src/tar.c:616 +#: src/tar.c:662 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:618 +#: src/tar.c:664 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" # -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" # -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Àý´ë ¸µÅ©µé¿¡¼­ ¾Õ¿¡ ºÙÀº `/'¸¦ Á¦°ÅÇÔ" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2098,247 +2188,239 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" # -#: src/tar.c:764 +#: src/tar.c:810 #, fuzzy msgid "ask for confirmation for every action" msgstr "»ç¿ëÀÚÀÇ È®ÀÎÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "`-Acdtrux' ¿É¼Ç Áß Çϳª ÀÌ»óÀ» ÁöÁ¤ÇÏ¸é ¾È µË´Ï´Ù" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1057 +#: src/tar.c:1108 #, c-format -msgid "Option %s: Treating date `%s' as %s" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "" -#: src/tar.c:1934 -#, fuzzy -msgid "Invalid owner" -msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 #, fuzzy msgid "Invalid record size" msgstr "record_size·Î ºÎÀûÀýÇÑ °ª" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "·¹ÄÚµå Å©±â´Â %dÀÇ ¹è¼ö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 +#: src/tar.c:2133 #, fuzzy, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "`-[0-7][lmh]' ¿É¼ÇÀº ÀÌ tar¿¡¼± Áö¿øµÇÁö ¾Ê½À´Ï´Ù" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "´ÙÁß ¾ÆÄ«À̺ê ÆÄÀÏÀº `-M' ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2346,58 +2428,82 @@ msgstr[0] "" msgstr[1] "" # -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù" +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + # -#: src/tar.c:2444 +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "¾ÐÃàµÈ ´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "`-Aru' ¿É¼ÇÀº `-f -'°ú µ¿½Ã¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "`-Acdtrux' ¿É¼Çµé Áß Çϳª¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" # -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2409,116 +2515,112 @@ msgstr[1] "%s: msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" # -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "°Ë»çÁöÁ¡ %d¸¦ ¾¸" # -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "°Ë»çÁöÁ¡ %d¸¦ ÀÐÀ½" @@ -2657,7 +2759,7 @@ msgstr "" msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2687,8 +2789,8 @@ msgid "[ARGS...]" msgstr "" # -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" @@ -2704,68 +2806,98 @@ msgstr "%s msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'" # -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù" # -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" + +#: tests/genfile.c:701 +#, c-format +msgid "command failed: %s" +msgstr "" + +# +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "" +# +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù" + +# +#, fuzzy +#~ msgid "Read error in snapshot file" +#~ msgstr "%s¿¡¼­ Àб⠿À·ù" + +# +#, fuzzy +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü" + # #, fuzzy #~ msgid "%s: Directory removed before we read it" diff --git a/po/ky.gmo b/po/ky.gmo index cdfb7c0de06dacfa75172651c86ecc35a6630a1e..252659a092524182979a9853f67896fb816d225b 100644 GIT binary patch delta 9390 zcmYk>34Bf0+Q;z~A*PrkQ9(vx2uUQy7!pII8iG&}Q_NEhF~)dML#m}XBsEuywzSnc z6jeoOOLe%ds;aSbwc6Y1wuqU{JjT?aaGnbOXKwH(2*YBGX^ly!hD^lfxEcrHDbxe%*EgmHcEkoa z0M+v)I2^qgi#JdWsLMr7u`MzfW|D`(Pzq~ML-RMPK@}SsGaVbF8n6x9;k(EsCZLh6 zkH3HZ!$RzeM^P7+Z)~TeF;*qdLON|m zqSnOc+uLpn95twJ{4rF%P+?S&nMpo6dKfAEKu4Gt_m}d5G4ZNu!_#j^~eV zv=y}$4x^^xQ&a>0a(N`*U`h3+4R9&MX6 z3YBmqrr>ncknKm^;2YEpN;J3IEEr3YH^)FsMt@94OlnYSTuXgpju`2m-)KqV_%tFz1-7y|VBi~bI9cpThU<}VU*C}X`1a-6@j780P zd(;E7P;-^-^1&`2j-{v{hoP8<>hW^a19qTB;tYo4HPlF!>tshF1U-6i3kvE%CTb{W zVLjY|TKykj9$rF?L?&CNBu+r}XbP&Q>rf5wp@#f@R7Wmh4*rH(d>IT=24<%*{`%l{ zDl|7oP(8VV`rs|pP*&< z2BkCpdeB@d_`Wf#uq+;RzK5mAKXrbAe&kn?&X})IUpn<4w5z`tYLU*ux>$sI&|%EQ zi>Rq-+togItcQXwoQG<_Hq`bw)9Tp!!B`lxq)Zw$hTE?!ta$>pWON;s_xTrtu|a=3A}Of6H>&63FcfF>XZ-a6FBL8E z2&(5dur*c~V852rQEOs0s>i!f?~TJ)3D3Fn-(xBAkb(BSP#fElM`Jx4idFG3Y=RpH zGX5H}(^RNuf1>6nWRP7P8q!&)xqS|6;Q@RH&!XmT<1qWCJAo{06FS`flp2rC z$hW)v0_Krd8)1K2F2>sA2Qd@RAum_si5Y2s_fJ3?We#EzhK{l$&;vCUlQ98bLhXht z7=!+!?NBzt5b_-4e`Yd&lJNp+ZG?=m+c_0=|8>Zs_LvVTq*L(^YEC=wcA;}-0A}D( z)PpOGvpsK*50V!m(`~Mz)<)Y$_|=5taT>mg8v2;=_CB+bjbcusuCFtJFCgvz?i50) zcn&+@aqNZx6KzX-qZa35$g9D;g=`2@eUiOyBF-Z}j9M#g7gl$Bat0ydSOr8i7X3q8++j3sn%DJoooCU2Kr)h zumzsNa;l$hcSRt27+uqqLKg1B`B-*_T?@-l54w(V*e>4=`2^GyoW@01eI|{@^~kz2 z17`6{7>{8q44ZAtqu3A2;3aH>-_2(H6DUN@vA_NLpe{It74Z`+jb9?uX0D+g+;^^> zs;#I+`weOY(wK*~ScGc$S!AIX|IAXpoZ;?@SDX#!Q&7*Q&3A7y%pgC5sTjV%?&qPH zOuhgk@h}d;t5_G?FSJuP0@aX0)UNp+8(<{eZ;BbH4tg*c3slgYY{7Q86MNw`tcPtF z--b90o8b!7nmK`*x=xGj+S!d-v~QqBpxhE(&zO$Po;il>Skr2$ZNOI4n)B?Wp#8WX zo8Wb18ck?{-7ae}k^Co2#jwZh8*m8f0ZWkeX6|A-PF-eSG>0*g`~qr(@8A>I=X8m>iMe-Se=VugKh9;!o6qB?W}!|)Fr zhSi?5Q!xW$HI_RmG~&cLR8Rd^+9_y(TAa%;6yLz=_&JutUr=-Z4{B|Mt+I==KXxJC zjy>>a?1SxATi0L?`HwhWbJ^Kz_p1-tF(z;gFC$!v*%-Ih7}k*~K=q(}Az!695q0Ae z*w~MeDze)x{VBV>7Gf;tk6=r@jsaMAo&6CTi=J*&G@%fVb1)7!VFUaCWAJY*p8NH7 zcMQRJ>R-lMcm*5dZ4AVQ8|=4g3)B?mVi{bD4RIwtf`>LR{#rEkH}Zvmd8ihb-(-ir zB{n4=i`lpd+0y1Odbkqw4x4VVJiXCnb|iXY9r8t}`#*~s z*-tPR?_vmga#?8uDdb}_{0!NbCh&RtQ!5`;zYG)bC~EG1N8K>$1^cDc14GH5#|n4? zOXDZbFVLU-E1Zkp;UMk*;X7@Mj-wtFy~}Q=9Mobd#P{(Sj>8o%+OOA}&UP=^4lKm( zoWF`=Fz#i3h~hd_gNkzq5WUx6;>n_{ZK>pBSvD`SM7zdIG;QlGx0p? ze1kpqg_D7~++@9Dhx9h8XG7m*B>eb##$58G zQ~V1UuEjQZ8;dyK>OH#WrWPX*rLp@fvC>=6q&X{aI&~bM_}&H=M)yLzsgtKeyZ0 zi#*q3&QWO3iB{+BkH?w#6!~RT&t`mKzpYv@obQt#C3KV_b`UKHo>_eS#9w_@M|r}Z z&*+=+{)4qze9S4Xrz>fsLrEqRfkZ{}(%6}(Ml2%lhB`7)TXUt$Ri}ldV;OZ9F$F8* zB-DRBPok{dQ;Tw4WX+mr%HLw~P-?5_;DuKF1LGfT&jk;t^1fqu6!3*#I zkH=l!Ns`!K|jTPz8=>DeH)^m@tvszL6Mm%FPrC97XE_HgSxrs`5%RQ$5<+A zkvxc1@F60DNFh?GTSbhbyqqXYyiWKNbBUS63eGP?4eC@vM?>oF9kVEOcX>m~!*%Ii z3R~P2jX3!wXh>a_43tFHw_?Yh2wI#aG!c zpU0{DO-&7?FNJwTO`vFG^re+th~(GO?33!C6O_5u^@>Jl-S zx*D$j8RtEcIsc@)c8II|03W7qpvyCH3Hdpf$LamA-*fR)jKM}Y4wvB+Vk2>$SVL4I z?j60krij>1MM>fmkwZS8=s-L{tS8D5MV#x0^HE0=OYz@JdO4IKDzQ&8qIeGwA(U0G zgU^|}9H|$4@70Y8@b!-MmGI`oRrMvs4JzULFd?|Cw_0+xuQ0iapRa7YTt9D7`x9PI zN<-iNlpQ6#1)X0tR2YW9r z>5J}nFu+$e_i`y;$jGk#-si{ktDM+4A--{Zv+$;gtrOxK#V7izjBQZf7cf1kr1!wA zFyEqCl}q}5p4YaTch_p4Z=bhn3E!2cZkF(M*f`VATVivTZ{p@5<$Nt(NcQs{-Z{_L z^TnJJzTaQ=1o#FX80zQO$2)gJh_~tMx4g3sWqa=&3iCbl#-C+;m)@>j*7xp5ITd|} SE*Av)HvW`f+WY(;^ZpO1s}U0b delta 14158 zcmb7}2Y6LQ+Q$!}8U$(5%Ly%%B#_X1(SVcy(gZ0cBsUO9?hW@QKoGbTr76vW1q4J< z1O*9PYUmbR*Hv#o*RsgUvaWt>S>4rd6O zVKdmQwPoE5`*|D=S71+sb>U^01ix!-g3kSpfuqFH+R)bC3 zSQh?S39thk0yS_E>;*T$hVUJz{=S0sU`$)fx)nBrHDJfKVLC$@Kmkr!>97u50eiwN zP>#F{yTYq*Dok!?23Qa4V?Ph6vR;Oo`Ij&Y{s0qTdVAx*8kmCp3`~aag;6@A#L}t- z><6d8OsG(ugL3dgI0s&XawwE&S$*LnPy@dMRsK)d2{tFbn&Eh;_oqV*xEyMnqc9GJ zFQO<^Kf-RX0r5n&?u6=iF&qk?gL>gxsHLh$vebfoAgf}Hg36b9P>#%pn%GuY37&__ znfGCJ_&39_6@y#qs3z3fwS-#hbkDvYGNyIb;i|vp5&jk7=@@>$Dus@6v}}Z+*eY?LsrQe3bN&QnsE>|fkm(pd=xTiD+1-UzGa1-ngFG5YM zNw}Y7RYmCs)o>VO3tKawmgEsw4?YLg@rzJv`5v_47f|n2?{BtYd#JS^1GUZOLQP~j ztOlQi>USSh94vuN z;agD2`6Y~l4GDwT8xrZTHPtBAGN^sN3zE>*dr$|RtR#OTL)kl_&cbG z)x6#8?|#r-TNt8zBWwVxux^@hbEu^31RHDr_eaqSQ(y(S5^5%Epgi9Qwf1MAW_}*l zho3@qSdPR|glfT7Fa@@R6QClo5Vn91!H)1SRKK6VWX88@4>oI+3KjaXurizuZ5V(G z<$5Rw_d(6*AnXs{gqpxDcbFvZ3DwUM*a&WfYF`ZHz^|bk{Q-uxrg1||s7F90+Z?D4 z)(8eAHwFJ3CiN8WuM1cn0 z1lz&=P$9YqTf-{D%y#MkXJhw+ipYK_$D(jjInE8JnI)&08Q%rv$ZV*kS`9U!$Kl;@ zUmEdOvc--tSv&v^$4-L^*=8sQ55jo(Hq;ESL3LDrq?uU)RKx~CqH2wUn$R|=95@UW z`q!Z%cnyw+<-?;)gS%k|3Ieb)d;)5qXJK9V64Z=8fExIFm;|fcX<0YH-W~@*EyXC0 z;~{~uCc{)X6}E*>Lrp0BCW`j||3ZbX_GmLu515WU0cs78K@I#TsCHMO9I(fj?Kjfn zLO7f9=b@Ie$yjrA-vKp&F;L?LA=@`>twUj}Td%+xu*x{I6b+z4*b2tMJ}?p9IS#h;wu7rf?=40NcPl(5Le@T>;Y>{Hjx_+br8+>xDAHcqSlKj z^7!T{=3~(XDwLz3%CkJKfpX|D)Ih(5RpAe?39LNT%&Zk`h-f$Hbg zsl;Dv{s{#&;df9WjJ?MU+|6S;yq)q@P!W0)HihNWO%^wY`z-EsP}zMID#R@_%=R1w zKgQ06b;_~Drb%bizA6A6jTvTbxNM`RY{Y_g8SZm^o)eD_nK?0caOoCxd$TLnxqPJ|<|=fXkoRX7w@&*$m}C&JF! z|Hn}jlCNM-Sc~40VH(tS2}3!w117=OVLf;i5(KMO&|FaNg>A8qK<)R-P|4aOWU}55 z@4(&!wZwmb%0KHG%5a!oU z;7+KS9)k+)|G+!p07lhJ9LScoK8K^=NWv;^hpPV?k{;I3#U^Kt!B~|qrlJqZH40|J zo=Z&Vo`Dou-@^+SMd%aQ61IKV3^)STE6>3L3n>5nV`l%4-DD1^t+2Ufa2%xr zyab7&ReiI0;c++%yT;=tLJQ#S*bbZl--B^*z!npsOsIZV!xpdv4uY4U-fOkhoQN}_ z%1fa8_kX!~Am%vVNFVvDy_l60(%nWm2ckD-C zHhc?Kf?ao;Yjq!}Wa|fQxCUwoUVv@kB^VE@JZEyGBOHnygu~&JlC1%40P!I-@qyD$;n0XIX^%(?;-V0hsR zCK;ZCTC=aA*0{w!6TzuZ8aaN-BBnkjm<=BO(@N=kxCgmWfCd`9< zVEiHDh!1`i!wm=~Qa<^plAQHljnbZiW3V~=7`B8}=w$;;gm=T!PzP1R5)+AJn1;O& zro-3aaF}r1yk7)Uu(v_=UkaPTf57`-;}bZ*_|}ssT8k)5hyQ@};M9}m<1q(z!G0Ug zg0ZK}opBCS`AV1!Pr;7xE2#eBPMfdg2-paFC#(ivgq2|whNZlRQXYN;7s5Znsc_mE z-15ZOa_TY==yZ@cX-Y=O6EQTYfzXWq&;>%1DKKe58AB6Jo zE5@^nuq*bTp+XjS&YS~ja6R@m*c5hn)hyKrsCKjAVz?EKgiU{C>iw_@_6C>^_d!Ld z#%pFG16~W8h6^d^L&bLZCcFd(!@a-eADZB|a3b9Gx@jN7w8vn#g7?58mx5D>d1_4XWcSa1NY$-X!5W zun;@$f|==~Fa`S%911^$t6-8$^N%jV4A1s|os$M9Xa@QV4vV%*2Z^H-st7wtb82iL(t>Imk*_)pA4Hoz9x zM?L!@Y=m9@Q*-rd24`Z=hL1A7brD4ePr?6~EPoWHW4HOUX}AiG!2Sj*gtvWWuG3p! z8|)8Z2CVeC`5SQttc2}{_rgM`wf-6=zyV(;A=jW=F#X z)SrP0d7rP$K7R~q;ES*y?EAI3^)7;sVPAod!UcadU(q^$Gw-KC0<0%&C3xCF7>`u+ z>^anq_H?!U2>Bi%n(mhSJJjPKq>l9ja)|cY?|QBwC$S6Q3S=?z{0;pbc6H)VOvPJ> z9(I@e$K>sB8{(tUb5KujL>aFf7)kj}kfe6M_myEauk-KFgPvX0;t4KM@d#QluB$9!x1XD70Mz$bj&moj`)Q6C}5q7cr z?+U6PgRSdc3^Em2Tdr(sRHjpK6eg-Ay0*}6s3*_kZ_wMjB`gzV!_n))hmbU{O>4^f zA&+?NZle4=`ch;8Qh>b|*^lIDd~HEJ4Jgo~LukEGt@-HM|6e#A(bEQd zDWaz*Tm~baUDM+dk1^CGBPWpFl!Z5;u&v#vB?ZHgAF!&xJK;Y}mAj8yqMt?DQr8-J z0-1!ZLq*STk$aIDl$WT0=W*mdWCvyGFdvzRt|zM0dJW|cBp`Yf9NAW9^pUVS+z<5( zKz`?H=7)2|+KJrmy~n}n-u=46rpV{WW7Pc$>Zy!A9pS*V3Sp|&|9*^5k;cev$Qdej zB4y7J^d1=9kP}|{V%Q0(L)nus78#Ge2#!MZ>_+M#7m!oPROA*!&rz?<{aVW&ND9&d zS%_>$W+Jm_7zcYHh3J1mnxS_^<{-xqJrg`iUxYNr?uKL`u`1*lWnc}aY@erBLJyDU z$42yQN1A$iJM?#v4CE=w8hPcI?$@m-B>I;s1LzNU?e+gaH$E#doNb9n^$);%%p4zJPq^VJ;*CwyMZ1bp-fLU zvH_Wk9k2c05vhSO59+ySV7(6eB5xzlBjb={uah+`o#Y_NTlF z(hm92tJ@2!din%-*wgQ%OK0?P^%_xc{gdZ|zeT3CXi=%Lo!%-l zKEck)$^7~9FE`6B2n6ihfPcC@cLx4xq^umQkUt|o zG=rh!b)_Ct( zgl5?p!OR&sb9@PQhCj<@4h$122n2n+la(_kC#%p4Psq*=2J+lFd9NhJ#-`58$ji_5 zg+o1KZMqHGiJ45p^q3?&n<-3#b_@G9{4enRyjDGG7IaQSc|hZ&vc3xD{Jb;Uds^7T z%?g->3)%M&>>Ed&;|op;gnYS0*Snhc%RS*%s#$6UzswbRbwhVav61FIeB~0RlPrpV zp?{V?FxPLBBtCx@D?5XQA;`0QMRNneEK(>G@7&+>oYSILZKr3iUKMHV3r2E#?W@o( ztuVJBhlrK+?+vLe$sy+HiD~g9in7FM*ndw;lE7GQUb@Ldvk;M@gXx8NK7T=y^K$>* zVfPigRj8*uR$-Q#S&FuNQJ%L7StH#xA;xgah_%tC1qx=^b2Iz}cBp_A$Y2IJ{`|s% z8(tU?ETk7VCo%(h`Sd@HDa_5`#q`8%J25`xhQ^aRCU%=LDK~G%lz6rmy%y%@2ZGuG z(~9hN1v7F&?UX8!AN!9hSJxK|l87wd&yzZBV4Lz`AIXq8t1zD)va@sM*=&^bMeN=} zKM51EL%sszLSmxVfS$$-NgFjh^`3zPZW}gk)IDRy4H`6LLQ?ElHX=C@(&ozy_zQx8 zT((J(_UaA2c%#wF_|(y3hJ;6sxaYQ!BgT#%IXuChlab3dRt$Q^lAiv6pB)p(&h|3W z@1uLVoK@y?NI9Hf`wR1?`GQPck6V4c#EhnP{+!$dl8KbovSFK-Cb16LWrj9}Vi7V8 z6WGeycs6V23(n06`P7e`xL#wE(Q`A3bROW9*Su^{Cz$#{*RjDO<%gY^IK!8lPu>MR zvoMq~-51Z6WJ=~FK+SW{uB2FJ*q|q>X6NX9a)aW$F=%MDET2D=Q&7~C4l?7N>Vq5i zpIsPmrxPkD!cC=N5~*1>pjVsd*7h;Ob3$=iaZ2fUO^U<~UQ(g0Z@PANft}}59PPB! zw1KIk6Gse4OI6P3eD(HeWc#oc6`ac>n>Y)`*Jzy;@W(5igE{$ju6JstcZm0nFdaCy zKO-;Fa@2`R)iSaR=vikbEu3vr8$?RSe^D_e5Oivetz84Bn0V%l>*Ji5JiL6;+??F3 zOg2i$&I-6WZrad+^;6aLGIi=yNuO9FIk97>#N-q^Ik{(-PVGCUL}sVAt=dK*vrF%b z7DtaokK3h7&+jW;e14xD-G6>x^msH9JzBaXdNg_@!I`omzW)-M9WQ;LbYpXi4cZcckLz$;jD2?+Sf4M^903kl&L(RoQsL zu+c+uQ4SVI_sbjF6_Z1O%*?`I(C5$eIZr;`Fmf%_x3=@*@*&Qqbyc0@&F!7;D-Joo zd8WQ|@%~25PtnaOo34)_C++BIcf3P(>59?^@P?^HK3h>ICOmk=INN;Mq9rsr!Eh%v zTCyyspps%cda87#re!-j zPPA-_{~BO16&H3#kDT9^Xn-dxF6?$T6xSQgFm9Wrd{?7eTn~t@O**U~6Hfj=zOed+ zULT(isdM^Fedo-H3Nz$VSq8hGWoCGYxDbdNr>A$_co2!}U(Wyh5st3cO5ND6vp-Vb zdHm)2)!od{gosSE#ECmsyDGs`I9Tu!r}+KE9t!vMLH_gS`M(;(Id|fg7(UlOuKFQ{ z-*M;kTefp$Yt2Z@O?}D@jqX)OMUToKZLSEvC(X7+ zJ6*b*5!NZMP4b-95G>mXZ8v3k3Cdz-Qj+APZw`k!wtxPbjsQOO?(QI&O;5I(X{k@M z%nZtESmvXDJxx6Gx(mu^^4+*WFWMMp&n?#WUiOb}tG)Iab!0 zcS~@-nAey+WwncL(6QoP1E{+3!tn3!Dn+j!Je(AVlsJ(~nT=1h_+oII?fGC;@cDcta`9j+Vh#p9=YhaH{# z(>U5w?g7jgtdBbu=gkRstvD2;$L#0*_jO*0nnY zZ|mUMDV_R18;n4heZ{Y7aF`9wF&!;I{xveca9J{;a>GbKPjHU%-c8p#kT>el*+?%z-*DoBT^Nj~(qI;wy*-VW4hnMlBJ`vR!z#tJmgJxF0 zbfI(4n4jimMW3V}eT==MNIRQch?MNSRK*$nQtgy2=U<3Edtp~}E8LnGUC+SJli>OS zGNfju_24bdUssXh$Rqoj-Q;AvQrpRY+jh#I8&)y8|H5v|DJ{6wS-q`c!}t#IG;>pu zO-m!L=GOERQ+ylY|71}OzwcUdUB5;IOzDiA2q6pOWD`by(B2hb?I0}EA5(< z1ls-V%i!d8O3$@+^4_c*xpwaHo2$DQn}}x1IkMO(KHb2{eZG1NeS?p>nLvh?C&Mm)N F^nV*ypGE)x diff --git a/po/ky.po b/po/ky.po index c507d9f8..9ae85cdc 100644 --- a/po/ky.po +++ b/po/ky.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the PACKAGE package. # Azilet Beishenaliev , 2007. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.18\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2007-09-01 01:06+0100\n" "Last-Translator: Azilet Beishenaliev \n" "Language-Team: Kirghiz \n" @@ -32,37 +32,36 @@ msgid "ambiguous argument %s for %s" msgstr "%2$s үчүн %1$s аргументи так эмес" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Жарактуу аргументтер мындай:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s, %s'тен кичине же барабар" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси болуш керек" # положительный кыргызча кандайле? -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси оң болуш керек" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ARGP_HELP_FMT параметри белгисиз" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT параметри бузук: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -71,29 +70,29 @@ msgstr "" "жараша жазылса, кыска жазылган опциялар менен да сөзсүз түрдө же тилекке " "жараша жазылат." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Колдонулушу:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " же: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [ОПЦИЯ...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Толук маалымат үчүн `%s --help' же `%s --usage' деп жазгыла.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Каталарды бул жерге билдиргиле %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Белгисиз система катасы" @@ -105,7 +104,7 @@ msgstr "Бул жардам тизмесин көрсөтөт" msgid "give a short usage message" msgstr "Колдонуу жөнүндө кыска маалымат көрсөтөт" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "АТЫ" @@ -126,17 +125,16 @@ msgstr "СЕК секунда күтүңүз (алдынала - 3600)" msgid "print program version" msgstr "программанын версиясын көрсөтөт" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ПРОГРАММАДА КАТА) Версиясы белгисиз!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Аргументтердин саны көп\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ПРОГРАММАДА КАТА) Опция билиниш керек болчу!?" @@ -144,63 +142,63 @@ msgstr "(ПРОГРАММАДА КАТА) Опция билиниш керек msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' опциясы так эмес\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' опциясы менен аргумент колдонулбайт\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: `%c%s' опциясы менен аргумент колдонулбайт\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' опциясы менен аргумент болуш керек\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: бул опция түшүнүксүз `--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: бул опция түшүнүксүз `%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: жараксыз опция -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: бул опциянын аргументи болуш керек -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' опциясы так эмес\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' опциясы менен аргумент колдонулбайт\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' опциясы менен аргумент болуш керек\n" # Памятты эмне дейбиз яя? ;) -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "Память жетпей калды" @@ -216,28 +214,30 @@ msgstr "Учурдагы папка сакталбайтат" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "„" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "“" @@ -248,7 +248,7 @@ msgstr "“" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[оО]" @@ -259,7 +259,7 @@ msgstr "^[оО]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[жЖ]" @@ -523,7 +523,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Алыстагы команда процессору иштетилген жок" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Алыстагы команда процессору иштетилген жок" @@ -579,8 +584,8 @@ msgstr "Архивде күтүлбөгөн жерде файлдын соңу msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "N" @@ -588,8 +593,8 @@ msgstr "N" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -604,7 +609,7 @@ msgstr "" msgid "cannot open %s" msgstr "`%s' ачылбай жатат" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "аргументтердин саны көп" @@ -613,9 +618,9 @@ msgstr "аргументтердин саны көп" msgid "Garbage command" msgstr "Туура эмес команда" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Бул tar-архиви эмес окшойт" @@ -653,61 +658,61 @@ msgstr "Архивдин stdin/stdout текшерүүсү болбой жата msgid "Archive is compressed. Use %s option" msgstr "Архив кысыштырылган абалда. %s опциясын колдонгула" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Кысыштырылган архивдерди жаңырталбай калды" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Лентанын башына келди, иш бүттү" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Өтө көп ката бар, иш бүттү" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Маалыматтын көлөмү = %lu блок" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Архивдеги файл өчпөй калды; архив ачылбаса -i деп колдонгула" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek маалыматтын чегинде токтогон жок" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: жараксыз том номери бар" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Томдун номери батпай калды" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "%2$s үчүн %1$d-томду даярдап Enter'ди басыңыз: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Колдонуучудан жооп күтүбатканда файлдын соңу келип калды" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ЭСКЕРТҮҮ: Архив толук эмес" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -718,468 +723,490 @@ msgstr "" " q\t\ttar программасынын ишин бүтүр\n" "y же Ввод\t\tИшти улант\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Команда строкасын ач\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Бул тизмени жаз\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Жаңы том жок; иш бүттү.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Файлдын аты берилген жок. Кайра жазып көргүлө.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Туура эмес ввод. Жардам үчүн ? жазгыла.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s командасы аткарылбай калды" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s мунун бул томдо уландысы жок" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s көлөмү туура эмес (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Бул том иретте эмес" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Архивдин тамгасы %s менен келишпей жатат" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "%s тому %s менен келишпей жатат" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: файлдын аты көп-томдук GNU башкы-маалымат үчүн өтө узун, кыскартылды" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "rmtlseek маалыматтын чегинде токтогон жок" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%2$lu байттан %1$lu гана окулду" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Мазмундары окшобойт" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Файл түрү окшошпойт" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Укук абалдары окшошпойт" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid окшошпойт" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid окшошпойт" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Алмаштыруу убактылары окшошпойт" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Көлөмү окшошпойт" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "%s жака шилтенген эмес" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Символикалык шилтеме окшошпойт" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Аспап номери окшошпойт" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Текшерүү " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары салыштырды" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Архивдин ичинде префикстери алынган файл аттары бар." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Текшерүү учурунда алгачкы файлдар табылбай калышы мүмкүн." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "ТЕКШЕРҮҮ КАТАСЫ: %d жараксыз башкы маалымат табылды" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "%s болгон жерде нөлдүк блок бар" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: мунун ичинде %s деген кэш-папка белгиси бар; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "%s мааниси %s диапазонунун тышында %s..%s; ордуна %s коюлат" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%s мааниси %s диапазонунун тышында %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Терс сегиздик системасында башкы маалыматтар даярдалууда" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: файлдын аты өтө узун (эң көп %d болот); кошулбайт" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: файлдын аты өтө узун (бөлүнбөйт); кошулбайт" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: шилтеменин аты өтө узун; кошулбайт" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Файл %s байтка азайды; нөлдөр менен толтурулат" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файл башка файл-системасында; кошулбайт" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "астындагылар кошулган жок" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Файлдын түрү белгисиз; файл каралбайт" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "%s жака шилтемелер жок.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файл алмашкан жок; кошулбайт" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файл архив экен; кошулбайт" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "папка кошулган жок" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файлды окуу учурунда файл алмашты" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: сокет каралбайт" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: door каралбайт" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Эмики башкы-маалыматка өттү" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Архивде башкы-маалымат болбогондор өчүрүлөт" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: %s убакыт тамгасы өтө эски" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: %s убакыт тамгасы %s сек. келечекте" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Папка ачыбатканда күтүлбөгөн нерселер болду" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Папканын статусу билинелектен мурун аты алмашып кетти" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Удаа болгон файлдар жөнөкөй файл катары чыгарылып жатат" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Символикалык шилтемелерди түз шилтеме катары чыгарууга аракет кылынат" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Чыгарылган жок -- файл башка томдон уланып келиптир" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Башкы-маалымат узун" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары чыгарылды" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Азыркы %s жаңыраак же бирдей" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Бул файлдын резерв копиясы алыналбай калды" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s файлы %s деп алмаштыралбай калды" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Папканын эски аты %s эле" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Папка алмаштырылды" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Папка жаңы" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: файл башка файл-системасында; кошулбайт" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Папка алмаштырылды" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Жараксыз убакыт тамгасы" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Алмашуу убагы туура эмес (секундалары)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Алмашуу убагы туура эмес (нано-секундалары)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Аспаптын номери жараксыз " -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Inode номери жараксыз" -# фиелд, снэпшот дегендер кандай болот? -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Снэпшот файлды окубатканда ото узун поле чыкты" - -# snapshot? -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Снэпшот файлды окубатканда ката болду" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" # snapshot? -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Снэпшот файлда күтүлбөгөн жерде файлдын соңу (EOF) бар" -# фиелд кандай болот? snapshot? -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Снэпшот файлда күтүлбөгөн поле(фиелд) бар" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Записьтерди бөлүүчү символ жок" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Файлдын форматы туура эмес" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Форматтын бул версиясы иштетиле албайт: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок %#3o келди" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Кошулуучу папка бузук: 'X' копиялары бар" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Кошулуучу папка бузук: 'R' менен берилген ат бош" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Кошулуучу папка бузук: 'T'дан мурун 'R' жок" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Кошулуучу папка бузук: 'T' менен берилген ат бош" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок датанын соңу келди" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Кошулуучу папка бузук: 'X' эч колдонулган жок" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "%s шаблонун колдонуп убактылуу жаңы папка ачылган жок" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Папка өчүрүлгөн жок: stat иштебей койду" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: бул папка башка аспапта жайгашкан: өчүрүлбөйт" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s өчүрүлүп жатат\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Өчүрүлбөй жатат" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Муну аттады" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** нөлдөр болгон блок **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Файлдын соңу **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Башкы-маалыматта сан түрүндө %s болотурган жерде бош жерлер бар" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1187,94 +1214,89 @@ msgstr "" "экилик системадагы терси алынды" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" "Архивдин сегиздик системадагы мааниси болгон %.*s %s диапазонунун тышында" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Архивдеги base-64 түрүндөгү %s сөзү %s диапазонунун тышында" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Архивдин base-256 мааниси %s диапазонунун тышында" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" "Архивдин ичинде %.*s бар, алардын ордунда сан түрүндө %s болушу керек эле" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Архивдин %s мааниси %s түрүнүн %s..%s диапазонунда эмес" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " %s жака шилтеме\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " белгисиз файл түрү %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Узун шилтеме--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Узун ат--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Томдун башкы-маалыматы--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--%s-байттан баштап уланды--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Жаңы папка ачылыбатат:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Учурдагы папка алмаштырылбайтат" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s'тин атын %s деп алмаштырды\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Аты %s деп алмаштыралбай калды" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s'тин атын кайра %s деп алмаштырды\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файл окулганча өчүрүлүп кетти" @@ -1282,20 +1304,40 @@ msgstr "%s: Файл окулганча өчүрүлүп кетти" # орусчада дочерный процесс, бир процесс өз ичинен жаңы бир # процесс жаратканда ошол чайлд процесс болот. Биз эмне дейбиз? # Мен туулган процесс дейм. -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "туулган процесс" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "процесс-аралык канал" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "%s командасы аткарылбай калды" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: файл тизмеси окулган" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "`%s'ке убакыт аталган жок" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: алынган файлдын атында бош тамгалар бар" + +#: src/names.c:821 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "Файлдын аттарында уйкаштарды издөө үчүн колдонулган тамгалар бар." -#: src/names.c:592 +#: src/names.c:823 #, fuzzy msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " @@ -1303,55 +1345,56 @@ msgid "" msgstr "" "Уйкаштарды издөө үчүн --wildcards опциясын колдонуңуз, же --no-wildcards" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Архивде табылган жок" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Керектүү нерселер архивде табылган жок" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Архивдин тамгасы %s менен келишпей жатат" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "`-%s' жана `-%s' опцияларына стандарт кирүү(input) керек" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Архивдин форматы жарабайт" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Бул форматтагы архив үчүн жарабаган GNU өзгөчөлүктөрү суралууда" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Ковычкалардын түрү белгисиз - `%s'. Тизмени көрүүгө `%s --quoting-" "style=help' жазгыла." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1371,9 +1414,10 @@ msgstr "" " tar -xf archive.tar # Аты archive.tar болгон архивдин ичиндеги " "баардык файлдарды чыгарат.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1393,82 +1437,82 @@ msgstr "" "жөнөкөй вариант\n" " never, simple ар дайым жөнөкөй резерв копиялар сакталат\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Негизги иштөө абалы:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "архивдин ичиндеги файлдарды тизмелейт" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "архивден файлдарды чыгарат" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "жаңы архив жаратат" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "архив менен файл система айырмаларын табат" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "файлдарды архивдин аягына кошот" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "архивдин ичиндегилерден жаңы болгон файлдарды гана кошот" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "tar файлын архивге кошот" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "архивден өчүрөт (магниттик ленталарда жарабайт!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "архивдик томдун атын текшерет анан бүтүрөт" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Иштөөнүн модификаторлору:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "кеңири жайлашкан файлдарды эфектүү түрдө колго ал" # major, minor -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "БАШКЫ[.КИЙИНКИ]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "кеңири жайлаштыруу форматынын версиясын тандайт (--sparce опциясы кошулган " "болот)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "эски GNU форматындагы резервдөө методун колго ал" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "жаңы GNU форматындагы резервдөө методун колго ал" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "окулбаган файлдар келгенде нөл болбогон статус менен ишти бүтүрбө" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1480,123 +1524,134 @@ msgstr "" "файлдардын аттары команда строкасында же -T опциясы менен берилгенде гана " "жарактуу болот. N-дин мааниси алдынала 1ге барабар." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "Архивдин ичиндегилерди издесе болот" -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "Архивдин ичиндегилерди издесе болот" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "үстүнө көчүрүү контролу:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "архивди сактагандан кийин текшерүүгө аракет кылат" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "файлдарды архивге кошулгандан кийин өчүрөт" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "мурун бар болгон файл архивдеги копиясындан жаңы болсо аны алмаштырба" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "бар болгон файлдын ордуна көчүрүүдөн мурун ал файлды өчүрөт" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "папканы чыгарардан мурун баардык иерархияларды өчүрөт" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "мурун бар болгон папкалардын мета-касиеттерин корго" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "чыгаруу учурунда бар болгон папкалардын мета-даталардын үстүнө жазылат " "(алдынала тандалат)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Чыгаруу() жолун танда:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "файлдарды стандарт чыгарууга (output) жөнөт" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" "архивден чыккан файлдарды канал(pipe) жолу менен башка программага жөнөтөт" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "туулган процесстердин бүтүрүү кодторуна караба" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "туулган процесстердин нөл болбогон бүтүрүү кодторун ката деп ишке ал" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Файлдын өзгөчөлүктөрүн колго алууда:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "кошулган файлдардын ээсин АТЫ деп кой" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "кошулган файлдардын группасын АТЫ деп кой" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "ДАТА-ЖЕ-ФАЙЛ" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "кошулган файлдардын алмашуу убактысын ДАТА-ЖЕ-ФАЙЛ дан ал" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "УКУК" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "кошулган файлдардын укук абалын УКУК деп кой" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "МЕТОД" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1606,32 +1661,32 @@ msgstr "" "сакта (МЕТОД='replace'; алдынала тандалат) же колдонуу убакыттарын " "алмашырбай туруп сактап кал (МЕТОД='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "файлдын алмаштыруу убактын чыгарбайт" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "ээсин ошол бойдон калтырып файлдарды чыгарууга аракет кылат" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "файлдарды өзүңдүкү катары чыгарат" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "ээси/группа аттарын ардайым номерлер менен көрсөтөт" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "файлдын уруксат маалыматын да чыгар (суперколдонуучуга алдынала тандалат)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1639,15 +1694,16 @@ msgstr "" "архивден уруксат маалыматын чыгарыбатканда колдонуучунун umask'ын колдон " "(жөн колдонуучуларга алдынала тандлат)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "чыгатурган файлдарды архивдегидей кылып сортто" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "-p жана -s менен бирдей" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1655,141 +1711,182 @@ msgstr "" "чыгарылган папкалардын колдонуу убакыттарын жана уруксаттарын чыгаруу иши " "бүткөндөн кийин коёт" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore опциясынын эффектин токтотот" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Файлдын өзгөчөлүктөрүн колго алууда:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Аспапты тандоо жана ага өтүү:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "АРХИВ" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "АРХИВ деген архивдик файлды же аспапты колдонот" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "архивдик файлда эки точка болушуна карабастан ал локалдуу" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "rmt'нин ордуна КОМАНДА колдонулат" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "rsh'тын ордуна КОМАНДА колдонулат" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "драйв жана анын тыгыздыгын белгиле" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "көп томдуу архивди жарат/тизмеле/чыгар" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "N x 1024 байт жазгандан кийин лентаны алмаштыр" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "ар лентанын аягында скриптти иштет (-M опциясы колдонулат)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "ФАЙЛ файлынын ичиндеги том номерин колдон/жаңырт" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Аспаптын блоктолушу:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "БЛОК" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "ар маалыматка БЛОК x 512 байт түшөт" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "Ар маалыматка N байт түшөт, 512 көбөйтүндүсү" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "архивдеги нөлдүү блокторду өтүп кетет (EOF жөнүндө)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "окубатканда кайрадан блокторго бөлүп чык (4.2BSD каналдары үчүн)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Архивдин форматын тандоо:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "тандалган форматта архив жаратат" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "ФОРМАТ булардан бирөө болот:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "эски V7 tar форматы" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "tar <= 1.12 версиясында болгондой GNU форматы" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x форматы" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) форматы" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) форматы" # pax деген gid,atime сияктуу нерселер -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "pax менен бирдей" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "--format=v7 менен бирдей" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "--format=posix менен бирдей" # keyword эмне болот? -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ачкыч-сөз[[:]=мааниси][,ачкыч-сөз[[:]=мааниси]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "контролдоо үчүн pax ачкыч сөздөрү" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1797,78 +1894,78 @@ msgstr "" "том аты ТЕКСТ болгон архив жарат; тизмелөө/чыгаруу учурунда, ТЕКСТ дегенди " "том атынын глоб шаблону катары колдон" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "ПРОГ" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "ПРОГ менен ишке ал (-d опциясы болушу керек)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Локалдуу файлдарды тандоо:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "ПАПКА" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "ПАПКА папкасына өт" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала " "тандалат)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "ШАБЛОН" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1876,96 +1973,98 @@ msgstr "" "CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы " "кошулбайт" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы " "кошулбайт" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "ФАЙЛ файлы болгон папкалар кошулбайт" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "папкалардын тереңине кирип кетүүнү токтот" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "архивди жасабатканда локалдуу файл системасында кал" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "папкалардын тереңине кирет (алдынала тандалган)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "файл аттарынын башындагы '/'терди өчүрбө" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот" -#: src/tar.c:687 +#: src/tar.c:733 #, fuzzy msgid "follow hard links; archive and dump the files they refer to" msgstr "" "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "МҮЧӨНҮН-АТЫ" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "архивдеги МҮЧӨНҮН-АТЫ мүчөсүнөн башта" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "ДАТА-ЖЕ-ФАЙЛ'дан жаңы болгон файлдарды гана сакта" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "датасы алмашканда гана дата жана убактысын салыштыр" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "өчүрөрдөн мурун копиясын сактап кал, CONTROL версиясын танда" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRING" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1973,102 +2072,105 @@ msgstr "" "өчүрөрдөн мурун копиясын сактап калат, жалпы колдонулган суфикс кошулат (бул " "суфикс SIMPLE_BACKUP_SUFFIX жолу менен алмаштырылбаган болсо '~' болот)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Файлдын атынын алмашуулары:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "чыгаруу учурунда файл аттарынын башындагы N компонентти алып салат" # выражение кыргызча кандай? СҮЙЛӨМ башка жерде да бар -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "СҮЙЛӨМ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "файлдардын аттарын алмаштыруу үчүн sed replace EXPRESSION колдонгула" # inclusion, exclusion - Kyrgyz equiv? -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "тамгалардын чоң-кичинесине каралбайт" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала " "тандалган)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "кандай жазылса ошондой колдонулат" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "шаблондор `/' символун издебейт" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "шаблондор `/' символун издейт (алдынала тандалган)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Маалыматтандыруу:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "ишке алынган файлдарды кеңири маалыматы менен тизмеле" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 #, fuzzy msgid "warning control" msgstr "үстүнө көчүрүү контролу:" # Ушу 'record' сөзүнө жакшы котормо табалбай койдум # 'маалымат' деп жазыбаттым эле, бул жерде келишпей калаткен -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "ар N записьтен кийин маалымат берип турат (алдынала 10 болот)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "баардык шилтемелер кошулбай калса билдирүү жазып чыгар" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2080,32 +2182,36 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 жана SIGUSR2; SIG префикси жазылбаган " "аттарын да колдонсо болот." -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "файлды алмаштыруу датасын UTC түрүндө көрсөт" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "чыккан кеңири маалыматты ФАЙЛ файлына жибер" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "ар билдирүүдө архивдин ичиндеги блок номерин көрсөт" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "ар ишти аткарууга макулдук сурап тур" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "tar'да алдынала коюлган опцияларды көрсөтөт" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2113,33 +2219,33 @@ msgstr "" "тизмелөө же чыгаруу учурунда издөө критериясына жатпаган папкаларды да " "тизмелейт" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "алмаштыруудан кийин файлдын же архивдин аттарын көрсөтөт" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "СТИЛЬ" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "аттарга ковычка кошуу стилин тандаңыз; жарактуу СТИЛЬ түрдөрү төмөндө " "көрсөтүлөт." -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "STRING ичинде болгон тамгаларга кошумча ковычка кошот" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "STRING ичинде болгон тамгаларга ковычка кошпойт" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Келишүү опциялары:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2147,64 +2253,56 @@ msgstr "" "жаңы архив жасабатканда --old-archive менен бирдей; чыгарыбатканда --no-same-" "owner менен бирдей" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Башка опциялар:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "зыяндуу көрүнгөн опцияларды колдонууга тыюуу салат" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "`-Acdtrux' опцияларынан бирөөнү гана колдоно аласыңар" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Сигналдын аты белгисиз: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Датанын шаблон файлы табылган жок" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Белгисиз %1$s дата форматынын ордуна %2$s коюлат" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "%s опциясы: `%s' датасын %s деп алды" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: файл тизмеси окулган" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: алынган файлдын атында бош тамгалар бар" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "архивди gzip менен ишке ал" -#: src/tar.c:1296 +#: src/tar.c:1179 #, fuzzy msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style опциясы үчүн мындай аргументтер бар:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2212,173 +2310,198 @@ msgstr "" "\n" "*Бул* tar алдынала мындай иштетилет:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Ээси жарабайт" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Блок көлөмү жараксыз" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Лентанын узундугу жараксыз" -#: src/tar.c:1529 +#: src/tar.c:1466 #, fuzzy msgid "Invalid incremental level value" msgstr "Файлдын форматы туура эмес" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Бирден көп ченемдөөчү дата бар" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "кеңири жайлаштыруу форматынын версиясы жарактуу эмес" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "Бул платформада --atime-preserve='system' опциясы иштебейт" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint опциясына жазылган аргумент сан эмес" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Жараксыз группа" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Опцияда жарабаган укук абалы берилди" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Жарабаган номер" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Ээси жарабайт" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Маалымат көлөмү жарабайт" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Маалыматтын көлөмү %d көбөйтүндүсү болушу керек." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Элементтердин саны жарабайт" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "--to-command опциясы бир эле жолу жазылыш керек" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Тыгыздык аргументи туура эмес: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Түшүнүксүз тыгыздык: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Бул* tar `-[0-7][lmh]' опцияларын иштетпейт" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Эски болгон `%c' опциясына параметр керек." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Бир нече архив файлы болсо `-M' опциясы колдонулушу керек" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental менен --newer чогу колдонулбайт" -#: src/tar.c:2406 +#: src/tar.c:2416 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Томдун тамгасы өтө узун (эң көп %lu байт боло алат)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Көп-томдуу архивдерди текшералбай калды" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Кысыштырылган архивдерди текшералбай калды" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "%s шаблону колдонулбайт" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Көп-томдуу кысыштырылган архивдерди колдоналбай калды" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Кысыштырылган архивдер кошулалбайт" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option POSIX архивдеринде гана колдонула алат" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option POSIX архивдеринде гана колдонула алат" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option POSIX архивдеринде гана колдонула алат" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option POSIX архивдеринде гана колдонула алат" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "%s шаблону колдонулбайт" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Бош архив жаратуудан уялып баш тартып жатат" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "`-Aru' опциялары `-f -' менен келишпейт" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "`-Acdtrux' опцияларынан бирөөнү тандап колдонуңуз" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2389,119 +2512,115 @@ msgstr[0] "%s: Файл %s байтка азайды" msgid "Keyword %s is unknown or not yet implemented" msgstr "%s сөзү белигсиз же азырынча киргизилген эмес" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Сан жарактуу маанилердин тышында: %s" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "%s шаблону колдонулбайт" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "%s ачкыч сөзү алмаштырылбайт" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Кеңейтилген башкы-маалымат бузук: узундук жок" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Кеңейтилген башкы-маалыматтын узундугу жарактуу маанилердин тышында" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Кеңейтилген башкы-маалыматтын узундугу - %*s - диапазондун тышында" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" "Кеңейтилген башкы-маалымат бузук: узундуктан кийин бош жер (пробел) жок" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Кеңейтилген башкы-маалымат бузук: барабар символу жок" # newline эмне болот? -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Кеңейтилген башкы-маалымат бузук: жаңы сап жок" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Кеңейтилген башкы-маалыматта белгисиз `%s' сөзү каралбайт" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Чыккан ачкыч-сөз/маани экилиги ото узун (ачкыч-сөз=%s, узундугу=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "%s=%s түрүндөгү кеңейтилген башкы-маалымат %s..%s диапазондун тышында" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s туура эмес" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s ашыкча көп" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Кеңейтилген башкы-маалымат бузук: туура эмес %s: күтүлбөгөн жерде бул - %c - " "бөлүүчү символ бар" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Кеңейтилген башкы-маалымат бузук: туура эмес %s: так санда маани бар" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Жараксыз группа" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Жазууну текшерүү жери: %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Окуунун текшерүү жери: %u" @@ -2649,7 +2768,7 @@ msgstr "Сан жарактуу маанилердин тышында: %s" msgid "Negative size: %s" msgstr "Көлөмү терс сан: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) аткарылбай калды" @@ -2678,8 +2797,8 @@ msgstr "Датанын форматы түшүнүксүз" msgid "[ARGS...]" msgstr "[АРГУМЕНТТЕР...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "`%s' ачылбай жатат" @@ -2693,69 +2812,105 @@ msgstr "издөө болбой калды" msgid "file name contains null character" msgstr "файлдын атында бош тамга бар" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "кеңири(чоң) файлдарды стандарт чыгарууга жибералбайт, --file опциясын " "колдонуңуз" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "туура эмес маска (`%s' жанында)" # фиелд деген кандай болот? -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Белгисиз поле `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "`%s'ке убакыт аталган жок" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "`%s' ачылбай жатат" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s командасы аткарылбай калды" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "`%s' ачылбай жатат" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Команда толук аткарылды\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Команда %d статусу менен аткарылбай калды\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Команда %d сигналы менен жабылды\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Команда %d сигналы менен токтотулду\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Команда core dump менен бүттү\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Команда жабылды\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat опциясы менен файл аттары жазылыш керек" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Учурдагы папка алмаштырылбайтат" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "чыгатурган файлдарды архивдегидей кылып сортто" + +# фиелд, снэпшот дегендер кандай болот? +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Снэпшот файлды окубатканда ото узун поле чыкты" + +# snapshot? +#~ msgid "Read error in snapshot file" +#~ msgstr "Снэпшот файлды окубатканда ката болду" + +# фиелд кандай болот? snapshot? +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Снэпшот файлда күтүлбөгөн поле(фиелд) бар" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Кеңейтилген башкы-маалыматтын узундугу жарактуу маанилердин тышында" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Жараксыз группа" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Файл окулганча өчүрүлүп кетти" diff --git a/po/ms.gmo b/po/ms.gmo index b7c4b394ea7f0f74c3b6f99f2269debcfd39f9e0..04f9c23df890d8c23406b3197fabe3d2f80ab71d 100644 GIT binary patch delta 2463 zcmZYBTTB#J9LMoLE>@sk5GhxcbriVaeT0C zLexfAY@5{Bv^GsdrF0)OHEE&`ZPAz-Qe$kR(Uun@hWONIV(j;~j7d{Z_|NCenb~vZ z{Lh)uTa6=8=SEg)pHVuAnZ%bKGd0Yd#DUV8ZZ;XWV-D^@ANFA}p1~=29rgP=I3Lq8 z%!)9A)!2dscnGKC0Op!Gc89K+dYPn%^!5mw;>)W98>hX=77`_Yd#P!BkP zr`7NCQTIn&TT%V*a<6}iLB_XJRMf#uoP()MCky9c3RdD%SdIBu=U#8a=Q;1dFn)oW z@o!jyW7vR&Q_VuS0bjtws0TZTVaB%+Dgi8*X0{ktqRxA<5YM6>>?*3``|kN%rlSX6 zhU#!D>H+p6x7aCs5r4uNcn7`s2$gX!>)@#43M#s>1+_LGaZm@Jp{{?2WY>m}HM1+I z4(_6s$V0lc_Iap*!md%|&(?F8g`LRQwjW8h9nB*D>gWUwTGR9H4S%9iHHvdFmtHk+ z4bo(sD2)zme9{rYeF^Iad6DY2Z&#Ykmy%8vcUna1{0XhZw?Hq(|4+U<7xf7YC4Jm~)wmelUW{ zL@EcRY&NRB4AtJmLGN)4pTlFQ%v{1syp7tNex^rPwi-2X47K+AP;W~=YTzr#k~nso zN`!`K^rjn@qtc%6elnz$VnhdffAG zP)m0ja~vvvP|*|L!!j)Jj_>j)YR%h_OST2IYkQHT*K1BG+(TBua{T094-n!rrVeUR7g~{Ti*;if_M!%gqwYJ2DL91s=3m5g z{0lXKQP)X~rv81X`^r$6Sc**<{_36+5y^z8fF9WGNCDHIxU2@`YNKHSWl?DPplzI2yKMT#Cyam#0sK@*hn-J zeEuBUMuoL_qP*(1EdSpXZExjK`(8!cR|`}@G!QDvpSHgiN~Mlil&tZ+#cD#^S>q>n z#oJWhNH&ZgIv|x${*=rA7A@Lagtj+pll-fs#Nd@pbOOjCh0Z*Tm2MLeIZnN7p9+ delta 2966 zcmYk-S!`5Q9LMp4Z7HpQ&>~eR^cJXvmVud;vddCgWGO8Q1+5LeWiFjdXJeLBBFTuD z0Fp=p0Zj;RVv5wn*auuWk}Y|GGx!p zdQ=DPs4YsO_Wl@>408cB;DF~f~6KWeXA zQ7eyo*N2d%=B(!>)QfTjHP9gH@D1Y_%;Q8VGX=;CU}m9y_j&iXW~eA-E^6<3Py@V! zdR_WanYe}p_#^5t4x!rrg33$*%SkihVpMTp~^y;ei0fyc27ZAm$5VvVTZUqfx(1ys8msFV+*GW09*G57gWMvLiO16SY@ z+=6rU{vV<83^)3*5x>LLIF*gkThWS|;1O)VKGfkG!gV-_wCMg$~3Q_%|EMXjvgyZ!;ScfTXsY$jCZQaT40aNUGD<%dvvei9kWoJSqn zFOck;>qx52Fmf)<-)LbeooDpEFQTFpZ9omw=3OVy;`%7+(Db1?{uDW9=4;ddcTgSw zg?!9J{wl4&0BYqC)FC~CKD>%*_vdW#Pqs}N`BeuEsKd1d*?!}o-q*uOw$0n9jy^;k zz9HmeM)=ZRmvT@vK|kvGm8ko>Q43AuI6R6Pr?-mytKkRS7=u?)85qPOyo*}lZ=U&V ztOlq+wW~#Ct`XI47b;T;EWjf;7LTL0rWdt?ja$iA~N>N-%nh(+FgrAsL< zB$&KO5-P=~D+^1titNs=MdfXuZcx(1vxIW>7_o=QBN~ZrVlSZs@TlliXv0;O5zi6Z ziQPmcv6ILrMwgZPE28&6WdosiL&YKvsN$7o3=!=_r*|)buMnHO>j=&x9AX>6|7_Dl zsAvPV*{g^x#C$@BVVeGmsDz1^3H^CdX~~iO-p_Xfq2rh$qQq+Ac|s*f=xD0gL>IA` zs3mmtTM3;UPI~swpk5cfgDQ189gj*Il>kvitQl~Nz8_Z*>xnvv(~C+z$ux(9RxF-! zV^OQ4YHziba1Ny1gp;)FsAVU*(h(<`T40*9Es|D;uPRy1PeHHN8B2w%9y^+{k}2-m ziJ;|12i7LiJdtqtVQ(xFw^MFs*s*$C9_;Y#Yp{IPqZ+sQeM{Qg!jVvWwH1xg zYdRi}B~nh%>O5%Gq(W}8#!A_Vfj>%8d6NP@f4whIX9WVw8|rKQbpx@fr-~=HI1xAO zc3UYoXm?vlJ9Mh@dZxK0dC-YkVLM{ymKkv(P9mJ{W|g7zemkTkW}D{S*p$X~5_ZzHf=;xHu9j-4xs`f@j9#eP2i;_>I~MJ- UVqqtwC0aFZ)U6p9tSry_50Qdm*8l(j diff --git a/po/ms.po b/po/ms.po index f786b8f2..952f1030 100644 --- a/po/ms.po +++ b/po/ms.po @@ -2,12 +2,12 @@ # Copyright (C) 2002 Free Software Foundation, Inc. # Hasbullah Bin Pit , 2002. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.13.25\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2002-11-23 02:38+0800\n" "Last-Translator: Hasbullah Bin Pit \n" "Language-Team: Malay \n" @@ -27,69 +27,68 @@ msgid "ambiguous argument %s for %s" msgstr "hujah kabur %s bagi %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Hujah sah adalah:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Pengunaan : %s [OPSYEN]...\n" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Cuba '%s --help' untuk maklumat lanjut.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" "\n" "Lapor pepijat ke .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Ralat sistem tidak diketahui" @@ -101,7 +100,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -122,17 +121,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -140,62 +138,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opsyen `%s' adalah kabur\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opsyen `--%s' tidak mengizinkan hujah\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opsyen %c%s' tidak mengizinkan hujah\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opsyen tidak dikenali `--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opsyen tidak dikenali '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opsyen tidak sah -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opsyen memerlukan hujah -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opsyen `-W %s' adalah kabur\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opsyen `-W %s' tidak mengizinkan hujah\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memori keletihan" @@ -211,29 +209,31 @@ msgstr "Tak dapat simpan direktori kerja" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" # ui/galeon.glade.h:3 -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -243,7 +243,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -253,7 +253,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -517,7 +517,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Tak boleh laksanakan shell jauh" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Tak boleh laksanakan shell jauh" @@ -573,8 +578,8 @@ msgstr "EOF tanpa diduga pada arkib" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -582,8 +587,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -598,7 +603,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s: Tak dapat rayau ke %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -607,9 +612,9 @@ msgstr "" msgid "Garbage command" msgstr "Arahan sampah" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Ia nampaknya bukan seperti arkib tar" @@ -648,65 +653,65 @@ msgstr "Tak dapat menentusahkan arkib stdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Tak dapat mengemaskini arkib termampat" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Pada permulaan pita, keluar sekarang" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Terlalu banyak ralat, keluar" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Saiz rekod = %lu blok" msgstr[1] "Saiz rekod = %lu blok" -#: src/buffer.c:913 +#: src/buffer.c:914 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Blok tidak dijajar (%lu byte) pada arkib" msgstr[1] "Blok tidak dijajar (%lu byte) pada arkib" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "tak dapat backspace fail arkib; ia mungkin tak boleh dibaca tanpa -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: mengandungi nombor volum yg tidak sah" -#: src/buffer.c:1108 +#: src/buffer.c:1109 #, fuzzy msgid "Volume number overflow" msgstr "Nombor volum melimpah" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Menyedia volum #%d bagi %s dan tekan return: " # libgnomeui/gnome-app-helper.c:127 -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF dimana maklumbalas pengguna dijangka" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "AMARAN: Arkib tidak lengkap" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -718,628 +723,667 @@ msgstr "" " ! Spawn subshell\n" " ? Cetak senarai ini\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Tiada volum baru; keluar.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, fuzzy, c-format msgid "%s command failed" msgstr "Arahan '%s' gagal" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s tidak bersambung pada volum ini" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s tidak bersambung pada volum ini" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s adalah salah saiz (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Volum ini tidak dalam turutan" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkib tidak dilabelkan supaya memadan %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Volum %s tidak sepadan %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "" -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Hanya boleh membaca %lu drpd %lu byte" msgstr[1] "Hanya boleh membaca %lu drpd %lu byte" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Kandungan berlainan" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "EOF tanpa diduga pada arkib" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Jenis fail berbeza" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Mod berbeza" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid berbeza" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid berbeza" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Masa mod berbeza" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Saiz berbeza" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Tidak dipautkan ke %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symlink berbeza" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Nombor beranti berbeza" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Tentusah" -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Jenis fail tak dikenali '%c', berlainan dengan fail normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "GAGAL TENTUSAH: %d pengepala tak sah dikesan" msgstr[1] "GAGAL TENTUSAH: %d pengepala tak sah dikesan" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "nilai %s diluar julat %s %s..%s; menggantikan %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "nilai %s diluar julat %s %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Menjana pengepala oktal negatif" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:622 +#: src/create.c:611 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar" msgstr[1] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Jenis fail tak dikenali; fail diabaikan" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Pautan ke %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fail tidak berubah; tidak dilonggokkan" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fail adalah arkib; tidak dilonggokkan" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fail berubah bila kami membacanya" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: soket diabaikan" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: pintu diabaikan" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Melangkah ke pengepala berikut" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Memadam bukan-pengepala drpd arkib" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: setem masa %s adalah %lu pada masa akan datang" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Ketidakkonsistenan luar dugaan bila membuat direktori" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Direktori ditukarnama sebelum statusnya boleh diekstrak" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Mengekstrak fail bersambung sebagai fail biasa" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Cuba mengekstrak pautan simbolik sebagai pautan keras" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Tak dapat ekstrak -- fail bersambung dari volum lain" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Penghujungan tanpa diduga data imej PNM" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Jenis fail tak dikenali '%c', diekstrak sebagai fail biasa" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tak dapat backup fail ini" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Tak dapat menukarnama ke %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Direktori telah ditukarnama" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Direktori telah ditukarnama" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Direktori adalah baru" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Direktori telah ditukarnama" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Setem masa tidak sah" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Mod tidak sah diberi pada opsyen" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Nombor peranti tidak sah" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Nombot inod tidak sah" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "EOF tanpa diduga pada arkib" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Tak dapat memperuntukkan memori bagi faktor pemblokan %d" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Memadam %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: tak dapat buang" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok TIADA **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Akhir Fail **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Pengepala kosong dimana nilai %s numerik dijangka" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "Nilai oktal arkib %.*s diluar julat %s; anggap kedua-dua pelengkap" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Nilai oktal arkib %.*s diluar julat %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Rentetan %s base-64 ditandatangani arkibadalah diluar julat %s " -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Nilai base-256 arkub adalah diluar julat %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkib mengandungi %.*s dimana nilai %s numerik dijangka" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Nilai %s arkib adalah dijuar julat %s %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr "Pautan ke %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr "jenis fail tak diketahui %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Pengepala Volum--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Bersambung pada byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Mencipta direktori:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Tak dapat tukar direktori kerja" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Menukarnama %s ke %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Tak dapat menukarnama ke %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Menukarnama %s kembali ke %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fail dibuang sebelum kami membacanya" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proses anak" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "saluran antaraproses" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Arahan '%s' gagal" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: fail adalah arkib; tidak dilonggokkan" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "%s: Tak dapat rayau ke %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Tak dijumpai pada arkib" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Tak dijumpai pada arkib" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Arkib tidak dilabelkan supaya memadan %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Opsyen `-%s' dan `-%s' kedua-duanya memerlukan input piawai" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Kumpulan tidak sah" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1356,9 +1400,9 @@ msgstr "" "verbose.\n" " %s -xf arkib.tar # Ekstrak semua fail drpd arkib.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1368,80 +1412,80 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "EOF tanpa diduga pada arkib" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1449,565 +1493,614 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "" + +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 #, fuzzy msgid "extract files to standard output" msgstr "Ralat ketika menulis ke output piawai" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Tak dapat menentusah arkib multi-volume" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "opsyen format arkib konflik" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Opsyen mampatan konflik" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "Tak dapat tukar direktori kerja" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Membuang awalan `%.*s' drpd nama ahli" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "Volum %s tidak sepadan %s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2015,300 +2108,317 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "Mod tidak sah diberi pada opsyen" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Anda tak boleh nyatakan lebih drpd satu opsyen `-Acdtrux'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Opsyen mampatan konflik" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "jenis fail tak diketahui %s\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Fail tarikh tidak dijumpai" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Mengganti %s bagi format tarikh tak diketahui %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 -#, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: fail adalah arkib; tidak dilonggokkan" - -#: src/tar.c:1201 +#: src/tar.c:1108 #, c-format -msgid "%s: file name read contains nul character" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "%s: fail adalah arkib; tidak dilonggokkan" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Pemilik tidak sah" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Faktor pemblokan tidak sah" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "panjang pita tidak sah" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Kumpulan tidak sah" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Mod tidak sah diberi pada opsyen" -#: src/tar.c:1912 +#: src/tar.c:1858 #, fuzzy msgid "Invalid number" msgstr "Nombot inod tidak sah" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Pemilik tidak sah" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Saiz rekod tidak sah" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Saiz rekod mesti dalam gandaan %d." -#: src/tar.c:2019 +#: src/tar.c:1975 #, fuzzy msgid "Invalid number of elements" msgstr "panjang pita tidak sah" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr "jenis fail tak diketahui %s\n" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opsyen `-[0-7][lmh]' tak disokong oleh tar *ini*" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "OPsyen lama `%c' memerlukan hujah." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Fail akrib beraneka memerlukan opsyen `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Tak boleh gabung --listed-incremental dengan --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Label volum adalah terlalu panjang (had adalah %lu byte)" msgstr[1] "%s: Label volum adalah terlalu panjang (had adalah %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Tak dapat menentusah arkib multi-volume" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Tak dapat menentusahkan arkib termampat" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Tak dapat menggunakan arkib multi-volume termampat" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Tak dapat mengemaskini arkib termampat" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Secara dayus enggan mencipta arkib kosong" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opsyen `-Aru' tak serasi dengan `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Anda mesti nyatakan satu drpd opsyen `-Acdtrux'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2320,115 +2430,111 @@ msgstr[1] "%s: Fail mengecil sebanyak %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Setem masa diluar julat" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "Rentetan %s base-64 ditandatangani arkibadalah diluar julat %s " -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Nilai %s arkib adalah dijuar julat %s %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Kumpulan tidak sah" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Menulis titiksemak %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Membaca titiksemak %d" @@ -2566,7 +2672,7 @@ msgstr "Nombor inod diluar julat" msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2595,8 +2701,8 @@ msgstr "Ralat sistem tidak diketahui" msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "" @@ -2611,66 +2717,84 @@ msgstr "Tak dapat tutup" msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "jenis fail tak diketahui %s\n" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Tak dapat rayau ke %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "%s: Tak dapat rayau ke %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Arahan '%s' gagal" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Tak dapat rayau ke %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Anak mati dengan isyarat %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "Nama fail modul" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Tak dapat tukar direktori kerja" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Kumpulan tidak sah" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Fail dibuang sebelum kami membacanya" diff --git a/po/nb.gmo b/po/nb.gmo index 4fbbf7355510e72ee5728197ff7cb2d9ad3bcc82..863407f8c86a9cf74f7a7beee3d814d3b3314cdf 100644 GIT binary patch delta 1111 zcmXxjO>9h26u|K_`k^hIjw#hrouO47(=zR}6;}0;h?VG0!d^+2NLWl{A{M$KAt5A< zNUYdQqANSGkP?zwbiob_3rg4^@&CV$o80$%_q}=d+-qfp65u_i-cR1!Rg? z#6IH35;yMf2eR4dY>i;?(SzqGM;_Z5&$X>)-_a7Zr^&x5F0x#n#Su&n2fDKvv}RTGP|c%(YUl!%(TTpGC2J)uE+~h7e+UhH z3JrV)ou`V%yWK(l-O)oH4B-p31YfZke_{%)mlIhgpWE{EHS|8Z2iAG~7uj5l0cXSjo3CwtJQ2>Nm-0R{!#*?SHd&*56d`p{Hx-8{an6ez#mpWy&L?rIFG^eyn_8v{WpW PYd6~ln`&1x$5Q_Qy?s{P delta 1581 zcmYk+O>7fK7{>7lgrs~lq)E#6$53iaoNllaA_NB{4h;eo(L*T*K*}bb#7pe8S+7k| zk$eHf1qluyE(i&U1B!Yfm$rsOd#S2QRDgN_s;bwjy%dQOsXg@n*baE4$!~XOXXkz2 z8Rx&PkG9u->+8I3XuIi~=np!KIfy5h@`v_Cr!lMW9Dab8uov&)I{X&5rK_03OQD8pY{FZ_Y;bKmt&Gs8`&jK?s6@W|DwLPZMiXPaTpcIIBNdqxE{~rO4c_wS`Y5v0QV1&7|dhbg3nMDSU`$o z)~z5o+=8=gR|4PV{u*hjVz*HXevew{3GTqZP=WRnT@QYYH4S{m#UA_;Rmyp^_zPvvWfy4L}mU7YF>moZ+CmBze@X@2LxyS#0~fw zwMTuVp+lBNzG)7j4$pB^W+7@%FQX3KT~vTyqZaxdQ`pZUN*F;z)TRZ_Ebl~_%c(LOJ>U0i6pR7w3ZsPufY z^XH|tqxq~Ymg1lo+KI$e(njt~C5T+v`l0osnM%Qh@vu4Cc%y75yhJ(4P_}h7S&Vb` ztRKd<9P`wVvNi}ymAGxffvCca$T2WgER_5>n9MtSHelj}H$7&(WZTOp(%zm^C-Q~d zsiX~ye6><46{FZ??c_O|igQ6ZWn({@f7N}tqc`KFN4?C5&1CkCjSi(p=C3T@v8;B` zFBDupw$pikX2#AXrs{UmW!S5SJfcT48~ZgJ+08RO(Cng z<&!};`!=ZpaUPlTrma_RfA?)tb-uR{$5c0%opsi)+Emtsp-b7IP|7>i+Ap6jhK|}- L8;RcUIo$C--sS1= diff --git a/po/nb.po b/po/nb.po index 5c5d1a59..60dfb5eb 100644 --- a/po/nb.po +++ b/po/nb.po @@ -2,12 +2,12 @@ # Copyright (C) 1996 Free Software Foundation, Inc. # Karl Anders Øygard , 1996. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: GNU tar 1.12\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 1997-06-05 19:39 MET DST\n" "Last-Translator: Espen Skjelnes Johnsen \n" "Language-Team: Norwegian-bokmål \n" @@ -27,67 +27,66 @@ msgid "ambiguous argument %s for %s" msgstr "Tvetydig mønster «%s»" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Bruk: %s [FLAGG]...\n" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Tast «%s --help» for mer informasjon.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Unkjent systemfeil" @@ -99,7 +98,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -120,17 +119,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -138,62 +136,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "Ugyldig verdi for record_size" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "Gammelt flagg «%c» behøver et argument." -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 #, fuzzy msgid "memory exhausted" msgstr "Minne oppbrukt" @@ -210,28 +208,30 @@ msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "" @@ -241,7 +241,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -251,7 +251,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -516,7 +516,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Kan ikke eksekvere \"remote shell\"" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Kan ikke eksekvere \"remote shell\"" @@ -571,8 +576,8 @@ msgstr "Uventet filslutt i msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -580,8 +585,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -596,7 +601,7 @@ msgstr "" msgid "cannot open %s" msgstr "Kan ikke åpne %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -605,9 +610,9 @@ msgstr "" msgid "Garbage command" msgstr "Ugyldig kommando" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Dette ser ikke ut som et tar-arkiv" @@ -652,64 +657,64 @@ msgid "Archive is compressed. Use %s option" msgstr "" # -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Kan ikke oppdatere komprimerte arkiver" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "På begynnelsen av båndet, avslutter nå" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "For mange feil, avslutter" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Blokkstørrelse = %d enheter" msgstr[1] "Blokkstørrelse = %d enheter" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:990 +#: src/buffer.c:991 #, fuzzy msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kunne ikke gå tilbake i arkivfilen. Den kan være uleselig uten -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, fuzzy, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "\aGjør klar volum nummer %d for %s og trykk return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF der svar fra bruker var forventet" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ADVARSEL: Arkivet er ufullstendig" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -721,634 +726,670 @@ msgstr "" " ! Start et shell\n" " ? Skriv denne listen\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Ikke nytt volum; avslutter.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s fortsetter ikke i dette volumet" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s fortsetter ikke i dette volumet" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, fuzzy, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s har feil størrelse (%ld != %ld + %ld)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dette volumet kommer ute av rekkefølge" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, fuzzy, c-format msgid "Archive not labeled to match %s" msgstr "Arkivet er ikke navngitt for å passe med «%s»" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, fuzzy, c-format msgid "Volume %s does not match %s" msgstr "Volumet «%s» stemmer ikke overens med «%s»" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "Arkiv %s sluttet ikke ved en blokkgrense" -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kunne bare lese %d av %ld bytes" msgstr[1] "Kunne bare lese %d av %ld bytes" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 #, fuzzy msgid "Contents differ" msgstr "Modus er ulik" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Uventet filslutt i arkivet" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 #, fuzzy msgid "File type differs" msgstr "Størrelse er ulik" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Modus er ulik" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid er ulik" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid er ulik" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Modifiseringstid er ulik" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Størrelse er ulik" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Ikke linket til %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symbolsk link er ulik" -#: src/compare.c:317 +#: src/compare.c:318 #, fuzzy msgid "Device number differs" msgstr "Enhetsnummer er endret" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verifisering " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "Ukjent filtype «%c» for %s, diffet som en vanlig fil" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFIKASJONSFEIL: %d ukjente arkivhoder funnet" msgstr[1] "VERIFIKASJONSFEIL: %d ukjente arkivhoder funnet" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: er uendret; ikke lagret" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: er uendret; ikke lagret" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "Filen %s krympet med %d bytes, fyller ut med nuller" msgstr[1] "Filen %s krympet med %d bytes, fyller ut med nuller" -#: src/create.c:1160 +#: src/create.c:1180 #, fuzzy, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: På et annet filesystem. Ikke lagret" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (minnet lagret)" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Ukjent filtype; filen ble ignorert" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " link til %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, fuzzy, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: er uendret; ikke lagret" -#: src/create.c:1699 +#: src/create.c:1719 #, fuzzy, c-format msgid "%s: file is the archive; not dumped" msgstr "%s er arkivet; ikke lagret" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Hopper til neste startseksjon" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Tar bort ikke-hodedata fra arkivet" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Ekstraherer sammenhengende filer som vanlige filer" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Forsøker å ekstrahere symbolske linker som harde linker" -#: src/extract.c:1365 +#: src/extract.c:1528 #, fuzzy, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "Kan ikke ekstrahere «%s» -- filen fortsetter fra et tidligere volum" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Uventet filslutt i arkivfilen" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "Ukjent filtype «%c» for %s, ekstrahert som en vanlig fil" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kunne ikke lage sikkerhetskopi av denne filen" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan ikke endre navn på %s til %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "Filkatalogen %s har endret navn" -#: src/incremen.c:485 -#, fuzzy, c-format -msgid "%s: Directory has been renamed" -msgstr "Filkatalogen %s har endret navn" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, fuzzy, c-format msgid "%s: Directory is new" msgstr "Filkatalogen %s er ny" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: På et annet filesystem. Ikke lagret" + +#: src/incremen.c:587 +#, fuzzy, c-format +msgid "%s: Directory has been renamed" +msgstr "Filkatalogen %s har endret navn" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Ugyldig modus gitt i flagg" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1115 src/incremen.c:1153 -#, fuzzy -msgid "Read error in snapshot file" -msgstr "Lesefeil på %s" - -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Uventet filslutt i arkivfilen" -#: src/incremen.c:1124 src/incremen.c:1164 -#, fuzzy -msgid "Unexpected field value in snapshot file" -msgstr "Uventet filslutt i arkivfilen" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kan ikke gå til filkatalogen %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Sletter %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, fuzzy, c-format msgid "%s: Cannot remove" msgstr "Kan ikke slette %s" -#: src/list.c:190 +#: src/list.c:189 #, fuzzy, c-format msgid "%s: Omitting" msgstr "Utelater %s" -#: src/list.c:207 +#: src/list.c:206 #, fuzzy, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blokk %10ld: ** Blokk med NUL-er **\n" -#: src/list.c:233 +#: src/list.c:232 #, fuzzy, c-format msgid "block %s: ** End of File **\n" msgstr "blokk %10ld: ** Slutt på fil **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, fuzzy, c-format msgid "block %s: " msgstr "blokk %10ld: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:840 +#: src/list.c:854 #, fuzzy, c-format msgid "Archive base-256 value is out of %s range" msgstr "Dette volumet kommer ute av rekkefølge" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " link til %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, fuzzy, c-format msgid " unknown file type %s\n" msgstr " ukjent filtype «%c»\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Volumhode--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, fuzzy, c-format msgid "--Continued at byte %s--\n" msgstr "--Fortsetter ved byte %ld--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Lager filkatalog:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Kan ikke gå til filkatalogen %s" - -#: src/misc.c:570 +#: src/misc.c:721 #, fuzzy, c-format msgid "Renaming %s to %s\n" msgstr "Endret navn på %s til %s" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, fuzzy, c-format msgid "%s: Cannot rename to %s" msgstr "Kan ikke endre navn på %s til %s" -#: src/misc.c:603 +#: src/misc.c:754 #, fuzzy, c-format msgid "Renaming %s back to %s\n" msgstr "Endret navn på %s til %s" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "" -#: src/names.c:590 +#: src/names.c:360 +msgid "command line" +msgstr "" + +#: src/names.c:378 +#, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "Kan ikke gjøre «stat» på %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Finnes ikke i arkivet" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Finnes ikke i arkivet" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Arkivet er ikke navngitt for å passe med «%s»" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Flaggene «-%s» and «-%s» vil begge ta standard inn" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "Ugyldig datoformat «%s»" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-funksjoner forsøkt på inkompatibelt arkiv-format" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1357,10 +1398,10 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1381,80 +1422,80 @@ msgstr "" " ellers enkle\n" " never, simple lag enkle sikkerhetskopier\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "Uventet filslutt i arkivet" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1462,568 +1503,617 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 #, fuzzy msgid "remove files after adding them to the archive" msgstr "Tar bort enhetsnavn fra navn i arkivet" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "" + +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Kan ikke verifisere arkiv som går over flere volum" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Arkivér til stdin" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Konflikt i kompresjonsflagg" -#: src/tar.c:616 +#: src/tar.c:662 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Kan ikke skrive til komprimeringsprogrammet" -#: src/tar.c:618 +#: src/tar.c:664 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Kan ikke skrive til komprimeringsprogrammet" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "Kan ikke gå til filkatalogen %s" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" # -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Tar bort ledende «/» fra absolutte linker" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "Volumet «%s» stemmer ikke overens med «%s»" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2031,302 +2121,318 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "Ugyldig modus gitt i flagg" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 #, fuzzy msgid "ask for confirmation for every action" msgstr "Kan ikke lese bekreftelse fra brukeren" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Du kan ikke angi mer enn ett av «-Acdtrux»-flaggene" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Konflikt i kompresjonsflagg" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "Ukjent mønster «%s»" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1057 +#: src/tar.c:1108 #, c-format -msgid "Option %s: Treating date `%s' as %s" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Ugyldig eier gitt i flagg" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Mer enn én grense-dato" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "Ugyldig eier gitt i flagg" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Ugyldig modus gitt i flagg" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "" -#: src/tar.c:1934 -#, fuzzy -msgid "Invalid owner" -msgstr "Ugyldig eier gitt i flagg" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 #, fuzzy msgid "Invalid record size" msgstr "Ugyldig verdi for record_size" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Blokkstørrelse må være delbart på %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 +#: src/tar.c:2133 #, fuzzy, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "Ukjent mønster «%s»" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Flaggene «-[0-7][lmh]» støttes ikke av *denne* implementasjonen av tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Gammelt flagg «%c» behøver et argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Ved flere arkivfiler behøves «-M»-flagget" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "" msgstr[1] "" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Kan ikke verifisere arkiv som går over flere volum" # -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Kan ikke verifisere komprimerte arkiver" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Kan ikke bruke komprimerte arkiv som går over flere volum" # -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Kan ikke oppdatere komprimerte arkiver" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "For feig til å lage et tomt arkiv" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Flaggene «-Aru» er inkompatible med «-f -»" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Du må angi ett av «-Acdtrux»-flaggene" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2338,114 +2444,110 @@ msgstr[1] "%s: Filen krympet med %d bytes, ( msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Skriver kontrollpunkt %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Leser kontrollpunkt %d" @@ -2583,7 +2685,7 @@ msgstr "" msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2612,8 +2714,8 @@ msgstr "Unkjent systemfeil" msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "Kan ikke åpne %s" @@ -2628,66 +2730,92 @@ msgstr "Kan ikke eksekvere %s" msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "Ukjent mønster «%s»" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "Kan ikke gjøre «stat» på %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Kan ikke åpne %s" + +#: tests/genfile.c:701 +#, c-format +msgid "command failed: %s" +msgstr "" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Kan ikke åpne %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Ødelagte filnavn--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Kan ikke gå til filkatalogen %s" + +#, fuzzy +#~ msgid "Read error in snapshot file" +#~ msgstr "Lesefeil på %s" + +#, fuzzy +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Uventet filslutt i arkivfilen" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "Ugyldig eier gitt i flagg" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "Filkatalogen %s har endret navn" diff --git a/po/nl.gmo b/po/nl.gmo index 34aa28cd74b7b741feb4b90c84b2f9561603a820..ade0e31a1f0dde9e812accc81316173fedb151cb 100644 GIT binary patch delta 11543 zcmYk=349IL`^WJ~BC$jeVoQ)KLJ}b&5{V#*CDvF%Y^@R@whFa0THDoDQF~oW)xJh) ztK3pcRaaFliqe*<>K?Rc`=cBEf4(`#>u+A3yw7uH?#!9zoSB;_KH+zEtDpPp%B7b3 zIF94v>p1b4Qps_=v@=}vk(ZA(hF}dsTYIdDnRpxrV+b~Ehr%(THj6IB}R^9f$SF*I_Wek5%wIYLHhk0>k)FM@+*=oQ*-a6KmlCY=Y-e z0|_8$i48Cm^P0HL1*X$cosPv=6^oEUIES$gp2Pi9kISKrzhxwR?&!H-H9W@}oW{y*c5vT#I z!Zdsnb)kQ3fBi(qq3LwON;nPm`Gv?O9rw#LbfK@YF8U@pPBKO!RdWWSPBIR0PZfKhIC5$3JkIb5L4_(-Zi$rsMr<-Xwg;<##>ro%rgSGJjYVQ8D z)<`i6G6ntUPeoNA4Y>zr2x<|oKrPa>SOMR#9z|W}9Jb{8&d)Tocp_VvQgueA*_m#A z1zV9{Ld|I?6R#2`VMENp>gYyYcqNv`b*R#B!%Vz@s-%k*ND-Ybn9B8?nKV?gLr6)S zpRpzeb5#v27OP=TR3%2Bp2RuW0llaT{f!z>Tx(O20jLX2Lk(;X*2V)EhM%LGh3foH zLw69#3ew11S=(E)kbh1NKXkkY8{qq>0bWB5pi;UyaeLH&b5Uz$GHSr9Z2kdi&Ha>4 z{WW)i8RoHy!&>C+uny*;M(oBaxE5Ww8+Cy*7=pzZj`y%4)@j4L1mjSZ9fvy48q|3X zqK-e=#_c$zX#7e?dHfxnM&2Ac+vrlcuKd1pkw>NXv7n{+-O7x=>m=|CY*LPOX(5vwijKROLAx367&P42i zZSXzR!2G+J_d_VE5{XzIGf@@kg{5#D>V_s^EKWtOjUv<(9YD7h%_$l>(a)$-{e}8q z&F)4Q>Q19jt33-fkXfkr#wx6UyHQi{HmdYz(S;XLmHZbqu&^Fx@ws|Xf1N0v4!!X* zF%Ab~1}?%NJcX*rC1l+>WqO(m^+0_t594tf*2h<{5uQa&fs<_p8jTuY2I^_*olX6< z$VStlkdj99rXu<(UP>bdU>cV%hF;?NWt6>||BI=JC&}38v=G*-TQIFYa z9X0oztv%3(yboq#Kh$Hp z7IlFSQIFvb)Kry!*bF=YbIG$&Yi18t=lafN8oHx9s1F1VGBkTdou?_hvsK@XI zYUFoO18z9j%w?LjH%8Du5=Y~FjK}`% zTag!F8ty<1pcqxDYI&x=6}rf$VkWM^ruZ#tZG{Xq-wExJW#!~yM?5&xZARid%q)sH z)CGHCA}+?d_&$c?kEnqLa2v{-qV{KFbDW5^aR<8a7`DY?RAn0tH^)DOI&PYqMkI|F zQFnd>TjEV@fsIC(4-UtAe`wwFy{03F> zpmAn@OVo9Spsq6?tLgcFgN90WvZRAWgMs9KVHo;9X5I^RQI%I-n^H&1qkZ$3m=uMW{J@8#Us~*d1?R zZ%ljK416i-gfE~f_ZDtvijHG5@`;n#PhNz~nsed_^M-BtB=y&vWj<*JFcNiwxmX34 z;d^VosQEU4^Q^3DkGQpI99$PBo8j6zawXq88yaR0ZF`FuXaH`s=YOKh1m~ z9yQ{8Y=f&%i|8V%B4wwWrzHYa@(c{cQK$jWviS>GiQJ1B_&%nh{|xh2bOsiZ&v(

c8tMdYJFo3nmJBK-O*%x2)ChDxzAJPg%pdk$n#K(@h9ww z)t@$N!#$ElT{;$GE8K;Z@j9xs|6v5URV^9NGk6rKtCSwh*qQ|Z$_QC0>ft#yaRMFc%C*O-*0yi;J*5{(yRMHC#yjb)um(I^pwJ8ZV$u^er|(pGD>l zqf!0&7>Kj53@*U{T!o!+1FB+IF&gVHHUsI7S_88&9N$<>{k1qgr$ZO|1Dj&l67#`s z7(-r&D)k1`abKfK>;JsjAB9>g*{G>3#3)>3^L?mAeG*-G1vS;aOR0Yc8r7GYk`BUH z@&y=-`%xDa8&iR8mjm0o4thdR!E zmPRg(Yp6w-wbC3o7xg%8MGfd3n}3E~$Zuj#Z21DeE#U&xR9(g(EW65l8CA!sMbz&HcQKtjdM#7S^_`J4wCHxDPH+h`F>IYF=@4v1J|7eC80wDx!6q2Jp8rt7 z{@4{iLKjxuU|u-QQI*O;EzSZ|C8ndh6pf`cbVn;ui*6n2&QD+{eutWhd#HZbMl)s2 zQ56}4dOC(Hqm1`x8voF^LfG;~5$aQYUvnTs8CXbP@k1XkN>PS^s+ zllR5ZcntNpHQQ$Hyp^>*mZLul{jnd`#YfPEZq(Fnz}omV*290bLyO2&WDZO~-9c~E zNT0$~+=un?7OEoEx0~({li| zm~Ue`2Jh0VnEB79p~q@2#^E7sh*z-zR(;JbPOL*d81?wfz>4TW4QMlJ3SPs~xDWmC zEz}}?7gh2ayUo{oYmDUj&SV<#xCT|?6F3h4hiRC<$ISf}bdeuNo#+~Bja2fQ0cK(w z@{vf9oE=Dso&K+zisYddUw3DjJ!!^XHD6Yxh2 z!kYWc-vd#od@5$(bEvg(95p51p{Ahp8)k7vyg~g7=;%s^PJ95hI)B1GSZ=?Wt6bEH zHlPM{09)W??1VKBm_M`gP-|!_rr>XwiLnRG3u!#6!mnT#Ja>@#>rPyU%p&QHN#si~ z8;@c~tnsFKKjfm;!~#r4FY5ExP&ZKLuvtS{7(+f4HC0<}ejGE%|3FnF$^Di&Z~!)^ z;~8v*2hoMUVjZk_#H@ul)cyk0oo~eMcoo}Yi?_|2Z3Z?W--!?7MQnk|@0bCN#}IP& z3L3ibPE5paQ6;MWuDPRh)Z#3_SX_tg@HmEHh4;+bX^6^Oqs}(~BX9}2(2Kg@XV@8w zF-^~Zv-iy%O~9V)*oIB<4z|LW4|pPQIO?%XJZkP_FlsHVLJjN)R>f-=;lnSjAF|jm z@|bxn(?2rj%S7Ga)7V1K{|*|O%kNQhS?jpD^B$N=J{@b}eyoY-Y<>gvl$8J246F`T zBkzp5KrZ&cx!4Q8z)+0+#5|@Qu;lOmxinPb{ir)CMwPN6x2?I4#g^Cw^}?Brm2d^N z#v*KlKVW67eA1M-J`N@yhYj!)X5nqr@$F7gf6dinG-9#HdKNVm|Do1I&reN7p0#?h z1N~R9Hb$Q|UrHUY3i)u<<2wbrC=`@ETXT8?Vo6^X&uXc{b$u09n8jir{vY_i{;dz>uZiRFWLe*_y{h+e~71P zr{jZLKFNIgCJ{_|$+u@cd%$OyM}IfmL;Ojce&F-Zk^7MM$3cX<8Oh)W4xrB&NxtiW zzT>pN)4{ec1tV>{7<1V76uzJjvwcGQ4I+-HL0l)a9U@xNeyAklU84K{l4Lramk2-F zm+>Y14z=nZ!rAyHYFmISZ2LviRq~TJu=6hc`|Q3D^3`^KG<}%6Cw3F>In>WNurptMnb^+~Yh- zc*i+=iQU8>g!?THc%H^Ayo!3R0|;$*>03{@Xpd0`n-5EO0)2WlYwJn-Z!C{jhz7*8 zl0D|f@8m0J&bNJ!;H&fT&xzkl`uJTB{m8=zUgORn98PGPV<`C*>vP(d zi4DY2;{G<7#>X6=fcx>V{p|hyPtf>@z8aeU>m;cp7f@fR?-AN&5ML0BiD~u(z0^;; z7ojf~ZC?Dqww1q4y8;nJT($jM@EKwP`_JK09Ee|Q{=sZFEN}fubqWuE# zH!+IP_79=2*pJBd6+6QAx5v3eRr;cE2v#QA5w(b}#7Uw$`x1$@w6(=({`JkIZ8tln zm}be(W&Dh#?_q3<+O`@>{!8{%+P~QT$=0Ftd1yytJW-K2V)r>bIrJE3hn{eQao z(U|y{j!*Fn@!qw(1o!aiuzJc|Lw~6n`wLOe~=s26F(8t$*$zR3V{~7(2h?B%Yd(15QuMyu6+IkSV z?0cSgwxmb(XM2r~d-xKjVHMOCL9C;lV{`SLr@az);>*MVB7)dMXp6_O#N)(l;%g#< z2xi}wk|X%-i2M|7e|vq$Yj=p(9%v7z-IKV<2c9H$(Jm&Eh;PXUV+NtEIr(2i8QQIh z1H={L{x*(%D+z7y5VdK4qxqjsvWl2WbRZu_XnWM)yo}G@J(IYDN}1_?GBKe+6tt+#PBb8gSCb7~|ua^N81zH>j~^>!2!LpTVwD-j{~{?dv@`{B?it7h^)ocgPDG-T|s ziMpq;ao)I<5v9BZs}J~layE|l{!2Mc^WcMo0hlsz0<&Q+K{W|%9g{=_KnuEQ5fd4u0O>gWCM d=!XH`*pt7N^^W}FZfWn~Zz}nFl74*s{{RqXS!4hJ delta 16111 zcma*s2YggjqQ~(YI-v#v(z&69l7tX?XrZ@Iq>3OgNp6xMlbJ9jR2fthv7wHj0u~T- z5fO9{yQtU|*NTO;U}4=|UCUFEWtI2)&$+?4y6^MuXHUN8oO|!-=gh@@b63s39jO`p zuvx85NtR`Gs$p5#n3rN%9}u73$+DFHOs4S_e2t*%-`E;|#+UG%EXzv8Pp}T2L>qs> zj@YrcWi`YRuKBp0^t|3y)M`oOI2k-^{p6ZXOS+PtgS5w5jm_~IA-2P%NRiexsD?a&L-0dvgKcu6rh@)C^n#4>*a8<}Q;c8-ybQbHE>urn z!CX9!YDl}jmNfuJ;6kiKRq!^p!f&t#*6(LVqAwPa&WjSsAhHY9fH#mbt-m9UwA%N# zETYyl?2PNM0RMyWMf^txEJKePclSp5SHSv1Xh-^lUT8$dI?QZ_tsKu2s%s3LsvX){SycadHFJe#p0yPrN znHM#n7uKbID~E^*&c(6lM-A-(WSXrHkxpBwBg_y^!`7r%qZ+muTjHbG5#PXG_#KYJ z4tb`02i1_9Q6usUMpeOIiKs>GN17q+f^A8ULUxw55Y_UHSQqbd-RJrs(njkL>iJ)= z8}=S$8aM~l!Bwbo_hCDHd6c{VzaS%xj5DZ~r;Rr0DX7I5z)l#$R6K}@0iw@#yQc~Bp^lEnWb{Ufs0U%3g)vmizCfJ=KcO1dYrL7e z^HAIG5>)>EsD^!nb?`G(h5ta!b%P0J1O^~QSyQkJ-hgU&^kE{ch`fa<_!ZJv>kN95 zh)*;PxoeUcnfFmW`w7+1#*@udbifg$haj_Pt-?Hf0@dR)*Z|Y=&GVVac8^+i*&2h&MU#m-oX+SXf8J>8933(sI9JciA+ z|NrLR_&Je5;Zw~Vc1JC;!Ken#K{ad%YK>fob#W`IVRv8#9!53%8&pMgrkS3nqNd13 zbs!x(P`@>lNH3g^8mjfKyHRuXvgiEQ2h~p0HvAa7W5;vN`7r@A zNv}bjEBBz*#!-xhh$PM6hXW(1mOY3%U|zwdcmf;ZNz{ncnrRA1LoL31RL{;ub>uuu z!F8yS*o<0Z_n^vq7Byl=XEOeJ@kcV`&)5}fu@%(wo~Ugz4b`yqs5P<;HOB`q8{b7$ zTz|It5$lhQNta+VtVB)K2DI@y)ULaKHsh}zyiP_FJc_A!0yP4sF$-JFF{^nDYECaj z4Pgw&;S;EeYR@$%Tr1T3{ZI{@it1PtwMKTKrtS@8oI~Var~;auXI5!fY)*P8s)5r{ zBQ)DhFL2WytWAC?>S*<2E4%_#(H+5yWt(E zk$DN1;`^wf%Rk>VtPCmBs=)b4{Mw;<+I4{$xyh)bdnLBUTd);Ah^&RE^%@cN^f>aa z^#cyT=@*!7vmWzF$4~`)j9NVZLQPehg=Q#wqefsZs=N@Y=j%};dkb==S^H5PK82~; z|0#=1Mcq(ym4h1ULS$O4CCDLYJ>{kwEH)JvU|;f=p|<57)FL~EYRIRkZFdG+Vy4H8 z+!#~?3o$E7WEl}Xa3^XXKaMK+6sq9N0y8BSpcc&r)at(vJL21@3V%RNRZ5{b!qadh z=@P7uyItd`HS;(|6*){K317sq_%iCCNGUQE4#9S$3sG~s7CYdbxEP;BEw*ls8QPhs z9+sh=kD_+bF4Ty;eVzm9468LHwsrS4)!jZA(i>#%djV|MXjwps44vm4#kGiGIM56L^a@Y?1~S#`Nz;E-Nt98 zW(exJi%<=?7yIBlsDkU4n;)ma$dO{r#qqcgd*Mm!jGg_a0nzb9`jN2?HB=9y7S%CS z%TK%MZUJ+D9BO-(Vtc#|ZG0R@;fI)sX%*)AX{hIxVi(+q*?0h1>{07;B7^k;3qdc= zN40Q+>t38l`gK%~+Xl^$k3mh9nW&{VK){uj$=t@+N zAHbG)9Gl}$7*$5Ym1c-KqYjeZ*aRnI8=Q|Spb`h+4ot;kn2XK z(Cye7pGTE@9DC!ps~G>a$OufvEXmlQtwq#t6+IBlpFT8+> z3UDOpKI_fm3ZX`5JGRG1P`lt=)QBWqZW`PUmCi=(p2?Vp3osXN!AaWx?-F5wTb(zU z0=Kw6gnHp9s(^E@;LySDsB_{vR1XiK=KLKTicPLGCu%-w&0LA+<0IGuTU_P-ry5+R z{a;B$tMN2W$6i;P#jzT-c($VoK8#w7)-`6Ro1;c%IBNB;#Y~K&jmL2k*4StoI0Z9E zUy8Hwe(XX0R=sP@oaSIQ>1n9#vKH0iEvSY(e*o*?cc>vhg(^5DW_Cw6Y)E;}G1AW%vOO z#)+Fvg_mF+>8G(5*1XZ|ir%P(jYDnk$c>Eu03tV#F%VzIIau>1vrW#&L8Na(&F#B5 z0qfjs8Zr%4&|K7%RH8=g7B~NWY(V-H*2CIc%t$uIiKJUZiD<|cVRzhuYRF;C#?z>M zo3Yibk$hJ#s=~{#5AH?1{}F1<)Z1o;ItTS!1!`n(MBRTFHR91viJU{E-YsVF*r@ab zY=(=`#t>@GZ@_W58#N-|poX}^t>(<1gsNx(YRcANQ(T8yW1CPNyBS%GQR^ilP008L zTcM6Q^|&?aq#BHxqBU3_A3*i=5U#~9P!09oZsvA1P9VJpH8S6$8rp5USsSxZYbb{G zwEwpfvB}tpeeqe;2%JLoG-Zc55zoVRq_1|p8};1txEMde4M{A#JIvyIX{UL<&Mvdv zI-?po!cEV>Nz`xoiA=|baRw&eY3AqxY(#oJcEU}l#rP1mz;96vsC$>0nvSS+Kh%ik zV>&KCJ--e$=UXrh4`DQ&$Z;Z_vHqXTi<#J(^f1(v%tf`l0#(5!ZvIv`eE?O#E2tCh z6VzI1vfJc$L6x72IwuxlPb}Nb_^U^o-3R}S+Ag1CUHlg7;3-T&>u$3)n&B{#IjFg< zK+W~7*b`rKJ&hwsciUsuL@{cy?nAwQY!Ble*lP*YHb8i`dn5U<5r_yVe9N1{Zsh`faw!kYWc&t_}X9Q8xx z&p}O<4>dA3U~SxnU2z9$TfKlo@Dw)3{`*Y>C!$7X395seuscTIa5GM0V=@NaXO7D8 zsEQV%7GE*ixB=_q-PjQipcd6zs5w66+Wvm?D>o9gYi>kM)d8H3pCAp4TEpXJPG+DA zT!a1aR@BhHiJC*}fO#$t)gT|L;ElKx@4+S5;Q@2hZa{V5de<$OOnL`uRKM8Q6^UI8;IN-2DBh=U&3*_%RN{?@?A4?iTs-k8|y!5{+-_wRl#D^q6(v0eiIJGeb@%S z#1UBcDKi4&F^BXT)ULV@)zgo$8#Z{_jA#yaAU*r(sM()kGRBax0Y~Ah*aTA!n-ePy zwP>e>i#GyDF^H5W?83*H|Zu$q*(6@QUOvPjjkPhK+{4`2L`?u4xW&|c+7t&tT z;<^Sq;b9z!Cy+D8>i(Q5@F;5Nf5FaJ?|E}>WMCfYsW=NaqNemSOvRI^MICMUf@wep z)G8f=THOm#LwOZyQ60jWc*ISoy=W@vjaow$s0M66P0e2HjxS(2ev2x1(MzU7S0f`A zwe}Oy9M*Z+6f_RI>Os^{UWya&5Nc}byLoJ>gQLFa}Q~^I?CiZyEEVjAWgY;#n zDctX--^M)BXHX-Q_qutm2nSHVbq$fe_$=CZ3bi`hykQo}VATEPsFAn_r{WJd2FJW< zPRb3~oAg1Pk0($gIO;9apw+0k-;M+H9P0mnw!R{gj-B2%J(`5sq?cna+>N90ZETCJ zkDA5QAC;bfDzFH(Shu2$Phcv3gcI?5)T$r;j_J^a?=b$;$+(XU%~g$e&F}aW)IN_Q z(`7w|J@Jb7OphKwt&y)$4Q%ngIhaObrzAdDunn#}X1497znJp2qB{C6YGkYr7=O)a z?gwU0gQz*(g}L}9w!_9Bn%&V0l^%;JSb%C+7+d0Ps0t3^H2e@}VAe-wS6qZ6NpC|< z)rV0c8tTR$n;wn8xuhM`&_0eG@I4%YKVcK>ciendkHKN2XJZD&uo*sy8uB-B5w`!t zEaD3>pY%@D^U-gK3?S0sQ!|vaT`xjS&0f?R`2{sHeLpjLa2)B4*dC8!NBka}W9sMT zWbBSwtZPua=m_TF_gG*1zyAr-k`dT|8$L|J7W}EL2-gn=>(6d_05);sH*@cD_rCbi zjjL0->>B(#!F_fdCKG-!x2z|%|M$2zFL8YZUn4xvL*wxt!e5Dpus_ZwG^5aZq#q>M zr0WoLk!`(C9!H4PkpvqnG5?KF*V@Ei&JwK2bB|KL^$#NN5&lKI59-*wkWh6^Bkwec z8*wnnGB85&Dp-AZWCs>&SRHaohZvNLur? z0;^wNk=Q}lLjDedc8x9;c;dQGN?VVO-)ayNr<;PI?4E z*8zS1-AYIyJVnN2!g<6wxDx-N5E9oF{B6t2tGTy^@E5`a!VQF`-18Dv5FRC6gXbpU zeS~F%7~yTg-?@J$UV^&%6HomAKaF^y`sHw=`Za>YBjlYyodwqs--0UgNxYs!hK^EQA1D5DuA_(is!Jzd3%8L4k) z7(#k1L8n?no^kLsLe*8sy*v_+5e5?1wcKFozdu>uxtViZXXCYQT+jIl`YrfL39dAG%1>);%oo98}r4qi|Cc6=8{VQWG*@izE4UPZW)FrM%@dF~apE+kP- zY73zu@ova(gVn%&XbK)C{a4JuHG~-9A=2m2kQsOjLDxyc*}wWv@Ar|~g&*NT!ZN~g z(xdP*jsM?BEGB$KxQR?%5#qYuBRoO4jPw}7F5<1JG)?z$KO7=n7cU^_>T0kq#Z1EM zZn_cA?bUl+PvOgikG22*NqB}(z>P-;{483RlGZhx@IB!+C8}N9s>Rz>i+{~~t!UWO z?)!_~dvCbuRGdk;j{J)W^q(Id_hwt-|5gUqkL3O0<}2Nf(3dpdlvWWgBzTBlMtGjM zu6=mEiCP)N|3dtB!dy2`oFbHQ?*VLA!_=?*#J}OCK8x<>fu4lg^rSBSOxQ;Fkf8s> z7T}p0_?%wgx|sOA*bINhG~P?YPe@l?oye=YjuQDFLR|H?aC2+%a3{iOH$BpI6CNkO zF%}YDBA!fP_qg|;!M=o!K=-RFN?>2GkdLB6L z#^>QTr2kIP6~>3Kv77!!BA1U1tR!4b{$xUD;t%6|-0wbn)RnBnKhOS$bWJ6=+Sf?* zpNwjYqYF1)bYJR#n@QhYtq{G~oae6~uRdV`>35XL)qwo^gm=iliSRw4J)!FQmUv4N zbFmq&bnCZXB(a*1OxQ?hLm?x1C<%Mu-^go@Ul8UKbme2Ji6;Kh(S&EGk^X|v-p%je zDjIWtaJBTkyg%;GZbmKqjEv6-3kX?+mb{?3U4DX3CXTW%2y2P=aNpq(>kQZ3C*nE1 zCe%IGUfi`XJ;N^Y78g53wkKr!1Hp2S&o1`*9II<6*PiV!^9Pps6B%}RMTO(O;Vcga zJ%!=ly%aCXd9g-QpEne?J-(phDOzFkH+Fvi_VE$@E0bbF26l`e9Pn0+tU{099|+q8 zjvWb6iq~(4OC6qF8gW7@Hc;UNJz;OaZ{cH4s?vAg>4hI6ZFTkVAO6ii?Qlu9{eosZH zl={`t_{=e>Nzuh&PcYpMc`BWdUGDL(NZblh02P)xL0T9N*d9B?>l76BFcg6xEeMs_ zo?v0Ax6;Y5J^mt_j!{jBRyn*=f97x=WcD2D!{x!Q2+H$U^C{+T$12E(r!A6|wWj?~ENC-#qr!_!+fXjZQE=V8Y)o^zlw1`+3_TtPb>8v9yqL_cmBaK-OCY4yjv9$wRBxS|AO}#3bc*NFn zpQQm#tSpVQTA@wRHDpaoJQJeKL>{ATVg-S4slCkO58I(IWACBuUVlX-T*Y&y46Z? zYonAoV`t2q7@anC(dcPYXU&+FpJ7*eeC%qCL2fb&(;x7&R|3Vw?ppLa6i<<5Rc#Jw z^=8=qNO^%1r0cp8x6kI7+Vq^?>&vj6eCDCJDxoc*u?U$5GuXu1ayE14 z1ebY3j>=IZ&fc+E%ga0~bP~`i_wlMq<3G;KNE$FJxIznr0W5WV6)d!%n~a1!B~CiK zkv^G2fM|K*EXzucrOiIjuGp)iDKRR)o4weJvj;aSa{M80cttKH7N*Be&2E>sG!jU3 zFce-v!?iH8SgchoaPMX&?hZ5U;k43G>9KVfXT=-N=}{{>FAzygU1DWbIECKg6{d~h zQcf+Vg%vrnuqYgiEH@p>%nWmsW%@h?j<0GjS&332obVyH2)!66PMmB1=lk{C{TGV& zJO6Zz9!`nQoUmQ)XrApUW2cN7J0o-I$SGqrD*8EaPmp-#1qW-#ZYgLtU|Ff-XA%>? zJjk|Pw$DA=7xzwg4_Y0Iw%=18|EQoz6k~d|7}ETfp>jE?GLq4*7#pQ#al>dH2? zS}MQXQ(+466qYh)r5<1Wt&LCCu9NThOTtdfx9R4-bF_nK2&c5q<1fju!`>y@HLL;} z#oqe$P|S44AYN=zFE(_^O73_d?7%8==B>!10&SM`pdm?>ONC z{j{>m>B!lec8DMTCB=zl>J)Ph`E3nA)z7}(b}Q!&18kQ@wI%hr;1u(l7vxjN=X3mg z2Fzh93TO<&>coeom?y^y|d1j3`u}29BMsZw7t|91hLcb+;dD zJT3C;y{?6^yvthh(NMPij;Ou}99#RU$PB1V$?6{w zY7w<0_GEy)uO$~@B^PN-dKR%;%m+oI9c^p$%6FVlaUc@@|LmspolR;-Cr~>dyH2pu zVN$$KrrEJ{p@eToZP0Xmbnub4(z`?-r_|4Emau%afoXhldes*Qzc0ngu><8C6Fd~E z^aQ>7<#GPYm&pX}ro^X-Q{a>`zlq)F_V_ooFhrT==ew$wE-v4iv#{2K~^JTN5LaX`LFPmaF>3-Q%R&6I{ z(*3k?__En?_b17f%&HlxSpJ^0*t$KvQXKw`#4%pVGS8(PzGv>-(;=T_%(1RX=EH4? zFR^>FYugzyT(HrAp3g}hu8nJ2!1f?@k_+AesB`E+dPw>+JX z8QqILccf$7e)PNgP5EaS2ZrC1=moc9&TDr3u%X, 2004. +# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010, 2011. # Erwin Poeze , 2009. -# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010. -#: src/create.c:1552 +# Elros Cyriatan , 2004. +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar-1.25\n" +"Project-Id-Version: tar-1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-12-08 12:01+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-12 17:27+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -32,36 +32,35 @@ msgid "ambiguous argument %s for %s" msgstr "argument %s van %s is niet eenduidig" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Geldige argumenten zijn:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: waarde voor '%s' is kleiner of gelijk aan %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parameter in ARGP_HELP_FMT vereist een waarde" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parameter in ARGP_HELP_FMT moet positief zijn" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Onbekende parameter in ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Rommel in ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -69,31 +68,31 @@ msgstr "" "Een argument dat verplicht of optioneel is voor een lange optie, is dat\n" "ook voor de overeenkomstige korte optie." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Gebruik: " -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " of: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPTIE...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Typ '%s --help' of '%s --usage' voor meer informatie.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Rapporteer gebreken in het programma aan %s;\n" "meld fouten in de vertaling aan .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Onbekende systeemfout" @@ -105,7 +104,7 @@ msgstr "deze hulptekst tonen" msgid "give a short usage message" msgstr "een korte gebruikssamenvatting tonen" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAAM" @@ -126,17 +125,16 @@ msgstr "dit aantal seconden pauzeren (standaard 3600)" msgid "print program version" msgstr "programmaversie tonen" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "**Interne programmafout**: geen versie bekend!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Te veel argumenten\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "**Interne programmafout**: optie had herkend moeten worden!?" @@ -144,62 +142,62 @@ msgstr "**Interne programmafout**: optie had herkend moeten worden!?" msgid "write error" msgstr "schrijffout" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: optie '%s' is niet eenduidig\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: optie '--%s' vereist een argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: onbekende optie '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ongeldige optie -- '%c'\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: optie vereist een argument -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: optie '-W %s' vereist een argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "onvoldoende geheugen beschikbaar" @@ -215,28 +213,30 @@ msgstr "kan niet terugkeren naar de oorspronkelijke werkmap" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "‘" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "’" @@ -246,7 +246,7 @@ msgstr "’" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[jJyY]" @@ -256,7 +256,7 @@ msgstr "^[jJyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -545,7 +545,12 @@ msgstr "standaarduitvoer" msgid "Cannot connect to %s: resolve failed" msgstr "Kan geen verbinding maken met %s: herleiding is mislukt" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Kan gindse shell niet uitvoeren" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Kan gindse shell niet uitvoeren" @@ -595,8 +600,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Een magneetband manipuleren, en opdrachten accepteren van een ander proces." -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "AANTAL" @@ -604,8 +609,8 @@ msgstr "AANTAL" msgid "set debug level" msgstr "debug-niveau instellen" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -620,7 +625,7 @@ msgstr "naam van debug-uitvoerbestand instellen" msgid "cannot open %s" msgstr "kan %s niet openen" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "te veel argumenten" @@ -629,9 +634,9 @@ msgstr "te veel argumenten" msgid "Garbage command" msgstr "Ongeldige opdracht" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Dit ziet er niet uit als een tar-archief" @@ -669,64 +674,64 @@ msgstr "Kan archieven op standaardinvoer of -uitvoer niet verifiëren" msgid "Archive is compressed. Use %s option" msgstr "Archief is gecomprimeerd. Gebruik optie '%s'." -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Kan ingepakte archieven niet bijwerken" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Aan het begin van de band -- tar sluit nu af." -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Te veel fouten -- tar sluit nu af." -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Recordgrootte = %lu blok" msgstr[1] "Recordgrootte = %lu blokken" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Niet-uitgelijnd blok (%lu byte) in archief" msgstr[1] "Niet-uitgelijnd blok (%lu bytes) in archief" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Kan niet terugzoeken in archiefbestand; het kan onleesbaar zijn zonder -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek() is niet gestopt op een recordgrens" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: bevat een ongeldig deelnummer" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Deelnummer-overloop" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Zet deel #%d voor %s klaar en druk op Enter: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "een lege tekst, terwijl gebruikersinvoer werd verwacht" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "WAARSCHUWING: Archief is onvolledig" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -738,65 +743,65 @@ msgstr "" " q tar afbreken\n" " y of Enter doorgaan\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! een subshell starten\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? dit lijstje tonen\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Geen nieuw deel -- tar sluit af.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Geen bestandsnaam opgegeven. Probeer het nog eens.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ongeldige invoer. Typ ? voor hulp.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Opdracht %s is mislukt" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s gaat mogelijk verder in dit deel: de kop bevat een afgekapte naam" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s gaat niet verder in dit deel" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s heeft een verkeerde grootte (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Dit deel valt buiten de reeks (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Archief bevat geen label, kan niet overeenkomen met %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Deel %s komt niet overeen met %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -804,405 +809,429 @@ msgstr "" "%s: bestandsnaam is te lang om opgeslagen te worden in een GNU-meerdelenkop; " "afgekapt" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "schrijven is niet gestopt op een recordgrens" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kon slechts %lu van %lu byte lezen" msgstr[1] "Kon slechts %lu van %lu bytes lezen" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Inhouden verschillen" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Onverwacht einde-van-bestand in archief" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Bestandssoort verschilt" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Modus verschilt" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "UID verschilt" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "GID verschilt" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Wijzigingstijd verschilt" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Grootte verschilt" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Niet gekoppeld aan %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symbolische koppeling verschilt" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Apparaatnummer verschilt" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verifiëren " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Onbekende bestandssoort '%c'; gedifft als gewoon bestand" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Archief bevat bestandsnamen waarvan de prefixen verwijderd zijn." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Archief bevat ouderwetse grondtal-64 koppen" +msgstr "Archief bevat getransformeerde bestandsnamen." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Een verificatie kan mogelijk de originele bestanden niet vinden." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "Verificatie is MISLUKT: %d ongeldige kop gevonden" msgstr[1] "Verificatie is MISLUKT: %d ongeldige koppen gevonden" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Een los blok met nullen op %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: map bevat cache-markering %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "waarde %s valt buiten bereik voor %s (%s..%s); wordt vervangen door %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "waarde %s valt buiten bereik voor %s (%s..%s)" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Er worden negatieve octale koppen gemaakt" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: bestandsnaam is te lang (max %d); niet gearchiveerd" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: bestandsnaam is te lang (kan niet worden gesplitst); niet gearchiveerd" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: koppelingsnaam is te lang; niet gearchiveerd" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Bestand is gekrompen met %s byte; aangevuld met nullen" msgstr[1] "%s: Bestand is gekrompen met %s bytes; aangevuld met nullen" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "inhoud niet gearchiveerd" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Onbekende bestandssoort; bestand genegeerd" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Ontbrekende koppelingen naar %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: bestand is ongewijzigd; niet gearchiveerd" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: bestand is het archief zelf; niet gearchiveerd" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "map is niet gearchiveerd" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: bestand is gewijzigd tijdens het lezen" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: socket genegeerd" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: deur genegeerd" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Alles tot aan volgende kop wordt overgeslagen" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Niet-kop wordt uit archief verwijderd" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: onwaarschijnlijk oude tijdsstempel %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tijdsstempel %s ligt %s seconden in de toekomst" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Onverwachte inconsistentie tijdens aanmaken van map" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Map werd hernoemd voordat de status ervan kon worden bepaald" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Aaneengesloten bestanden worden uitgepakt als gewone bestanden" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Poging om symbolische koppelingen als harde koppelingen uit te pakken..." -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Kan niet uitpakken -- bestand gaat door vanuit een ander deel" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Onverwachte langenaamkop" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Onbekende bestandssoort '%c'; uitgepakt als gewoon bestand" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Huidige %s is nieuwer of even oud" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kan geen reservekopie van dit bestand maken" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan %s niet tot %s hernoemen" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Map is hernoemd van %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Map is hernoemd" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Map is nieuw" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Map is hernoemd" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Ongeldig tijdsstempel" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Ongeldige wijzigingstijd (seconden)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Ongeldige wijzigingstijd (nanoseconden)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Ongeldig apparaatnummer" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Ongeldig inode-nummer" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Veld is te lang, tijdens lezen van snapshot-bestand" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Leesfout tijdens lezen van snapshot-bestand" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Onverwacht einde-van-bestand in snapshot-bestand" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Onverwachte veldwaarde in snapshot-bestand" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Ontbrekende record-afsluiting" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Onjuiste incrementele bestandsindeling" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Niet-ondersteunde versie (%) van incrementele bestandsindeling" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Onjuiste archiveringsmap: '%c' werd verwacht maar %#3o gevonden" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Onjuiste archiveringsmap: 'X' staat er dubbel" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Onjuiste archiveringsmap: lege naam in 'R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Onjuiste archiveringsmap: 'T' werd niet voorafgegaan door 'R'" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Onjuiste archiveringsmap: lege naam in 'T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Onjuiste archiveringsmap: '%c' werd verwacht, maar de gegevens houden op" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Onjuiste archiveringsmap: 'X' is nergens gebruikt" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kan met sjabloon %s geen tijdelijke map aanmaken" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Map wordt niet leeggemaakt: kan de status ervan niet bepalen" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Map staat op een ander bestandssysteem; niet leeggemaakt" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Verwijderen van %s...\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kan niet verwijderen" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Overgeslagen" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok van NUL-tekens **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Einde-van-bestand **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Witruimte in kop waar numerieke waarde voor %s werd verwacht" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1210,108 +1239,124 @@ msgstr "" "aangenomen" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Octaalwaarde %.*s in archief valt buiten bereik voor %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Archief bevat ouderwetse grondtal-64 koppen" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Tekenreeks %s (met grondtal-64-met-teken) valt buiten bereik voor %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Grondtal-256 waarde in archief valt buiten bereik voor %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archief bevat %.*s waar numerieke waarde voor %s werd verwacht" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Waarde %s in archief valt buiten bereik voor %s (%s..%s)" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " koppeling naar %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " onbekende bestandssoort %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Lange koppeling--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Lange naam--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Deelkop--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Verder bij byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Aanmaken van map:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Kan werkmap niet achterhalen" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Hernoemen van %s naar %s...\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "Kan %s niet naar %s hernoemen" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Hernoemen van %s terug naar %s...\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "dochterproces" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "interproces-kanaal" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Opdracht %s is mislukt" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: bestandenlijst is al gelezen" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "Kan tijdsstempel van '%s' niet zetten" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: gelezen bestandsnaam bevat een NUL-teken" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Bestandsnamen bevatten jokertekens." -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1319,56 +1364,57 @@ msgstr "" "Gebruik '--wildcards' om patroonovereenkomsten in te schakelen,\n" "of '--no-wildcards' om deze waarschuwing te onderdrukken." -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Komt niet voor in archief" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Is vereist maar komt niet voor in archief" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Archieflabel komt niet overeen" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Met '--listed-incremental' is '-C' niet toegestaan binnen een bestandenlijst" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Met '--listed-incremental' is slechts één '-C' toegestaan" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Opties '-%s' en '-%s' willen beide standaardinvoer gebruiken" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Ongeldige archiefindeling" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-functies gevraagd bij een incompatibele archiefindeling" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Onbekende aanhalingsstijl '%s'. Probeer '%s --quoting-style=help' voor een " "overzicht." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1386,9 +1432,10 @@ msgstr "" " tar -tvf archief.tar # Alle bestanden in archief.tar opsommen.\n" " tar -xf archief.tar # Alle bestanden van archief.tar uitpakken.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1407,80 +1454,80 @@ msgstr "" " nil, existing genummerd als ze al bestaan, anders simpel\n" " never, simple altijd simpele reservekopieën maken\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Hoofdbewerkingen:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "de inhoud van een archief opsommen" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "bestanden uit een archief uitpakken" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "een nieuw archief aanmaken" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "verschillen tussen archief en bestandssyteem vinden" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "bestanden aan het eind van een archief toevoegen" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" "alleen bestanden toevoegen die nieuwer zijn dan hun versie in het archief" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "tar-bestanden aan een archief toevoegen" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "uit het archief verwijderen (niet gebruiken bij magneetbanden!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "label van archiefdeel controleren en stoppen" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Werkingsaanpassers:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "luchtige bestanden efficiënt verwerken" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "HOOFD[.SUB]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "versie van te gebruiken luchtige indeling (impliceert '--sparse')" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "oude GNU-indeling van incrementeel archief verwerken" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "nieuwe GNU-indeling van incrementeel archief verwerken" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "dump-niveau voor aan te maken incrementeel archief" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "niet afsluiten met een foutcode bij onleesbare bestanden" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1492,128 +1539,139 @@ msgstr "" "diff, --extract of --list, en wanneer een lijst van bestanden gegeven is op " "de opdrachtregel of via de optie -T; AANTAL is standaard 1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "in archief kan worden gesprongen" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "in archief kan niet worden gesprongen" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" "geen apparaatnummers controleren tijdens aanmaken van incrementele archieven" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "apparaatnummers controleren tijdens aanmaken van incrementele archieven " "(standaard)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Overschrijvingsopties:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "het archief na het schrijven proberen te verifiëren" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "bestanden na hun toevoeging aan het archief verwijderen" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "bij het uitpakken bestaande bestanden niet vervangen" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "bij het uitpakken bestaande bestanden niet vervangen" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "bestaande bestanden die nieuwer zijn dan die in het archief niet vervangen" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "bestaande bestanden bij het uitpakken overschrijven" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "elk bestand verwijderen alvorens eroverheen uit te pakken" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "bestaande mappen leegmaken alvorens eroverheen uit te pakken" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "metagegevens van bestaande mappen behouden" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "de metagegevens van bestaande mappen bij het uitpakken overschrijven " "(standaard)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "bestaande bestanden bij het uitpakken overschrijven" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Selecteren van uitvoerkanaal:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "bestanden uitpakken naar standaarduitvoer" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "OPDRACHT" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "uitgepakte bestanden via pijp naar gegeven programma sluizen" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "afsluitwaardes van dochterprocessen negeren" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" "afsluitwaardes van dochterprocessen die niet nul zijn als fout behandelen" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Behandeling van bestandskenmerken:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "toegevoegde bestanden krijgen NAAM als eigenaar" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "toegevoegde bestanden krijgen NAAM als groep" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATUM-OF-BESTAND" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" "wijzigingstijd zetten van bestanden die wegens DATUM-OF-BESTAND zijn " "toegevoegd" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "WIJZIGINGEN" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "toegevoegde bestanden krijgen (symbolische) WIJZIGINGEN in hun modus" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "MANIER" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1623,11 +1681,11 @@ msgstr "" "herstellen van de tijdsstempels na het lezen (MANIER='replace'; standaard), " "of door de tijdsstempels met rust te laten (MANIER='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "bestandswijzigingstijden niet uitpakken" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1635,19 +1693,19 @@ msgstr "" "bestanden proberen uit te pakken met dezelfde eigenaar als in het archief " "(standaard voor root)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "bestanden uitpakken als uzelf (standaard voor gewone gebruikers)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "altijd getallen gebruiken voor gebruikers- en groepsnamen" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "bestandspermissies ook uitpakken (standaard voor root)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1655,17 +1713,16 @@ msgstr "" "de umask van de gebruiker toepassen bij het uitpakken van bestandspermissies " "(standaard voor gewone gebruikers)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -"uit te pakken namen sorteren zodanig dat ze overeenkomen met de volgorde in " -"het archief" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "hetzelfde als -p en -s samen" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1673,139 +1730,180 @@ msgstr "" "het zetten van permissies en tijdsstempels van mappen uitstellen tot na het " "uitpakken" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "het effect van de optie --delay-directory-restore ongedaan maken" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Behandeling van bestandskenmerken:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Apparaatselectie en -wisseling:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIEF" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "archiefbestand of apparaat ARCHIEF gebruiken" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "archiefbestand is lokaal, zelfs als het een dubbele punt bevat" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "deze OPDRACHT gebruiken in plaats van 'rmt'" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "deze OPDRACHT gebruiken in plaats van 'rsh'" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "schijf en dichtheid opgeven" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "meerdelig archief aanmaken/opsommen/uitpakken" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "band wisselen na schrijven van AANTAL x 1024 bytes" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "script uitvoeren aan einde van elke band (impliceert '-M')" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "het deelnummer in BESTAND gebruiken/bijwerken" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blokverwerking:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKKEN" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKKEN x 512 bytes per record" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "AANTAL bytes per record (een veelvoud van 512)" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "blokken met nullen in archief negeren (betekenen einde-van-bestand)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "doorgaan met lezen tot blok compleet is (voor 4.2BSD-pijpen)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Archiefindelingskeuze:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "INDELING" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "een archief maken in de gekozen indeling" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "INDELING is een van de volgende:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "oude V7 tar-indeling" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU-indeling van tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU-indeling van tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar-indeling)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax-indeling)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "hetzelfde als pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "hetzelfde als --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "hetzelfde als --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "sleutelwoord[[:]=waarde][,sleutelwoord[[:]=waarde]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "het aangeven van pax-sleutelwoorden" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1813,78 +1911,78 @@ msgstr "" "een archief met deelnaam TEKST maken; bij opsommen/uitpakken TEKST als " "zoekpatroon voor de deelnaam gebruiken" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Compressie-opties:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "compressieprogramma afleiden uit bestandsachtervoegsel" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "compressieprogramma niet afleiden uit bestandsachtervoegsel" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROGRAMMA" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "het archief door dit programma filteren (moet '-d' accepteren)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Lokale bestandskeuze:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "het gegeven BESTAND aan het archief toevoegen (handig als de naam begint met " "een '-')" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "MAP" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "naar MAP gaan" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "namen van in of uit te pakken bestanden uit BESTAND halen" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "'-T' leest met NUL afgesloten namen, schakelt '-C' uit" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "het resultaat van de vorige '--null'-optie ongedaan maken" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "aanhalingstekens verwijderen rond bestandsnamen gelezen met '-T' (standaard)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "aanhalingstekens niet verwijderen rond bestandsnamen gelezen met '-T'" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATROON" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "bestanden uitsluiten, gegeven als een PATROON" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "uitsluitingspatronen staan opgesomd in BESTAND" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1892,95 +1990,97 @@ msgstr "" "inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG " "zelf" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "inhoud van mappen die BESTAND bevatten uitsluiten, behalve BESTAND zelf" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "alles onder mappen die BESTAND bevatten uitsluiten" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "mappen die BESTAND bevatten uitsluiten" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "systeemmappen van versiebeheer uitsluiten" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "reservekopieën en vergrendelingsbestanden uitsluiten" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "niet automatisch afdalen in mappen" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "in het lokale bestandssysteem blijven bij maken van archief" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "recursief in mappen afdalen (standaard)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "leidende '/' niet uit bestandsnamen verwijderen" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "symbolische koppelingen volgen; de bestanden waar ze naar verwijzen " "archiveren" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "harde koppelingen volgen; de bestanden waar ze naar verwijzen archiveren" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "LIDNAAM" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "beginnen bij lid LIDNAAM in het archief" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "alleen bestanden opslaan die nieuwer zijn dan DATUM-OF-BESTAND" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "datum en tijd alleen vergelijken wanneer gegevens veranderd zijn" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "MANIER" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "voor verwijdering een reservekopie maken, op de aangegeven MANIER" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "TEKENREEKS" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1989,98 +2089,101 @@ msgstr "" "(in plaats van '~', die standaard is tenzij door omgevingsvariable " "SIMPLE_BACKUP_SUFFIX veranderd)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Bestandsnaam-transformaties:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "dit AANTAL leidende componenten uit bestandsnamen verwijderen" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "EXPRESSIE" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" "deze vervangings-EXPRESSIE gebruiken om bestandsnamen met 'sed' te " "transformeren" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "verschil tussen hoofd- en kleine letters negeren" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "patronen komen overeen met begin van bestandsnaam" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "hoofdlettergevoelige vergelijking (standaard)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "jokertekens gebruiken (is standaard bij uitsluiting)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "exacte tekenreeksvergelijking" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "jokertekens komen niet overeen met '/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informatieve uitvoer:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "de verwerkte bestanden opsommen" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "SLEUTELWOORD" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "waarschuwingsbeleid" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "voortgangsberichten tonen voor elk AANTALste record (standaard 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ACTIE" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "bij elk controlepunt deze ACTIE uitvoeren" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "een bericht tonen als niet alle links gearchiveerd werden" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2092,31 +2195,35 @@ msgstr "" "ontvangen wordt; mogelijke signalen zijn: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 " "en SIGUSR2; de namen zonder het voorvoegsel SIG worden ook geaccepteerd" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "bestandswijzigingstijden in UTC tonen" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "bestandstijden in volledige resolutie tonen" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "gedetailleerde uitvoer naar BESTAND sturen" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "bloknummer binnen archief tonen bij elk bericht" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "bij elke actie om toestemming vragen" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "standaardinstellingen van 'tar' tonen" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2124,33 +2231,33 @@ msgstr "" "bij opsommen of uitpakken: elke map opsommen die niet aan zoekcriteria " "voldoet" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "bestands- of archiefnamen na transformatie tonen" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STIJL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "aanhalingsstijl voor namen instellen (zie verderop voor geldige waarden van " "STIJL)" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "ook de tekens in TEKENREEKS aanhalen" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "de tekens in TEKENREEKS niet aanhalen" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Compatibiliteitsopties:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2158,63 +2265,56 @@ msgstr "" "bij aanmaken hetzelfde als --old-archive; bij uitpakken hetzelfde als --no-" "same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Andere opties:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" "het gebruik van potentieel gevaarlijke opties of opdrachten uitschakelen" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Slechts één van de opties '-Acdtrux' of '--test-label' is mogelijk" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Conflicterende compressie-opties" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Onbekende signaalnaam: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Voorbeeldbestand voor tijdsstempel niet gevonden" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Onbekende datumopmaak %2$s wordt vervangen door %1$s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Optie %s: datum '%s' wordt begrepen als %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: bestandenlijst is al gelezen" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: gelezen bestandsnaam bevat een NUL-teken" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "het archief door '%s' filteren" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Geldige argumenten van de optie '--quoting-style' zijn:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2222,51 +2322,48 @@ msgstr "" "\n" "*Deze* tar gebruikt de volgende standaardwaarden:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Ongeldige eigenaar" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Ongeldige blokkenfactor" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Ongeldige bandlengte" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Onjuiste waarde van incrementeel niveau" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Meerdere drempeldata" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Ongeldig versienummer voor luchtige indeling" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' is op dit platform niet mogelijk" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "Waarde van '--checkpoint' is geen geheel getal" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Ongeldige groep" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Ongeldige modus gegeven bij optie" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Ongeldig nummer" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Ongeldige eigenaar" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2274,121 +2371,151 @@ msgstr "" "De optie '--preserve' is vervallen; gebruik nu '--preserve-permissions --" "preserve-order'." -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Ongeldige recordgrootte" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Recordgrootte moet een veelvoud zijn van %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Ongeldig aantal elementen" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Slechts één optie '--to-command' is toegestaan" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Ongeldig dichtheidsargument: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Onbekende dichtheid: '%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opties '-[0-7][lmh]' worden niet ondersteund door *deze* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[BESTAND]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Oude optie '%c' vereist een argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "Optie '--occurrence' betekent niets zonder een bestandenlijst" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "" "Optie '--occurrence' kan niet worden gebruikt in de gevraagde werkingsmodus" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Voor meerdere archiefbestanden is de optie '-M' vereist" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Opties '--listed-incremental' en '--newer' gaan niet samen" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "Optie '--level' is betekenisloos zonder '--listed-incremental'" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Deellabel is te lang (grens is %lu byte)" msgstr[1] "%s: Deellabel is te lang (grens is %lu bytes)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Kan meerdelige archieven niet verifiëren" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Kan ingepakte archieven niet verifiëren" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Patroon %s kan niet worden gebruikt" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Kan geen meerdelige ingepakte archieven verwerken" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Kan ingepakte archieven niet samenvoegen" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Patroon %s kan niet worden gebruikt" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Deellengte kan niet kleiner zijn dan de recordgrootte" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "Opties '--preserve-order' en '--listed-incremental' gaan niet samen" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Een geheel leeg archief wordt niet aangemaakt" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opties '-Aru' gaan niet samen met '-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "U dient een van de opties '-Acdtrux' of '--test-label' op te geven" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Gestopt in fouttoestand vanwege eerdere fouten" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2400,51 +2527,47 @@ msgstr[1] "%s: Bestand is gekrompen met %s bytes" msgid "Keyword %s is unknown or not yet implemented" msgstr "Sleutelwoord %s is onbekend of nog niet geïmplementeerd" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Tijdsstempel valt buiten toegestaan bereik" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Patroon %s kan niet worden gebruikt" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Sleutelwoord %s kan niet worden overstegen" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Onjuiste uitgebreide kop: ontbrekende lengte" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Lengte van uitgebreide kop valt buiten bereik" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Lengte %*s van uitgebreide kop valt buiten bereik" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Onjuiste uitgebreide kop: ontbrekende witruimte na de lengte" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Onjuiste uitgebreide kop: ontbrekend isgelijkteken" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Onjuiste uitgebreide kop: ontbrekend regeleinde" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Genegeerd: onbekend sleutelwoord '%s' in uitgebreide kop" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2453,64 +2576,64 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" "Waarde %2$s in uitgebreide kop valt buiten bereik voor %1$s (%3$s..%4$s)" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Onjuiste uitgebreide kop: ongeldige %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Onjuiste uitgebreide kop: overtollige %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Onjuiste uitgebreide kop: ongeldige %s: onverwacht scheidingsteken %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Onjuiste uitgebreide kop: ongeldige %s: oneven aantal waarden" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: ongeldige tijdswaarde" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: onbekende actie voor controlepunt" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "schrijven" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "lezen" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Schrijfcontrolepunt %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Leescontrolepunt %u" @@ -2661,7 +2784,7 @@ msgstr "Getal valt buiten toegestaan bereik: %s" msgid "Negative size: %s" msgstr "Negatieve grootte: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "Kan status van %s niet bepalen" @@ -2690,8 +2813,8 @@ msgstr "Onbekende datumopmaak" msgid "[ARGS...]" msgstr "[ARGUMENTEN]..." -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "Kan '%s' niet openen" @@ -2705,68 +2828,101 @@ msgstr "Kan niet springen" msgid "file name contains null character" msgstr "Bestandsnaam bevat een NUL-teken" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "Kan geen luchtige bestanden genereren op standaarduitvoer; gebruik de optie " "'--file'" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "Onjuist masker (nabij '%s')" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Onbekend veld '%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "Kan tijdsstempel van '%s' niet zetten" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Kan '%s' niet verwijderen" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Opdracht %s is mislukt" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "Kan '%s' niet verwijderen" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Opdracht is succesvol afgesloten\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Opdracht is mislukt met afsluitwaarde %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Opdracht is afgebroken door signaal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Opdracht is gestopt door signaal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Opdracht resulteerde in een core-dump\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Opdracht is afgebroken\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "Optie '--stat' vereist bestandsnamen" +#~ msgid "Cannot get working directory" +#~ msgstr "Kan werkmap niet achterhalen" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "" +#~ "uit te pakken namen sorteren zodanig dat ze overeenkomen met de volgorde " +#~ "in het archief" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Veld is te lang, tijdens lezen van snapshot-bestand" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Leesfout tijdens lezen van snapshot-bestand" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Onverwachte veldwaarde in snapshot-bestand" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Lengte van uitgebreide kop valt buiten bereik" + +#~ msgid "Invalid group" +#~ msgstr "Ongeldige groep" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Map werd verwijderd voordat deze gelezen kon worden" diff --git a/po/pl.gmo b/po/pl.gmo index dd98b294ad2da252ecf6e029283ac675bbb2a633..4afec5462f069fb15a8a3c5abebc126f7192ab46 100644 GIT binary patch delta 11547 zcmYk>2YgQF`^WJU8AgPX7)eN;5F;d!L?RJnC@~shM5$Vdy^>n7J=$v1qAeb?D6NK~ z6c3789cI<0ep-|+)a=r#@&9~tAODy0>g9c3_gVKm34L(F^Vk|s=f#R%^E@oe@+e_h zF_`p>Ww|M*IjAEqTi+OfRS6v}Fc4efVeE|oSTEADd@vOqn1P`<5X)kr?OZG*e?QW4 zT9qk8L|IlerrG9WE%NuU0)B=5cox;j>sSMWxv3SVU^u>xez+E^;dX3*XHgCDA!&lO zF$i-TIL!+tQ&EMAcd!z!LI%Rxg&}wpYvWB+PXlO0GDe^p(hnP9A@;)Es25a^Wz;YU zBd{ZCBqm}%e8WkB(Xei!8W0p`S^Q_k@kdSUkGc3JYNT$U8syo~vI?*UssW2I1$Uxe z^q*Z{E8emwTCMRJoP@gnE##G!^J5Bn(M1fy5($=-h~dbnSv^n>oPlj|3+g&`HyCQ5 zrYZ&1fqtkCO|o5$b;!>mvt~U)2S)Oey1d_NX9`vUR^-Go)D4@kI-W<(-9NTflgxrl zLQm?GQ6rFo^ufwOEyDSzMYk8&NMfi2-;GL-7%o$B=ZsB^Zqw*?iP01S(jEJhT$G8gO^bqxPjT|`>bhL zA7lqxFQFQ?!bw4McHFM`57nT$EzF!npTxz|&WB<+Zo(k^7OUd#SOI-maawfM z`9m-4iyDFXs19sKjg<2+1r7OmOvQUhqpd{Vl7DO2iub~=p7d7M++L#8Wpr7`CHU;%87kw}f)#5RzIh>AKy{l0pamMx@Y6=3| z8dFf;jlS3jT}ThD!^n=den&Qn75$vq=EE_8_gnKR=+k%vBk(@f!|+VY8iiSyj$fi0 z=H1SGAA(RL5sziDC2B-Ep%><(Iy4&V<3!ZjScRIR?da5^IYvPbx{4aAe^ECEwl_LZ zJ*|UU?U|^COhbJ)7GXKuh?;`EsG&cF4*U)^k`GV~3(hi&&ymIW>p?M8=!@49qp>%p z;oInk$51130a|W}j*Pz+*$^t! zvMH#ZziQ{x?ff0|rhY!^)42pSa@$ZZI)NI}N9e$SPG(9HP$SwLHBz~#j!ZyJNs*I6 zZ3-u_JpO|tuvBL=WD`&gTZG;4JyZ|xp+>5Dw)xg)qDCSg)v!158Tgi$B1Af7Zcpudhzvs<$wNMXC#u&^%jo?`1KWhqquu-ft zb{^W*+*g1Nwf|>OXut(~P>bd^>c#gk3jOJJWlTpcqHd@LjYW;X4Ey{J)HXYTJlOJk z!8|t|HPjIUB)rf0FJ5$I$4Hfn9`#4;G&(>%B_ zRwM6*2{;Dz315rl@D^$4UHlt^FtiW9&|)%bN|yJr_x}+pv@I^97E#$8Gk49fDfw_r z!8ND`TtkgijU7=l-^4wf8hS)XYC zH=qzf#U)e&N)IzFOu*XY-LVqBj6dT74DjIB^Wo;pI494ng#}oH^Sdw-e?SenU%olt z1ofUA)O%)NW$ph@DQL)!7FV!n(3kvQ3`Xyl%y%ISH8QcN2V`Orjzf*qMoh;27>6G0 z)dm=k8lip|hy_?4XQBT7X)UMVjmOak&tfyYfEt0|k>=Ce9HYs*AY0j*hV}3YYRLUY znGtA&iR3S!=6W`2k#5B}JcqT=cQoU#3t}l~PM^mZEWoO`3N>eYQ7yiN?eR8t#*{Ip z;d4+AT!%(#UfWs=|8GqgA7;i4jz%t}RP%j*VZ{cfL z1^p+O5vY#|t^)EZfa74VCRjK7BNG!>2UAtqzu zB(rKqqNd8J*7vOS9q^81*E!Ecx$?}4G@g|@5E zgZuz`;vv*?zCktQF8XNyN4#mKAO-_C(GImZa#6crG&aGvupu78X7~^_#7(A~zc~%X zmgH+O4DX@?{b!gDQ9K5d=b|@G!BV{6nnpn_dJDVaKGaZGpK0c}17?uVKn?v#j6hGe zh8h@!@tA=cfr+R^x)`;ncjI9E2X$TU+r|ax)Q}vZpa$GQwXE(tW-&&i9+-*G;xN== z-GDy$4VK2!=!F-t4gQGQo>8+*gZp9!^0}CfKVvPdGn?_(P_>(FhB6;h$(La)UP86F z!W=X78K@t#6RID#61Q>ZoZ7@xVj8L4O(E=ufK?&$0?YO zD^P3ZXH>@mmYIgNwjGbD)UQE(_O0s_wD=k>H~+-iAD<)NfDP~g>W0Yo%^Dbndhkk2 z#`DO!vMPOGw%J-#!yjNMR$gJYb0gFUWMdfSqf`5RHU;%)0qTYCp;qxx)PpXghV(zw zkk|Uq^tcIX7xY0rXAm~RJXFJqP>byc)N}qtji7&#Sp%U(jK3a`NQDDaF$DXd>Yb>D z6rvW*yXe48n1H9SJ(gZ+7F{W25x6OW@Bc-r=R^d|oaz3@6}G2TYK*s3s8%47OEi!uqj@`c#UDTP38q1F_IInU|swK)zfq6z=x<8hPX`+n_xNeEG&(^ zP-|ciYHj492Nqyg9EaK!$1w(dH}ibWVN(j4^Bh&+n>ZBLV=M-3F%8JX;>Cke)XzjU zbO-8zKVk+3Y~>ujh-%nX)YSftT4TPSnza>y&W=>{q)-JvK@Hgf)ZAUhFnox5K}?g#kRN^H6o8O5zB2i_h+CQItcXvnvGh_A8%*;U!ic43e8EE9j1qKFqeEI zYWoFzW`@26HY3kLJ#ZN&;6ZGIk5CP1z0>?&;6l|O#4N11%Uqv}+2jj%G5#$m+@zu< z#_cw9G!93SyD<%G?=jnGAZoS0iyG>En1W^Zn(xMQsF4|o8i5rUg5RM!av%F(z0b|| zo8hFOMYk5!@^hGmHNP-D?uXUMU&i{l43qF{Y>ZxCnh{CCWb#Q^13yJI^gMP!@2|{= zyolAvXJJ)zuA`vEw;wg6w`{BIGjo)NT5JPQJ)4Vq@jeX0$EXK|?Kcfg#^&VRP(5Fa zez*g*Rt}=>zl1c{X$2lIEzZUcoEVGIx)2-TJuJfLgQos8K1=R-$c#uU)XS2)cj4UJ?c5ju?_CP;{X5Wbh-sP-`RmxcLN6#Z2;fI1sO36t+EKR{c1vP5uo!TT%Fvf&-hLH2c0Mrjw7y z82k+NfE%bAgHD;LNk<3yIE=$Zs2(1{4)_a>#KhC4;cHOO*?@j{@igP_K|w2A$0?Fu zaIPxt<6XP#Mc#)PXXl$KXFhcusr5d=bX!fS{|gH-@~LY|QT~bg2XU5+MZ&TO6t{-I^Xq(4*{bSVouBee@@pLEUKL8_MH}n)U^Ztd&cBJKRM4L!5Z({x``z$h%=L!r73d z_fr>8XAL6%F0lLitl7ny5z$aPdPSbP+%EyPCRPr|vI3uaT8hSxEJ@F8?Oq;47Epgc?!93Cv)k<>Lc zsnvnnbzNLJLSWfIGo*ZK-e9iUxC~d=C_PtNekE8G_byYS0H%O96&SPuhOG3vK z;vDe~G0A>FC)HE#L=Ic@EwT#oP~uG{q=;;V$dhG%dN_P~ppe;r>CVZ=%z zk{HU#L<}Mt5ITOQt^(1LcyeStRraUy3^9**Y}bE>UybN(57W(}VF}R$R?* zr&NAJ+#*jVj!|An+$RPTI{qUn6Nkv_;6S^+1-?O4qOK0+U`66tq8jlW!B1PO3g_a9 zrId9OVp?CMQn~biVW5uTu&M#mrOrjUF6t*|d18-!P9Oco z zV~E#@i$oexfpZ@gU%{_mOv`oZXLA!MK-F7kF zuFTHcUG=l4y9agI;^A)Gb&jXIPLBu=S7A@LE4NpatEiX1+oQL`%e}hq{Sxk@12%iR z&kYMG^o@i*fGN$ z6LQ85?msfeF=6=N{&|D*^VF>gW5+vQ8a8<7m+rCA?!twUUhWG^;(c75SB!FBTT#=) zJ$2pF delta 16062 zcma*s2Yggj0`Kt~2rVErAcS^93oRjpUIapw7LY0+Wipv0Lz0;|B_R2? zR6xZ(ilTrbM8u8-3kqTZbl0-(+SXOx??2}T<6GbR?EQH7o^$TG=bkp$2Af5VsY+ziV~#!s;>{)9IE zjvcXMAIoZlBORyUD$?`%SP`ogkrQN4*815ojh1vJJqKxzwH#aEjmUr2-TXoOthaFj z{)k<0L|@A~2i@2XFGi}gZbUU?FAl?Fn1U%;5%YopS@eR83D^=BV^a)c2fP});Z{^n zU&Wz#0@aXq{VZ!Bj>JV+hI+xf*c!jX9@wD28Hs+FM|xC*NN*xrQ4M$tsnhxjX{6PD zfMpT2reSBi3Ul#3)W|jDt!iK=EW>P6gPz6_cog;GltCtcEYcRM0M)_BCL*ffLDUOh zLA~fVOvTi}rYB>NENc;Js@9__uEI(9Evo#`A(qt^FG5Y>GCUXWKy`E{w#Uy*I$|X- zj%j3Mpw`zMwDBtJj$0jH$L6GeLX}TqB2`fqYHp`HmSO_wo3J+Cf*O(asFB=-TBP4# z8`huo1ChpLG#PH}fO=6na?2WpT3pLfL$}4re;2j5nw@9NMzXAnF$Et+jqD-piKkH` z(SmtV1A1XS-fv|QQN=@X9Qsg0`vfx0)-j~hR`N(QgwwDM>E)<~t;bgQEOx}Vuor%h z(k|GR^k`&fS&L9DUxW2^z4)$-IaCOs9k82#7@qnM04FcTvLnZxd=MK%Q0z&WUfEk&)7OR*kqLN)9j?2Y?T4gU`HqPo*e&y!J8 zWTQHeh8=jnHJnH9AZl$K!AOuu!VG>mFpO&1Q>X*xRcwkUu@U}+8j-}Arh-(|;+ul%*#)SM zT!_u^D%41V}%DEYwiDk!iJ-B8Q;0&q+62VqTn!{m3szZOa{~MRpX`kk3%t?hLlV zbe9>qv8V>RF(X2xoQMi+L+#@|sEU68e?A5c@(%x#YF zRLmw_fDQ0|#~5nO?7@g4`-vprAsmOVpbm;=dFF+~upMbPYHlyb4!8}MU=?byb@P~^ zor&sU5vqIywTrf*M&upGTKSB>7FA}xS$ub666x1aFL)pI;-7E;CKs3=mr1Doy&73W z)@E#o525CE7i!KAV=8`*dU4%CXR)J3W=bLBul;-@8S24iRLc*c7T3p)-(x4z^}MVH z?1|lR9j4%3q*K-hsNFM?LVCUkd*bD&wY38^r61vNY!oRnXZA!?1FpfY_@tA66m8Ne z#b#=Tp~_u>YQV$T7vDow+@Qq#I1NFL6l*R{z(=qb{)C;ev(GdjGJ!~cGOj`m)h^Vc zI*MxfuTHv~-`pRM+Mb2j9`8gO_uyzehUu7EYRXSTmAe?b;2O-tCy>P+vA!TOL=UhK z^xy(i3$Jy22q%(0jOuaQfEn_!sHs|v$`3kjMs=VH^};W(AtnV)Lt3FmqCci+|1Tk; zxw<5t!CxFuJ>P+<=m<8&AF&zM3z;csgL?6JM?a1wy#f2<$EZczJZyGRUwnl0JnVrD z%4i7hxB3xLOBZ7|yb4?54*UZ5VR8Z=m*wWj-M!4Lk$tE|c?z{Ak}Avy4nnOV59&qN zqk8-#w!#zG0)NJcG8$EyA?l1eNcvzCoQx^B098R54#vAN8IR&n{0_6Q*Cl2VE<%me zji?UYg>CR4s@@aW2mf&i<6nnJ>T+}Brr~*{Gf)o}V{?pR25v)+ed}G+6!p8*Ou-`5 zNUXv^_yB4|KSeF-dY737_CSryMX38LE@S*P$J@!!syv9T@n`IS&A6`?XJQVH!kM@R zQ}8p?$o!7#NYBg73o@}G={fiwQkuEaFli5KEA)QCj}U2W!SK58`= z;}Bejn%g&UEGDfoQ!)+JfHG7CH#$CsnyPoOE1p74(K*+ch787Wq;pV_K`S>bWaXL;NhN+&8F^>39=g z#5fwq;9BgB?_)96xtXcr{Z@cTTf7-n;X|l`Utlk6ev4VHBT#8K>IG|16uk zTg=8$o6UAwfm(F;VJg0b8q$BEhO*1;<~tw{)$sMGDR>13;u-9Q1Me{R7oyfu7JN^W03`HEylk19d^M^cbR%7pbn-*sGhFI#&`?X!!6hj z??*;7V!cSDIT>G}jlZFWy2BPTl%r8|do?EEF4Ss2fG+$yw!oab&Em_&!KClNA^09< zW3zkA+L(!I*o|0M`#(xVLvb5+!WXeMeu;Ci*1hH+nTIV&uRz`3fXVn6Y7xJP!32Iy zx0;4uzRfJ&1E_MJpc?vvliy%FpJu$@>PloRmf#|M9Mzy^_n8lm^Dvck4vxlBY=|+` zetr%$WnZDDsMh^v$lIgVKyOq7mf%zjV`totku)NwoQx(9mI$<2|t<>A_eR z$D$U^WbA^4s5xDYT5NBidip!6VOb9u-8ho;T09@$K`q+$51apKJ?&w}e=-@jk)iE$ z67@iLspQs`4_JmnXS*RCHLK|nG<}m2w--69a--cRz521}!H~>##4z_#J zEaD;@M0z>S#3zt77P0E@G(*${+jC<)&cZy*z+E^EPh)Q!{FFJ#JgAYn0X2f#Q00$c zZLIUO=|BU=W~dQsgNfJ?GqwM_5YdZgqbdlZdU`i%$oF9~o@sU38z+zs zV^`dRHhzXwZzVosI(QYT0o!mfK8TM+5;!oPH4p6FZKmQlssYXSm{s2wwYYMev=3X8 zz8;t2y{HB>*=vS+E(S;!qIS(uR7ZZsbFuw%X2b?yq$e33BI@By*ao*^3w#b|!$@EB0t3{D$Obah(yf?{ zFJK2u+;4`iGpd4dI1m@3da@pe0_;xuGSmocM;l*7z3=M-5!2J8 zD)T>?I-pusgpF}KHo%=&2cJjniWe~fU&p!lCJx2!FFFSg>V<1jYh{;{K7mD~>mD>C z7l;tC$+#EQ<0?$Y&rvOJ{*tM17>*}hj5lBmwVy{FG7VgcS`#5`kE^jC?!XK1IBLZD zzHCNvB5Fz_ZX&6Qpeopcdhi+4P=150u;VM{$Q+0onJaJ*-h_JoCG3u0VG6c*)$E20 zTtRvkYO3Btbu{_4_&;PutbRnaf7hetG#S(x&s8EQYKliq@3@eLfO4Vrw|%-wv{wpoXxu>MVg zj1S=uJc$}1`-o}yBJ4zZBdVdhaWEu< ze9R!)k)6jM}n)Faq&o9Mua5J{T2XF}PL+z4ZQ4JpWA>%)t$h;5D zzJ35RNS|=hO^=$t^G!hIe~n|X-A86*mY|0C2GrWwjoOzV;I~9S{Mh`=zI@D##9`DL zsC(Qrxc_m+zXuuRWN1#dU|)P4`=RxT*)IK2J;_0hfCn4nD%8lWNA>VIR6~Ek5!n5N z*?tAshV(AfB7Pe+673_Ong=gL4gD>sA%7axqc5=u*8R*JD6Oy#>0wwGvr%(>K5DJp zfywwXPQl|?fW1FAJztBnNWXwuypeOiFh3q6&?e(*)WNVFvvEJFL3K`=3I?Jc%)^0r zJ=*vJX5nY3p0+w=zK}98K>7;og8xD--ZrP>9f??TiD*t1q882dn1C($qmCk6KNzex zob*6!;>0&{?;7X6_|b{0ak}hUoEc8p@t8#T-Q2RC*Z$w(+`Q89ReY0hkU|siK?04A zf7=g04R>=Ytxx__1eJi>m$ea?+8#1|813B<3TNpB};ftL~* z5+YZT!I6FTnn*f_R0Y<&z9w-u;WqN`CJb_JvZLbH75w=U;bZP4((}(yXT&TVPN=@7 zR!8t%-f!jCxcOR*_$5wUi|GvUZ%`||7xB6Tog1xDt9cyZD#DYbb&bK31b%Dcm$qah zCw>F@?>Oc3{y$xvxv_>2BKLKtP!$%C{*LGCpzC+3g~~`Wi;0rPIh< z^4}tT3E_6aFw)})I_(-!#)EGXsxLS9Mv>S}7(`sxGJ~~N&HvuXoZ~nfZ*t-)=OgH> z{#gmGNrWG2+#f}J72)ytUGx9;-goXVBJW%$-$<gny8}mvEEvHGK7*o+;gp0!>K= za4hL32s;0DeMh*E@Duk2<6i8Dg@pdZuOMtBY$4qan^DibxRcO_Z~@_Z!WM$Ai!t(| zlTgOX`h)8i^3rSMCsR=->3U8>>*5^B&2!3}i?@)z3*X1l*oKfvJO%gQ4TS3n69{|A zbFPSWDTxwNw-Fi|4R}}2wxL6kf|$7T-OJLy@abtk0op+-iDW^>OMXS&k?VO3kkZq z8myI=PB`qO&!OBydX8%!zC!p!`~Mrl0YWY}o*^_KtR$^#1mRzVJC&$$ZLSedsS*E{ z=UUUS7o6vpIQQOi(#bfJa5MQU2=t#H9_MCT;{QW;Ss{MgqqhKBwA4}KL7b7Hj&VE zzhjuVm-td#=j07`EKY-&Xes`tp5^u!ErMe!c$z6Sr=m zzzHWl55FV*6+u@BpT@>c`fu@E^G|7I#8;C)nb4W|E?j_*I%SVI>X9CVf0C}P1Xuf7 z@&1!hV{vrh#v$jS4!EB512rnqgDoh39eE817mC$4ck@)*%wh2}y)CgcK^trceU*z%R*bfu{)z2)d?VvWdq3KG%e@(@38tw0H75 zIEu#HA5tUzFwc*F!^ud*&&l|La1kMc(255%w;QSP9gecoge}B1jJhado#A@rbS$ga z`SmWamvnWf^|tf8`T3qa+ZD8Z{y>SV*v|JBd#tX(q4sQFk!Da))}dNWi@m{+?J5p~epg$m=Vh z-2sm~sH81ZkCrXY#yd-n_6gqCq=9;4g`H)OjQ$DQVm?S4nBHClVZ* zWK(UxPIu>5*O;MnK3&K~yR$up_J=%wzN;G53o56eT0r59>bgQ@f3D1SuFm!pGe>5w zgZ5%(pt@0dYndmI>koR0E6!H6?5}I0S>w!NV8*L!i}$lebs0&q+;LkIdKa+1H2z^{ zS+R^fzC5P8kcnZCi#!#~Z61p(m=>)wVNsoefInOsoj>8;=#dF6qF+y#QHRy&3B(4T zKcr62so~;~m$9pExHAq~L@W$@N&3_@){z!b)Hn5+#w-Vuim&15<%3!#WJJ5=+z^Qu zv9;W1X@KJ^OXI9oXj60zTGQfXg47w$W0XxS*B>gh%U!;Z9Skw{F52$(m4-t#9>@-a zsU^M|-2ReM>d&Rg|dU?4F@Q zZ?LBpN$k;_rxIFu0s)pF6Zhxk?3%uzc0Uixz+DtBrH1@`?=ss<+b?6QhkY!SpdHjM zQWMhCodW(q^zhD>k&L8S>_cWhsJ-X*`$7SKF&m;nTeZehPVKyZ&bS#fCr-;*JZ4(X ztQpg$^tQ`f#cX1Ad1w;r(C7EDHT?Pc&eHRFsGS;%s+$$$NPw>Dir>Zn>Tkfi0 z4}!a&#sK5XzJ`I z+U0w76vc<-zh*0XX!ekE@;ttvH&ii{8r^BpUuL%(b#d4q?_e-gLCdueGgzF}EpYCp z$M2qJ+QaFjqtRvS@Xd%dn$sgOGS455PhET^m3rLX{0h^?P$8!j^TGn z>FFVkuJmG8uBW(q?^y9#!kp+qrwTpj&ySyD|KI29JNqpd>p%b3T0J}kI%7h1iAPgr zPaQXP^tc)6IoVUkX;gIlJ10ggec{eJ(c5#|4JQp<@tSS+G+uBsa@=x z=Xe`Q!W36yXI{`Po}%^Zp+%?Ge2>JS(Ap z^kn$F=;X2nefka^(63i!R%T|>^l9lcJY`)ovu|cP|78uZv-%C~n@PFY zg0e@G7R8r}&DpR&R_?3d1gfx?x{CaEWqCzW)rtzcwAfo@=}61*dMbUo&98SnHynSI z9hn#6tgZA{KdC3GACLX(@=l3uwUS)%XLyOdG+edYE)7(A+?5rf=#rIPVp%IsB}6x@ z>K02`)vtE+;B}3gaA=nEB7Wln6}etdZ0L1|YQ@r5_ezZJh$Kbbhg-&`-aN8y(%7mM z;R1ivrUR>@3vNwGUdo!IE0r!rwX)pL?{!58|t??2i?*{8h2nt~5_Zc$8oA>48d( zJ>NY4!%ulQKKLFVEvWH3NsZM_)~~tufBP-Jz%H+#+b&gB-N>pH{_;QiUtaSi|HChO z^!k16>X&)+{lQOn>c)R0beZqfkGG$d#vU_kinr-Ce!HkR?5^Z}n$1KVR?%jg0(D(> zL4Y6c%1z%icUST=%7Nn9i1~LFxHx1~qkiq9H{Elr(@Yv|GF@hqIK^Cnf^dn) z7Yb)YOYYqknZ{EtTRUXBpYx?Cq^>c5d9G0Wm`yYLDgN8?!3jB7tXQ}$;;`iOu5dRbi@{G?r(Nh%v7+{-dJylY#z6H(} z{nLkl=9Q<|fZFNW2R+$j@h^c&PptXYGYP4qt5zIX$=4@)lWv$@%i-^A6j~E&y8U3{ zOs&xX4fYh-MgCGROW0NF3esFQgx`E2EcLMPi@lm;yON@=sugx6JH^MT#JR!&P*Y-YkXK#e^*onG~fYJf!6NwFh4W+seh zs+Y2S|M=c;73VTR@eJpSgEsI{$l|SJA26=v>=8E;>Gj1wK-d&X(X@v??d|8-D)O>$ zT-9S3KhBCt#<$WR%Y&&^JsK4s$M*$ij=DCh8so!VKq-Z@&5m97$3d@Dqk9Beh*4)`le`I%-iDoVVT z3WS4U9X#qFm9GqOQ)h?1St|Ltsx))Nk67&Qdp>H=x4hCHaO?d(evfE>{9x3_NW3IR zv8!r#9*eIJA0PgbimFYq7Y-h)*C+mSMX^8LAAe(zPakun^YKu#{dc_4sLr@QK52Y( gStn49?~VAG^{4NizbKH_CoTH=TOFbgytDQH06~aPxBvhE diff --git a/po/pl.po b/po/pl.po index 423a2ef1..925bc27a 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,15 +1,15 @@ # Polish translation of GNU tar -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Rafał Maszkowski , 1996, 1997, 2000, 2001, 2003, 2004, 2006-2010. „” -# Thanks to Jakub Bogusz for remarks and corrections, 2003, 2004, 2007, 2008, 2010 -#: src/create.c:1552 +# Rafał Maszkowski , 1996, 1997, 2000, 2001, 2003, 2004, 2006-2011. „” +# Thanks to Jakub Bogusz for remarks and corrections, 2003, 2004, 2007, 2008, 2010. +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.24\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-10-25 23:10+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-12 18:25+0100\n" "Last-Translator: Rafał Maszkowski \n" "Language-Team: Polish \n" "Language: pl\n" @@ -30,36 +30,35 @@ msgid "ambiguous argument %s for %s" msgstr "niejednoznaczny argument %s opcji %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Prawidłowe argumenty to:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: wartość %s jest mniejsza lub równa %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parametr ARGP_HELP_FMT wymaga podania wartości" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parametr ARGP_HELP_FMT musi być dodatni" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Nieznany parametr ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Śmieci w ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,29 +66,29 @@ msgstr "" "Argumenty obowiązkowe lub opcjonalne dla opcji długich są również " "obowiązkowe lub opcjonalne również dla odpowiadających im opcji krótkich." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Składnia:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " albo: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr "[OPCJE...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Użyj `%s --help' albo `%s --usage' żeby otrzymać więcej informacji\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Raporty o błędach należy wysyłać do %s .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Nieznany błąd systemu" @@ -101,7 +100,7 @@ msgstr "wyświetlenie tego opisu" msgid "give a short usage message" msgstr "krótka informacja o opcjach" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAZWA" @@ -122,17 +121,16 @@ msgstr "poczekaj SEK sekund (domyślnie 3600)" msgid "print program version" msgstr "informacja o wersji programu" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(BŁĄD PROGRAMU) Nieznana wersja!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Za dużo argumentów\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(BŁĄD PROGRAMU) Opcja powinna była być rozpoznana!?" @@ -140,62 +138,62 @@ msgstr "(BŁĄD PROGRAMU) Opcja powinna była być rozpoznana!?" msgid "write error" msgstr "błąd zapisu" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opcja '%s' jest niejednoznaczna\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opcja '--%s' nie może mieć argumentu\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opcja '%c%s' nie może mieć argumentu\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opcja '--%s' wymaga argumentu\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nierozpoznana opcja '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nierozpoznana opcja '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: błędna opcja -- '%c'\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opcja wymaga argumentu -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opcja '-W %s' jest niejednoznaczna\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opcja '-W %s' nie może mieć argumentu\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opcja '-W %s' wymaga argumentu\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "brak pamięci" @@ -211,28 +209,30 @@ msgstr "nie udało się powrócić do początkowego katalogu bieżącego" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -242,7 +242,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yYtT]" @@ -252,7 +252,7 @@ msgstr "^[yYtT]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -543,7 +543,12 @@ msgid "Cannot connect to %s: resolve failed" msgstr "" "Nie można połączyć się z %s: nie udało się przetłumaczyć nazwy na adres" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Nie można uruchomić zdalnego shella" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Nie można uruchomić zdalnego shella" @@ -593,8 +598,8 @@ msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" "Posługiwanie się napędem taśmowym, przyjmowanie poleceń od zdalnego procesu" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "LICZBA" @@ -602,8 +607,8 @@ msgstr "LICZBA" msgid "set debug level" msgstr "ustawienie poziomu wypisywania informacji diagnostycznych" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -618,7 +623,7 @@ msgstr "plik do zapisywania informacji diagnostycznych" msgid "cannot open %s" msgstr "nie można otworzyć %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "za dużo argumentów" @@ -627,9 +632,9 @@ msgstr "za dużo argumentów" msgid "Garbage command" msgstr "Bezsensowna komenda" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "To nie wygląda jak archiwum tar" @@ -667,19 +672,19 @@ msgstr "Nie można zweryfikować archiwum z/do stdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "Archiwum jest skompresowane. Należy użyć opcji %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Nie można uaktualnić archiwum skompresowanego" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Na początku taśmy, teraz kończę" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Za dużo błędów, kończę" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -687,7 +692,7 @@ msgstr[0] "Rozmiar rekordu = %lu blok" msgstr[1] "Rozmiar rekordu = %lu bloki" msgstr[2] "Rozmiar rekordu = %lu bloków" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -695,38 +700,38 @@ msgstr[0] "Nierówny blok (%lu bajt) w archiwum" msgstr[1] "Nierówny blok (%lu bajty) w archiwum" msgstr[2] "Nierówny blok (%lu bajtów) w archiwum" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Nie można się cofnąć w pliku archiwum; może nie być czytelny bez -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek nie zatrzymał się na granicy rekordów" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: zawiera błędny numer części" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Przepełnienie numeru części" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Przygotuj część numer %d dla %s i naciśnij return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF kiedy była oczekiwana odpowiedź użytkownika" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "UWAGA: Archiwum jest niekompletne" # rare case when `for parts' translates into `części' for both sing. and plural in Polish - rzm -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -737,68 +742,68 @@ msgstr "" " q Zakończenie programu tar\n" " y albo Enter Kontynuacja\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Uruchomienie powłoki\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Wypisanie tej listy\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Brak nowej części; zakończenie pracy.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Brak nazwy pliku. Spróbuj jeszcze raz.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" "Błędne dane wejściowe. Wciśnij ? żeby przeczytać informacje pomocnicze\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s polecenie zwróciło błąd" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s prawdopodobnie jest kontynuowany w tej części: nagłówek zawiera skróconą " "nazwę" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s nie jest kontynuowany w tej części" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s to zły rozmiar (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ta część nie jest w kolejności (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Etykieta archiwum nie pasuje do %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Część %s nie pasuje do %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -806,11 +811,11 @@ msgstr "" "%s: nazwa pliku jest za długa do zapisania w nagłówku wieloczęściowego " "archiwum GNU, zostanie skrócona" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "zapis nie zakończył się na granicy bloków" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" @@ -818,76 +823,75 @@ msgstr[0] "Można było przeczytać tylko %lu z %lu bajtu" msgstr[1] "Można było przeczytać tylko %lu z %lu bajtów" msgstr[2] "Można było przeczytać tylko %lu z %lu bajtów" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Zawartości się różnią" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Nieoczekiwany EOF w archiwum" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Różne typy plików" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Uprawnienia się różnią" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid się różni" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid się różni" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Czas modyfikacji się różni" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Rozmiar się różni" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Nie dołączony do %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Łącze symboliczne się różni" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Różnią się numery urządzeń" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Sprawdzanie " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Nieznany typ pliku `%c' porównywany jako zwykły plik" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Archiwum zawiera nazwy plików bez początkowych elementów ścieżek." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Archiwum zawiera przestarzałe nagłówki base64" +msgstr "Archiwum zawiera zmienione nazwy plików." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Podczas weryfikacji mogą nie być znalezione pliki lokalne" -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -895,48 +899,48 @@ msgstr[0] "BŁĄD WERYFIKACJI: wykryto %d błędny nagłówek" msgstr[1] "BŁĄD WERYFIKACJI: wykryto %d błędne nagłówki" msgstr[2] "BŁĄD WERYFIKACJI: wykryto %d błędnych nagłówków" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Samotny blok zerowy przy %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: zawiera znacznik katalogu pamięci podręcznej %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "wartość %s z %s poza zakresem %s..%s; podstawione %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "wartość %s z %s poza zakresem %s..%s" # hm? - rzm -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Tworzenie ujemnych nagłówków ósemkowych" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: nazwa pliku jest za długa (powyżej %d); nie została zapisana" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" "%s: nazwa pliku jest za długa (nie może być podzielona); nie została zapisana" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: nazwa łącza jest za długa; nie została zapisana" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -944,268 +948,293 @@ msgstr[0] "%s: Plik skurczył się o %s bajt; jest dopełniany zerami" msgstr[1] "%s: Plik skurczył się o %s bajty; jest dopełniany zerami" msgstr[2] "%s: Plik skurczył się o %s bajtów; jest dopełniany zerami" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: plik w innym systemie plików; nie został zapisany" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "zawartość nie została zapisana" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Nieznany typ pliku; plik zignorowany" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Brakujące łącza do %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: plik jest niezmieniony; nie został zapisany" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: plik jest w tym archiwum; nie został zapisany" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "katalog nie został zapisany" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: plik zmienił się w trakcie czytania" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: zignorowane gniazdo z nazwą" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: zignorowany plik door" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Przeskoczenie do następnego nagłówka" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Kasowanie z archiwum nie-nagłówka" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: niemożliwie stara data %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: znacznik czasowy %s jest przesunięty o %s s w przyszłość" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Nieoczekiwana niespójność przy zakładaniu katalogu" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Katalog zmienił nazwę zanim można było odtworzyć jego status" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Odtwarzanie plików ciągłych (nie sparse) jako zwykłych" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Próba odtworzenia łącza symbolicznego jako zwykłego" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nie można odtworzyć -- plik jest kontynuowany z innej części" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Niespodziewany nagłówek z długą nazwą" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Nieznany typ pliku `%c', odtworzony jako plik zwykły" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Aktualny %s jest nowszy albo w tym samym wieku" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Nie można było zrobić kopii zapasowej tego pliku" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Nie można przemianować %s na %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Nazwa katalogu została zmieniona z %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Nazwa katalogu została zmieniona" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Katalog jest nowy" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: plik w innym systemie plików; nie został zapisany" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Nazwa katalogu została zmieniona" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Błędny czas pliku" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Błędny czas modyfikacji (sekundy)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Błędny czas modyfikacji (nanosekundy)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Błędny numer urządzenia" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Błędny numer inodu" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Za długie pole w pliku migawkowym" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Błąd czytania pliku migawkowego" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Nieoczekiwany EOF w pliku migawkowym" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Nieoczekiwana wartość pola w pliku migawkowym" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Brakujące zakończenie rekordu" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Zły format pliku przyrostowego" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nie obsługiwana wersja formatu przyrostowego: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Zły format katalogu zrzutów: oczekiwano '%c', znaleziono %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Zły format katalogu zrzutów: powtórzone 'X'" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Zły format katalogu zrzutów: pusta nazwa w 'R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Zły format katalogu zrzutów: 'T' nie jest poprzedzone przez 'R'" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Zły format katalogu zrzutów: pusta nazwa w 'T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Zły format katalogu zrzutów: oczekiwano '%c', znaleziono koniec danych" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Zły format katalogu zrzutów: nigdy nie użyte 'X'" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Nie można utworzyć katalogu tymczasowego przy użyciu wzorca %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Bez skasowania katalogu: nie można odczytać stanu" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: katalog na innym urządzeniu: bez skasowania" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Usunięcie %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nie można usunąć" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Pominięty" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok zer **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok: %s: ** Koniec pliku **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Odstępy w nagłówku zamiast spodziewanej wartości numerycznej %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1213,108 +1242,124 @@ msgstr "" "jak uzupełnienie dwójkowe" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Wartość ósemkowa %.*s w archiwum jest spoza zakresu %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Archiwum zawiera przestarzałe nagłówki base64" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "W archiwum jest łańcuch base64 %s spoza zakresu %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Wartość base256 w archiwum jest spoza zakresu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archiwum zawiera %.*s tam gdzie oczekiwana była liczba %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Wartość %s w archiwum jest spoza zakresu %s %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " łącze do %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " nieznany typ pliku %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Długie łącze--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Długa nazwa--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Nagłówek części--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Kontynuacja od bajtu %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Tworzony jest katalog:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Nie można odczytać bieżącego katalogu" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Nazwa %s zmieniona na %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Nie można przemianować na %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Nazwa zmieniona z %s z powrotem na %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Plik usunięty zanim został przeczytany" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proces potomny" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "kanał między procesami" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "%s polecenie zwróciło błąd" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: lista plików już przeczytana" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "nie można ustawić czasu na `%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: przeczytana nazwa pliku zawiera znak NUL" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "W nazwach plików użyto znaków dopasowania wzorców" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1322,57 +1367,58 @@ msgstr "" "Użyj --wildcards aby włączyć porównywanie wzorców albo --no-wildcards żeby " "wyłączyć to ostrzeżenie" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nie znalazłem w archiwum" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Brak podanego wystąpienia pliku w archiwum" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Nie pasująca etykieta archiwum" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Nie jest dozwolone używanie opcji -C wewnątrz listy plików razem z --listed-" "incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Z --listed-incremental można użyć tylko jednej opcji -C" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Opcje `-%s' i `-%s' obie chcą dostępu do standardowego wejścia" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Błędny format archiwum" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Próba użycia rozszerzeń GNU z niekompatybilnym formatem archiwum" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Nieznany styl cytowania `%s'. Użyj `%s --quoting-style=help' żeby zobaczyć " "listę." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1389,9 +1435,10 @@ msgstr "" "tar.\n" " tar -xf archive.tar # rozpakowanie plików z archive.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1412,79 +1459,79 @@ msgstr "" "proste\n" " never, simple proste kopie zapasowe\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Podstawowe tryby działania:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "wypisanie zawartości archiwum" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "rozpakowanie plików z archiwum" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "utworzenie nowego archiwum" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "sprawdzenie różnic między archiwum i plikami na dysku" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "dołączenie plików na końcu archiwum" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "dołączenie tylko plików nowszych niż kopie w archiwum" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "dołączenie plików tar do archiwum" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "skasowanie plików z archiwum (nie na taśmie!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "przetestowanie etykiety archiwum i wyjście" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modyfikatory działania:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "efektywne przetwarzanie plików rzadkich" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "ustawienie wersji używanego formatu plików rzadkich (włącza --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "backup przyrostowy w starym formacie GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "backup przyrostowy w nowym formacie GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "numer poziomu tworzonej albo oglądanej przyrostowej kopii zapasowej" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "bez zakończenia błędem jeżeli niedostępne pliki" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1496,124 +1543,135 @@ msgstr "" "plików jest podana w linii poleceń albo przez opcję -T. LICZBA domyślnie " "wynosi 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "archiwum o swobodnym dostępie" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "archiwum bez swobodnego dostępu" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "bez sprawdzania numerów urządzeń przy tworzeniu archiwów przyrostowych" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "ze sprawdzaniem numerów urządzeń przy tworzeniu archiwów przyrostowych" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Sterowanie zamazywaniem" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "próba weryfikacji archiwum po zapisaniu" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "usunięcie plików po dodaniu do archiwum" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "bez zamazania istniejących plików rozpakowanymi" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "bez zamazania istniejących plików rozpakowanymi" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "bez zastępowania istniejących plików, które są nowsze niż ich kopie w " "archiwum" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "nadpisywanie istniejących plików" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "usunięcie każdego pliku przed zamazaniem go rozpakowanym plikiem" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "opróżnianie starych katalogów przed rozpakowaniem kopii z archiwum" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "zachowanie metadanych istniejących katalogów" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "nadpisywanie metadanych istniejących katalogów przy rozpakowywaniu " "(domyslnie)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "nadpisywanie istniejących plików" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Wybór strumienia wyjściowego" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "rozpakowanie plików na standardowe wyjście" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "POLECENIE" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "przekazanie rozpakowywanych plików do innego programu" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "zignorowanie kodów wyjścia procesów potomnych" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" "traktowanie niezerowych kodów wyjściowych procesów potomnych jako błędu" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Przetwarzanie atrybutów plików:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "nadanie właściciela NAZWA dodanym plikom" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "nadanie grupy NAZWA dodanym plikom" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATA_ALBO_PLIK" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "ustawianie czasu modyfikacji dodanych plików z DATA_ALBO_PLIK" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ZMIANY" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "ZMIANA uprawnień dodanych plików (podanych symbolicznie)" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODA" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1623,11 +1681,11 @@ msgstr "" "czytaniu (METODA='replace'; domyślnie) albo przez nieustawianie czasu " "(METODA='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "bez odtworzenia czasu modyfikacji rozpakowanego pliku" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1635,22 +1693,22 @@ msgstr "" "staranie się o odtworzenie właścicieli plików według zapisu w archiwum " "(domyślnie dla superusera)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "rozpakowanie plików jako własności rozpakowującego (domyślnie dla zwykłych " "użytkowników)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "używanie numerów, nie nazw użytkowników/grup" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "odtworzenie informacji o uprawnieniach plików (domyślnie dla superusera)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1658,15 +1716,16 @@ msgstr "" "użycie umask użytkownika przy odtwarzaniu uprawnień z archiwum (domyślnie " "dla zwykłych użytkowników)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "pliki do rozpakowania posortowane jak w archiwum" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "to samo co równocześnie -p i -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1674,139 +1733,180 @@ msgstr "" "ustawianie czasów zmian i uprawnień odtworzonych katalogów opóźnione do " "końca rozpakowywania" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "wyłączenie efektu opcji --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Przetwarzanie atrybutów plików:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Wybór i przełączanie urządzeń:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIWUM" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "użycie pliku lub urządzenia ARCHIWUM" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "plik archiwum lokalny, nawet jeżeli ma dwukropek" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "użyj POLECENIA zamiast /etc/rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "użyj POLECENIA zamiast rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "podanie napędu i gęstości" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "tworzenie/wypisanie/rozpakowanie archiwum wieloczęściowego" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "zmiana taśmy po zapisaniu LICZBA x 1024 bajtów" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "uruchomienie skryptu na końcu taśmy (włącza -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "użycie/uaktualnienie numeru części w PLIKU" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Parametry bloków:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKI" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOKI x 512 bajtów na rekord" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "LICZBA bajtów w rekordzie, wielokrotność 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorowanie wyzerowanych bloków w archiwum (oznacza EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "podzielenie na bloki przy odczycie (dla pipe 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Wybór formatu archiwum:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "utworzenie archiwum w danym formacie." -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT może być jednym z następujących:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "stary format tara z V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "format GNU dla tara <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "format tara GNU 1.13" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "format POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "format POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "to samo co pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "to samo co --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "to samo co --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "słowo_kluczowe[[:]=wartość][,słowo_kluczowe[[:]=wartość]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "ustawianie słów kluczowych formatu pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEKST" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1814,80 +1914,80 @@ msgstr "" "utworzenie archiwum z nazwą wolumenu TEKST. Przy wypisywaniu/rozpakowaniu " "TEKST będzie użyty jako wzorzec dopasowania dla nazwy" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Opcje kompresji" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "użycie przyrostka nazwy archiwum do ustalenia programu kompresującego" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" "bez używania przyrostka nazwy archiwum do wyznaczenia programu kompresującego" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtrowanie przez PROGRAM (akceptujący -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Wybór plików lokalnych:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "dodanie podanego PLIKU do archiwum (przydatne jeżeli jego nazwa startuje od " "myślnika)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "KATALOG" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "przejście do KATALOGU" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T czyta nazwy zakończone zerem, wyłącz -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "wyłączenie efektu użycia opcji --null" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" "usunięcie znaków cytowania z nazw plików czytanych poprzez opcję -T " "(domyślnie)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "bez usuwania znaków cytowania z nazw plików czytanych poprzez opcję -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "WZORZEC" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "wykluczenie nazw pasujących do WZORCA" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "wykluczenie nazw pasujących do wzorców w PLIKU" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1895,91 +1995,93 @@ msgstr "" "wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR." "TAG, oprócz samych plików znacznika" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "wykluczenie katalogów zawierających PLIK, ale nie samego PLIKU" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "wykluczenie katalogów zawierających PLIK" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "wykluczenie katalogów systemu administrowania wersjami" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "bez automatycznego zagłębiania się w katalogi" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "pozostanie w jednym systemie plików" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "zagłębianie się w podkatalogi (domyślnie)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "bez usuwania początkowego `/' z nazw plików" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "archiwizacja plików, na które wskazują łącza symboliczne" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "archiwizacja plików, na które wskazują łącza zwykłe" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NAZWA-PLIKU" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "zaczęcie od pliku NAZWA-PLIKU w archiwum" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "zapisanie tylko plików nowszych niż DATA albo data PLIKU" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "porównywanie daty i czasu tylko dla zmienionych danych" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "TRYB" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "kopia zapasowa przed usunięciem, wybranie TRYBU zarządzania wersjami" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "NAPIS" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1987,100 +2089,103 @@ msgstr "" "kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka ('~', jeżeli " "nie zmieniony przez zmienną środowiska SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Zmiany nazwy plików:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "ucięcie przed rozpakowaniem LICZBY początkowych elementów ścieżki z nazw " "plików" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "WYRAÅ»ENIE" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "użycie WYRAÅ»ENIA zamiany sed-a do przekształcenia nazw plików" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Opcje filtracji nazw plików (dotyczą zarówno wzorców wykluczania jak " "włączania):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "traktowanie tak samo małych i wielkich liter" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "nazwy porównywane od początków nazw plików" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "wzorce odnoszą się do nazw po każdym / (domyślnie)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "odróżnianie małych i wielkich liter (domyślnie)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "używanie wildcards (domyślnie dla wykluczania)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "dosłowne porównywanie napisów" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "wildcards nie są porównywane z `/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "wildcards są porównywane z '/' (domyślnie dla wykluczania)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informacje:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "wypisywanie szczegółów o przetwarzanych plikach" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "SŁOWO KLUCZOWE" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "sterowanie ostrzeżeniami" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "wypisywanie co ILE rekordów informacji o przetwarzaniu (domyslnie co 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "AKCJA" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "wykonanie AKCJI przy każdym punkcie kontrolnym" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "wypisanie komunikatu jeżeli nie wszytkie łącza zostały zapisane" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SYGNAŁ" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2092,31 +2197,35 @@ msgstr "" "sygnały: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; nazwy bez prefiksu SIG " "są też akceptowane" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "wypisanie czasów modyfikacji plików w UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "wypisanie czasu pliku z pełną dokładnością" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "zapisanie dokładnych informacji w PLIKU" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "pokazanie przy każdym komunikacie numeru bloku w archiwum" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "proszenie o potwierdzenie każdego działania" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "wypisanie domyślnych ustawień tar-a" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2124,33 +2233,33 @@ msgstr "" "wypisywanie każdego katalogu nie pasującego do kryteriów szukania przy " "wypisywaniu albo rozpakowywaniu archiwum" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "pokazanie nazw plików albo archiwów po przeszktałceniu" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STYL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "ustawienie stylu ujmowania nazw w cudzysłowy; poniżej dozwolone wartości " "STYLU" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "dodatkowe ujmowanie w znaki cytowania znaków z ŁAŃCUCHA" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "wyłączenie ujmowania w znaki cytowania znaków z ŁAŃCUCHA" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Opcje kompatybilności:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2158,63 +2267,56 @@ msgstr "" "przy tworzeniu: to samo co --old-archive przy odtwarzaniu: to co --no-same-" "owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Inne opcje:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "wyłączenie używania potencjalnie szkodliwych opcji" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Nie można podać więcej niż jednej opcji z `-Acdtrux' albo `--test-label'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Niezgodne opcje kompresji" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Nieznana nazwa sygnału: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Nie znaleziono pliku z datą" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Postawienie %s w miejscu nieznanego formatu daty %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Opcja %s: Potraktowanie daty `%s' jako %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: lista plików już przeczytana" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: przeczytana nazwa pliku zawiera znak NUL" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "filtrowanie archiwum przez %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Prawidłowe argumenty dla opcji --quoting-style:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2222,51 +2324,48 @@ msgstr "" "\n" "*Ten* tar ma domyślne parametry:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Błędny właściciel" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Błędny współczynnik łączenia w bloki" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Błędna długość taśmy" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Błędny numer poziomu przyrostowej kopii zapasowej" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Więcej niż jedna data graniczna" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Błędna wartość wersji plików rzadkich" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "ten system nie pozwala na użycie --atime-preserve='system'" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "wartość --checkpoint nie jest liczbą całkowitą" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Błędna grupa" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Błędne uprawnienia podane w opcji" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Błędny numer" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Błędny właściciel" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2274,68 +2373,70 @@ msgstr "" "Opcja --preserve jest przestarzała, zamiast niej użyj --preserve-permissions " "--preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Błędna wielkość rekordu" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Rozmiar rekordu musi być wielokrotnością %d" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Błędna ilość elementów" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Wolno użyć tylko jednej opcji polecenia --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Błędna specyfikacja gęstości: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Nieznana gęstość: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opcje `-[0-7][lmh]' nie są używane w *tym* tarze" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[PLIK]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Stara opcja `%c' wymaga argumentu." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence nie ma znaczenia bez listy plików" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence nie może być użyte w tym trybie" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Archiwum składające się z wielu plików wymaga opcji `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Nie można połączyć --listed-incremental z --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "opcja --level nic nie znaczy bez użycia --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2343,52 +2444,80 @@ msgstr[0] "%s: Za długa etykieta części (może mieć do %lu bajtu)" msgstr[1] "%s: Za długa etykieta części (może mieć do %lu bajtów)" msgstr[2] "%s: Za długa etykieta części (może mieć do %lu bajtów)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Nie można zweryfikować archiwum wieloczęściowego" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Nie można zweryfikować archiwum skompresowanego" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Nie może być użyty wzorzec %s" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Nie można używać wieloczęściowego archiwum skompresowanego" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Nie można połączyć skompresowanych archiwów" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option może być użyta tylko przy archiwach POSIX-owych" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Nie może być użyty wzorzec %s" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Długość części nie może być mniejsza od wielkości rekordu" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "opcja --preserve-order nie może być używana z --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Tchórzliwie odmawiam utworzenia pustego archiwum" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opcje `-Aru' są niekompatybilne z `-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Musisz podać jedną z opcji `-Acdtrux' albo `--test-label'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Zakończenie w stanie błędu z powodu uprzednich błędów" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2401,51 +2530,47 @@ msgstr[2] "%s: Plik skurczył się o %s bajtów" msgid "Keyword %s is unknown or not yet implemented" msgstr "Słowo kluczowe %s jest nieznane albo jeszcze nie zaimplementowane" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Czas spoza dozwolonego zakresu" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Nie może być użyty wzorzec %s" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Słowo kluczowe %s nie może być zastąpione" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Błędny nagłówek rozszerzony: brakuje długości" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Długość nagłówka rozszerzonego jest poza dozwolonym zakresem" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Długośc nagłówka rozszerzonego %*s jest poza zakresem" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Błędny nagłówek rozszerzony: brakuje odstępu po długości" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Błędny nagłówek rozszerzony: brakuje znaku równości" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Błędny nagłówek rozszerzony: brakuje znaku mowej linii" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego `%s'" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2454,63 +2579,63 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Nagłówek rozszerzony - %s=%s jest poza zakresem %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Błędny nagłówek rozszerzony: błędny %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Błędny nagłówek rozszerzony: nadmiarowe %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Błędny nagłówek rozszerzony: błędny %s: niespodziewany ogranicznik %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Błędny nagłówek rozszerzony: błędny %s: nieparzysta liczba wartości" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: błędna specyfikacja ograniczenia czasu" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: nieznana akcja przy punkcie kontrolnym" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "zapis" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "odczyt" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Punkt kontrolny zapisu %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Punkt kontrolny czytania %u" @@ -2655,7 +2780,7 @@ msgstr "Liczba spoza dozwolonego zakresu: %s" msgid "Negative size: %s" msgstr "Ujemny rozmiar: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "błąd stat(%s)" @@ -2684,8 +2809,8 @@ msgstr "Nieznany format daty" msgid "[ARGS...]" msgstr "[ARGUMENTY...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "nie można otworzyć `%s'" @@ -2699,66 +2824,94 @@ msgstr "nie można ustawić pozycji" msgid "file name contains null character" msgstr "nazwa pliku zawiera znak NUL" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "nie można utworzyć pliku rzadkiego na standardowym wyjściu, użyj opcji --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "nieprawidłowa maska (koło `%s')" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr " Nieznane pole `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "nie można ustawić czasu na `%s'" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "nie można usunąć `%s'" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s polecenie zwróciło błąd" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "nie można usunąć `%s'" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Polecenie zakończyło się poprawnie\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Polecenie zakończyło się niepoprawnie z kodem %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Polecenie zostało zakończone sygnałem %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Polecenie zostało zatrzymane sygnałem %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Został zapisany obraz pamięci (core dump) polecenia\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Polecenie zakończone\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat wymaga podania nazwy pliku" -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Katalog usunięty zanim został przeczytany" +#~ msgid "Cannot get working directory" +#~ msgstr "Nie można odczytać bieżącego katalogu" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "pliki do rozpakowania posortowane jak w archiwum" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Za długie pole w pliku migawkowym" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Błąd czytania pliku migawkowego" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Nieoczekiwana wartość pola w pliku migawkowym" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Długość nagłówka rozszerzonego jest poza dozwolonym zakresem" + +#~ msgid "Invalid group" +#~ msgstr "Błędna grupa" diff --git a/po/pt.gmo b/po/pt.gmo index 4d5052fe4f0ed5ab73705f0f29c7fd42b7f4f8ff..06fb21811a31e9dafeb63d689515892bf036324e 100644 GIT binary patch delta 752 zcmX}qzb`{k6u|M*AKI#-s+6K0PbF2QKm15YL?U4zu}O%CmBAt!25I6Cuyrs9gNXeZ zq!U|BEG!agGaJF@(=J zjPDr6U+lr4N5n)EBe;V4+!jvbDfXd--S~p~{u-JhC5d?Jf0)5RZfxQ>o?s{5qJb6X z_YcgI2bx6MaUKV76?H>E&H8e~L{IeUJm3k64ng>D5kJ)dp)YSY@d+aE;$7dswI3| zc4%8PXt{k--ISh4Kfo?VoYBemLm`IywLV delta 1243 zcmY+?OK1~87{Kvq`tVU(Yqi!|tK+scn7TFTgJKmS6!f525pR8vO|xwmnrz(NSQSd> zxffA;Rl%bN#dr{J5j=YEBnS#cL=bury^8;DH`I2>?r&yxCNtkR^QP-*Px)(m!@8pM z@f_p1P^Z)=PRDprlJ!dM!xS2L5!=whBj{l-u3|lUuTlxx8I;tmp$x2|M7)U!)Xh;OSFn@z3ijbTPT*U-jDJxA zxWxI%2BuIpbRXmR3d`eEK2tHVqeZE6IDxX@3d)^$iKp-bN``);q_DL$O8p43mb!s* zl(Q(AT1671I(Vc=mZZ=f7Fj=Bpw`|ZMorF^6A23m3K!-`!#g2S%MpQe=3tcZEcTrA3{MZgZ_2B0HBNx0%Zu-dc%@`>1*=)mSxFo?Oalw-`8X zL1+5s;@Y!sl^oCZwN=oTw@}L4g^aA`@;c{gV`prJN^eavOu{p?&q7W<4DU*? rdE0h;O+y>zyf$|Z{~w^C3(S(41WAlmj=fOP3EL0sD9lIAeRcl;kJie) diff --git a/po/pt.po b/po/pt.po index 3efe6d03..464c2a58 100644 --- a/po/pt.po +++ b/po/pt.po @@ -2,12 +2,12 @@ # Copyright (1995) Free Software Foundation, Inc. # António José Coutinho # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.11.9\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 1996-04-20 21:50\n" "Last-Translator: António José Coutinho \n" "Language-Team: Portuguese \n" @@ -27,36 +27,35 @@ msgid "ambiguous argument %s for %s" msgstr "" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 #, fuzzy msgid "" "Mandatory or optional arguments to long options are also mandatory or " @@ -65,32 +64,32 @@ msgstr "" "Os argumentos obrigatórios ou opcionais para as opções longas também\n" "são obrigatórios ou opcionais para as correspondentes opções curtas.\n" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Forma de usar: %s [OPÇÃO]...\n" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Para mais informação, tente \"%s --help\".\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Erro desconhecido, do sistema" @@ -102,7 +101,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -123,17 +122,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -142,62 +140,62 @@ msgstr "" msgid "write error" msgstr "Escreve-se registo\n" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "Valor inválido para tamanho de registo (record_size)" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "A antiga opção `%c' exige um argumento." -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "" @@ -213,28 +211,30 @@ msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "" @@ -244,7 +244,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -254,7 +254,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -521,7 +521,12 @@ msgstr "" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Não se consegue executar uma \"shell\" remota" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Não se consegue executar uma \"shell\" remota" @@ -574,8 +579,8 @@ msgstr "Fim de ficheiro inesperado nos nomes truncados" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -583,8 +588,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -599,7 +604,7 @@ msgstr "" msgid "cannot open %s" msgstr "Não se consegue abrir %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -608,9 +613,9 @@ msgstr "" msgid "Garbage command" msgstr "Comando desconhecido" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Isto não se parece a um arquivo \"tar\"" @@ -651,65 +656,65 @@ msgstr "N msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 #, fuzzy msgid "Cannot update compressed archives" msgstr "Não se pode actualizar o verificar um arquivo comprimido" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "No princípio da fita, pára-se imediatamente" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Erros de mais: termina-se" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Tamanho de bloco (blocksize) = blocos de %d" msgstr[1] "Tamanho de bloco (blocksize) = blocos de %d" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:990 +#: src/buffer.c:991 #, fuzzy msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Não se conseguiu recuar o arquivo; pode ser ilegível sem -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, fuzzy, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "\aPreparar o volume no. %d para %s e premir \"Return\": " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ATENÇÃO: O arquivo está incompleto" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -721,647 +726,684 @@ msgstr "" " ! Criar uma \"sub-shell\" (interpretador de comandos)\n" " ? Escrever esta lista\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Não há novo volume; termina-se. \n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s não tem continuidade neste volume" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s não tem continuidade neste volume" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, fuzzy, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s não é a dimensão correcta (%ld != %ld + %ld)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Este volume está fora da sequência" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, fuzzy, c-format msgid "Archive not labeled to match %s" msgstr "O arquivo não tem etiqueta e não condiz com %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, fuzzy, c-format msgid "Volume %s does not match %s" msgstr "O volume não condiz! %s!=%s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "" "O fim-de-ficheiro do arquivo %s não se encontra na fronteira de um bloco" -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "%s: Só se pôde ler %d de um total de %ld \"bytes\"\n" msgstr[1] "%s: Só se pôde ler %d de um total de %ld \"bytes\"\n" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 #, fuzzy msgid "Contents differ" msgstr "Tempo de modificação" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Fim de ficheiro inesperado no arquivo" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 #, fuzzy msgid "File type differs" msgstr "%s: Ligação (\"link\") simbólica é diferente\n" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "" -#: src/compare.c:205 +#: src/compare.c:206 #, fuzzy msgid "Uid differs" msgstr "%s: %s diferente\n" -#: src/compare.c:207 +#: src/compare.c:208 #, fuzzy msgid "Gid differs" msgstr "%s: %s diferente\n" -#: src/compare.c:211 +#: src/compare.c:212 #, fuzzy msgid "Mod time differs" msgstr "Tempo de modificação" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 #, fuzzy msgid "Size differs" msgstr "%s: Ligação (\"link\") simbólica é diferente\n" -#: src/compare.c:264 +#: src/compare.c:265 #, fuzzy, c-format msgid "Not linked to %s" msgstr "%s: Não está ligado a %s\n" -#: src/compare.c:288 +#: src/compare.c:289 #, fuzzy msgid "Symlink differs" msgstr "%s: Ligação (\"link\") simbólica é diferente\n" -#: src/compare.c:317 +#: src/compare.c:318 #, fuzzy msgid "Device number differs" msgstr "%s: Os números do periférico mudaram\n" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verificação" -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "Tipo de ficheiro \"%c\" desconhecido para %s; comparado como um ficheiro " "normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "ERRO DE VERIFICAÇÃO: Encontraram-se %d cabeçalhos inválidos" msgstr[1] "ERRO DE VERIFICAÇÃO: Encontraram-se %d cabeçalhos inválidos" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: não foi modificado; não será arquivado" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: não foi modificado; não será arquivado" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "O ficheiro %s diminuiu em %d \"bytes\", será completado com zeros" msgstr[1] "O ficheiro %s diminuiu em %d \"bytes\", será completado com zeros" -#: src/create.c:1160 +#: src/create.c:1180 #, fuzzy, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: Está num outro sistema de ficheiros; não será arquivado" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 #, fuzzy msgid "contents not dumped" msgstr " (imagem da memória despejada \"core dumped\")" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de ficheiro desconhecido; ficheiro ignorado" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " ligação para %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, fuzzy, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: não foi modificado; não será arquivado" -#: src/create.c:1699 +#: src/create.c:1719 #, fuzzy, c-format msgid "%s: file is the archive; not dumped" msgstr "%s é o arquivo; não será arquivado" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Salta para próximo cabeçalho" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Apaga-se do arquivo um não-cabeçalho" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Estão-se a extrair ficheiros contíguos como sendo ficheiros normais" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "" "Está-se a tentar extrair ligações simbólicas (sym. links) como ligações " "físicas (hard links)" -#: src/extract.c:1365 +#: src/extract.c:1528 #, fuzzy, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" "Não se pode extraír `%s' -- é a continuação de um ficheiro de outro volume" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Fim de ficheiro inesperado no ficheiro de arquivo" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" "Tipo \"%c\" do ficheiro \"%s\" desconhecido; extrai-se como um ficheiro " "normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Não se consegue mudar o nome de %s para %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "Mudou-se o nome do directoria %s" -#: src/incremen.c:485 -#, fuzzy, c-format -msgid "%s: Directory has been renamed" -msgstr "Mudou-se o nome do directoria %s" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, fuzzy, c-format msgid "%s: Directory is new" msgstr "O directoria %s é novo" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: Está num outro sistema de ficheiros; não será arquivado" + +#: src/incremen.c:587 +#, fuzzy, c-format +msgid "%s: Directory has been renamed" +msgstr "Mudou-se o nome do directoria %s" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" -msgstr "" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" +msgstr "Valor inválido para tamanho de registo (record_size)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1115 src/incremen.c:1153 -#, fuzzy -msgid "Read error in snapshot file" -msgstr "Erro de leitura sobre %s" - -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Fim de ficheiro inesperado no ficheiro de arquivo" -#: src/incremen.c:1124 src/incremen.c:1164 -#, fuzzy -msgid "Unexpected field value in snapshot file" -msgstr "Fim de ficheiro inesperado no ficheiro de arquivo" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Não se pode mudar para a directoria %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Apaga-se %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, fuzzy, c-format msgid "%s: Cannot remove" msgstr "Não se consegue apagar %s" -#: src/list.c:190 +#: src/list.c:189 #, fuzzy, c-format msgid "%s: Omitting" msgstr "Omite-se %s" -#: src/list.c:207 +#: src/list.c:206 #, fuzzy, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloco %10ld: ** Bloco de NULs **\n" -#: src/list.c:233 +#: src/list.c:232 #, fuzzy, c-format msgid "block %s: ** End of File **\n" msgstr "bloco %10ld: ** Fim-de-ficheiro **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, fuzzy, c-format msgid "block %s: " msgstr "bloco %10ld: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:840 +#: src/list.c:854 #, fuzzy, c-format msgid "Archive base-256 value is out of %s range" msgstr "Este volume está fora da sequência" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " ligação para %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, fuzzy, c-format msgid " unknown file type %s\n" msgstr " tipo de ficheiro desconhecido \"%c\"\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Cabeçalho de volume--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, fuzzy, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua no \"byte\" %ld--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Criação de directoria::" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Não se pode mudar para a directoria %s" - -#: src/misc.c:570 +#: src/misc.c:721 #, fuzzy, c-format msgid "Renaming %s to %s\n" msgstr "Mudou-se o nome %s para %s" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, fuzzy, c-format msgid "%s: Cannot rename to %s" msgstr "Não se consegue mudar o nome de %s para %s" -#: src/misc.c:603 +#: src/misc.c:754 #, fuzzy, c-format msgid "Renaming %s back to %s\n" msgstr "Mudou-se o nome %s para %s" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "" -#: src/names.c:590 +#: src/names.c:360 +msgid "command line" +msgstr "" + +#: src/names.c:378 +#, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "Não se consegue executar \"stat\" para o ficheiro %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Não foi encontrado no arquivo" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Não foi encontrado no arquivo" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "O arquivo não tem etiqueta e não condiz com %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Ambas as opções `-%s' e `-%s' precisam do \"standard input\"" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "Formato de data inválido \"%s\"" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" "Estão-se a querer propriedades GNU num arquivo com formato incompatível" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1370,9 +1412,9 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:357 +#: src/tar.c:373 msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1382,80 +1424,80 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "Fim de ficheiro inesperado no arquivo" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1463,566 +1505,616 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 #, fuzzy msgid "remove files after adding them to the archive" msgstr "Retira-se a especificação do \"drive\" aos nomes no arquivo" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" msgstr "" -#: src/tar.c:457 +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Não se pode verificar arquivos multi-volume" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Arquivo para stdin" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Há conflitos entre as opções de compressão" -#: src/tar.c:616 +#: src/tar.c:662 #, fuzzy msgid "use archive suffix to determine the compression program" msgstr "Não se consegue escrever para o programa de compressão" -#: src/tar.c:618 +#: src/tar.c:664 #, fuzzy msgid "do not use archive suffix to determine the compression program" msgstr "Não se consegue escrever para o programa de compressão" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "Não se pode mudar para a directoria %s" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Retira-se \"/\" das ligações (\"links\") absolutas " -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 -msgid "wildcards do not match `/'" -msgstr "" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "O volume não condiz! %s!=%s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2030,300 +2122,317 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 #, fuzzy msgid "ask for confirmation for every action" msgstr "Não se consegue obter confirmação, do utilizador" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Não se pode especificar mais do que uma das opções \"-Acdtrux\"" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Há conflitos entre as opções de compressão" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr "Opção \"%c\" desconhecida" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 +#: src/tar.c:1108 #, c-format -msgid "%s: file list already read" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Valor inválido para tamanho de registo (record_size)" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "Valor inválido para tamanho de registo (record_size)" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 #, fuzzy msgid "Invalid record size" msgstr "Valor inválido para tamanho de registo (record_size)" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "O tamanho dos registos tem que ser múltiplo de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2039 +#: src/tar.c:1995 #, fuzzy msgid "Only one --to-command option allowed" msgstr "Só se permite uma opção de compressão" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 +#: src/tar.c:2133 #, fuzzy, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "Opção \"%c\" desconhecida" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "As opções \"-[0-7][lmh]\" não são suportadas por *este* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "A antiga opção `%c' exige um argumento." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Para usar vários arquivos é necessária a opção \"-M\"" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "" msgstr[1] "" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Não se pode verificar arquivos multi-volume" -#: src/tar.c:2438 +#: src/tar.c:2448 #, fuzzy msgid "Cannot verify compressed archives" msgstr "Não se pode actualizar o verificar um arquivo comprimido" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Não se pode de usar arquivos multi-volume comprimidos" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Não se pode actualizar o verificar um arquivo comprimido" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Recusa-se, covardemente, a criar um arquivo vazio" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "As opções \"-Aru\" são imcompatíveis com \"-f -\"" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Tem que se especificar uma das opções \"-Acdtrux\"" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2335,114 +2444,110 @@ msgstr[1] "%s: O ficheiro diminui em %d bytes, (desgra msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Escreve-se o ponto de verificação %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Leu-se o ponto de verificação %d" @@ -2579,7 +2684,7 @@ msgstr "" msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2608,8 +2713,8 @@ msgstr "Erro desconhecido, do sistema" msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, fuzzy, c-format msgid "cannot open `%s'" msgstr "Não se consegue abrir %s" @@ -2624,66 +2729,88 @@ msgstr "N msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr "Opção \"%c\" desconhecida" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "Não se consegue executar \"stat\" para o ficheiro %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "Não se consegue abrir %s" + +#: tests/genfile.c:701 +#, c-format +msgid "command failed: %s" +msgstr "" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "Não se consegue abrir %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Nomes de ficheiros truncados--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Não se pode mudar para a directoria %s" + +#, fuzzy +#~ msgid "Read error in snapshot file" +#~ msgstr "Erro de leitura sobre %s" + +#, fuzzy +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Fim de ficheiro inesperado no ficheiro de arquivo" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "Mudou-se o nome do directoria %s" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index c8f42bf4789d0c04129971f8110891494d0147ca..c8c104575b111b6f0e4f8943113fa05e08db11cb 100644 GIT binary patch literal 37682 zcmd6wd3>DJdGBAsk{}Xx0%6OGLC6A+Y-1oGV?dVWCD@XXWY!pXrFkU{9?cB%&e#@( z>|3)mA!)O<%}sBUv^Q;*X6uq>D{0dvX>T^N+@!fRNka|g-nL|G(x&(Od(JuUyd%rl z>Aip4`SAMpF6TY(InQ~{vz_yZ@0@zfuN@Ud(F^!z4Y=~@QFQ!Mq9{HqigbTd>~K3c z&Y|CZaTI+HydOLr+t_D@#X7Dob4vQbqg0=YU7|Ir^;!b^mTq z-+v8wD)>(DJn#>}qriv2qrtC(`u?}T%fX+6$ARlsM$xmtLGVOy%Hs^E`kJ8V_cBoJ zdk1(4_(@RTeH2tZPoYy!1&;^Ufv12Y;0VZn(X09A3h*PK==vDA3cQ%gAZauSYTWjL zmx6BrH-n!6Ro@BR;WGKHGV$|$HA-` z=d(cLe^B*50E#ZZ1zrb!0^A7x9K0SJqOjWcV( zK(%`UJOz9{cn0`-@GS7%pz8S~D7t(R)O-Kr@yDS0^>dI29;bbb%0c6<;NU;H6>I`~=eS>U%pSUvg?sDAb$9Q6J;sOK{vtQOr5B08h@f%@K8 zL6!SQ@HFs0Kz-*lh^uy=1?u|Q{`w;DSgtPx&jHthXMsCF(P0*h!TUhXx8DRshxdT` z-seEI?_p4Me8x4dKUahIaJ>!G_dW)you2~LukVAB6K8C2{kaO%cPBv6dpD@|-v{0X zz8)0cJqD`(KL*v$Q(zX+?IKXmuLebz5m5cz1KtGQ4{ig$3ab41Og{19I#A;=1D*r! z2A>JO0z4mlJE(Si98|l%1kzQTtm}Ylu6Ok`K=uC}p!oR%$<4R5pyWaZsy#0P z)sFXpqVu1DE5NUVXM;ZlMW-|9q@E9f8i$)eSR#5kcrExKsQR9=*45kARng&lq>}=W0;> z9rxE|@C2@Z2|NjW1*rbL8Pt0p1l7;)fP>%@p!zd#qnq#7gR8l|4LlZn6?h!@dQk0s zGbld&1ULYG3ETxn6ORAx0H4FoU>FC)DuHpU&sCMoF^}Uya>gQ`f z_2Yx!r=ZIxz`x@91v?ola2vu#?fModzJD0hcaDWQ^U*EfL-NwgPKyZ!49cRMI~cn7F*_kxBWML`d zz*9iU%TZ9{_Y&|z@WY_``3+F*KQ49G*MJ(2yTPsCTfy_dhrwPjnswuOF{t}jgBO4| zgW{`2Q187Sycql@crF;tx$!#>6g}2~$AG&)&7*1XXt3s=H^DQx{teLD3u>Ic0cw1I z460vi=bb*B1y^!?52$f|8@LX94|o;$9Z>b3S#k6{2RxhW6`<(80TiFNJ-!80|2_r| zgWm)%cdFTfr}b*MjHlcJ00m6yH7{6rFw*)O#NV_5Ck`>epkS z__U|$=FNp*%=HbR_@)Yqj&B7eS3e4>{O3XO>Gwd@A1ye3SOKo&@)A((n*{aUH-Z|c z_kt&Yp8<~pzX+o9Z=)*ZEy{E@;%5Fa0t|Up9RJ5CpI0w41nT?TR^q50g8WK1FHQG zfFe>b=`NPJ^OX1r&e10o3?>0TjI+0Z#;f?ysNG za_?URsvVbt`tBM~bRGdUUU!1xhx@=);KxAm**}06fhV*b9oK;CxV{HezuyJwyMGS8 z9{e__?=0+b-)(~8=S6>gKX@$HF9l=pRiNhU?}2L1mq2~*F;M+Fd9Um5rC`kU6nHt< z1~p#q@%O(8-p}<sP8@>yaRj*I0-%so(*34OHS_I2=;LOI#B%aHc)i@ zD5!pa4HVsf21wXn3igAKf}-E)bp8Tx5R^Q49(X)>FZeX@rJ(5k zT90o8kK+2R;LYH#gX+f<;JM(1&v$gY9*nupz$?LD1)l|e9u$549u$3k20jP8_yw+i zcYx<}T>;gqz72|g7rxMq$5mj=^^IU3*aX#{w}JZJ=fLNJ-vh%dK1?*>P}4}f~_N8mUZzr@k?9&m!| zH-lG$kAmX6i(bl{0VlyB@I#>b`$JIAPk)&k&tXva=fN0!1$Y7YyWj@!bD-$=w3j>k zeI3}#_5Gmc`EP?G;1@uZKlK%kF5{rS^Fr_r@cp3V(}}Ni{k;wpU8?^2<)F%c2)r14 z*yHiP?Ao;kT*3Vt!PCGNcpmslP~-k?P<;2d;K|?#uX5veE_fB!Ye9|g-JtmN?cnv` z7r}n;lviW>g6qLc!5@Me-wR&j+I=Ia@q00N>QVUn;4xf(;I*#Z9|86K?}2*n)L(J$ zZ3H#W8L0lg9#lQ=0Z#(|92B2E1g-=h1J%ycU+2ng1+V9N22{Csg6j95fTQ3yz-NMe z2sb^y7Q6(U0#5;707||*0PX=l1Fi(Ucn)`ILh@uga6KPJ?EF|rNZy8IA80p zSMltBbN+6Qltb$dlN`U!`R{SOkmIKu^BlKxT+5-~HyuQqDf=kr-{8>P55Mi)|5Yw- z0e5p$IP}}&k)gHUEdOe(C4cn$42Sxz-zJXrJo_W?+Z-?E*v0X34*iB4MBn!~LfNNr zel*A3oI|c?Blrl|1g{1!=Fso=Ii7B3?w@=8`Fp`K$BmTN?;?&%I6s@?8qRyb8n_d@ zoMY*4nj5gS{r-%9|Cc`(oJ;vX0dE7p1pX$+UXI`5_$bFaIiA6@y&NCm{EHmn_uo0` z;Shg3m*Z&4d=;#7yo=)kuEisD@EVTia)|dXwz;R@UG^`0!1V_>|CGNL-0sU%3-@&TyBxRj ztN|{79|W)UWjAoXg`>rhaGb*ZHh2a2Bk*52Vh;VLxc5D906Y0ag?szCekI3w9FKE6#_o28y z^jqg38UrPV^*fO|6vLVJb-k2(Z?-4cW8nS%yab-f@m7w1@b}K=ox3^j1LytwBV50o zV;9%Y1b@cyVU7nlzRU4`j!_Q%w)%H&0^h>*3pj4#_)`x39^%-?vpYGS$N4|%Cck4G zM8|OdR?ffdum1};%)LJVpThA*j+Gqua_`T<=Y#t7gZ~rU;IGf({3_1ZfG2S1SM|@< zfFI|&7yKMJ0lo_S7{@k_r~7h)oc|JsexKwhasOrD9pGu;{orw+ep@(S$Fbb+hQj@4 z7tU4ozjB=6Us~buD)2(ewK!hE`Ct0`2RsUnGIey6b`5Y(tGCTB;-`{ckwodq+>>#?2GGFuOQiP{+{yu*_0saq;^SD3m?+O0N zpI-vr#_=|P-3LCCvgd%Ofnyx{#o#{hGVodc-d}M2X^ty7j^f@7sNY$fU&*na^R=LU z=W@()-VZ(vJf7oQdcbdi<1Vht9M^NcnWM&e_#Im~*S#UGKLI|~-+vwFiyS}U2)~*9Jdt|qOt8DBHsYBdH|ub!*52kOna)m8UuwtB8n9hh$| zRIeTAnVPR;G5^gr(=^WNv#q^JGaZZ<>+P5mce_=OXXcaITpA~}a@djU>-JZ)RJ{b3AJyA^a2jeKdATItU8_C{UoWxmsI-5_cRmxpgd>)TCD}1G;&Qxg~ z&uE8<>lw_0RhXxDbv>Qpydsitvjv60&C-hoT9!FXt5%lMsJN4AgO zxp~J_+(??qLMl=&v@;r-#*KPbX;t>5EKEOH@n(8YyV6WEn!G2ewnOoq{>z8>O4OUh zGxdc9QF%6@b!FX|uP^Z3WR6j}rZ>B`XX!mZ$b0wh9S8#*#&LCTw%WY_U263fwbxpe zTAN{jQ;b@B>ecoF?K38zcUfh+x_HQPgYkTtl%a4z-{HY2B~~K8u-1< zdTlPwD)*-GN@~AgL(IRI@=rg72IJwRrUvz9#VgNc3-vMsqtROCAtMK;&sQ2M(XN!^ z-fDYQJm*fj$~RNm6=#bJozX8ohclbWOe-#x94A1c4tZvq^#!=SPEVR~PNTfp^GUN@ zV5(xZ&2*tI{^<0vnTj+AcPL9!&y-erQ(8?KoVi#`s@FHcK{Ks-b1|MzGMF!|G51uJ z*rNDYgPZPMa?=;(z1g~^XDf@dR?=##m+dO^(B`Hn;OpD0>EK$gr}oxf-AT&4ZMBaw zVzc!&>{($pHfQE-CeRi=XtbMiYJNF1doXU-l4;Gcx_#QJ7?T*Fm|aZO>oMHENL_Pq zVXftRzO$C@YtVPNs#0T6GNyD|n^}za&O?NSWOvthtg0}z@=3kkkLp~F?mLRzoHT2^ znUA99ucfz_jLXdsztfTFWM+38-jk%!x9sEjY)ImnWCrHXX%M#(4d{A~?vj-nf&r#= zycO5l3)5-Sij?aJ@JgZC)+IMJ$}x>uGAQ<#)-aRzJzf$A8#>|RZaMnGj3wTURk4BY4soJdke|FxVL<8@ybG@ znzWr*s>8Rf3UdigUT6fGN{*PEg`9d?Z#!NC63Ru?IQ=x2;(b~ozM8B74wCc&(g z!~N09@rki56GJ=Vk%@`1iGKJx*Q=&8F1YTXB4Z7`A7}G6tLBqEX_%@r^|>12udJ6E zl}6ehl}f|808Y>+i^!+mtW@gZ$#zk1J9?^cIm%>rmp7T1j<=fhb++y6Ia>jfTP97STYK?{_ zhPQ5GWxh+DNsT+DCzAjkggM|KStYbJsd_m$)M%v0k;!ehjTjxoLhH!| zy3}MZG@9w2N*&2nDpk|kTx&kA8_@@%At!_4=_E@_mtApX=ff~TT%T22nzCH-lKE7X z0+&2NHZu9rW@V<+@F0B-eyc;~cyEPT(g8bb_2Dk$wN+PHme z_=ZUj@xJ(qwU>D=#871nXX?#zv{8z$Hp7V0RVZp>k6MJ_(Z*_0+fCDJ!5}&uCk<~M z8r{OKf#I~v-3i&hJtmIagZLvn@BEib^1o7`_dU1`Qm9=QnI{5 z1?@&z)>VgFgC@!H5-{&VyV|OhypDU4vN$i5S(%-I_YbPgm*}d{>#qEZzD(9)O0MQ# z(a4vHhP_>#?yJbG$l5bAOtM)d zj2XIRoN1DaCZh;otITU`u4Rswe$lV*HZZ`K!$_}P-zEzh?MH~D_|W*fQ$qUog|=|-G0BBD!SROZ^! zcN!lPUCnf^UFAb|BQo-C9-G)PG!;28Im`U_V>w%|R_l9>GMi=9o0TTDkzrL=W-HPy zQ}`9h96sDYPt+-dOH|98jDuUVLH9_e26Ck`6Le8{VBWK{IWrYSyTeLqrBja`#u^`* zni`oH9fkupE#*cRt98LJYyEmtu6O?Z^A6G`6xeNp+Pg`PgAyO|ouhD#bUw&5iMFKpkIZa@StE86MV|~VGfwt04)t70PpS<$)9!tVLve!Z z>_9w`5+Cr?_sx*vanni`kf+K*(iq6AD95|g#l5JS)lL^Sk_wi;ETLdb`{yvuDohQT zKAiT43dAk7bPl2*x}7F>yp}~LIGPoO5rrEbBZv=P73<`X)?e&>pR^*ax zFxoNn+_8z<2X<^59h=w{?HJjyab%)2I<#Yi^Qo<4o1z^Fj9tf2adZ&{c`K=EAek(3 z^bp*Gao<#*eHL?aCQT)Yu%-JZ`j#zwOCK-duvskUP$g<9J!R6+_GP~3RE+ZoYlr&K zl0s9m5(r1-3p^+JSiklLR27#XoID!;GA=>0KX&P}Cs{8oTdNY6^4w83N?jvyq zA*8HPfUQ0ZQeXNG8MUadNd{zRZ)RbsZ}opUFWFHSlP>kLc@L_ zq}M{#-XS^IRf)!mQcZ?R6BX6DX(mj&p;ZG!&=^`ZaFL23oAx%DOJ+ee>(#-?+ZvIg zI?*^TRx;n8qWv(_!&P2hzm=5CA4h>KbDw27QYBFYyu?dpOs#BInWOVqqsr^Z^xgd(gRgEj7LyIY;w9ABE*H(|c1i>nh-mwTYV z3~$J1J?MVc^&qTbBwbw9OSED_fo1iI2Fe$8tkKhT-?&A$imNuf08dSh3{OUr+qR4j zZ3l26CZ{I0jcx&M#S@rRpxgNp<^nlJb8#7aR-c{C(2YJw5gy3a_cjTpJ08ozAXT+& z`WP`0qYB@*>TLobjsv4fEjWY;Xcx?z#7D0*0tK@zn%rG!G}LRlW|cYfDVk)Nsa0vU zeK_7e7Ie8LuWrBx^u4?2T?2hq)+xC>-hk9;VnIfeekmev-Xg(OmPuslJI_VraRJE; zqiH_HzD!`E+^wd6;+I){n5^X8C_VEklV;~52Wg>J)}tYyW|XpTP^}0TaURZxogdgcDne9nkqen z`60Q0E!S=ELikz#LWb}fjCR5jrPAI?wLF8nFJB>M>dGm?IWo}|1k@_&Si(N_?$R0Z z6GbGSguW6pP;iZEH4RD~Y0a7on#@FyG1Dhbd%yc!H`!#OMxb} z9oeP%RBu)Y^Lb-98*t?pkp8nMpNJLcQA7_*xt*A*a~{Q4 z(alanv;wkxM{^%*3>t24XakX_s z2}*tH2;bFvCR~s3onNHN`XHgm?LqT053kk7yPsUXm zR%$g0cUOUjEIUr^kVLo3yCj?a4Otu(Q=r!3{kD_R?v~s3Vxfa>s(O=sU%YnBWtThE z75VK83`*X;SW!^Z$#GZI#Fn0FEW|rUkeM+ZB{YLJ1YT~ zL*woX;BHj4d_sEi?5-MXe-iM4(^~GgiXVF@yHF z9JHL|UyQtwi;re^Abg`);Z=I&TdQW|V;vD?skX5xa)xA-!&6#d_la!jrQxCBts~5w zfvKS_tEf$Wx;0Bg(vAwpfGwhCv%g5a(kfl`nVMm1OtGFrv`IztZyAeWK+#rq!=%ka zb)@Sh8xd_)lKeNpKkkC!d9~hzb9>mFOX+J!XI8gn8iVm<+H~t9aBs2)Bg#~S_YY#X zE-x`DgWs{Y?Q-A?9sWV(WZK|I^tw8m3mKy?E+l3cvq#F30BiSaep6Ino&0Gf#E|)L zGA&QR#s^>C;!3O|bbkdCG;Qh&{gD+kO)j=z_}#7ri7@9}s{~U7Mn-eb&Bt=(=$W`6xbq+fZoY` zX&HthowFe{OAcMecBvgy4_eI{!77ChNnzMZV%uk|xYi;N%ebCZtO>0uWGr{513fPM zGO5Wt*c0JSIxD6y-DK~3A#NjOtRrs2#BedOwghDC1!ZK9%nPu!5KZ+6%~3|SD{@3j zN>1)$3{$UP1$VYYD5!AO5f$vx`30BTZy(&X z!GgNGZeMlqJu_X+Epk%ZYghzY!T4KX)ts4>?we=(lHygO)lJV)FhKpqkBMx#x69Hj zh-n1#B9sp->urc z^YQ7Aw6lqKOuU2%Bc^1X2I8<@D*cQelhcXtf*GB=E8S%lowG^Y6hJt$w}H3tt(;*f z5o=Q4iaQ%jkpSIa=@vvb^m*miw;p|JD~kP^3)CSckDX@`%%h@2}bGbpjuxpKDB_z1#umv%#z8mZtZLLH8 zdY<-+C~mhgAv*13Bl;QSHX$s!WfOyoH~*%;Xe(2Su>xoNn<5ZO*2-qKE=$dqMa07K~Aw#wOOq&^}ouA_eodyXT; zmQkl{Q86Qac`YN&@4|R3ljb{g!{QnIw9+P==E3-~HEY+E)~+e7xgx%7-Qe0am#$g2W(@^P69k<#ZHndA ztSu2UxNPmk7$W0_LjV`U! z)|>H;7}>CGa;$XKRaabHTH7hCFS9sW8o_3h=pBr&ny$2Z#;a{M<&-vK7ZG==HS99m zaM^nFvz}~NS&OfY*Y>X`ZD_ltF(oboYS5JAck9Y~YP)$PC$!9CENLZ1h5bAsIfgwB zN}%e>f*N58Tzxi^o%|@7H|D@ zyk$r^P}_!BVy+%oP+QCuYE|s4ie5}BmH_29->@^96%j2w1gXm#d`)X013gO%p&gq^ zx%~)zwkEatg7g$>QTG*0%LaR{NoFzF(|fPS{%t1Wkb&vuwLQ@2kQ_vKn(V9g!P!^C z%?dUv-(gOcme0T1QD=oNiD`$^`iaZH`s{;ag#;{XuBBkLDh4dgK158Xiauy*f0 z(5ap{&C)M)+7m%QTqCWQvvyHs`)$NoW4~4{kdJsXNwtulbnu4Qn?CmU}I6<7SOWF!t@hN<3rYNMkz6_QYq)K0~Tku>^HSq%!kncS2^_s zIl6i`J zMFn3>jGzV)Vo?CuI8=L2Yz|99E@_GQSy^Ee9Mr})%PvGG;cMCekPgCtXkE~~soXFE zIj%!PJ|zsf=%lEogBD8nLl;M;ZEA;d!yc_M|ComC0fMWLvWd1ni(ll!8d@fE;%ChwqSdGi&dqxr%ynwXc?|T-=8)}d!^5E5@OU{7I3ND|;$fl6B>vE#KP1RkyHzUuD4v z?lReyuLX8TfLSrE;t>e&DQ>xB=LC`LrKZ|)K%?(=3W}`mwZd4gaJgZO!i zcqqyqf;!?WX!T^7Ot?f=Pj@1m_DCojuI}>OMy0k2*TcDHgA$Ih3kh*f$!nl&l6ao7 zthef;rUEU2NzG%~#VACYT%x48{JBxM>oHkzDKs$I#V(0ROQA+la~PTNRf#lsk}-So zU(NI6=we~IX?pLME3YMV?akPis3BurWxN=&j52mwLVKA} zT4Fyy@|;N}gfCT@46ZN#_L3Ro#sU#fw2c)pJ0Y4|VJEy#rGtaADDS;wLojG^3r9QF zTsoagv1{>0-gMVBthWY18wll+>H?__>ZB%HvyPNCn#$tG+p=%k*akYf&GwMJNJOJd zfs#ZRJCt<9`UT(1Q}6hay5M$>8{?Jh6t|GM?GRQbei_T ztw^1mfrzUf%+7bQRRF8Fz|e;~yKY~#9D^*N&`^D{3@Bho55=03|xhc4Ka16X`ZYQk*4Bl^Z6N*D71kDzjmf?2M~ z>MVI2zHKDsCbV2x%o*$_m(DqRPDvo2MSD^Pu|6?9!&6!K;&fASDe3#zFq(dO)}T!U zuW01bh8Oc{VUx}aV-1-yVq?B$Tl8oc<4PJKdtR{Q5o(gb=}-CS0jw35=$}TDPjvG_ zm6m8@Fg4l!V5JWpL76O?fO#`Fd%gJ#ixl`6S#fWrPI@5f-QPCK1RoNeWDhm}`FL)i z4n}A@V=3u8iFUay(t8*(a4fnSbCKvs+42a7lt(yJ8rxYy*I622$3vn)i0D#h>S_QA z4#*~Uh4^@Yf`DjL^@q*jamN_e&XG{2i;nC(l?5XwnT=Ym3wcrU`zjbgwq?ZD)D_rO zek?q|sWv9*k899x$61_&Ou)^R1-3nv0?AC;6eSB2P@lmXr#J1aEe|JJl6WXKOW>^v zz8uoaS@w0(@^YmdIZzBL=HGDbcJ}Q70pPQ7f_R(l=`k+5}=q;hInBQxj)QM@w(83SHmB z>IG*+rlu@#s85Aivc!~7odMGQc>01Bo5kB5-J)CVriq z#Z41`Hin*){h$ltdGU7r1mz*+%L60D(5j_{W3@?({ zNJq!Smr|?>>DA_KLeNAL5as=lg=9v%8CYR}^a zD`9DkUU>MtMrSp1wS^PqZt77gdtKE(S&=;^Byl*v{d(cIpvCLza{Fpx&aY`mslnn64eCD(wf1Mkp zL<0s_?@)*=yv0ed<}v=wo5FySgGk$a;MqEmzu>bW=UC>bvs-7%$MPsn!Z2|Woc~ZZ ze;95U);qyo5tjr4A@zolHl z-9FcnrlGfISQMZp!Yh^odH7d5sh3RhBPw3g-`qk|@ae<9U~i7v6406!S9`}8BhLR)~2|BnGG^6t~xoQvM9(g+2J?g z5n5v|)y(`9w>ejqy|gmBnaEz{nKnUv`@J|~Z5GLKKQ#<0my2BL@J7Gf(=q)8Ka-$V zLs5<|(P5O-l8NhQZr&@a7;^9dg@@Eu+oPdFcwE%Kx4S9Q!NE- zPAIb#K7({Y`pca3dO!qVgNDN8d~1wVqnx=&NR$?n8q;#5+%xtjknl8a7Gs`xs@)W` zFqBgZKKpd(%{&FwTv9}VK5UT#MW>y#A9wz0H#0-vU~JL}D~Lyer*u#h6eEavB?H$F zpz=~}rtvwk?F^egF@CUccQLp$0YLaIiTNBH==Ihkx)QwSo0gxA5P zWIefv^K7+^k3m86VJ+R(%NwJR^EZo=k<433I6poIiLS!XBQ#`R?{-75#My|(iMUFL z+Ghao*v*@4Iq%S+>^ZRV=6hm%OX5IKjX?X4j{QhAyX)SSLmN{Kn?lpYw#0cimE{midd> zyUUpSj*&ueAQz?44lSS|EVN^#81eO~xpdGkS@0)ok^TfDCGK1zZ~jm#h&XMQ_M6{y z&VcS)LT^*TBQQh|05YcZ7mO4pC=%_UHIILv6JMN-K7|Dk?HJjMA`ho`%0y&3mmE0$WkxNpg^}uNjeVsP%F2wIS4SC z9A3uj^W}H4ynIj=uxDhqK*b6PYZje3Zz_Xq;I_iY#cW`E3(bbbh_r@P5aL?Crg{Z* zgU%hMsnTm|v383UeSRZuN7I_Mw7jN;P0(-WHy*28hgXwU1R#XOk|0*e{(*bSPZsqVql$ z!f59VwDPB9*dRUmuWg1B;z7H(O5BpQh`Peg+rxzXZkdHQLC3(Cg#@F zUzdU0sabori`9_%EJ=n0x=Y%k%cjS=X(Ck~?|hU^^6(+)ZWi}L{OP4)btsg=-n4uP z)s;gm$Vv3Uyuyeu?A|-WRfb+4M%Fp=Z@ZB{Su!!I` z4KXr`6VS$Fu6Do{8hm22+k~e|It`5&HNSgAbEfTL^huR4NMM|XQk}Jn)VaL1`V6b) z5xZGfbK;f~_sET;8<5lToe^#5H^$Em>;YII$=&@xeM@#$TV!7O^s@{P;aTx)=~@z zVo#n=La74VSMAU5il@>{9!A0+dXf}DHdC{gft`&I`IKXv$&FT@1EbrF^II1cyW+m) z+QEs@vKus=n8(d0u;hpcwkmYA%Sv(e zZ2%8B)s9QUl5*nrxJig3jCtE^WE%i8p*&X~N%_tm@|=Lh>ix|U0+f0060g02>Cn-e zbEx+AgbH&~f81JYOFh8j`Et`VlA>@>Pw z2!~0gqv0j`y$ zj<_%)sxnvi#dB)rrVqx6rER-EU>Y?@Y^Ha(Es9bhTHQiqm^OoPA$c3&_C%Sw)k^36 zaAFn#0q*^o_*a5ddE9hsWe5NzX4votP_*}f0z@W*JrQ*o*%s8@^oWlXR*JG|4-xS$2g1OTBUw_qVm@u=$!m+fp)yrUsH zughBr9Nw|;@)Yoj{;yHyiTK&zax8*UkEGE_0+(&zBOD>-k#}0sO6#i<^{a4nv~^i5 z#+$8#rZclF@{1AZR=q+vI#1#5WP^JX)C@~sjadn>Sg{%?ZmVV$VjR`>9MAH)mZpPi z&T61dfyye*b##ZqGS{^T=Q?T9H<&4kZ*=%aL#^EKuJTKsvy!E*lOL{kZG(9*3&VbF zlTqGmg2HBPBgjw`8s=aizK5+8%q|!IqYb7D{a_&^3UPH7bQI)quF?S)s_E1xHEQ|d zY7g>Sb3@c{iQ@7Il;G_C9MH0f;tE6A-%dz_!S7SX3O(26Xow7-VbK8Rj7=`F$ zVQB4t%;MY>m)69ySvH#JB5GU>SCK&g^{+#fBte8gZo zQiGzl5-f@ytJC&JfT4xup2KS?njCSf93zcLFmqf8g_h^65ag${yPwa25!Ay_E|MuF zZu2&z+hVFe0X4kz0_D)=v7MEB}?seaA#*{RGa zT4!J@a?ke^$O(KO+HCXLu}s(}hde=;r6Q1jJ@`{aPpR1Pp#GgE?zUcCa``ghIIN`* zVNgD3C)54^p&O}>hm>|Dz)Ol3qOz<``tnYpQUM{1e+f zLfl8Zt8ho24WJc~kOPlmdy*2JEO@`{6(?V%&d9UxiQovIF6iX=LjI>!YG^tQ?L+z7v8H>PW^zvbRN74r@{|lF+2zFf&YPZ za5B4)h1bCQ;2tO&dzwoe9)fe>X($`L48_kiDBl&aOW{f=>vX_k)>i?87!M2-2k*fW z_ywE>Clx3ag2nK5sNqal4&{9Vd;o5SweShJ0G@)9fs3#ThNdXh1jDcf2C$O#)lV77 z&dx${@NXD}3)tpz*aqePB{&;?2uC&u#qlKaDff$^1h5^7zkN_Pa1`QF{R+y)&cM6j z*D$9U6cUD%AP&V*Gn9#YAam6BVH_TZ;^+dDd0#=QqYCgwE!8YI;s;9UnxXVW8zh-( z2=Y_U=K0dy26w?Idu>cS$AkU`InSF&jWFM9LmD)<|qChii68gBA-TQiK9{|J7q9_-oPR%u@FcS3P!`+*rKDLXJ!Bw1b&QM5`!%eW^M8)Pd>%|^^^qDu zDM13tj$IgsN1S>JHh3a`e-%c!FU5%jwh@Np{C6>s zR5?(3pf}G0u$KED!Da9qlnl%uJUJcBa52ont?(5n3y#;L&zqnG_5`el$KXToFZuiV zq;+AA2OSKg1V>;Pz6E9BFZ1`B!z?@B0Gr`H$Sd_elvMr=%0kznL^dC1l9_raeml7= zgwMex@Eu4p)PG^FiNOs1$T?xE4f0I&L2>jVq`c~9kl@w(P%`vasNppzO?f|cqZ%p< z<^97@YTW^4qd6!WdKuD(>Ua6~m&(Y$Ot{Vi4NC|^Cai)|(;ZMU@f4KIybd3PpF=5u zW>O7Y56QlI5=us1h8n&Oajnin3FLbI`79bpGP1OS{A&iiJRp1OFq8;RLCL^}P|p7) zC=nJAhB&H%a!i|`M7j~m2GWqEsOMn_o`mwf#kSKG-9$Dk~PwhLvS^E6iId^Gh!3bV`ze$e~D%fl4!&v z{aMtG#%$-<0QRB`k~1!uTZuI4N0Mr>S|oouVhu?C7sPHy(%{>WWOq=`|04`GAZZja zsi#;9Z9(hgCU3XpxhYR+qC4~B?J$j2At{xG_0GopMWR?l@2 zT8efcIbPD~5i}k>j2=SL6T49p5|dNYgSzDg^U+qc9xX%CQ_GQH#4x7YOoJE;?cx-#f?{7M~Io|#t{ zF(>L;O>F6+NzTyCn18c$b-`dd)GOwmr}F`~{j2N2~JXvg*nH zpdZ-j(RZe3#cb2PVoRvqe9%yAK3mm1x!WN_y`I})`@ZRGE-^oEiI%19wCmw-Z?~1@ z>!k97q?3`WOYr?xDr@U9v$1NXS-mM{-rh88LaZhduQeZUT9%82qc!1JT*qQ{wKY}I zcr-fkk=F2|cE96Og>a)4*matx@o+2_jxT0dR}^?EyF4^h8*tCQN)o)IN<~nO?+GJY+q+Cxtd8dan{lqn`m{vo1!nwdymzb`1WbTrQ5$AZFDD- zbj>q6pENUeC5Mmi8W%F=@oAxQQ@?wz$?d+^47Ufyvz8A3$vPY|r#c!Y8U_-HXhp-Al}yPO&N4v(xP8sWWGKHkp=G z$z6?Z#-+XbFQyzeP@SD_UP%?2v#C}S@phXF-i}-YJ${)$=v1f68trs@uhV7gZ2Cr< zyAjopPFS?QFVp`;5=Z;p9;1B0e9f8gtfZxTt)zF!RSmbyA8B`=rN-L*O26$i`J^x{ z{Vwf(b9!m`X2X|`WLmzY>FIg=`+dI>o9&9jkhKgpj5<~v%y1pLGi?8urXAXWdUEHp2ywzn)O((8&WnH52EbdKP uuB9N~@UHH3Qr)ik&bLcVa3DUFzNaiC!0&Qphi3kvh*|qWiD`ae;r{{D>$WKX diff --git a/po/pt_BR.po b/po/pt_BR.po index 3518d555..a357fdbf 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,5 +1,10 @@ # tar: translation to Brazilian Portuguese (pt_BR) # Copyright (C) 1995, 2002 Free Software Foundation, Inc. +# This file is distributed under the same license as the tar package. +# Lucas Inojosa C. Ferreira , 2013. +# Rodolfo Ferraz , 2013. +# Eduardo Tenorio , 2013. +# based on the previous translation to pt_BR (1.26) by # Alexandre Folle de Menezes , 2002. # based on the previous translation to pt_BR (1.13.17) by # João Luiz Barbosa Silva , 1997. @@ -7,19 +12,21 @@ # António José Coutinho , 1996. # Marcus Moreira de Souza # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.13.25\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2002-11-27 20:30-0300\n" -"Last-Translator: Alexandre Folle de Menezes \n" -"Language-Team: Brazilian Portuguese \n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2013-01-24 21:39-0300\n" +"Last-Translator: Lucas Inojosa C. Ferreira \n" +"Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8-bit\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: gnu/argmatch.c:135 #, c-format @@ -32,176 +39,174 @@ msgid "ambiguous argument %s for %s" msgstr "argumento %s ambíguo para %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Os argumentos válidos são:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" -msgstr "" +msgstr "ARGP_HELP_FMT: O valor %s é menor ou igual que %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" -msgstr "" +msgstr "%.*s: O parâmetro ARGP_HELP_FMT exige um valor" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" -msgstr "" +msgstr "%.*s: O Parâmetro ARGP_HELP_FMT deve ser positivo" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" -msgstr "" +msgstr "%.*s: Parâmetro do ARGP_HELP_FMT desconhecido" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" -msgstr "" +msgstr "Lixo no ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" +"Argumentos obrigatórios ou opcionais para opções longas são também " +"obrigatórios ou opcionais para suas opções curtas correspondentes." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" -msgstr "" +msgstr "Uso:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " -msgstr "" +msgstr " ou: " -#: gnu/argp-help.c:1657 -#, fuzzy +#: gnu/argp-help.c:1659 msgid " [OPTION...]" -msgstr "" -"\n" -"Uso: %s [OPÇÃO]...\n" +msgstr " [OPÇÃO...]" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" -msgstr "Tente `%s --help' para mais informações.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" +msgstr "Tente `%s --help' ou `%s --usage' para mais informações.\n" -#: gnu/argp-help.c:1712 -#, fuzzy, c-format +#: gnu/argp-help.c:1714 +#, c-format msgid "Report bugs to %s.\n" msgstr "" -"\n" -"Informar erros no programa para .\n" -"Informar erros na tradução para .\n" +"Informar erros no programa para: %s.\n" +"Informar erros na tradução para um destes tradutores:\n" +"\n" +"ou .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Erro de sistema desconhecido" #: gnu/argp-parse.c:83 msgid "give this help list" -msgstr "" +msgstr "exibir esse menu de ajuda" #: gnu/argp-parse.c:84 msgid "give a short usage message" -msgstr "" +msgstr "exibir uma mensagem curta de uso do programa" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" -msgstr "" +msgstr "NOME" #: gnu/argp-parse.c:85 msgid "set the program name" -msgstr "" +msgstr "definir o nome do programa" #: gnu/argp-parse.c:86 msgid "SECS" -msgstr "" +msgstr "SEGS" #: gnu/argp-parse.c:87 msgid "hang for SECS seconds (default 3600)" -msgstr "" +msgstr "pausa por SEGS segundos (padrão: 3600)" #: gnu/argp-parse.c:144 msgid "print program version" -msgstr "" +msgstr "exibe a versão do programa" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" -msgstr "" +msgstr "(ERRO DO PROGRAMA) Não se sabe a versão!?" -#: gnu/argp-parse.c:613 -#, fuzzy, c-format +#: gnu/argp-parse.c:614 +#, c-format msgid "%s: Too many arguments\n" -msgstr "%s: a opção `%s' exige um argumento\n" +msgstr "%s: Argumentos além do necessário\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" -msgstr "" +msgstr "(ERRO DO PROGRAMA) A opção deveria ter sido reconhecida!?" #: gnu/closeout.c:114 msgid "write error" -msgstr "" +msgstr "erro de escrita" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opção `%s' é ambígua\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opção `--%s' não admite um argumento\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opção `%c%s' não admite um argumento\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opção `%s' exige um argumento\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opção `--%s' não reconhecida\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opção `%c%s' não reconhecida\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opção inválida -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opção exige um argumento -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opção `-W %s' é ambígua\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opção `-W %s' não aceita um argumento\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opção `%s' exige um argumento\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memória esgotada" @@ -217,28 +222,30 @@ msgstr "Imposs #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -248,9 +255,9 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" -msgstr "" +msgstr "^[sS]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. @@ -258,26 +265,26 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" -msgstr "" +msgstr "^[nN]" #: gnu/version-etc.c:76 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "Pacote feito por %s (%s)\n" #: gnu/version-etc.c:79 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "Pacote feito por %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: gnu/version-etc.c:86 msgid "(C)" -msgstr "" +msgstr "(C)" #: gnu/version-etc.c:88 msgid "" @@ -288,24 +295,30 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" +"\n" +"Licensa GPLv3: versão 3 ou superior da GNU GPL .\n" +"Este software é livre: você é livre para modificá-lo e redistribuí-lo.\n" +"NÃO HÁ GARANTIA, além da permitida pela lei.\n" +"\n" #. TRANSLATORS: %s denotes an author name. #: gnu/version-etc.c:104 #, fuzzy, c-format msgid "Written by %s.\n" -msgstr "Escrito por François Pinard" +msgstr "Escrito por %s\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:108 #, fuzzy, c-format msgid "Written by %s and %s.\n" -msgstr "Escrito por François Pinard" +msgstr "Escrito por %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:112 #, fuzzy, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "Escrito por François Pinard" +msgstr "Escrito por %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -316,6 +329,8 @@ msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -326,6 +341,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"%s, e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -336,6 +353,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"%s, %s, e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -346,6 +365,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"%s, %s, %s, e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -357,6 +378,9 @@ msgid "" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"%s, %s, %s, %s,\n" +"e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -368,6 +392,9 @@ msgid "" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"%s, %s, %s, %s,\n" +"%s, e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -379,42 +406,44 @@ msgid "" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Escrito por %s, %s, %s\n" +"%s, %s, %s, %s,\n" +"%s, %s, e outros.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: gnu/version-etc.c:247 -#, fuzzy, c-format +#, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" -"Informar erros no programa para .\n" -"Informar erros na tradução para .\n" +"Informar erros no programa para: %s.\n" +"Informar erros na tradução para um destes tradutores:\n" +"\n" +"ou .\n" #: gnu/version-etc.c:249 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" -msgstr "" -"\n" -"Informar erros no programa para .\n" -"Informar erros na tradução para .\n" +msgstr "Informar %s erros no programa para %s\n" #: gnu/version-etc.c:253 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s página inicial: <%s>\n" #: gnu/version-etc.c:255 #, c-format msgid "%s home page: \n" -msgstr "" +msgstr "%s página inicial: \n" #: gnu/version-etc.c:258 msgid "General help using GNU software: \n" -msgstr "" +msgstr "Ajuda para uso de softwares GNU: \n" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -423,7 +452,7 @@ msgstr "" #: lib/paxerror.c:58 lib/paxerror.c:71 #, c-format msgid "%s: Cannot %s" -msgstr "%s: Não é possível %s" +msgstr "%s: Não é possível executar a ação: %s" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -432,7 +461,7 @@ msgstr "%s: N #: lib/paxerror.c:84 #, c-format msgid "%s: Warning: Cannot %s" -msgstr "%s: Atenção: Não é possível %s" +msgstr "%s: Atenção: Não é possível executar a ação: %s" #: lib/paxerror.c:93 #, c-format @@ -502,7 +531,7 @@ msgstr "Removendo `%.*s' inicial dos nomes dos membros" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "" +msgstr "Substituindo `.' por alvo vazio para hard link" #: lib/rtapelib.c:299 #, c-format @@ -522,9 +551,14 @@ msgstr "sa #: lib/rtapelib.c:429 #, c-format msgid "Cannot connect to %s: resolve failed" -msgstr "" +msgstr "Não foi possível conectar a %s: resolução falhou" + +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Impossível executar um shell remoto" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Impossível executar um shell remoto" @@ -569,70 +603,69 @@ msgstr "%s: op #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" -msgstr "" +msgstr "Operação não suportada" #: rmt/rmt.c:664 #, fuzzy msgid "Unexpected arguments" -msgstr "Final-de-arquivo inesperado no arquivo-tar" +msgstr "Fim de arquivo inesperado nos nomes cifrados" #: rmt/rmt.c:689 msgid "Manipulate a tape drive, accepting commands from a remote process" -msgstr "" +msgstr "Manipula uma unidade de fita, aceitando comandos de um processo remoto" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" -msgstr "" +msgstr "NUMERO" #: rmt/rmt.c:697 msgid "set debug level" -msgstr "" +msgstr "define nível de debug" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" -msgstr "" +msgstr "ARQ" #: rmt/rmt.c:699 msgid "set debug output file name" -msgstr "" +msgstr "define nome do arquivo de saída do debug" #: rmt/rmt.c:715 rmt/rmt.c:783 -#, fuzzy, c-format +#, c-format msgid "cannot open %s" -msgstr "%s: Impossível saltar para %s" +msgstr "impossível fechar %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" -msgstr "" +msgstr "muitos argumentos" #: rmt/rmt.c:822 msgid "Garbage command" msgstr "Comando sem sentido" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Este não parece ser um arquivo-tar" #: src/buffer.c:521 src/buffer.c:530 -#, fuzzy msgid "Total bytes written" -msgstr "Total de bytes escritos: %s (%sB, %sB/s)\n" +msgstr "Total de bytes escritos" #: src/buffer.c:528 src/buffer.c:542 msgid "Total bytes read" -msgstr "" +msgstr "Total de bytes lidos" #: src/buffer.c:532 -#, fuzzy, c-format +#, c-format msgid "Total bytes deleted: %s\n" -msgstr "Total de bytes escritos: %s (%sB, %sB/s)\n" +msgstr "Total de bytes apagados: %s\n" #: src/buffer.c:621 msgid "(pipe)" @@ -654,539 +687,572 @@ msgstr "" #: src/buffer.c:703 #, c-format msgid "Archive is compressed. Use %s option" -msgstr "" +msgstr "O arquivo está compactado. Use a opção %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Impossível atualizar arquivos-tar compactados" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "No princípio da fita, encerrando agora" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Muitos erros, encerrando" -#: src/buffer.c:892 -#, fuzzy, c-format +#: src/buffer.c:893 +#, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" -msgstr[0] "Tamanho de registro = %lu blocos" +msgstr[0] "Tamanho de registro = %lu bloco" msgstr[1] "Tamanho de registro = %lu blocos" -#: src/buffer.c:913 +#: src/buffer.c:914 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloco desalinhado (%lu bytes) no arquivo-tar" msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo-tar" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Impossível recuar no arquivo-tar; pode estar ilegível sem -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 +#, fuzzy msgid "rmtlseek not stopped at a record boundary" -msgstr "" +msgstr "rmtlseek não está parado numa fronteira de registro" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: contém um número de volume inválido" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Sobrecarga de número de volumes" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Prepare o volume #%d para %s e tecle Enter: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Fim-de-arquivo onde era esperado resposta do usuário" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "AVISO: O arquivo-tar está incompleto" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" " q Abort tar\n" " y or newline Continue operation\n" msgstr "" -" n [nome] Dar um novo nome para o próximo volume (e os subseqüentes)\n" -" q Abortar tar\n" -" ! Criar um \"sub-shell\"\n" -" ? Mostra esta lista\n" +" n nome Dar um novo nome para o(s) próximo(s) volume(s) (e os " +"subseqüentes)\n" +" q Abortar tar\n" +" y ou nova linha Continuar operação\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" -msgstr "" +msgstr " ! Criar um sub-shell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" -msgstr "" +msgstr " ? Mostra esta lista\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Nenhum volume novo; encerrando.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" -msgstr "" +msgstr "Nome de arquivo não foi especificado. Tente novamente.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" -msgstr "" +msgstr "Entrada inválida. Digite ? para ajuda.\n" -#: src/buffer.c:1258 -#, fuzzy, c-format +#: src/buffer.c:1259 +#, c-format msgid "%s command failed" -msgstr "comando `%s' falhou" +msgstr "comando %s falhou" -#: src/buffer.c:1439 -#, fuzzy, c-format +#: src/buffer.c:1440 +#, c-format msgid "%s is possibly continued on this volume: header contains truncated name" -msgstr "%s não continua neste volume" +msgstr "" +"%s possivelmente é continuado neste volume: o cabeçalho contém o nome " +"truncado" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" -msgstr "%s não continua neste volume" +msgstr "%s não é continuado neste volume" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s é o tamanho errado (%s != %s + %s)" -#: src/buffer.c:1472 -#, fuzzy, c-format +#: src/buffer.c:1473 +#, c-format msgid "This volume is out of sequence (%s - %s != %s)" -msgstr "Este volume está fora de sequência" +msgstr "Este volume está fora de sequência (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "O arquivo-tar não rotulado para casar com %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "O volume %s não casa com %s" -#: src/buffer.c:1674 -#, c-format +#: src/buffer.c:1675 +#, fuzzy, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" +"%s: nome de arquivo muito longo para ser armazenado num cabeçalho GNU " +"multivolume, truncado" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" -msgstr "" +msgstr "escrita não acabou numa fronteira de bloco" -#: src/compare.c:95 -#, fuzzy, c-format +#: src/compare.c:96 +#, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" -msgstr[0] "Só foi possível ler %lu de %lu bytes" +msgstr[0] "Só foi possível ler %lu de %lu byte" msgstr[1] "Só foi possível ler %lu de %lu bytes" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "O conteúdo é diferente" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Final-de-arquivo inesperado no arquivo-tar" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "O tipo de arquivo é diferente" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Os modos são diferentes" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Os uid são diferentes" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "os gid são diferentes" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Os horários de modificação são diferentes" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Os tamanhos são diferentes" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Não está \"linkado\" a %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "O (\"Link\") simbólico é diferente" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "O número de dispositivo é diferente" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verificar " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" -"%s: Tipo de arquivo \"%c\" desconhecido, comparado como um arquivo normal" +"%s: Tipo de arquivo `%c' desconhecido, comparado como um arquivo normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" +"O arquivo-tar contém nome de arquivos com os prefixos principais removidos" -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." -msgstr "o arquivo-tar contém cabeçalhos base-64 obsoletos" +msgstr "O arquivo-tar contém nomes de arquivos transformados." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." -msgstr "" +msgstr "A verificação pode falhar em localizar os arquivos originais." -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" -msgstr[0] "ERRO DE VERIFICAÇÃO: detectados %d cabeçalhos inválidos" +msgstr[0] "ERRO DE VERIFICAÇÃO: detectado %d cabeçalho inválido" msgstr[1] "ERRO DE VERIFICAÇÃO: detectados %d cabeçalhos inválidos" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" -msgstr "" +msgstr "Bloco de zero isolado em %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" -msgstr "" +msgstr "%s: contém um rótulo %s de diretório cache; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valor %s fora da faixa %s: %s..%s; substituindo %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valor %s fora da faixa %s: %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Gerando cabeçalhos octais negativos" -#: src/create.c:612 src/create.c:675 -#, fuzzy, c-format +#: src/create.c:601 src/create.c:664 +#, c-format msgid "%s: file name is too long (max %d); not dumped" -msgstr "%s: arquivo sem alterações; não será arquivado" +msgstr "%s: nome de arquivo é muito grande (máximo de %d); não será arquivado" -#: src/create.c:622 -#, fuzzy, c-format +#: src/create.c:611 +#, c-format msgid "%s: file name is too long (cannot be split); not dumped" -msgstr "%s: arquivo sem alterações; não será arquivado" +msgstr "" +"%s: nome de arquivo é muito grande (não pode ser dividido); não será " +"arquivado" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" -msgstr "%s: arquivo sem alterações; não será arquivado" +msgstr "%s: Nome de link muito grande; não será arquivado" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: o arquivo diminuiu %s bytes; completando com zeros" msgstr[1] "%s: o arquivo diminuiu %s bytes; completando com zeros" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" -msgstr "" +msgstr "conteúdos não depositados" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tipo de arquivo desconhecido; arquivo ignorado" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " link para %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: arquivo sem alterações; não será arquivado" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: arquivo é o arquivo-tar; não será arquivado" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" -msgstr "" +msgstr "diretório não depositado" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: arquivo alterado enquanto estava sendo lido" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: \"socket\" ignorado" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: porta ignorada" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Pulando para o próximo cabeçalho" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Removendo um não-cabeçalho do arquivo-tar" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" -msgstr "" +msgstr "%s: carimbo de tempo implausivelmente velho %s" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: o carimbo de horário %s está %lu s no futuro" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistência inesperada ao criar diretório" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Diretório renomeado antes de se poder extrair seu estado" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extraindo arquivos contíguos como sendo arquivos normais" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Tentativa de extrair \"links\" simbólicos como \"links\" físicos" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Impossível extrair -- arquivo é a continuação de outro volume" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Fim de arquivo inesperado nos nomes cifrados" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tipo de arquivo '%c' desconhecido; extraindo como arquivo normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" -msgstr "" +msgstr "%s atual é mais novo ou tem a mesma idade" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Impossível fazer backup deste arquivo" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Impossível renomear para %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Diretório foi renomeado" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Diretório foi renomeado" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: O diretório é novo" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Diretório foi renomeado" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Carimbo de horário inválido" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Modo inválido informado na opção" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" -msgstr "" +msgstr "Tempo de modificação inválido (nanosegundos)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Número de dispositivo inválido" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Número de inode inválido" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Final-de-arquivo inesperado no arquivo-tar" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1259 -msgid "Missing record terminator" +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 -msgid "Bad incremental file format" +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1257 #, c-format -msgid "Unsupported incremental format version: %" +msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1260 +msgid "Missing record terminator" +msgstr "Faltando registro de terminação" + +#: src/incremen.c:1366 src/incremen.c:1369 +msgid "Bad incremental file format" +msgstr "Formato de arquivo mal incrementável" + +#: src/incremen.c:1388 +#, c-format +msgid "Unsupported incremental format version: %" +msgstr "Versão incremental do formato não suportada: %" + +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "" +msgstr "Diretório de despejo malformado: '%c' esperado mas %#3o recebido" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "" +msgstr "Diretório de despejo malformado: 'X' duplicado" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "" +msgstr "Diretório de despejo malformado: nome vazio em 'R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "" +msgstr "Diretório de despejo malformado: 'T' não precedido por 'R'" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "" +msgstr "Diretório de despejo malformado: nome vazio em 'T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" +"Diretório de despejo malformado: '%c' esperado, mas \"fim de dado\" recebido" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" -msgstr "" +msgstr "Diretório de despejo malformado: 'X' nunca usado" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Impossível alocar memória para um fator de bloco %d" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" -msgstr "" +msgstr "%s: Diretório não purgado: impossibilitado de quantificar" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Removendo %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Impossível remover" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Omitindo" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloco %s: ** Bloco de NULs **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloco %s: ** Fim-de-arquivo **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloco %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Espaço em branco no cabeçalho onde valor numérico `%s' era esperado" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1194,162 +1260,183 @@ msgstr "" "complemento de dois" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "O valor octal do arquivo-tar %.*s está fora de faixa %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "o arquivo-tar contém cabeçalhos base-64 obsoletos" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "A string base-64 assinada do arquivo-tar %s está fora de faixa %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "O valor base-256 de arquivo-tar está fora da faixa %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "O arquivo-tar contém %.*s onde valor numérico %s era esperado" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "o valor do arquivo-tar %s está fora da faixa %s: %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " link para %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tipo de arquivo \"%s\" desconhecido\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" -msgstr "" +msgstr "--Link Longo--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" -msgstr "" +msgstr "--Nome Longo--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Cabeçalho de volume--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continua no byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Criando de diretório:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Impossível mudar o diretório de trabalho" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Renomeando %s para %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Impossível renomear para %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Renomeando %s de volta para %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: arquivo removido antes de ser lido" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "processo filho" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "canal interprocesso" -#: src/names.c:590 -msgid "Pattern matching characters used in file names" +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "comando %s falhou" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: arquivo é o arquivo-tar; não será arquivado" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ímpossível definir tempo em `%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" msgstr "" -#: src/names.c:592 +#: src/names.c:821 +msgid "Pattern matching characters used in file names" +msgstr "Padrão correspondente a caracteres usados em nomes de arquivos" + +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" +"Use --wildcards para habilitar casamento de padrão, ou --no-wildcards para " +"suprimir este aviso" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Não foi encontrado no arquivo-tar" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Não foi encontrado no arquivo-tar" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "O arquivo-tar não rotulado para casar com %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" +"Usar a opção -C dentro de lista de arquivo não é permitido com --listed-" +"incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" -msgstr "" +msgstr "Somente uma opção -C é permitida com --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Ambas as opções `-%s' e `-%s' exigem a entrada padrão" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Grupo inválido" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Desejadas características GNU num arquivo-tar com formato incompatível" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" +"Estilo de citação `%s' desconhecido. Tente `%s --quoting-style=help' para " +"pegar uma lista." -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1366,10 +1453,10 @@ msgstr "" " %s -tvf arquivo.tar # Lista todos os arquivos em arquivo.tar.\n" " %s -xf arquivo.tar # Extrai todos os arquivos de arquivo.tar\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1388,646 +1475,720 @@ msgstr "" " nil, existing numera se existe backup numerado, se não faz simples\n" " never, simple sempre faz backups simples\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" -msgstr "" +msgstr "Modo de operação principal:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" -msgstr "" +msgstr "lista os conteúdos de um registro de arquivos" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" -msgstr "" +msgstr "extrai arquivos de um registro de arquivos" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "Final-de-arquivo inesperado no arquivo-tar" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" -msgstr "" +msgstr "acha diferenças entre um registro de arquivos e o sistema de arquivos" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" -msgstr "" +msgstr "anexa arquivos ao final de um registro de arquivos" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" -msgstr "" +msgstr "anexar apenas arquivos mais novos que a cópia em arquivo" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" -msgstr "" +msgstr "anexar arquivos tar a um arquivo" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" -msgstr "" +msgstr "apague do arquivo (não em fitas magnéticas!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" -msgstr "" +msgstr "teste o rótulo de volume do arquivo e saia" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" -msgstr "" +msgstr "Modificadores de operação:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" -msgstr "" +msgstr "trata arquivos esparsos eficientemente" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" -msgstr "" +msgstr "PRINCIPAL[.SECUNDÁRIO]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" -msgstr "" +msgstr "define versão do formato esparso a ser usado (implica --esparso)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" -msgstr "" +msgstr "trata formato-GNU de backup incremental antigo" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" -msgstr "" +msgstr "trata formato-GNU de backup incremental novo" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" -msgstr "" +msgstr "nível dump para recém criado registro incremental-listado" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" -msgstr "" +msgstr "não sai com nonzero em arquivos ilegíveis" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" "diff, --extract or --list and when a list of files is given either on the " "command line or via the -T option; NUMBER defaults to 1" msgstr "" +"processa somente a NUMBERª ocorrência de cada arquivo nos registros; esta " +"opção é válida somente em conjunção com um dos subcomandos --delete, --diff, " +"--extract ou --list e quando a lista de arquivos é dada tanto por linha de " +"comando com pela opção -T; NUMBER é 1 por padrão" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" -msgstr "" +msgstr "registro é procurável" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" -msgstr "" +msgstr "registro não é procurável" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" -msgstr "" +msgstr "não checa números de dispositos quando criando registros incrementais" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" +"checa números de dispositos quando criando registros incrementais (padrão)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" -msgstr "" +msgstr "Sobreescreve controle:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" -msgstr "" +msgstr "tenta verificar o registro após escrevê-lo" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" -msgstr "" +msgstr "remove arquivos após adicioná-los ao registro" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" -msgstr "" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "não substitui arquivos existentes durante extração" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "não substitui arquivos existentes durante extração" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" +"não substitui arquivos existentes que sejam mais novos que suas cópias em " +"registro" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" -msgstr "" +msgstr "sobreescreve arquivos existentes durante extração" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" -msgstr "" +msgstr "remove cada arquivo antes de extrair sobre ele" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" -msgstr "" +msgstr "esvazia hierarquias antes de extrair diretório" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" -msgstr "" +msgstr "preserva metadados de diretórios existentes" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" -msgstr "" +msgstr "sobreescreve metadado de diretório existente ao extrair (padrão)" + +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "sobreescreve arquivos existentes durante extração" -#: src/tar.c:473 +#: src/tar.c:496 msgid "Select output stream:" -msgstr "" +msgstr "Seleciona fluxo de saída:" -#: src/tar.c:476 +#: src/tar.c:499 #, fuzzy msgid "extract files to standard output" msgstr "Erro ao escrever para saída padrão" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" -msgstr "" +msgstr "COMMAND" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" -msgstr "" +msgstr "pipe extraiu arquivos para outro programa" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" -msgstr "" +msgstr "ignora código de saída de filhos" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" -msgstr "" +msgstr "trata código de saída non-zero de filhos como erro" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" -msgstr "" +msgstr "Tratando de atributos de arquivo:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" -msgstr "" +msgstr "força NOME como dono para arquivos adicionados" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" -msgstr "" +msgstr "força NOME como grupo para arquivos adicionados" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" -msgstr "" +msgstr "DATA-OU-ARQ" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" -msgstr "" +msgstr "seta mtime para arquivos adicionados de DATA-OU-ARQ" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" -msgstr "" +msgstr "CHANGES" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" -msgstr "" +msgstr "força (simbolicamente) modo CHANGES para arquivos adicionados" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" -msgstr "" +msgstr "METHOD" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" +"preserva tempo de acesso em arquivos despejados, tanto por restaurar os " +"tempos após leitura (METHOD='replace'; padrão) quanto por não setar os " +"tempos em primeiro lugar (METHOD='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" -msgstr "" +msgstr "não extrai o arquivo tempo modificado" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" +"tenta extrair arquivos com mesmo tipo de propriedade como existente em " +"registro de arquivos (padrão para superusuário)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" -msgstr "" +msgstr "extrai arquivos como você mesmo (padrão para usuários comuns)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" -msgstr "" +msgstr "sempre usar números para nomes de usuário/grupo" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" +"extrai informação sobre permissões de arquivos (padrão para superusuário)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" -msgstr "" +msgstr "o mesmo para ambos -p e -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" +msgstr "cancela o efeito da opção --delay-directory-restore" + +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Tratando de atributos de arquivo:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" msgstr "" -#: src/tar.c:530 -msgid "Device selection and switching:" +#: src/tar.c:559 +msgid "Disable extended attributes support" msgstr "" -#: src/tar.c:532 -msgid "ARCHIVE" +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" msgstr "" -#: src/tar.c:533 -msgid "use archive file or device ARCHIVE" +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" msgstr "" -#: src/tar.c:535 -msgid "archive file is local even if it has a colon" +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" msgstr "" -#: src/tar.c:537 -msgid "use given rmt COMMAND instead of rmt" +#: src/tar.c:565 +msgid "Enable the SELinux context support" msgstr "" -#: src/tar.c:539 -msgid "use remote COMMAND instead of rsh" +#: src/tar.c:567 +msgid "Disable the SELinux context support" msgstr "" -#: src/tar.c:543 -msgid "specify drive and density" +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" msgstr "" -#: src/tar.c:557 +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 +msgid "Device selection and switching:" +msgstr "Seleção e troca de dispositivo" + +#: src/tar.c:578 +msgid "ARCHIVE" +msgstr "ARCHIVE" + +#: src/tar.c:579 +msgid "use archive file or device ARCHIVE" +msgstr "use registro de arquivos ou dispositivo ARCHIVE" + +#: src/tar.c:581 +msgid "archive file is local even if it has a colon" +msgstr "arquivo do registro é local mesmo se tiver dois pontos" + +#: src/tar.c:583 +msgid "use given rmt COMMAND instead of rmt" +msgstr "use COMMAND rmt dado ao invés de rmt" + +#: src/tar.c:585 +msgid "use remote COMMAND instead of rsh" +msgstr "use COMMAND remoto ao invés de rsh" + +#: src/tar.c:589 +msgid "specify drive and density" +msgstr "especifique drive e densidade" + +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Impossível verificar arquivos-tar multi-volume" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" -msgstr "" +msgstr "troque a fita após escrever NUMBER x 1024 bytes" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" -msgstr "" +msgstr "rode o script no final de cada fita (implica -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" -msgstr "" +msgstr "use/atualize o número do volume no ARQ" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" -msgstr "" +msgstr "Dispositivo bloqueando:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" -msgstr "" +msgstr "BLOCKS" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" -msgstr "" +msgstr "BLOCKS x 512 bytes por gravação" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" -msgstr "" +msgstr "NUMBER de bytes por gravação, multiplo de 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Opções de formato do arquivo-tar conflitantes" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" -msgstr "" +msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" -msgstr "" +msgstr "cria registro de arquivos no formato dado" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" -msgstr "" +msgstr "FORMAT é um dos seguintes:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" -msgstr "" +msgstr "formato V7 tar velho" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" -msgstr "" +msgstr "o mesmo que pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" -msgstr "" +msgstr "equivalente a --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" -msgstr "" +msgstr "equivalente a --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." -msgstr "" +msgstr "palavra-chave[[:]=valor][,palavra-chave[[:]=valor]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" -msgstr "" +msgstr "controle palavra-chave pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" -msgstr "" +msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Opções de compressão conflitantes" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" +"usa terminação do registro de arquivos para determinar o programa compressor" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" +"não usa terminação do registro de arquivos para determinar o programa " +"compressor" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" -msgstr "" +msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" -msgstr "" +msgstr "filtra através de PROG (deve aceitar -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" -msgstr "" +msgstr "Seleção de arquivo local:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" +"adiciona ARQ dado ao registro de arquivos (útil se seu nome inicia-se com um " +"travessão)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" -msgstr "" +msgstr "DIR" -#: src/tar.c:642 -#, fuzzy +#: src/tar.c:688 msgid "change to directory DIR" -msgstr "Impossível mudar o diretório de trabalho" +msgstr "muda para o diretório DIR" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" -msgstr "" +msgstr "pega nomes para extrair ou criar a partir de ARQ" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" -msgstr "" +msgstr "-T lê nomes de terminação nula, desabilita -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" -msgstr "" +msgstr "PADRÂO" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" -msgstr "" +msgstr "exclua arquivos, dado como um PADRÂO" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" -msgstr "" +msgstr "exclua padrões listados em ARQ" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" +"exclua conteúdos de diretórios contendo CACHEDIR.TAG, exceto para a própria " +"etiqueta de arquivo" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "" +msgstr "exclui conteúdo dos diretórios contendo ARQ, exceto o próprio ARQ" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" -msgstr "" +msgstr "exclui tudo dentro dos diretórios contendo ARQ" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" -msgstr "" +msgstr "exclui diretórios contendo ARQ" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" +"permanece no sistema local de arquivos durante criação de registro de " +"arquivos" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Removendo `%.*s' inicial dos nomes dos membros" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" -msgstr "" +msgstr "MEMBER-NAME" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" -msgstr "" +msgstr "armazena apenas arquivos mais novos que DATA-OU-ARQ" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" -msgstr "" +msgstr "DATA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" -msgstr "" +msgstr "compara data e hora apenas quando so dados mudarem" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" -msgstr "" +msgstr "CONTROLE" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" -msgstr "" +msgstr "efetua backup antes da remoção, escolhe versão CONTROLE" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" -msgstr "" +msgstr "STRING" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" -msgstr "" +msgstr "Transformações de nome de arquivo:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" -msgstr "" +msgstr "EXPRESSION" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "O volume %s não casa com %s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" -msgstr "" +msgstr "Prestação de informações:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" -msgstr "" +msgstr "KEYWORD" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" -msgstr "" +msgstr "aviso de controle" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" -msgstr "" +msgstr "exibe mensagens de progresso a cada NUMBERésima gravação (padrão 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" -msgstr "" +msgstr "ACTION" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" -msgstr "" +msgstr "Executa ACTION em cada checkpoint" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" -msgstr "" +msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2035,300 +2196,316 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 -#, fuzzy +#: src/tar.c:802 msgid "print file modification times in UTC" -msgstr "Modo inválido informado na opção" +msgstr "imprime tempos de modificação de arquivo em UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" -msgstr "" +msgstr "imprime tempo de arquivo em sua resolução máxima" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" +msgstr "mostra padrões do tar" + +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" msgstr "" -#: src/tar.c:769 +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" -msgstr "" +msgstr "STYLE" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" -msgstr "" +msgstr "Outras opções:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" -msgstr "" +msgstr "desabilitar o uso de alguma opção potencialmente nociva" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Não é possível especificar mais do que uma das opções \"-Acdtrux\"" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Opções de compressão conflitantes" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " tipo de arquivo \"%s\" desconhecido\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Arquivo de datas não encontrado" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Substituindo %s pelo formato de data desconhecido %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 +#: src/tar.c:1108 #, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: arquivo é o arquivo-tar; não será arquivado" +msgid "Option %s: Treating date '%s' as %s" +msgstr "Opção %s: Tratando data `%s' como %s" -#: src/tar.c:1201 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 -#, fuzzy, c-format msgid "filter the archive through %s" -msgstr "%s: arquivo é o arquivo-tar; não será arquivado" +msgstr "" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Dono inválido" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Fator de blocagem inválido" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Tamanho da fita inválido" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Mais do que uma data limite" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Grupo inválido" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Modo inválido informado na opção" -#: src/tar.c:1912 +#: src/tar.c:1858 #, fuzzy msgid "Invalid number" msgstr "Número de inode inválido" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Dono inválido" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Tamanho de registro inválido" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "O tamanho dos registros tem que ser múltiplo de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 #, fuzzy msgid "Invalid number of elements" msgstr "Tamanho da fita inválido" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" -msgstr "" +msgstr "Somente uma opção --to-command permitida" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr "Densidade desconhecida: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "As opções \"-[0-7][lmh]\" não são suportadas por *este* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." -msgstr "" +msgstr "[ARQ]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "A opção antiga `%c' exige um argumento." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Múltiplos arquivos-tar é exigem a opção \"-M\"" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Impossivel combinar --listed-incremental com --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: O rótulo do volume é longo demais (o limite é %lu bytes)" msgstr[1] "%s: O rótulo do volume é longo demais (o limite é %lu bytes)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Impossível verificar arquivos-tar multi-volume" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Impossível verificar arquivos-tar compactados" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Padrão %s não pode ser usado" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Impossível usar arquivos-tar compactados multi-volume" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Impossível atualizar arquivos-tar compactados" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Padrão %s não pode ser usado" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Recusando a criar um arquivo-tar vazio" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "As opções `-Aru' são incompatíveis com `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Deve ser especificada uma das opções \"-Acdtrux\"" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2338,127 +2515,124 @@ msgstr[1] "%s: O arquivo encolheu %s bytes" #: src/xheader.c:164 #, c-format msgid "Keyword %s is unknown or not yet implemented" -msgstr "" +msgstr "Palavra-chave %s não é conhecida ou ainda não está implementada" -#: src/xheader.c:174 -#, fuzzy +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" -msgstr "Carimbo de horário fora da faixa" +msgstr "Carimbo de horário fora da faixa permitida" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" -msgstr "" +msgstr "Padrão %s não pode ser usado" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" -msgstr "" +msgstr "Palavra-chave %s não pod ser sobrescrita" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" -msgstr "" +msgstr "Cabeçalho estendido malformado: falta o comprimento" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "A string base-64 assinada do arquivo-tar %s está fora de faixa %s" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" -msgstr "" +msgstr "Cabeçalho estendido malformado: falta espaço após o comprimento" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" -msgstr "" +msgstr "Cabeçalho estendido malformado: falta sinal de igual" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" -msgstr "" +msgstr "Cabeçalho estendido malformado: falta nova-linha" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" -msgstr "" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" +msgstr "Ignorando chave `%s' desconhecida do cabeçalho estendido" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" -msgstr "" +msgstr "Par de chave/valor gerado é muito longo (chave=%s, tamanho=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 -#, fuzzy, c-format +#: src/xheader.c:1042 +#, c-format msgid "Extended header %s=%s is out of range %s..%s" -msgstr "o valor do arquivo-tar %s está fora da faixa %s: %s..%s" +msgstr "Cabeçalho estendido %s=%s está fora da faixa %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" -msgstr "" +msgstr "Cabeçalho estendido malformado: %s=%s inválido" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" -msgstr "" +msgstr "Cabeçalho estendido malformado: excesso %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" -msgstr "" +msgstr "Cabeçalho estendido malformado: %s inválido: delimitador %c inesperado" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" -msgstr "" +msgstr "Cabeçalho estendido malformado: %s inválido: número par de valores" -#: src/checkpoint.c:107 -#, fuzzy, c-format +#: src/checkpoint.c:109 +#, c-format msgid "%s: not a valid timeout" -msgstr "%s: Grupo inválido" +msgstr "%s: não é um limite de tempo válido" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" -msgstr "" +msgstr "%s: ação do ponto de verificação desconhecida" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" -msgstr "" +msgstr "escreva" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" -msgstr "" +msgstr "leia" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 -#, fuzzy, c-format +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 +#, c-format msgid "Write checkpoint %u" -msgstr "Ponto de verificação de escrita %d" +msgstr "Ponto de verificação de escrita %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 -#, fuzzy, c-format +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 +#, c-format msgid "Read checkpoint %u" -msgstr "Ponto de verificação de leitura %d" +msgstr "Ponto de verificação de leitura %u" #: tests/genfile.c:111 -#, fuzzy msgid "" "genfile manipulates data files for GNU paxutils test suite.\n" "OPTIONS are:\n" -msgstr "Gera arquivos de dados para pacote de testes GNU tar.\n" +msgstr "" +"arquivo-gen manipula dados de arquivos para a suíte de testes do paxutils da " +"GNU.\n" +"OPÇÕES são:\n" #: tests/genfile.c:127 #, fuzzy @@ -2467,40 +2641,40 @@ msgstr "Op #: tests/genfile.c:128 tests/genfile.c:139 msgid "SIZE" -msgstr "" +msgstr "TAM" #: tests/genfile.c:129 msgid "Create file of the given SIZE" -msgstr "" +msgstr "Cria arquivo com tamanho TAM" #: tests/genfile.c:131 -#, fuzzy msgid "Write to file NAME, instead of standard output" -msgstr "Erro ao escrever para saída padrão" +msgstr "Escrever no arquivo NOME ao invés da saída padrão" #: tests/genfile.c:133 msgid "Read file names from FILE" -msgstr "" +msgstr "Lê nomes de arquivos a partir de ARQ" #: tests/genfile.c:135 msgid "-T reads null-terminated names" -msgstr "" +msgstr "-T lê nomes com terminação nula" #: tests/genfile.c:137 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" -msgstr "" +msgstr "Preenche o arquivo com o PADRÂO dado. PADRÃO é 'default' ou 'zeros'" #: tests/genfile.c:140 msgid "Size of a block for sparse file" -msgstr "" +msgstr "Tamanho de um block para arquivo esparso" #: tests/genfile.c:142 msgid "Generate sparse file. Rest of the command line gives the file map." msgstr "" +"Gera arquivo esparso. O resto da linha de comando dá o mapa de arquivos." #: tests/genfile.c:144 msgid "OFFSET" -msgstr "" +msgstr "OFFSET" #: tests/genfile.c:145 msgid "Seek to the given offset before writing data" @@ -2508,7 +2682,7 @@ msgstr "" #: tests/genfile.c:151 msgid "File statistics options:" -msgstr "" +msgstr "Opções de estatísticas do arquivo:" #: tests/genfile.c:154 msgid "Print contents of struct stat for each given file. Default FORMAT is: " @@ -2519,11 +2693,8 @@ msgid "Synchronous execution options:" msgstr "" #: tests/genfile.c:163 -#, fuzzy msgid "OPTION" -msgstr "" -"\n" -"Uso: %s [OPÇÃO]...\n" +msgstr "OPTION" #: tests/genfile.c:164 msgid "" @@ -2537,56 +2708,62 @@ msgstr "" #: tests/genfile.c:170 msgid "Set date for next --touch option" -msgstr "" +msgstr "Seta data para próxima opção --touch" #: tests/genfile.c:173 msgid "Display executed checkpoints and exit status of COMMAND" -msgstr "" +msgstr "Exibe checkpoints executados e status de saída de COMMAND" #: tests/genfile.c:178 msgid "" "Synchronous execution actions. These are executed when checkpoint number " "given by --checkpoint option is reached." msgstr "" +"Ações síncronas de execução. Estes são executados quando o número de " +"checkpoint informado pela opção --checkpoint é atingido." #: tests/genfile.c:181 msgid "" "Truncate FILE to the size specified by previous --length option (or 0, if it " "is not given)" msgstr "" +"Truncar ARQ para o tamanho especificado pela opção anterior --length (or 0, " +"se não for informado)" #: tests/genfile.c:185 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option." msgstr "" +"Adiciona TAM bytes ao arquivo ARQ. O TAM é informado pela opção anterior --" +"length." #: tests/genfile.c:188 msgid "Update the access and modification times of FILE" -msgstr "" +msgstr "Atualiza o acesso e tempo de modificação de ARQ" #: tests/genfile.c:191 msgid "Execute COMMAND" -msgstr "" +msgstr "Executa COMMAND" #: tests/genfile.c:194 msgid "Unlink FILE" -msgstr "" +msgstr "Desfaz o link de ARQ" #: tests/genfile.c:244 -#, fuzzy, c-format +#, c-format msgid "Invalid size: %s" -msgstr "Carimbo de horário inválido" +msgstr "Tamanho inválido: %s" #: tests/genfile.c:249 -#, fuzzy, c-format +#, c-format msgid "Number out of allowed range: %s" -msgstr "Número do inode fora de faixa" +msgstr "Número fora do alcance permitido: %s" #: tests/genfile.c:252 #, c-format msgid "Negative size: %s" -msgstr "" +msgstr "Tamanho negativo: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2594,32 +2771,32 @@ msgstr "" #: tests/genfile.c:268 #, c-format msgid "requested file length %lu, actual %lu" -msgstr "" +msgstr "tamanho de arquivo requisitado %lu, de fato %lu" #: tests/genfile.c:272 #, c-format msgid "created file is not sparse" -msgstr "" +msgstr "arquivo criado não é esparso" #: tests/genfile.c:361 #, c-format msgid "Error parsing number near `%s'" -msgstr "" +msgstr "Erro ao analise o número próximo de `%s'" #: tests/genfile.c:367 #, fuzzy, c-format msgid "Unknown date format" -msgstr "Erro de sistema desconhecido" +msgstr "Formato de data desconhecido" #: tests/genfile.c:391 msgid "[ARGS...]" -msgstr "" +msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" -msgstr "" +msgstr "`%s' não pode ser aberto" #: tests/genfile.c:434 #, fuzzy @@ -2629,139 +2806,103 @@ msgstr "Imposs #: tests/genfile.c:451 #, c-format msgid "file name contains null character" -msgstr "" +msgstr "nome de arquivo contém caractere nulo" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" -msgstr "" +msgstr "impossível gerar arquivos esparsos na saída padrão, use a opção --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" -msgstr "" +msgstr "Máscara incorreta (próximo a `%s')" -#: tests/genfile.c:600 tests/genfile.c:633 -#, fuzzy, c-format +#: tests/genfile.c:602 tests/genfile.c:635 +#, c-format msgid "Unknown field `%s'" -msgstr " tipo de arquivo \"%s\" desconhecido\n" +msgstr "Campo `%s' desconhecido" -#: tests/genfile.c:660 -#, fuzzy, c-format +#: tests/genfile.c:662 +#, c-format msgid "cannot set time on `%s'" -msgstr "%s: Impossível saltar para %s" +msgstr "ímpossível definir tempo em `%s'" + +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "impossível desfazer link simbólico `%s'" -#: tests/genfile.c:699 +#: tests/genfile.c:701 #, fuzzy, c-format +msgid "command failed: %s" +msgstr "comando %s falhou" + +#: tests/genfile.c:706 +#, c-format msgid "cannot unlink `%s'" -msgstr "%s: Impossível saltar para %s" +msgstr "impossível desfazer link simbólico `%s'" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" -msgstr "" +msgstr "Comando terminou com sucesso\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "O processo filho morreu com o sinal %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" -msgstr "" +msgstr "Comando terminou no sinal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" -msgstr "" +msgstr "Comando parado ao receber o sinal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" -msgstr "" +msgstr "Comando terminado\n" -#: tests/genfile.c:871 -#, fuzzy, c-format +#: tests/genfile.c:879 +#, c-format msgid "--stat requires file names" -msgstr "--Nomes de arquivos truncados--\n" - -#, fuzzy -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: arquivo removido antes de ser lido" - -#, fuzzy -#~ msgid "Cannot restore working directory" -#~ msgstr "Impossível salvar diretório de trabalho" - -#, fuzzy -#~ msgid "Cannot resolve hostname %s" -#~ msgstr "%s: Impossível renomear para %s" - -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: opção ilegal -- %c\n" - -#~ msgid "Reading %s\n" -#~ msgstr "Lendo %s\n" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "Report bugs to <%s>.\n" -#~ msgstr "" -#~ "\n" -#~ "Informar erros no programa para .\n" -#~ "Informar erros na tradução para .\n" +msgstr "--stat exige nomes de arquivos" #, fuzzy -#~ msgid "filter the archive through compress" -#~ msgstr "%s: arquivo é o arquivo-tar; não será arquivado" +#~ msgid "Cannot get working directory" +#~ msgstr "Impossível mudar o diretório de trabalho" -#, fuzzy -#~ msgid "filter the archive through lzma" -#~ msgstr "%s: arquivo é o arquivo-tar; não será arquivado" - -#, fuzzy -#~ msgid "filter the archive through lzop" -#~ msgstr "%s: arquivo é o arquivo-tar; não será arquivado" +#~ msgid "sort names to extract to match archive" +#~ msgstr "ordena nome para extração para casar com registro de arquivos" -#~ msgid "rmtd: Cannot allocate buffer space\n" -#~ msgstr "rmtd: Impossível alocar espaço para buffer\n" +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Campo muito longo durante leitura de arquivo instantâneo" -#~ msgid "Cannot allocate buffer space" -#~ msgstr "Impossível alocar espaço para buffer" +#~ msgid "Read error in snapshot file" +#~ msgstr "Erro de leitura em arquivo instantâneo" -#~ msgid "Try `%s --help' for more information.\n" -#~ msgstr "Tente `%s --help' para mais informações.\n" +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Campo com valor inesperado em arquivo instantâneo" #, fuzzy -#~ msgid "" -#~ "Usage: %s [OPTION]\n" -#~ "Manipulate a tape drive, accepting commands from a remote process.\n" -#~ "\n" -#~ " --version Output version info.\n" -#~ " --help Output this help.\n" -#~ msgstr "" -#~ "Uso: %s [OPÇÃO]\n" -#~ "Manipula uma unidade de fita, aceitando comandos de um processo remoto.\n" -#~ "\n" -#~ " --version Mostra informações de versão.\n" -#~ " --help Mostra esta ajuda.\n" +#~ msgid "Invalid group" +#~ msgstr "%s: Grupo inválido" -#, fuzzy -#~ msgid "Seek offset error" -#~ msgstr "Deslocamento de procura fora de faixa" +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Comprimento do cabeçalho estendido está fora da faixa permitida" -#~ msgid "Premature end of file" -#~ msgstr "Fim de arquivo prematuro" - -#~ msgid "Error is not recoverable: exiting now" -#~ msgstr "Erro não é recuperável: saindo agora" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: opção ilegal -- %c\n" #~ msgid "block size" #~ msgstr "tamanho de bloco" @@ -2778,6 +2919,9 @@ msgstr "--Nomes de arquivos truncados--\n" #~ msgid "tar (grandchild)" #~ msgstr "tar (neto)" +#~ msgid "Reading %s\n" +#~ msgstr "Lendo %s\n" + #~ msgid "WARNING: No volume header" #~ msgstr "AVISO: Não há cabeçalho de volume" @@ -2793,6 +2937,9 @@ msgstr "--Nomes de arquivos truncados--\n" #~ msgid "Visible long name error" #~ msgstr "Erro evidente de nome longo" +#~ msgid "Error is not recoverable: exiting now" +#~ msgstr "Erro não é recuperável: saindo agora" + #~ msgid "Device number out of range" #~ msgstr "Número do dispositivo fora de faixa" @@ -2802,9 +2949,6 @@ msgstr "--Nomes de arquivos truncados--\n" #~ msgid "Renamed %s to %s" #~ msgstr "Renomeado %s para %s" -#~ msgid "%s: Cannot symlink to %s" -#~ msgstr "%s: Impossível fazer link simbólico para %s" - #~ msgid "Symlinked %s to %s" #~ msgstr "%s ligado simbolicamente a %s (\"link\")" @@ -2814,6 +2958,12 @@ msgstr "--Nomes de arquivos truncados--\n" #~ msgid "Missing file name after -C" #~ msgstr "Falta um nome de arquivo após \"-C\"" +#~ msgid "rmtd: Cannot allocate buffer space\n" +#~ msgstr "rmtd: Impossível alocar espaço para buffer\n" + +#~ msgid "Cannot allocate buffer space" +#~ msgstr "Impossível alocar espaço para buffer" + #~ msgid "" #~ "This program comes with NO WARRANTY, to the extent permitted by law.\n" #~ "You may redistribute it under the terms of the GNU General Public " @@ -2824,6 +2974,9 @@ msgstr "--Nomes de arquivos truncados--\n" #~ "Pode ser redistribuído sob os termos da Licença Publica Geral GNU;\n" #~ "veja o arquivo COPYING para maiores detalhes." +#~ msgid "Premature end of file" +#~ msgstr "Fim de arquivo prematuro" + #~ msgid "rmtd: Garbage command %c\n" #~ msgstr "rmtd: Comando \"%c\" não faz sentido\n" diff --git a/po/ro.gmo b/po/ro.gmo index 7a011b6f13fca6077e2ac2f5492656cf5a11b78c..6257e34b284491bbe88a862861b12c7131baf33a 100644 GIT binary patch delta 5534 zcmYk<33yId9>?($2|>gX5+NaPLSjvXh#-~_`_f3%QWQxn6Qg2K%}DjNjA``&Zz|D1b0@(+34%lC3$ z3Gi8NIDRIfpw>`Pdv+U@I)d23Ud_SeG&|rkRNvco}LS4|c)} zwjanSarE1wCOQ%I`I*=f*P*U^2E!TOJfM+)wL+W{_QP=cxu{aE#{euuR>oXFEyY*J znC2>0#hV3*VHhAQbe)W8c+OSKF6s5yq(&(|>tAEK5zUiGg@BZI5@;B?ep$VG2_ z3thMnwU)b3oA5B|!bQlBdB`taFo@B0on+J<_d)5!u#Vaz?kF0X zNjua`hoCO_8fxH0s0**gXxxoc@iM9+1K6ReSUPIpN$7)bqbl$&>Ut}Y2g&S0eeVQv zUAHNwp_$%B?SaSWLhmT&v1y39U@~eG_CoFA4AdrCgnY#uMlHd0Y=kxVr3$q}-DxVS z0%NcO=3t1Pe>V-yY%S_e_MyIb6gALA)MoQ(Yz)^nv8bgQf|}TP)C4A?Cb$$;xt-V# z58CtPdBjx7Fw_KE<6y=&iS`dmQP1l(^u=P-uD^=f&5w~M$OJH}O4t&;FcF!f>4;i_ zv8V~nL4AI^?Vm)wqVJ%VGL*Y=tI>x>Wz0c+VJ_-I8&Q8RKvm=p`eS+OtWwwHm+mOZ zItaO0GXeRi$wPij0l!>$8@r=F7uAgpjHdqD<#Rcq&9}vR9JMLGMHhNAZT6dKh+6aB z$e+v%WJ8Ehn+_TnU6kWF~YC;*P2`@%H6`NX6e|_LEC$uZCpq|qoP&4;pG+i*p zIs{n-GYfUW4^gGQfIPA03F>=cyy!K-eyGpSKz)8QYAMg5Hsg10d*U%_tpj*F=minO zFKwoDWG*Hb%i|8z=E+A5co0>YuThoM`&a!4)Q$B-=48gBmUb0x_2T`2`n-E&ymP@> z=+B8au^KK%m1qkxH**A4i3g~XhqQ6-urum=ub>9VMSjd0e!1{-?1&Fg6OK)ADm)Om zLAM!8Lmzab2Ht?0`5vr|=dcsrL^iHz)Yj>z;RO0iP?dUu+A~4zoC>zaiuA{$zBd`U zX|oo!L}&30J^xQ==uUInJ9o4K^?_s92k)aM)FILN$72Lmr@tOmk=^!uF>0XT4$fL9 zqjq~X@?-Y%tF(g1YMBtq62SQ81sW`gNk^@1Cf3CXSQY14m!SsUgxVAPkfNCD*cwAA zQ$0*YT_+nUikXgDl8&ht?8(>eh2l%qnL*O!({BAhJle z7u7A)Q}6&OrU~xiyr9xhe;;8TgFWd_M2)kr3-u47af1`u9Ob$?rHRCF`a`kw@j-36 z%@~ZIq274^LOsuwn4OlYKI(iHYA-E8y`tZ@{jKOt|6>frPm6pm2st;hGw!6YhnQg z;g_g8y=BjP_i!dw8+E}1tb^Urg`;eL7HXh1*Z}vVN_`P^T|esYhY_gnyJKkR4twF7 z_$umyzo1H3tCzDB4bg{w4=j&;QFoGx+H{jq6JCt^{x;M^52G)h!U!xv7d}F+=QhE; zodN2hO4k|ro0*E*Oovdry#$+J6br3AGXS;r6H#|E8@+KY@{Tg^q3--V2B2?WXM%N6 z*NekgJ^z_BnsH(o>Tx@Qy3@0$O<06l%Mz@NRr@*ruGc}`@i;6kC03%p8VBMgR3#pv zZlr2|=kL8x*Go?vADZCZJn0Uqzz|?!^QwKs^PIP$jNCz$s;OY)XG5>W=1PG!~-X z6ZcU|*e%t$p&Zl_tV3Pz3~JBZ#Ypr|qyEik#PRL6I0|`-npM~Wi%@InLp^oj_Sgm| zp)S0|T8uU6S9;N@R6W#yiC7(nV<1jMU2l%{;EU8>rMt@sZLW|(PRY9?Z%H!?b-n;q zneR~(4Ik`GU>K^u5NqLatbvy>0B@sq{WENX5ks5`yo9aj=eTL;aoT|uFdtRogQz`m z4YkI;L!AL*P!$`E+8Yb8F`h*289f=>$$yBB43b>h;%$j*ZCjip+`sdGf0gMG`7hB- zbrcdkiaPX?8c#I%Frq_uc$Lf|7s)*G3HglZ(9`k`nL^^oVUkOV2oHrBr}4GkI${VL zw)D7Z{Q^}T9jnNzWF@&p?h_sH4kim#QXO|4OeX$7-Xj&sexj=H)E@bcd_^`A9c-D>H|Cnso-x10&Ex<%OFktt$tI$u)uA`xaI%cNPkdDWABi?u zRicB(+$<&qWChVPUqW`1)8rtzO-7RqB#>kiJpm)hbrMXpA%n;kqT>+J-qJCag>>p<&e>l?V-aSVB6ID2@6T8Xu6~ zkPc)Hc}V&YZ=xgB!Q^09vX{JM&;1eG+V(#&f%GN=$mb-CEFgL0_vFu{?C7bxjwY8# z6;gvNCH~}VvV(LZI=YiDOIyGG>hf#T{DbyS&-Dk?FnZ z#OpYL>>>Xq?~<}3);4aGoxtVf40)NHB<;vT;v)Nqjz5r=WTHCuxaR0KtL=#)c*?eC zSUHk;Y{^X)c|Hlm z76AbfDRdRZqE-llBGzqW zOfO7EO`MC}aUM>^?Wl2^up64DJGNtfGlGV8Gz&Z6eC&)dY>nSyE>`1d)@q7S6F-ES zXf^i5U2eZ(6S6=*1+~!0sLvN+CtQdc_ib#+{N@CW9$10AD208nB~C}BauL?W7;-XZ z7wRZJK-OmVV@>?d^)l-7m76&kZH%PajCY-n?dfmDDA_Z|X;j85*bWm|ZZ}NDUg$w( z=2_H)dr)UuiaNR~{7S_X9E4+08CZeJ(0H?*~u|UWhuvm8j?6K)nt7P|ug5YD0xYeVSUR*RVb6 z`DjnKk%cOn9MpnBs1+|o4ZH=lfZeDG4q_Uf!VorS>ttpDDswAP3s{dTww+i3&tWCJ zh>ROGS83>dtefl%kcy0H`k*GtMVOn)aS1vKPHI-)>|_URm3x0pF$P)>uBMj4D!z#Vt(QVKc)$lrIltOZ=$)^ z^?B3;@422q4V=hJtOa&OZ6F8rnnh55e++BmW~_tnqBe36HJ*ufaT@KAdNHF>1Ky81 zg7wIEjM;~J@H}dP&AU3E&q95E2I`DgVLjaD_CH3|z&FU8@$X?3W0!7DO+_ctP|Cts z5!axKYXfTHEvO8Aic0Afx8HMXnwr=o@TpeA09 zTKG%YQ1Aa98hyEO996|uZ>K*D@1nl|HPA&=@zm<$q%sYw(9c0V=R;1%JdQf54{$bK z#KstAl{&g5sK393Lz&;4rlA#eV-@{y9I9xZL}g^1d;b7xqB^%YXWj?(78D?Jm`xbZ zAnL3W`#E1=w;?BDCZdjZGHO9yjMk(vn}%G3n)q2H8Rix2h^MdzHtJ8M<4A0V^H2k> zMo!IaKpjn~+iyI;Dbg{h_x?|)3_O84@*M-nzaG5EjnSBXt1iTXxs zKG1n9+9JnovQXb-^HG0)%=Kx!js8m1M5nL`HYQ!IusbS4cVtGLDqYA8y?&dpH6F%B zcop@{Sbvc7e&38k>5oR;e-2etJFx;Da{HfSdHScZDV{}TwmPd)CYqu)*fmOnFF7+7 zRTOiv5^i>V9WDBAqaHkl9Iv^ADz+Yjo%_>KZ^>NL*)GNAxDl)2hp2^ohWdWEfDJHO zd5E*q=BPjPK&@;TYQX8J>Ys&mu>>t#>)zjun(#O(b5~I*w@8yF7>(7@hZ-k>+UOE| zSnvOK8v5YCVNNP1VN3ecQ3EYPrS=`Hi0`9zwii`|-=U7Ga+Y(17HYhqsG{|tif%co zmUg2yX0lZ?oPSLkDvAbZ;Z3LsC!!W|Co0u*kgS>4P{nr*^>*|e?o3>ODzasmh?`J5 z-hrxxqsW)1IgZ*`!x3bZ`OOd-+QDShfDzPJ>Wi3)pJ7cbH_};H9n``aplYHgYGEU> z8ZJjRY1W{|J&#&QwNcL7(gw%SPsgZI^&k!HXu11=gQy9PqKf8M)Y&%W9j%W2Fafhr z-xI@8NAUuw7CT^lW>tRx_Cenm@~;Qha-%BlLlxg))B-MJ1~wk+>|hw) zK;K54Z4mYO4VZ{~u@fG{_E=|}v#~yyMt=sf7PAJG*-PWdzZ$K_J7+uswbQw%f!3iW zID*>I6->fL6P)MzqKfJ+{{+^90uDJq)g8KMtSLme*F#`nZr;tk?`LKmkOzi#69-`(~+oI~^`v@jBEz9w|3 z23VIlNqk29HiA~HEbJlPAvO_5i8qO_i0wodB226%{!7d!^j}RH;fut-h;_vMgsz7i z%z4an+c~Z~QOEkFc92QvEciz-ejVU9N%_M?s^ZtP{BB6_VweDtPLyL2ay>TtbFJWsqpTqSf3 zAqok-qKk>230=j+Bk`6o|90g?(&d~WMI67T^Ls3DmiRn=hyM|R`qI!fgSbo#BuWTf z2Z?R*mh)>b3?&Y^_nyKGq6zUSkxl5@PkgNTXVEyVJ6shU;uYT2ZQp`#5f8fkFR&#s zjJW9D`vC7Fz9aNid>io^@e=VNq3b6iLUbf{6Y)#?_qy$o_=MYj0RKbiRm>$)iL&cP z8Zn~3dt(hgM*NMqnOH>JMYJFe6S@`>E8;EwlN>f9o+LDX{Hj&fz|llPg7dGIMf!?g;jP49h{uU#gpUXk2_|+jadhQ$ugC8X zgsoiLiiGSu%jdVk1-2Em?~d4^FgF6lcF+^{1^iY~AkU7qYkIVD#lTFz9gO|bdT~Pg z>_}nQS6paYo}jnDH^a8_eT8-?{=6?}TRCaj$qb?AOBN&zj}~gc_-Hvv-sG~6g)EPs z0j5QYY=1c2jJSSEU%t-{hI(;RkA)a9DU{6T^W0W$AY5S0^!US8D9l|?PXJ;B(Sq<7189~+!y9YSnTGFRqBom28x3|n*_0m8JmZLiJ9r3`n?7xCMkc+r$(4$h5^x4i}Q-9M08O6IqZN3JiK>_8rc;`M|BL7%g( zYd%{=qamqCw^-ivxs4edjHl>?KQ9m|Wu;^$$V6ooBui#PIn z_541~AL=JU`KU4@Dj{W({kQk9->_3eZw($*e(*j&3G{ldv9{|oBR%A&R`Kkp=a&3DePFc6I0I;vr%u6iRp_m-CZ jnQg_(D`bUAt&mOGP@gkwPsm%UG{vX%#BQJPbi)4uNm2TV diff --git a/po/ro.po b/po/ro.po index c6c17dd6..76ead350 100644 --- a/po/ro.po +++ b/po/ro.po @@ -3,12 +3,12 @@ # Laurentiu Buzdugan >, 2005. # # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.15.1\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2005-07-15 12:00-0500\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" @@ -29,36 +29,35 @@ msgid "ambiguous argument %s for %s" msgstr "argument ambiguu %s pentru %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Argumente valide sunt:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parametrul ARGP_HELP_FMT necesitã o valoare" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, fuzzy, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: parametrul ARGP_HELP_FMT necesitã o valoare" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: parametru ARGP_HELP_FMT necunoscut" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Gunoi în ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,30 +65,30 @@ msgstr "" "Argumentele obligatorii sau opþionale pentru opþiunile lungi sunt " "obligatorii sau opþionale ºi pentru opþiunile corespunzãtoare scurte." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Folosire:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " sau: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [OPÞIUNE...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Încercaþi `%s --help' sau `%s --usage' pentru informaþii suplimentare.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Raportaþi bug-uri la %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Eroare sistem necunoscutã" @@ -103,7 +102,7 @@ msgstr "Afi msgid "give a short usage message" msgstr "Afiºeazã un scurt mesaj despre folosire" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NUME" @@ -125,17 +124,16 @@ msgstr "" msgid "print program version" msgstr "Afiºeazã versiunea programului" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -143,62 +141,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opþiunea `%s' este ambiguã\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opþiunea `--%s' nu permite un argument\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opþiunea `%c%s' nu permite un argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opþiunea `--%s' nu este recunoscutã\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opþiunea `%c%s' bu este recunoscutã\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opþiune invalidã -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opþiunea necesitã un argument -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opþiunea `-W %s' este ambiguã\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opþiunea `-W %s' nu permite un argument\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opþiunea `%s' necesitã un argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "memorie epuizatã" @@ -214,28 +212,30 @@ msgstr "Nu pot salva directorul #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -245,7 +245,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -255,7 +255,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -516,7 +516,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Nu pot executa shell remote" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Nu pot executa shell remote" @@ -572,8 +577,8 @@ msgstr "EOF nea msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NUMÃR" @@ -581,8 +586,8 @@ msgstr "NUM msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -597,7 +602,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s: Nu pot cãuta (seek) cãtre %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -606,9 +611,9 @@ msgstr "" msgid "Garbage command" msgstr "Comandã gunoi" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Aceasta nu pare a fi o arhivã tar" @@ -647,64 +652,64 @@ msgstr "Nu pot verifica arhive atdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "Arhiva este compresatã. Folosiþi opþiunea %s." -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Nu pot actualiza arhive comprimate" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "La începutul benzii, ieºim acum" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Prea multe erori, ieºim" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Dimensiune înregistrare = %lu bloc" msgstr[1] "Dimensiune înregistrare = %lu blocuri" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Bloc ne-aliniat (%lu octet) în arhivã" msgstr[1] "Bloc ne-aliniat (%lu octeþi) în arhivã" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Nu pot backspace fiºierul arhivã; acesta ar putea fi de necitit fãrã -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: conþine numãr volum invalid" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Depãºire domeniu numãr volum" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Preparã volum #%d pentru %s ºi apasã tasta return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "EOF unde era aºteptat rãspunsul utilizatorului" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "AVERTISMENT: Arhiva este incompletã" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -716,474 +721,498 @@ msgstr "" " ! Lanseazã un subshell\n" " ? Afiºeazã aceastã listã de opþiuni\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Nici un volum nou; terminãm.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, fuzzy, c-format msgid "%s command failed" msgstr "`%s' comanda a eºuat" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s nu este continuat pe acest volum" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s nu este continuat pe acest volum" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s este de dimensiune greºitã (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Acest volum este în afara secvenþei" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Volumul %s nu se potriveºte cu %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, fuzzy, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: nume fiºier prea lung pentru a fi storat într-un antet GNU multivolum" -#: src/buffer.c:1865 +#: src/buffer.c:1866 #, fuzzy msgid "write did not end on a block boundary" msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Am putut citi doar %lu din %lu octet" msgstr[1] "Am putut citi doar %lu din %lu octeþi" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Conþinuturile diferã" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "EOF neaºteptat în arhivã" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Tipul fiºierelor diferã" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Modurile diferã" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid diferã" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid diferã" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Timp modificare diferã" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Dimensiunea diferã" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Nu este link-at cãtre %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symlink diferã" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Numãr dispozitiv diferã" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verificã " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" "%s: Tip de fiºier necunoscut '%c', folosesc diff ca pentru un fiºier normal" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiva conþine nume de fiºiere cu prefixele îndepãrtate." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Arhiva conþine antete în baza-64 depãºite" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Verificare ar putea eºua sã gãseascã fiºierele originale." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFICà EªEC: detectat %d antet invalid" msgstr[1] "VERIFICà EªEC: detectat %d antete invalide" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Un bloc zero singuratic la %s" -#: src/create.c:72 +#: src/create.c:73 #, fuzzy, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: conþine o etichetã de director cache; nimic generat" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "valoarea %s în afara %s intervalului %s..%s; înlocuiesc %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "valoarea %s în afara %s intervalului %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Generez antete octale negative" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: numele fiºierul este prea lung (maxim %d); nimic generat" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: numele fiºierul este prea lung (nu poate fi spart); nimic generat" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: numele link-ului este prea lung; nimic generat" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fiºier scurtat cu %s octet; completat cu zerouri" msgstr[1] "%s: Fiºier scurtat cu %s octeþi; completat cu zerouri" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: fiºierul este pe un sistem de fiºiere diferit; nimic generat" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Tip de fiºier necunoscut; fiºier ignorat" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr "Link lipsã cãtre '%s'.\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: fiºierul este neschimbat; nimic generat" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: fiºierul este în arhivã; nimic generat" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 #, fuzzy msgid "directory not dumped" msgstr "%s: conþine o etichetã de director cache; nimic generat" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fiºier schimbat în timp ce îl citeam" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: socket ignorat" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: uºã ignoratã" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Sãrim la urmãtorul antet" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "ªtergem non-antet din arhivã" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: înregistrare de timp neverosimilã %s" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: înregistrare timp %s este %lu sec în viitor" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Inconsistenþã neaºteptatã când cream directorul" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Director redenumit înainte de a fi putut extrage starea sa" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extragem fiºiere contigue ca fiºiere normale" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Încerc extragerea link-urilor simbolice ca link-uri hard" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nu pot extrage -- fiºierul este continuat din altã arhivã" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "EOF neaºteptat în numele amestecate" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Tip de fiºier necunoscut '%c', extras ca fiºier normal" -#: src/extract.c:1405 +#: src/extract.c:1568 #, fuzzy, c-format msgid "Current %s is newer or same age" msgstr "`%s' curent este mai nou" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Nu am putut arhiva (backup) acest fiºier" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: Nu pot redenumi ca %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Directorul a fost redenumit" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Directorul a fost redenumit" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Directorul este nou" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: fiºierul este pe un sistem de fiºiere diferit; nimic generat" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Directorul a fost redenumit" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Înregistrare timp invalidã" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Mod invalid furnizat ca opþiune" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Numãr dispozitiv invalid" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Numãr inode invalid" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "EOF neaºteptat în arhivã" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 #, fuzzy msgid "Malformed dumpdir: empty name in 'R'" msgstr "Argument densitate malformat: '%s'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 #, fuzzy msgid "Malformed dumpdir: empty name in 'T'" msgstr "Argument densitate malformat: '%s'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Nu curãþ director: nu pot determina statistici" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: directorul este pe un dispozitiv (device) diferit; necurãþat" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: ªtergem %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nu pot ºterge" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Omis" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "bloc %s: ** Bloc de NUL-uri **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "bloc %s: ** Sfârºit de fiºier **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "bloc %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Spaþii libere în antet unde valoare %s numericã aºteptatã" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1191,163 +1220,178 @@ msgstr "" "lui doi" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Valoare octalã arhivã %.*s este în afara %s intervalului" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiva conþine antete în baza-64 depãºite" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "ªir în baza-64 (semnãtura arhivei) %s este în afara %s intervalului" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Valoare baza-256 a arhivei este în afara %s intervalului" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiva conþine %.*s unde valoare %s numericã aºteptatã" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, fuzzy, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Valoare arhivã %s este în afara %s intervalului %s.%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " link cãtre %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " tip fiºier necunoscut %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Link Lung--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Nume Lung--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Antet Volum--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Continuat la octet %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Creez director:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Nu pot schimba directorul în care lucrez" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Redenumesc %s ca %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Nu pot redenumi ca %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Redenumesc %s înapoi ca %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fiºier ºters înainte de a-l putea citi" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proces copil" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "canal între-procese" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "`%s' comanda a eºuat" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: fiºierul este în arhivã; nimic generat" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "%s: Nu pot cãuta (seek) cãtre %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 #, fuzzy msgid "Pattern matching characters used in file names" msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Nu a fost gãsit în arhivã" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Lucrul cerut nu a fost gãsit în arhivã" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Opþiunile `-%s' ºi `-%s' vor amândouã intrarea standard" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Format arhivã invalid" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Capabilitãþi GNU cerute pentru un format de arhivã incompatibil" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1372,10 +1416,10 @@ msgstr "" " nil, existing numeroteazã dacã existã backup numerotat, altfel simplu\n" " never, simple întotdeauna creazã backup simplu\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1401,79 +1445,79 @@ msgstr "" " nil, existing numeroteazã dacã existã backup numerotat, altfel simplu\n" " never, simple întotdeauna creazã backup simplu\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Mod de operare principal:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "listeazã conþinutul unei arhive" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "extrage fiºiere dintr-o arhivã" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "creazã o nouã arhivã" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "gãseºte diferenþele dintre arhive ºi sistemul de fiºiere" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "adaugã fiºiere la sfârºitul unei arhive" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "adaugã numai fiºierele mai noi decât copia din arhivã" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "adaugã fiºiere tar la o arhivã" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "ºterge din arhivã (nu pe benzi magnetice!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modificatori operaþie:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "manipuleazã eficient fiºierele rerefiate (sparse)" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "foloseºte vechiul format GNU pentru backup incremental" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "foloseºte noul format GNU pentru backup incremental" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "nu termina cu non-zero pentru fiºiere ce nu pot fi citite" -#: src/tar.c:429 +#: src/tar.c:445 #, fuzzy msgid "" "process only the NUMBERth occurrence of each file in the archive; this " @@ -1486,314 +1530,367 @@ msgstr "" "--diff, --extract sau --list ºi când o listã de fiºiere este datã fie în " "linia de comandã sau folosind opþiunea -T. Implicit, NUMBER=1." -#: src/tar.c:435 +#: src/tar.c:451 #, fuzzy msgid "archive is seekable" msgstr "Arhiva este cãutabilã" -#: src/tar.c:437 +#: src/tar.c:453 #, fuzzy msgid "archive is not seekable" msgstr "Arhiva este cãutabilã" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "încearcã sã verifici arhiva dupã scrierea sa" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "ºterge fiºierele dupã ce acestea sunt adãugate la arhivã" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "nu înlocui fiºierele existente la extragere" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "nu înlocui fiºierele existente la extragere" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "nu înlocui fiºierele existente care sunt mai noi decât copiile acestora din " "arhivã" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "supra-scrie fiºierele existente la extragere" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "ºterge fiecare fiºier înainte de a extrage peste acesta" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "goleºte ierarhiile înainte de a extrage un director" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "pãstrazã metadata directoarelor existente" -#: src/tar.c:467 +#: src/tar.c:487 #, fuzzy msgid "overwrite metadata of existing directories when extracting (default)" msgstr "supra-scrie fiºierele existente la extragere" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "supra-scrie fiºierele existente la extragere" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "extrage fiºierele la ieºirea standard" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "COMANDÃ" -#: src/tar.c:478 +#: src/tar.c:501 #, fuzzy msgid "pipe extracted files to another program" msgstr "extrage fiºierele la ieºirea standard" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Manipulare atribute fiºiere:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "forþeazã NUME ca proprietar pentru fiºierele adãugate" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "forþeazã NUME ca grup pentru fiºierele adãugate" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATA-FIªIERULUI" -#: src/tar.c:494 +#: src/tar.c:517 #, fuzzy msgid "set mtime for added files from DATE-OR-FILE" msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "SCHIMBÃRI" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "forþeazã mod (simbolic) SCHIMBÃRI pentru fiºierele adãugate" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "nu extrage timpul de modificare al fiºierului" -#: src/tar.c:505 +#: src/tar.c:528 #, fuzzy msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "încearcã extragerea fiºierelor cu aceleaºi drepturi (ownership)" -#: src/tar.c:507 +#: src/tar.c:530 #, fuzzy msgid "extract files as yourself (default for ordinary users)" msgstr "extrage fiºierele ca dvs. însuºi" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "foloseºte întotdeauna numere pentru numele utilizator/grup" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "sorteazã numele de extras sã se potriveascã cu arhiva" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "la fel ca -p ºi -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Manipulare atribute fiºiere:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Selectare ºi schimbare unitate:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARHIVÃ" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "foloseºte fiºier arhivã sau unitate ARHIVÃ" -#: src/tar.c:535 +#: src/tar.c:581 #, fuzzy msgid "archive file is local even if it has a colon" msgstr "fiºier arhivã este local chiar când are un :" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "foloseºte rmt COMANDà în loc de rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "foloseºte remote COMANDà în loc de rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "specificã unitate ºi densitate" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "creazã/listeazã/extrage arhiva pe volume multiple" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "schimbã banda dupã scriere a NUMÃR x 1024 octeþi" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "ruleazã script la terminarea fiecãrei benzi (implicã -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "foloseºte/actualizeazã numãrul de volum în FIªIER" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blocuri unitate:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCURI" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCURI x 512 octeþi pe întregistrare" -#: src/tar.c:574 +#: src/tar.c:620 #, fuzzy msgid "NUMBER of bytes per record, multiple of 512" msgstr "DIMENSIUNE octeþi pe înregistrare, multiplu de 12" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorã blocuri zero-uate în arhivã (înseamnã EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "redimensioneazã bloc în timpul citirii (pentru pipe-uri BSD4.2" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Selecþie format arhivã:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 #, fuzzy msgid "create archive of the given format" msgstr "creazã arhiva de formatul dat." -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT este unul din urmãtoarele" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "vechiul format tar V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "oldgnu formatul GNU format ca pentru tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "formatul GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "formatul POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "formatul POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 #, fuzzy msgid "same as pax" msgstr "ca ºi pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "ca ºi --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "ca ºi --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 #, fuzzy msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "cuvânt_cheie[[:]=valoare][,cuvânt_cheie[[:]=valoare], ...]" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "controleazã cuvintele cheie pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 #, fuzzy msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " @@ -1802,173 +1899,175 @@ msgstr "" "creazã arhivã nu nume volum NUME. La listare/extragere, foloseºte TEXT ca " "pattern de globbing" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Opþiunile de compresie sunt în conflict" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtreazã prin PROG (trebuie sã accepte -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Selecþie fiºier local:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "schimbã în directorul DIR" -#: src/tar.c:644 +#: src/tar.c:690 #, fuzzy msgid "get names to extract or create from FILE" msgstr "obþine numele de extras sau creat din fiºierul NUME" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATTERN" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "exclude fiºiere, date ca un PATTERN" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "pattern-urile de excludere sunt listate în FIªIER" -#: src/tar.c:658 +#: src/tar.c:704 #, fuzzy msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "exclude directoarele ce conþin o etichetã cache" -#: src/tar.c:661 +#: src/tar.c:707 #, fuzzy msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "exclude directoarele ce conþin o etichetã cache" -#: src/tar.c:664 +#: src/tar.c:710 #, fuzzy msgid "exclude directories containing CACHEDIR.TAG" msgstr "exclude directoarele ce conþin o etichetã cache" -#: src/tar.c:666 +#: src/tar.c:712 #, fuzzy msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "exclude directoarele ce conþin o etichetã cache" -#: src/tar.c:669 +#: src/tar.c:715 #, fuzzy msgid "exclude everything under directories containing FILE" msgstr "exclude directoarele ce conþin o etichetã cache" -#: src/tar.c:671 +#: src/tar.c:717 #, fuzzy msgid "exclude directories containing FILE" msgstr "exclude directoarele ce conþin o etichetã cache" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "evitã coborârea automatã în directoare" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "stai în sistemul de fiºire local la creare arhivei" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "coboarã recursiv în directoare (implicit)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "nu elimina primul `/' din numele fiºierelor" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NUME-MEMBRU" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "începe la membrul NUME-MEMBRU în arhivã" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATA" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "comparã data ºi timpul numai când a fost schimbatã data" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "fã backup înainte de ºtergere, alege CONTROL pentru versiuni" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "ªIR" -#: src/tar.c:698 +#: src/tar.c:744 #, fuzzy msgid "" "backup before removal, override usual suffix ('~' unless overridden by " @@ -1977,103 +2076,103 @@ msgstr "" "fã backup înainte de ºtergere, înlocuieºte prefixul normal ('~' în afarã de " "cazul când este determinat de variabila de mediu SIMPLE_BACKUP_SUFFIX" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 #, fuzzy msgid "strip NUMBER leading components from file names on extraction" msgstr "eliminã NUMÃR componente de la începutul numelor fiºierelor" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 #, fuzzy msgid "ignore case" msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)" -#: src/tar.c:719 +#: src/tar.c:765 #, fuzzy msgid "patterns match file name start" msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere" -#: src/tar.c:721 +#: src/tar.c:767 #, fuzzy -msgid "patterns match after any `/' (default for exclusion)" +msgid "patterns match after any '/' (default for exclusion)" msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)" -#: src/tar.c:723 +#: src/tar.c:769 #, fuzzy msgid "case sensitive matching (default)" msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'" -#: src/tar.c:731 +#: src/tar.c:777 #, fuzzy -msgid "wildcards match `/' (default for exclusion)" +msgid "wildcards match '/' (default for exclusion)" msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Ieºire informativã:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "listeazã cu amãnunte fiºierele procesate" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 #, fuzzy msgid "display progress messages every NUMBERth record (default 10)" msgstr "afiºeazã mesaje despre progres la fiecare al 10-a înregistrare" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "afiºeazã un mesaj dacã nu toate link-urile sunt prelucrate" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2081,33 +2180,37 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "afiºeazã datele de modificare a fiºierelor în UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "trimite ieºire detaliatã în FIªIER" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "aratã numãrul blocului din arhivã pentru fiecare mesaj" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "cere confirmare pentru fiecare acþiune" -#: src/tar.c:767 +#: src/tar.c:813 #, fuzzy msgid "show tar defaults" msgstr "Aratã valorire implicite folosite de tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 #, fuzzy msgid "" "when listing or extracting, list each directory that does not match search " @@ -2116,95 +2219,87 @@ msgstr "" "La listare sau extragere, listeazã fiecare director care nu se potriveºte cu " "criteriile de cãutare" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Opþiuni compatibilitate:" -#: src/tar.c:787 +#: src/tar.c:835 #, fuzzy msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "la creare, ca ºi --old-archive. La extragere, ca ºi --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Alte opþiuni:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Nu puteþi specifica mai mult de una dintre opþiunile `-Acdtrux'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Opþiunile de compresie sunt în conflict" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " tip fiºier necunoscut %s\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Fiºier date nu a fost gãsit" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Înlocuim %s pentru format de datã necunoscut %s" -#: src/tar.c:1057 +#: src/tar.c:1108 #, fuzzy, c-format -msgid "Option %s: Treating date `%s' as %s" +msgid "Option %s: Treating date '%s' as %s" msgstr "Tratez data `%s' ca %s + %ld nanosecundã" -#: src/tar.c:1135 -#, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: fiºierul este în arhivã; nimic generat" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "filtreazã arhiva prin gzip" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2212,174 +2307,199 @@ msgstr "" "\n" "*Acest* tar foloseºte implicit:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Proprietar invalid" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Factor blocuri invalid" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Lungime de bandã invalidã" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Mai mult de o singurã datã limitã" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Grup invalid" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Mod invalid furnizat ca opþiune" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Numãr invalid" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Proprietar invalid" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Dimensiune înregistrare invalidã" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Dimensiune înregistrare trebuie sã fie un multiplu de %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Numãr invalid de elemente" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, fuzzy, c-format msgid "Malformed density argument: %s" msgstr "Argument densitate malformat: '%s'" -#: src/tar.c:2145 +#: src/tar.c:2133 #, fuzzy, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "Densitate necunoscutã: '%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Opþiunile `-[0-7][lmh]' nu sunt suportate de *acest* tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FIªIER]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Vechea opþiune `%c' necesitã un argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence n-are sens fãrã o listã de fiºiere" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence nu poate fi folosit în modul de operare cerut" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Fiºiere de arhivã multiple necesitã opþiunea `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Nu puteþi combina --listed-incremental cu --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 #, fuzzy msgid "--level is meaningless without --listed-incremental" msgstr "--occurrence n-are sens fãrã o listã de fiºiere" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Eticheta volumului este prea lungã (limita este %lu octet)" msgstr[1] "%s: Eticheta volumului este prea lungã (limita este %lu octeþi)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Nu pot verifica arhive pe volume multiple" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Nu pot verifica arhive comprimate" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Pattern-ul %s nu poate fi folosit" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Nu pot folosi arhive comprimate pe volume multiple" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Nu pot actualiza arhive comprimate" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option poate fi folosit numai pentru arhive POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Pattern-ul %s nu poate fi folosit" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Refuz categoric sã creez o arhivã goalã" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Opþiunile `-Aru' sunt incompatibile cu `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Trebuie sã specificaþi una din opþiunile `-Acdtrux'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2391,118 +2511,114 @@ msgstr[1] "%s: Fi msgid "Keyword %s is unknown or not yet implemented" msgstr "Cuvânt_cheie %s necunoscut sau încã neimplementat" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Înregistrare timp în afara domeniului" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Pattern-ul %s nu poate fi folosit" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Cuvânt_cheie %s nu poate fi înlocuit (overridden)" -#: src/xheader.c:542 +#: src/xheader.c:667 #, fuzzy msgid "Malformed extended header: missing length" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "ªir în baza-64 (semnãtura arhivei) %s este în afara %s intervalului" -#: src/xheader.c:569 +#: src/xheader.c:688 #, fuzzy msgid "Malformed extended header: missing blank after length" msgstr "Antet extins malformat: lipseºte spaþiu liber dupã lungime" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:583 +#: src/xheader.c:702 #, fuzzy msgid "Malformed extended header: missing newline" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Valoare arhivã %s este în afara %s intervalului %s.%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, fuzzy, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, fuzzy, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, fuzzy, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Antet extins malformat: lipseºte semnul egal" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Grup invalid" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Scrie punct de verificare %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Citeºte punct de verificare %d" @@ -2642,7 +2758,7 @@ msgstr "Num msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2671,8 +2787,8 @@ msgstr "Eroare sistem necunoscut msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "" @@ -2687,66 +2803,87 @@ msgstr "%s: Nu pot c msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " tip fiºier necunoscut %s\n" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Nu pot cãuta (seek) cãtre %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "%s: Nu pot cãuta (seek) cãtre %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "`%s' comanda a eºuat" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Nu pot cãuta (seek) cãtre %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Amestecat numele fiºierelor--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Nu pot schimba directorul în care lucrez" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "sorteazã numele de extras sã se potriveascã cu arhiva" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Grup invalid" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Fiºier ºters înainte de a-l putea citi" diff --git a/po/ru.gmo b/po/ru.gmo index f9ee7dbb04b0c3e60acb5b5c8c7fdc693de3fda8..ea045fc95d4e7930c542d8e09a63a0f4b309ca10 100644 GIT binary patch delta 11453 zcmYk?2YgNEAII_MW)Ko15(GhFMFa^kVgy0#QL&4l)TXsZ)s331qFk$JjjBKX!$YV>{)iiLr3z3d6pJFlGg=O#(>P`b_MNKS(YDhb*hNCeZH=-_(tCBGh zSQcY31=SM+u{Vx!Q=m7@B~$})RyKw|rUXAqVtafA$D(@bBC0_Ta1`cCv<-M0>yU3i zUFfD$pTCMR6ipK5#X+dgzlmJZxR+AUg-&2J-pA?~Ueyjs3)BhUz-IU{>bSdD1oLs* z8mfw@8)%2Rp+S!CV+{ErWYo-UjKWARQkLtRWLq$OFdsW+qdu?_i{eq#*xhgpO0pBO zEc#Pl4mAW7k+z#Qs7W{#HA!b;Zd~KI9d(_9Sc~hM^At3B!fV*Bs(}o%8SMB0)+YZ3 zHKsWkcy(cEWO0~=SP)-BU3eO1$62VZUx2B26xEY?nSpeksfjhYzImO3x@{k4esIO@1o|~MpQ#j)usQ# zDP&O*i8<@pu8qN>4A;BUwulf@79Xtfl3o?fW)Ohg?& z9|Le(ircQoom6Nt9mc|V45RQGYT0D3Z=VYhs1sB~=A&ta(Kr=z;#w?*UTlY_Pz{S| zV3&1uRKo_KhHRnRsn~~V(H+#7Jw#pT3F?lEG_+%08B39mMK$z8jKCcjil-ojw=Rj3baMs?*ksJU|)wVWQK zE)de#HoOFCi0We$c0_%C494JmWLdh+R}^$7$5D5B9d&_!oIGC>o5!MtA{lj}R!;pu zR0G_oJDrQ!aWkq1KSy=>c~k=fo7#6o5e(M)kEM`}9aT{+u8kVQHmKSAI%AHKo*F}!m?PUxm}*!umaaN9tyFz7t7&I9F7HAFbwz( zs$s`b&xgyXo_K;G7}C=ANFfX$uZFszS{R4*QFCJmss}Pqb7ld$b)roa)Kz;>AN+UY>&Bc0jftgyM;QTtAibaT&NzbgZwe6 z{9u8YrA~eg^||DZ_MMT2@m$|brJzZ(9d+SdSOI^;0vN>Yt4E5X8dL|>18J!J6H&`- z5hmgpJdH+bK^GDTsVLlsPhz%7RGD%D!O{uA?b_yyr&2KuVt~8iUd538oPj= z_A6HvtV2E&)qu^Yp1S1J`@dqBU42ZYz86-)b*S@Pz@ix3ix&{aVq=_$arkvFx1AJO zRMe)TP;dJsvI9nw&%omNDXO90IQb)Ie+0Kxjry9X3k}66oQ?HyGioRwpw1WF#~#-J zOOf|YljhUO-g#Rw*VOu>dY0E^)! zjKLGQ3ID`ct^d^nZ3DhVweTsH!RSHu(b@!mBTvV07bhKTpNyS{*tw97CD=b1)sQu) zo;&00_j}DQ)3T@=O+!65CSaJ>|9q!n9R{;w4;I1WmlD^S_0$-w zi8HY>9>I8gg6g3-)@~t8MxC!CYJXo03i%CgUnp5B!Q+r#Xh%=RzcQBX5r7 za2=|v&!BqX8CJ)r;kG9`p(fp%SQ(dLX*}iZe}rz0Y0(jO5+-8=`4H5YO+&SKHMYX- z*cJmv+9zXY)Cs$zdTt6HW{BpXR#WHEG>CiwwkAI@#y(+-jkV8%vSaCgwQLp@8k4<_ z=kX!=9n@G}9cR~XzBhO^lMg_xmM_saG{|H!VdITyg2||!n2PVE6=e>h4$${A&Dyb816QCfbOCkYzzo~9QK&i47K`F69EBUOHkO=d z%v;z4f5t0V5%;^PRTthzH6&t^eWnk@XXMkdB~G2}yxp)jdC(L)6ob*JLt} zPq-4(xFPBX;4tdM+aYRDI;7GK6bSZs!U7fivbznhQr9189XGc|G*U2G|%Iqk3*OhTua?(E4|I>@&MEYE0WY z`4Ch~XJd1`g_^}l^X#*II`$wxhIO(0eA|#gm`c7D`{HfXoanH?J~>BVPVy<(kn5ZG zC@@UsEVjdL3+?-U3l1SKwa8xBgOTJ{P!}}s+m}y0)Z`nD{c#I^f{}}PBjRCfk8w-v zaT9SE`IqQcOX8Q>F0Y9V$cN(y%)~la{sY_MftZ_o6o%szq*KgdR2NtL(0+at>Vi8_ z4a&RB&arW*q5Tnc-mvBLe>#P<<#v*NhU)4EsD{*CVefDfRwCbt33v;WvFJ+sI35eG zvya|+s0Lj@&E8vB8Xsc}7H7ceZPOUj@ERs!jrF!cgRva>S{#a}aUi-=H`p%w3?r#H zkHs;|G5@D_8CFG>ta%H$NfWw}=R0Pix;k`|ydA4ap_#Uq{x3ygBNdw6r!gEaqE2)V z>tgUeUQpN^nb>9x>V#?g?UT`s?~$LxO4#Foohx%OgM2^M!-fa#FQ-$mDfz{NZaYiM z9J1>_9n;t`5nJOK%!Z{7+m^>UCOM{JPWGo^E9{0%a08}e7OH349kD%_fhEbm!}{9q zrl47$^tD}P6Hr}!3>#zQQ9EmU<4@!(P(6}y%wBj8_R;aE9;tlXK0&*qdTc%FPP2bw zhqeutAs>sS(7l|(d$uAa`)@iUP|Kz6N!xYfF_!!*)CsSnE?DVXd!lsIlW!7M z!(CVbv#=+Y{LU`BDagVxD{uV)rcp3HYPbS|vd*QmMF6oC+I1?jrBj&|p zSP(B_E_{fA=y%>4gns0?aUzD|OX$JQcombd&JVU{M`JCnZ?;lkLYuqzI(mP!cT(zt z?ZOV&iTcUd9510JTkJ*qHF^x*CI1Q4u#=bUSYJX7Ss)Wf$H(IWoPeb<|IhTly1W*J z;@BH&<7BLbdr@8c3|nB*FSci<;Jf6ju{b7Pw%>%>Vmb1ySPg%6@&dow_k9X}O??Kw zjLojl|4k@-e1+#V-p1DGy=s@E|8MrfWl&u?9EalpoQX--c&gzc9EEkR+tsiQRUdi7 zPTqOwAwP>_vH$P(+w+y*-L_Euf4mUbF$49%n47jC%P^7r4i3hWx9pwHK{fn7YDjAR zVY_@9#*uHrj(7oQW8!Ulp8eR6{4ZRDwcU5@EI*4nQB4N20#3zr+=}X|uzSAcVus)h z@`pGFGw$1WLcRy~^}Gb84Y76VG55 zOv_~t*od0t|DYyKOadwnD7bC)p@E97yR3D^@i;x8D2v-7%q?~0{Zi2NEdLcZPv zbBgQx{%*&kT4#ITDF=}EAVxd6mvZwLjw3b82|ZA1QO`s-Q!(y^W9UG`BgH&%>PAx5 zw*0?i)c!usY4RFMNJFx%#{l zq!X1Xr@ye@cmI7~sL=6WlmChnoO=BoPD!VH1KY7L0~hLGwqumH6BUSp#7#omPNF7d zEjw)=5a)^U)LkU}wf=viu$IbSQ4f&LI0e5zZ8OmR4;9}pyta~`Ul4oQx6L^&oP4pf zH-@^El#Ad-Xa8{WW<+uFW6p89zF9}IkID-~DrJ_jVFj7v|Xi+C#GpgJl|TqP!6N=3^9-R$Ep7j_mfv6>N$1&G2AIr z?c0*bgDLs?e>KTU=YT4XrJMt^Ir(pns$N66qmvKBY1D-}c}2>4$-ql&6*Y+yR4gPO6a5Hne-j0WBjoy0(#NT9fYXTl)Rn=Wn2%^cL=w%3 zZ-@fyOC*+3)}}8mIeaBn1ois+=l?bjrE*ku!4%ZC%HsQ~^eN?APW>pyUewK{Tox0E zJj5<%-@jOcycMDCb@IQ6^2AZ{llYz1|BKsePErNWvF~jx>KwBIXT5OzJ@&OH+EJHG zRCD$fbG(bUi7z?Eg*%A~lpA3s)aL$^S3Nz|Pr252YSY3lP3 z-w->TVPEdmK2b9}7xeh-|c>#Wc z>xs{aXyP+MTRaXXMi5hoOGI5Flzkuhj$oaWpP(G*k-D?l0V-@lFuetL0ouViSwxMk28op zl;;q>tDc2x#7yD|@d`Vx`*yPa9XH@3_Pw}ysjKAd&ySz5^E*QGL65_bIAfxSAj+|- zW7FaPvQ?(;WmS0ZRY=M1eZQ*L&$BEkpLcB1D3>=^&9i>qV#!+ry?5#_4Df7g+{v5N zB-G_y-)y-D#v_e3AgdVWxNkT-f{MmFz}HzET(aT)LBO{`EUp+Z8{ zsLF{oD<#AwBzli!EX(7KpVKd!r_rLy-hUSc`g^V}DdO$0q(PuJ$BHJw-gz4`b9fGH zpW*!|v$UVr^<`my&!XMOyl?O6yv|AuH_5QMYt+@wtjcpd;4^{ zzjxfZ<=MSgE|>N5Z{NSSr{0c&-c?seyF9(FP4PrrFXi>W(Kx%e=-r2b-n2j856<-X axq60Xb_{p@8j`s_+I2N(VN{&!+5Z9EVtn!d delta 16805 zcma*s30xIb-@x&?D5Bs3iVL7JsE7;TuDRsCEAC6?#sw~dA|UqylGSx9Elt#MD@{|= zQZtn+iW}zAVp?4)ZLuuNOzWwvN7M2#-`{`EU|2ox=b2B3?>T2?&YXSb+B2KWKmT!g z_l4@^SK2g9Yv7}4EwOu$rhQI)SOZOy{F5=tGw3DA@gEGqJNP!%j@7ha{0b}JP1NxZ z49D;mnpPRRSq{bpq{p?;+*&On7s=pS?UrQ}HHjoW2C0wsDAvFw$bZ@<{!l;d1MG*t zVk7L@O4F)fBG$zjNRiqSl!_E%XS{%+7~0yc9?-5etstWx*2Kveh}l>lpTx$v1*N5D zuoGTHsYu;6n${k>;UvsKdB9n$gV(SrR%)wyq75dI?(QZMO=Js71>Q%>)V@P1snu(z zX+*W5*bwJq0=|sWa{)Y6D%b#Xum?(oim)r5M|p5)2bJF&sf#uRrGf6XM5KUMP#$<1 z*3cb?bdAc zV-y*&DD!I!>Np>p;15x^^!z%-RK{(OPgf)rCVbg!H2*6~_CPiy^OAtQo}yC^k}=%vzeD3dV*8=!%~xDU+&us-Q4 zSP%Vrt9>F8b9&=E3 zvRPOT7ov>yV$|^^lx6i6*2GUx?*9p8^;Ba#q@n%LA5+~#qy;Vwx~M2ihY=X>r&HSD;kfeSkZ^C?QpZlP4P>L4`~^|2f2&d4Zgv#>iBqqO)g24KWsb$tx7+}+wh zBGT0}Q6|}9l;!s#%7gZ!?CI~IwCp^}Sl&h*1LIVItuTu85NwD!D9idel$LHonF}Ye z3ZBOrvi`4HC+?UT6h1_aVH1=|))A$GV^AtK6=jY*hJLsfrDB^g8c(29{2I!GDhyRE z4@Max9i;(LSfA%>U5GTt@hDxjz;YYPSe>@KhAl|f9Hw42eNbBbD9T3lBFZxS5}RQ7 zaJ7H*#~9L&qwFiMpv;YP=ynpZjo`(B*(f#JkFvp>!9cu>mGLG@kCY#&3Wz|Ne1lP1 zHXNlP4`C3_N9l=GD0A!;l=5Cj>9KPo>3_NLS2Dyq7>VUs3exgsD9dIjO2rnS%#n2{ zW4sqz;>Rctt~6S`#M)t1(o?WH=AaDKQ>f!IlvP(Sn*Ns-l#o#k&tWiLM(Kgu7>hN> zsM*{bWlWzy=|ThhVlm2te8;LCt`5rmZBZ&X1f^kalsU2mW$50QjM_wgM=7BCLu!^r zVhz$=P%1bKrH4ja=?PZaj=tolplq$_SO=d*dC+F8iC)z4GRjc;jZ;J54kjWMXp7RK z!6;psi;ZzJO3%EFGw@TCt{eQYs@OE7Of3_~+j!fdv@~*p>bXHETlXUvg3n_e+>gu! zx8@}xExm}`tKGo%IBcR?HVbetX#=HzFHt7X?5V>FPveShcChCa4{=(gE@6!3o%g{9Ke}xdUaAokyw2 z*C@;GF4n>ryXv{#C>2b^ST~VeB67i2ly!UrrQqLC3XVxoLoyL%(maJS`}bfto<(`! z4V0k@N>p2T1oj|31uNk;OApGNIf8D9oFHPuQ`iSjqihsGN$P=}u`cOEl(C(S^>Hi4 zBdEJ|1@ldvr*>O4wNDN47*@u_cXO<4?wBF zLX5;hEB`#|q(jrx&~!$*ZVpNXUd2}U5lX?8rmL4zM`TOU#$rF*h0XCMHpGVMssiqQ zMB0)uAEm1fpiHXsC^f%rr5k6c^LjJ1|u@n^+Qpvn}LlmA6w#H zWU{-pZ-{i18<+@k<9L)BK4rNR2aqm7X>nMV>hj(wLp2#C-)XrHr2(&_Jn$O~K!2yI zNG+6}Xp5n;{^NvrG_8`<-vU|Gq5-5HP{wEN14Rc zv(+kUg}X?P!=_j%hl=ogtql>W>11q-^RXuGz;Eyv2HW_!%vD?N;hAcV97CCu-=fS3 z|2)-$9Z=?w1LZ-BP+DAwweTX=z+32+jLMIwE^3Ifk+i^SI0!>=JW2sM_yBIgU_6hV z@EW$p=Cjl!oP^R-OHdm00*2t5DCJ(n7Wnfl`rnsG#G`7$D-VrhSkx)Slo(i z``THQA!_rO8iGkEJ+S~g;C7TA{R(AL`#r8I*c7E_CZL?3`#AkCWBd{sGArN2I(Q4~ zV-V-1#w~FOcE^#JkD>TAO3(a((vW7e)dN~$0O>LKCPSBiT}U^ZO9e?!!J(u#xaX<8 z`6qOc@f%84PM)vEYPsb$yiWdWD66FK3AMhz#^IzpKdIgw&!AN76w26N!v0uwf$EvD z_%!K!?1S#mg=zze$3bLlz!CU8$_CQ)DQb(WP|p8>Q8egI+;-@HvzQ{EVHj z(IU0%CL{A$dkm!~t|Oh`)>8r?)mw54 zCXxOG?bvmx`WKQHP=>19G6G#b7AKG%zg+EzML5>RxM>EhfQMEv5AZbhLgz}=!u>dz z^v@WH!&j*mE{te!}A-?1{HA z9=mR2{JRm^uu;|M3zS(IwnXHV@3lMC`(<(6JAG|D=l7D71@N+^*gZ_ zUPc!-+eYhf14@N2U{$<|!FUUqc3KrTPwPiyBT4~RQ63nxLse)VPA2^W_QbeX)B~5I zJm3^g!iqbsZ#|T*--c4&4V0F4d{uoXWTFh=CVUXx9}sCkBxskK?QO9!>2$1vE3pZ_ zijnvcet~yz0Dit(b!pTdRn8O~PX5za5kEsI=Nqhwe_#i!Qedtkx7LS9Lo()KTilA$ z)#ouAYkAZxUyRaq-=VbVE-uCPd(|HQCe9&!740~!kYC354$j1Z`_vYG0;OWr_sgVa z{KJSy%bMUw9D-4}3D@J>I093P)P{2yrGnS688$zlCfyi(z=wbP!D-~%4y&G=j&(_| zz;N7SS%QOkzVbiHZ4e87HD25(Y%WpMyAYFvfcnxK2>%FEL zGz8;FyD$Qeqg3n?_Q7Gt7=M|3tB7>R3mAss$JJKc8KuCfC%(6BJzZK z2TVYjbWftpp|>#>e@3}pKdH)}hyzLIouvO0iJT;(IW~D+eU6X9Akqm~8C}>E=b*G` z2TsJ_P*%&>H~1jMoha#AZz|I;ne=hY!=`VkePuH)CmnFg%{M=h^{3Q{&Tp&N<7S*s ze(Y(r-aWXGbmKF;(QJIjp+Wk?cU0G>ysMVqN^DL3M<^}#e@_ivM|_y{bgY1HA;oC# zxruZnQi9S00bVuvI$#gdlQA4O;xIghfmppn*${`4Zi~_*^Kk}#g&{cVeN~}!l%d{; zS$GwteD{P8)UsHQb;$SuWinOxP<4G9Y)ra4Ho_@b5f@`Hu0(mzcI<{HaXgkkt9H_O zl=1@3sfs>;OGz)pRyZ01at9_-qa6C$j z_hS^=zE(rg6lExe;Y!TL$1&iN8p5ZM`KxWlE|~s}>d74_tLR@S6|Hrd{+9<#A|hk- zGPc08C=c-cR@2_VX4naTMp^ICSJaRtqMh_I48wopUaWSNe<8z@Sl-53|4zL_hJLSx zY9=Oe{`B|se-M$D|56p`iDOA;pe&y^Q6Bs&GFh}%Kd66fN<^8ghp{)F#kLswqnblQ zF`D#jY=S#c8gveIyp46S?oW)rET@h?sSk#Mm`M5n*2a3*)P~d!eM$GS9Dt0RHWcUJ z2ponV;y8@_S-qy+C__+$o$&@9$5y}aFJ^e%O{5hO$G=sVuEvK*zm9{j{&lrHr=o-O z0puB4_zg9tfxoH>4#z0+C!>t<0vv*Sa20Ad)jMG|N{<}DaCBcLA~mdVOVzL!N|(EF zFdjr5{eEN3V-u7c3o#zgVl!<2yP6wzl=K?xiYM?C`rKAK;2G>sI_f{n4_W`2M23>l z?v7f|PoO;bWt1+xflloE2mjuK2Qe4>-&H>-Uc+S49oSGMe?4}`S~i=xMUO>0>F==* z#`)OHcY%TO@6TElejSYDgdNvnAxc5RnYvQ3Q`iPWd~MovjKg?5gwm3_6>R2EIZ%dR z56b@W364cyKbw}16H&_f0cFxgRJ3Vpc)pfQBnj`LjCoQeoB11WH%=mb0UyQ({cYy5 zT7!#7*AK91%Wyj`#4eR>=6A&FxPtVkDyrpIQF?MvRh#*#w+^Mpj-oq-NaJcY^R=3f zlSzM$(vk-Q)q@=sVRoiAxx*U9( z>o?*yj1IAx-w)?PRrz0|40Ycy)v)Kn+^TDCkkMC8)K!z@8I&>m02^XrJ=Ky0Sda9} zSO?!gnN(k(Y&eniZRR^-1WqHp60^`2ZZm%;xbR8RJ5h$Tty{O5|Dc$U50dda&cFvE zZ02{tb_^nY2{Z6l^u^=`HuEi)h6ZUTc0<30Hgo6fhcbzCa2NiF3AnzIn*Fv&HF@2$ zh)4}jqKt8e#%dBSz{f~`fa7s^lsdl?W!B$8nM8e?*vv1UohXy{OO#n2-PC5jl;ZJK z(qCXKE@`HQ_6Sy%^&j5cX1?X3F@y_pkfGCR@`n{>9&C2z@t&1#kIYf?c$U91`%4ct zJoAu=DTnUEd%(K3FS2+vwh;4pP1gSo>*PGkGw3C}$tC^p6~ec~o!Aa#B37qRR;#w3 zpp&jZkb`XPQ}W)$a1tM)%={_@IcA%G`C*FXxbBdw|L=)>LSU!VT458Et}i`?lE<#8 zt;UXot;AcGoqK~vaDwo%b&jDnm-E+F`WESz2(rRt)ddjT^T{}ET_6k~ElVm7 z%N{?F*hF}a{7r-o*2xQ&bMP&~=bS4~%fCihA)~Mhq4bbtTY8+8@lP&u@|`mASyo); z#9iV)Vsi<^D-dKytAnFZmf(CsA!#{!;bp=Zl{624w z3GA5KF*0NcJw*IGvLf#tPZJB{=10kUobVZ;KVbzSkaMYoJi;N;K3q2t_YiUk2H`A$ zuP|*Z&OKyu7|^TlwkaeL(n`^oxY0k}us?(Q28b8*@P*=`8F`dM}}xoZz@dc!+S5 za}QuKhGPn$E%7;oX9*ig^WM^eDCb4oM`%G9PFO_PNRVR&y5F!8lJU0u;rNZbm@@gn z6x5QmpHmR z{Du%P z9K+LuFJ=AzNH|GI;KV^fCBhS=<>*SdPS_xcGRL|y@z65ypSZ6M6+3R-A8(y|-%1Cg zd{HeUe=dRc^Ww2ih7sp$+&q3I?++_qGU^iAkp2LZa1y~z{7J%_#O2t9538saP5d+B zFA&CBdBSgmX`Cy>x<2apl5c+Xh%E>OT)_8%=1WWb@D5=e;R4|)LI&6P;2UxS$6VsC zVs*TO5!@GnUy&|78jx3doFnpYf=8ZT)5HD?Sddk^YV#hYO3a zs+IoU%;jSPa|q9nKZwwf_yHV`yRB=_S(0V`X!$qka+2Vv=VP{?j53p>5hqSrH`T{g zq_>wTL~g9X^-q&mi7w!I=bJx~A0@+| zkWUDukRDuQ!=`wZyc&3gFrFaCU<_7K^XFPMt{qDH3Zb5rU*A%w%K46E(ywxV-}kJH z@_31iZwM0zv4mROAY;3`2n>PCY#%Yq~v6Pfks9XpzoN`snm&=^44{W`^#{%XCp)FF0q*PMQbbF>Vg$GLuJ)ymWZSHuNJu6Cg z+H)LEeY!n8&phR%fGG~DlttBC8M<9}aytdN?DRoK7G36?rrWa;Q&Mvr(Yif7NvB0T z#_7t)a&S*lYEEiWw$+tRJvl35y4gbOmRNuPJ~QppGt(SyXD5H1Vzcy^#N^TvV#|QfQw^G%W~!1Uzlzk4fVllaMU0>^~rR7X{F?;IgYG^ z45uS4?_NDSS>SzLCSE0yjmt-I9~ zGJ#SVfcTiWDCUq%AfsK}!K%y%l``kAk=dc9E!OxUZn4|EM3<>PO8Qvpm?T{-6_EuI z>C}dr*ElKD%%h`KEFr^{qUYMvUAogn_uHv{YIU$R$6DLOyFoeJ$rhB zBa5cXVV=I1qn;+$rKhGv>yDYsXBjrq>Zb9GLvm?CR)zG1Q(YL%I+j(ZGj@)w+*GGS z%8^RkJEJq5bM1Mu8Bied2od84)w2M_eD7#$MO{i0`iapuI6J#&v3gZiBh-cT-{0fmQ zCb@>`NN-thFo`lii7EG<-epGp@-eAtNr^0Ir=FByu0?eTrD?hMPTk9sCm7?hmj$+p zY1t;GRcpOft4{6OG;i73^LzG&Y8}jBjn+%%l+5<-_7-@Llq~Ze(Y*&r9MrwV-aRFY zN*0j2$a_F9nNRKk?;%}_G>*;+HU9HR^$zMC?Je@|=jKD+!jc95Ljm{h5ArFsmdx|+^A_sfqg14rM;4XL_3rlkzNl+CqubIN{*lh(hji}|t}rGo4K*(2hj~Wk z_wqIB9*=F~-L3QZ-PWxOy@gzNgt{NrDXWlTi@b-q(QM%!3ZGlD$g^O@*Z`x~#_CnM z?oi1*^}v$FM%Xpo82Lg?&$SI(Dj9XQwKwLk4l}+y)5KW0ZIMy^)sV`?W+mk=Z=n%5 zzh)h2`@M}WrnHZ!d;RTEK6<|)qs{lHS-C>*UMjYm%JP>-Qc+{ZGxa9jyQ$b)AdRFw zhq=r{RJ!2^^;@FL1BuQpnWyu}L*61?F5X=-yW|PdrT6XSjyVh;J;?=oXG(vFt<_uG}OJznP&yuxR-e#P&uX`Pb#J}ikYQktM<`F1tbegp1A*k z_w~vB)%)u=!!W*%?yG>*V9lQsS-RV7;(vLPG`39Z`I_kcN?5ttYs_&gmVTvA=TXJE ztgd|Hv1K7f|Gi;GgKg2}Wz#e!?s}){?vi}n>oKo8>OE@27u5B{?oO~7{r7|iO7px2 zDd7kmv8btTJicd1pt;I+tD&UmCymE1 zRZ01a&1p(A=gB&hIUK8bUoZyVjWvokS20Gtc5%%5Kc7g~bds6Noh*bX`K;l2yLs{) zSruk|neUWt^=#>G#n+J6>I9iI#oi)g*x@?WkMH2qNH&im-HIBmu7?`Y=R)jiu4 z6f4^wwUgpY7Ri--9+hr6JejUCPfPn*FI-YGN3P;K>G&bdYt>(RBBsozk`Z()v~I}~ z3S|c9%}Sn8cblI|QIvVu)8<%wIm5Ovq(XmG6z_O|BmEt6ucF7yje2-c4 zo;ouRxkPQ(2V(uTa-&m|40~~HPxiaHHe>9GD($$J;V$#uHFq~vraYkFAKu`F#^v`G zm1BoqUE*h};oFJ5DAAbX4K;GS;pOFnX!Sy0Tf;`jcgXg_tX-LBRU;<5 zY}tGv$Zo*fi&_OgRABCP>O0kLAe8MV%2mEc9|7+p(3-r=& zczK{~C}oTFod4*CZ#T8n)r^&Q1)Ch3h54}~A3|%q>%6;Syf1mzdRJ13rT2gJcndx6 ze!e!qhYzXA$7&frT!}FvKCRnVqvf*M(b(NGsmu+)S`(77*jl%IGn+jjf6Q0YeIFB^ zl&c9rq4Yn)N`3eOD_LT`SmawIszualdw?y(nEh#`)vK%6YI_d;{!8W2EFiW--VvpH zgnBf+%`BBh$!oDtULaDS^;Bu6you@B!@BhuY?hNx1NfF(-NWA&wtu^y?Q+FR@(Psq kd(rA4fwu6#xl$30%3Ha{>BFJEX6AjhtFwA(pzY580a&`)Gynhq diff --git a/po/ru.po b/po/ru.po index 24ef953e..1210dfb8 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,12 +6,12 @@ # Yuri Kozlov , 2009. # Pavel Maryanov , 2010. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.24\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2010-10-25 12:19+0200\n" "Last-Translator: Pavel Maryanov \n" "Language-Team: Russian \n" @@ -33,36 +33,35 @@ msgid "ambiguous argument %s for %s" msgstr "неоднозначный аргумент %s для %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Допустимые аргументы:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: Значение %s меньше или равно %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Для параметра ARGP_HELP_FMT требуется значение" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Параметра ARGP_HELP_FMT должен быть положительным" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Неизвестный параметр ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Мусор в ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -71,31 +70,31 @@ msgstr "" "являются обязательными или необязательными для соответствующих коротких " "параметров." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Использование:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " или: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [ПАРАМЕТР...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Попробуйте `%s --help' или `%s --usage' для получения дополнительных " "сведений.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Отчёты об ошибках отправляйте по адресу: %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Неизвестная системная ошибка" @@ -107,7 +106,7 @@ msgstr "вывод этой справки" msgid "give a short usage message" msgstr "вывод короткого сообщения об использовании" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "ИМЯ" @@ -128,17 +127,16 @@ msgstr "ожидание в течение заданных СЕКУНД (по msgid "print program version" msgstr "вывод версии программы" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ОШИБКА ПРОГРАММЫ) Неизвестная версия?!" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Слишком много аргументов\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ОШИБКА ПРОГРАММЫ) Параметр должен был быть распознан?!" @@ -146,62 +144,62 @@ msgstr "(ОШИБКА ПРОГРАММЫ) Параметр должен был msgid "write error" msgstr "ошибка записи" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: параметр «%s» не однозначен\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: с параметром «--%s» нельзя использовать аргумент\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: с параметром «%c%s» нельзя использовать аргумент\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: для параметра «--%s» требуется аргумент\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: нераспознанный параметр «--%s»\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: нераспознанный параметр «%c%s»\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: недопустимый параметр -- «%c»\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: для параметра требуется аргумент -- «%c»\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: параметр «-W %s» неоднозначен\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: с параметром «-W %s» нельзя использовать аргумент\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: для параметра «-W %s» требуется аргумент\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "недостаточно памяти" @@ -217,28 +215,30 @@ msgstr "не удалось вернуться в первоначальный #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "«" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "»" @@ -248,7 +248,7 @@ msgstr "»" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yY]" @@ -258,7 +258,7 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -545,7 +545,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "Не удаётся подключиться к %s: ошибка разрешения" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Не удаётся запустить удалённый командный процессор" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Не удаётся запустить удалённый командный процессор" @@ -596,8 +601,8 @@ msgstr "" "Работа с накопителем на магнитной ленте с приёмом команд от удалённого " "процесса" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "N" @@ -605,8 +610,8 @@ msgstr "N" msgid "set debug level" msgstr "задайте уровень отладки" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -621,7 +626,7 @@ msgstr "задайте имя выходного файла отладки" msgid "cannot open %s" msgstr "не удаётся открыть %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "слишком много аргументов" @@ -630,9 +635,9 @@ msgstr "слишком много аргументов" msgid "Garbage command" msgstr "Неверная команда" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Это не похоже на tar-архив" @@ -670,19 +675,19 @@ msgstr "Не удаётся проверить архив на stdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "Архив сжат. Используйте параметр %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Не удаётся обновить сжатые архивы" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Начало ленты, завершение работы" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Слишком много ошибок, завершение работы" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -690,7 +695,7 @@ msgstr[0] "Размер записи = %lu блок" msgstr[1] "Размер записи = %lu блока" msgstr[2] "Размер записи = %lu блоков" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -698,39 +703,39 @@ msgstr[0] "Невыровненный блок (%lu байт) в архиве" msgstr[1] "Невыровненный блок (%lu байта) в архиве" msgstr[2] "Невыровненный блок (%lu байт) в архиве" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Невозможно вернуться назад на один архивный файл; он может быть нечитаемым " "без -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek не остановился на границе записи" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: содержит неверный номер тома" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Переполнение номера тома" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Приготовьте том Номер %d для %s и нажмите Enter: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Конец файла вместо ожидаемого ответа пользователя" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ПРЕДУПРЕЖДЕНИЕ: Архив не полный" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -742,66 +747,66 @@ msgstr "" " q Выход из tar\n" " y или [нов.строка] Продолжение операции\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Порождение подпроцесса командного процессора\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Вывод этого списка\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Нет нового тома, завершение работы.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Не указано имя имя файла. Попробуйте ещё раз.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Неверные входные данные. Наберите ? для получения справки.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Сбой команды %s" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s, возможно, продолжается на этом томе - в заголовке находится усечённое имя" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s не продолжается на этом томе" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s является неверным размером (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Этот том вне последовательности (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Метка архива не соответствует %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Том %s не соответствует %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -809,11 +814,11 @@ msgstr "" "%s: слишком длинное имя файла для сохранения в многотомном заголовке GNU; " "обрезано" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "запись не остановилась на границе блока" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" @@ -821,76 +826,76 @@ msgstr[0] "Можно было прочитать только %lu байт из msgstr[1] "Можно было прочитать только %lu байта из %lu" msgstr[2] "Можно было прочитать только %lu байт из %lu" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Содержимое различно" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Неожиданный конец файла в архиве" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Типы файлов отличаются" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Права доступа отличаются" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid отличаются" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid отличаются" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Время изменения отличается" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Размеры отличаются" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Не ссылается на %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Символические ссылки отличаются" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Номера устройств отличаются" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Проверка " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Неизвестный тип файла `%c', сравнён как обычный файл " -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Архив содержит файлы с именами, из которых удалены префиксы." -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Архив содержит устаревающие заголовки base-64" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "При проверке оригинальные файлы могут быть не найдены." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -898,46 +903,46 @@ msgstr[0] "СБОЙ ПРОВЕРКИ: обнаружен %d неверный з msgstr[1] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовка" msgstr[2] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовков" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Нулевой блок в %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: содержит каталог с кэшем тегов %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "значение %s за пределами %s диапазона %s..%s; заменяется на %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "значение %s за пределами %s диапазона %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Создаются отрицательные восьмеричные заголовки" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: имя файла слишком длинное (максимум %d); не сброшено" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: имя файла слишком длинное (не может быть разделено); не сброшено" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: имя ссылки слишком длинное; не сброшено" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -945,268 +950,293 @@ msgstr[0] "%s: Файл урезан на %s байт; дополнен нуля msgstr[1] "%s: Файл урезан на %s байта; дополнен нулями" msgstr[2] "%s: Файл урезан на %s байт; дополнен нулями" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файл находится на другой файловой системе; не сброшен" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "содержимое не сброшено" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Неизвестный тип файла; файл проигнорирован" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Отсутствуют ссылки на %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файл не изменён; не сброшен" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файл является архивом; не сброшен" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "каталог не сброшен" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файл изменился во время чтения" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: сокет проигнорирован" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: door проигнорирован" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Пропускается до следующего заголовка" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Удаляется не-заголовок из архива" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: невероятно старая временная метка %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: временная метка %s - %s с в будущем " -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неожиданная противоречивость при создании каталога" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Каталог переименован до того, как мог быть извлечен его статус" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Непрерывные файлы извлекаются как обычные" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Выполняется попытка извлечь символические ссылки как жесткие" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Невозможно извлечь -- файл продолжается с другого тома" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Непредвиденный длинный заголовок имени" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Неизвестный тип файла `%c', извлечён как обычный файл" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Текущий %s более новый или такого же возраста" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Невозможно было выполнить резервное копирование этот файла" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Невозможно переименовать %s в %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Каталог был переименован из %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Каталог был переименован" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Каталог новый" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: файл находится на другой файловой системе; не сброшен" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Каталог был переименован" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Неверная временная метка" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Неверное время изменения (секунды) " -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Неверное время изменения (наносекунды)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Неверный номер устройства" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Неверный номер inode" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Слишком длинное поле при чтении из snapshot-файла" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Ошибка чтения snapshot-файла" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Неожиданный конец файла snapshot-файле" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Неожиданное значения поля в snapshot-файле" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Отсутствует указатель конца записи" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Неверный формат инкрементного файла" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Неподдерживаемая версия инкрементного формата: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Неверно сформирован dump-каталог: 'X' повторяется" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Неверно сформирован dump-каталог: пустое имя в 'R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Неверно сформирован dump-каталог: перед 'T' не стоит 'R'" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Неверно сформирован dump-каталог: пустое имя в 'T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден конец данных" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Неверно сформирован dump-каталог: 'X' ни разу не использован" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Невозможно создать временный каталог с помощью шаблона %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Каталог не удалён: невозможно выполнить stat" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Каталог находится на другом устройстве: не удален" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Удаляется %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Невозможно удалить" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Пропускается" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Блок нулей **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Конец файла **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "В заголовке пустое поле вместо ожидаемого числового значения %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1214,108 +1244,124 @@ msgstr "" "дополнение до двух" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Восьмеричное значение архива %.*s за пределами диапазона %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Архив содержит устаревающие заголовки base-64" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Архив подписан строкой base-64 %s за пределами диапазона %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Значение base-256 архива за пределами диапазона %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Заголовок содержит %.*s вместо ожидаемого числового значения %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Значение архива %s за пределами %s диапазона %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " ссылка на %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " неизвестный тип файла %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Длинная ссылка--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Длинное имя--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Заголовок тома--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Продолжение с позиции %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Создание каталога:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Не удаётся получить рабочий каталог" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s переименован в %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Невозможно переименовать в %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "%s переименовывается назад в %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файла удален до его считывания" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "дочерний процесс" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "межпроцессорный канал" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Сбой команды %s" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: список файлов уже прочитан" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "невозможно установить время в `%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: в прочитанном имени файла присутствует пустой символ" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "В именах файлов используются символы подстановки" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1323,58 +1369,59 @@ msgstr "" "Используйте --wildcards, чтобы задействовать эти символы, или --no-" "wildcards, чтобы убрать это предепреждение." -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Не найден в архиве" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Требуемое вхождение не найдено в архиве" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Несоответствиве метки архива" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Параметра -C в списке файлов нельзя Использовать с параметром --listed-" "incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" "С параметром --listed-incremental можно использовать только параметр -C" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Для обоих параметров «-%s» и «-%s» используется стандартный ввод" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Неверный формат архива" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Запрошены расширения GNU для несовместимого формата архива" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Неизвестный стиль цитирования «%s». Воспользуйтесь параметром «%s --quoting-" "style=help» для получения полного списка. " -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1391,9 +1438,10 @@ msgstr "" "архиве archive.tar.\n" " tar -xf archive.tar # Извлечение всех файлов из archive.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1412,80 +1460,80 @@ msgstr "" "простые\n" " never, simple всегда создавать простые резервные копии\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Основной режим работы:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "вывод списка содержимого архива" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "извлечение файлов из архива" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "создание нового архива" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "поиск различий между архивом и файловой системой" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "добавление файлов в конец архива" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "добавление в архив только более новых файлов" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "присоединение tar-файлов к архиву" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "удаление из архива (не на магнитных лентах!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "проверка метки тома архива и выход" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Модификаторы:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "эффективная обработка разрежённых файлов" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "установить версию используемого формата разрежения (подразумевает --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "обработка добавочного резервирования старого формата GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "обработка добавочного резервирования нового формата GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "уровень копирования для созданного разностного архива со списком" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "не завершать работу при ненулевом статусе для нечитаемых файлов" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1497,125 +1545,136 @@ msgstr "" "list, и когда список файлов задан либо в командной строке, либо через опцию -" "T. По умолчанию N равен 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "доступен поиск по архиву" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "поиск по архиву недоступен" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "не проверять номера устройств при создании инкрементных архивов" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "проверять номера устройств при создании инкрементных архивов (по умолчанию)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Управление перезаписью:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "попытка проверить архив после его записи" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "удаление файлов после их добавления в архив" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "не перезаписывать существующие файлы при извлечении" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "не перезаписывать существующие файлы при извлечении" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" "не перезаписывать существующие файлы, которые более новые, чем их копии в " "архиве" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "перезапись существующих файлов при извлечении" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "удаление каждого файла до извлечения поверх него" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "очистка всей иерархии до извлечения каталога" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "сохранение метаданных существующих каталогов" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "перезапись существующих файлов при извлечении (по умолчанию)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "перезапись существующих файлов при извлечении" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Выбор выходного потока:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "извлекать файлы на стандартный вывод" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "перенаправлять извлечённые файлы в другую программу" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "игнорировать коды завершения дочерних процессов" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "считать ненулевые коды завершения дочерних процессов как ошибку" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Обработка атрибутов файлов:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" "принудительно устанавливать ИМЯ в качестве владельца для добавленных файлов" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" "принудительно устанавливать ИМЯ в качестве группы для добавленных файлов" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "ДАТА-ИЛИ-ФАЙЛ" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "устанавливать для добавленных файлов mtime из ДАТЫ-ИЛИ-ФАЙЛА" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "РЕЖИМ" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" "принудительно устанавливать (символьный) РЕЖИМ доступа для добавляемых файлов" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "СПОСОБ" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1625,11 +1684,11 @@ msgstr "" "после чтения (СПОСОБ='replace'; используется по умолчанию) или не установки " "времени в первую очередь (СПОСОБ='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "не извлекать время изменения файла" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1637,22 +1696,22 @@ msgstr "" "попытаться извлечь файлы с тем же владельцем, что и в архиве (по умолчанию " "для супепользователя)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "извлекать файлы как свои собственные (по умолчанию для обычных пользователей)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "использовать числа вместо имён владельца/группы" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "извлекать информацию о правах доступа к файлу (по умолчанию для " "суперпользователя)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1660,15 +1719,16 @@ msgstr "" "применять umask пользователя при извлечении прав доступа из архива (по " "умолчанию для обычных пользователей)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "сортировать извлекаемые имена в том же порядке, что и в архиве" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "эквивалент -p и -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1676,140 +1736,181 @@ msgstr "" "не устанавливать время изменения и права доступа извлечённых каталогов до " "завершения процесса извлечения" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "отменить действие параметра --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Обработка атрибутов файлов:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Выбор и переключение устройств:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "АРХИВ" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "использовать файл или устройство АРХИВ" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "файл архива является локальным, даже если содержит двоеточие" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "использовать указанную КОМАНДУ rmt вместо rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "использовать удалённую КОМАНДУ вместо rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "указать устройство и плотность" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "создание/листинг/извлечение многотомных архивов" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "сменить ленту после записи ЧИСЛО x 1024 байт" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" "запустить скрипт по окончании каждой ленты (подразумевается использование -М)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "использовать/обновлять номера тома в ФАЙЛЕ" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Разбиение на блоки:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "БЛОКИ" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "число БЛОКОВ x 512 байт на запись" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "ЧИСЛО байт на запись, кратное 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "игнорировать нулевые блоки в архиве (т.е. EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "заново разбивать на блоки при чтении (для каналов 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Формата архива:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "создать архив в указанном формате" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "ФОРМАТОМ может быть:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "старый формат tar V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "формат GNU как в tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "формат GNU tar 1.13.х" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "формат POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "формат POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "эквивалент pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "эквивалент --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "эквивалент --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "keyword[[:]=значение][,keyword[[:]=значение]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "управляющие ключевые слова pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1817,76 +1918,76 @@ msgstr "" "создать архив с именем тома ТЕКСТ; при листинге/извлечении использовать " "ТЕКСТ в качестве шаблона подстановки" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Опции сжатия:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "использовать суффикс архива для определения программы сжатия" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "не использовать суффикс архива для определения программы сжатия" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "ПРОГ" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "пропустить архив через ПРОГ (должна поддерживать -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Выбор локальных файлов:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "КАТАЛОГ" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "перейти в КАТАЛОГ" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "загрузить из ФАЙЛА имена для извлечения или создания" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T читает строки, оканчивающиеся нулём, отключает опцию -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "выключить воздействие предыдущей опции --null" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "убрать кавычки с имён файлов, прочитанных с опцией -T (по умолчанию)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "не убирать кавычки с имён файлов, прочитанных с опцией -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "ШАБЛОН" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "исключать файлы, определённые ШАБЛОНОМ" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1894,93 +1995,95 @@ msgstr "" "исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого " "файла с тегами" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "исключать каталоги с ФАЙЛОМ" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "исключать каталоги CVS" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "исключать резервные файлы и файлы блокировки" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "отключить автоматический спуск в каталоги" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "оставаться в локальной файловой системе при создании архива" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "рекурсивный спуск по каталогам (по умолчанию)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "не удалять начальные `/' из имен файлов" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "следовать по символьным ссылкам и сохранять файлы, на которые они указывают" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" "следовать по жёстким ссылкам и сохранять файлы, на которые они указывают" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "ИМЯ-ЧЛЕНА" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "начинать с члена ИМЯ-ЧЛЕНА в архиве" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "сохранять только те файлы, которые новее ДАТЫ-ИЛИ-ФАЙЛА" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "сравнивать дату и время, только если изменены данные" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "УПРАВЛЕНИЕ" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "делать копию перед удалением, УПРАВЛЕНИЕ выбора версий" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "СТРОКА" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1988,101 +2091,104 @@ msgstr "" "делать копию перед удалением, переопределяет обычный суффикс ('~', если " "только он не переопределён переменной окружения SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Преобразование имён файлов:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "удалять указанное ЧИСЛО начальных компонентов из имён файлов перед " "извлечением" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "РАСШИРЕНИЕ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "использовать замену РАСШИРЕНИЯ sed'ом для преобразования имён файлов" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и " "исключения):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "игнорировать регистр" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "шаблоны начала имени файла" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "шаблоны после любого '/' (по умолчанию для исключаемых)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "с учётом регистра (по умолчанию)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "использовать маски (по умолчанию для исключаемых)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "точное соответствие строке" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "маски не соответствуют '/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "маски соответствуют '/' (по умолчанию для исключаемых)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Вывод информации:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "подробный листинг обрабатываемых файлов" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "КЛЮЧЕВОЕ СЛОВО" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "управление предупреждением" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "вывод сообщений о ходе выполнения через каждые ЧИСЛО записей (по умолчанию " "10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ДЕЙСТВИЕ" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "выполнять ДЕЙСТВИЕ на каждой контрольной точке" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "вывод сообщений, если сохранены не все ссылки" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2094,31 +2200,35 @@ msgstr "" "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2. Также разрешается использовать имена без " "префикса SIG" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "вывод времени изменения файла в формате UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "вывод имени файла и его полного разрешения" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "отправить подробный вывод данных в FILE" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "выводить номера блоков архива в каждом сообщении" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "запрашивать подтверждение для каждого действия" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "показать значения tar по умолчанию" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2126,31 +2236,31 @@ msgstr "" "при выводе листинга или извлечении показывать все каталоги, не " "соответствующем условию поиска" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "показывать имена файлов или архивов после преобразования" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "СТИЛЬ" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "установить стиль цитирования имён. Значения для СТИЛЯ см. ниже" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "дополнительно цитировать символы из СТРОКИ" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "отключить цитирование символов из СТРОКИ" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Опции совместимости:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2158,62 +2268,55 @@ msgstr "" "при создании, эквивалент --old-archive; при извлечении, эквивалент --no-same-" "owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Другие опции:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "отключить использование некоторых потенциально опасных опций" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Указать можно только один из параметров «-Acdtrux» или «--test-label»" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Конфликт опций сжатия" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Неизвестное название сигнала: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Файл с образцом даты не найден" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "%s заменяется на неизвестный формат даты %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Опция `%s': дата '%s' рассматривается как %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: список файлов уже прочитан" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: в прочитанном имени файла присутствует пустой символ" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "пропустить архив через %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Допустимые аргументы для параметра --quoting-style:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2221,51 +2324,48 @@ msgstr "" "\n" "Значения по умолчанию *этого* tar:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Неверный владелец" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Неверный размер ёмкости блока" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Неверная длина ленты" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Недопустимое значение добавочного уровня" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Больше одной пороговой даты" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Неверное значение версии разрежения" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' не поддерживается на этой платформе" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "значение --checkpoint не является целым числом" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Недопустимая группа" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "В опции указан неверный режим доступа" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Неверное число" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Неверный владелец" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2273,68 +2373,70 @@ msgstr "" "Опция --preserve устарела, используйте --preserve-permissions --preserve-" "order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Неверный размер записи" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Размер записи должен быть кратен %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Неверное число элементов" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Разрешается использовать только одну опцию --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Неверно сформирован аргумент плотности: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Неизвестная плотность: '%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Опции `-[0-7][lmh]' не поддерживаются *этим* tar'ом" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Для старой опции `%c' нужно указать аргумент." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence бесполезна без списка файлов" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence не может быть использована запрошенном режиме работы" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Для нескольких файлов архивов требуется опция `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Нельзя комбинировать --listed-incremental с --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "параметр --level не имеет смыла без --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2342,52 +2444,80 @@ msgstr[0] "%s: Метка тома слишком длинная (максиму msgstr[1] "%s: Метка тома слишком длинная (максимум %lu байта)" msgstr[2] "%s: Метка тома слишком длинная (максимум %lu байт)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Невозможно проверить многотомные архивы" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Невозможно проверить сжатые архивы" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Шаблон %s не может быть использован" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Невозможно использовать многотомные сжатые архивы" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Невозможно объединить сжатые архивы" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option может быть использована только с архивами POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option может быть использована только с архивами POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option может быть использована только с архивами POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option может быть использована только с архивами POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Шаблон %s не может быть использован" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Размер тома не может быть меньше размера записи" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order несовместим с --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Робкий отказ от создания пустого архива" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Параметры «-Aru» не совместимы с «-f -»" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Необходимо указать один из параметров -Acdtrux или --test-label" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Завершение работы с состоянием неисправности с из-за возникших ошибок" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2400,53 +2530,49 @@ msgstr[2] "%s: Файл урезан на %s байт" msgid "Keyword %s is unknown or not yet implemented" msgstr "Неизвестное или ещё не реализованное ключевое слово %s" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Метка времени за пределами допустимого диапазона" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Шаблон %s не может быть использован" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Ключевое слово %s не может быть перекрыто" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Неверно сформирован расширенный заголовок: отсутствует длина" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Длина расширенного заголовка за пределами допустимого диапазона" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Длина расширенного заголовка %*s за пределами допустимого диапазона" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" "Неверно сформирован расширенный заголовок: после длины отсутствует пробел" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Неверно сформирован расширенный заголовок: отсутствует знак равенства " -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" "Неверно сформирован расширенный заголовок: отсутствует знак новой строки" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Игнорируется неизвестное ключевое слово расширенного заголовка `%s'" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" @@ -2455,67 +2581,67 @@ msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Расширенный заголовок %s=%s за пределами диапазона %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Неверно сформирован расширенный заголовок: неверный %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Неверно сформирован расширенный заголовок: превышен %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Неверно сформирован расширенный заголовок: неверный %s: непредвиденный " "разделитель %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" "Неверно сформирован расширенный заголовок: неверный %s: нечётное число " "значений" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: недопустимое время ожидания" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: неизвестное действие контрольной точки" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "запись" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "чтение" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Контрольная точка записи %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Контрольная точка чтения %u" @@ -2662,7 +2788,7 @@ msgstr "Число за пределами допустимого диапазо msgid "Negative size: %s" msgstr "Отрицательный размер: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "Сбой stat(%s)" @@ -2691,8 +2817,8 @@ msgstr "Неизвестный формат даты" msgid "[ARGS...]" msgstr "[АРГУМЕНТЫ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "невозможно открыть `%s'" @@ -2706,68 +2832,99 @@ msgstr "невозможно найти" msgid "file name contains null character" msgstr "в имени файла присутствует пустой символ" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "невозможно вывести разрежённые файлы на стандартный вывод; используйте опцию " "--file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "неверная маска (возле `%s')" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Неизвестное поле `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "невозможно установить время в `%s'" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "не удаётся разорвать связь с «%s»" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Сбой команды %s" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "не удаётся разорвать связь с «%s»" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Команда успешно выполнена\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Сбой команды; состояние: %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Команда завершена по сигналу %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Команда остановлена по сигналу %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Команда сбросила дамп памяти\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Команда завершена\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "для опции --stat нужны имена файлов" +#~ msgid "Cannot get working directory" +#~ msgstr "Не удаётся получить рабочий каталог" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "сортировать извлекаемые имена в том же порядке, что и в архиве" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Слишком длинное поле при чтении из snapshot-файла" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Ошибка чтения snapshot-файла" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Неожиданное значения поля в snapshot-файле" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Длина расширенного заголовка за пределами допустимого диапазона" + +#~ msgid "Invalid group" +#~ msgstr "Недопустимая группа" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: каталог удалён до его чтения" diff --git a/po/sk.gmo b/po/sk.gmo index f60c0ee15470c912af3dfd89fde3d7d8ac64225a..87772c613c8f188d9e13b3532602f36c0ffe9ab1 100644 GIT binary patch delta 2590 zcmXxkduUc=9Ki9%-PFzdoLOsaxxH$e%Xc?tn=PlMY2M1Lm9FV(=B+Z_pxNaml`^3w zidICBY>E*@G?I#8Pzp85{wgLxP6X?Z2!$jux_rN9XNUdH=Q+4&r9wbb1Ky;+u`B z2{Up+n23dVLkOu*K_QQdB{%_F@D|*Tld%iyum|n!KfW{>ju%BxQcc-iJMO6MpdZGW&aB(ET@7&hpouAgcr~szJ@k<9NqIi^t&Ii z6fa={C(@e(s6`uIiLO*D`n#9VcHcz5>p_3tH<|T!M!!;FLw})rTR^YQtQLJqCM-txY7N>^2YOugqcc8+ znRpUS!anr-uQ7=iaVI@aW_q@_k7+y8BWQ;op}Fxrl7Hb!{G4)nwN#W~C9Xq{TNk<_ z{pgZjM)y3OQJL)tw4;^i3N$0T5jt@xzK$;O06LI#KC=Ni$wE%G0wobxPbn{dJ2xT z8(oRBSdLlrz5=V!4)!1;4j-Ze{s~>N%jmf-W+ZQ^~0UtzHq#xZXmt`L0qD#IC9Y_nB)O(RJ zg#(y!CLdEEK|?>fhl5Byg+I|H%VFKEFG8w9HM*n^qaC!P4emj-bO4V?j_tqFFSCSu7HE6Aj}7ob35VQd)+rg z)L~qV*v#F*u8J!in2G9@^8dWo;vu30dxo+J_z*ECu6J3T*+_!Hhn<91_7Ks%nR`?G zJR9#OT*as3x(>XHaBI?t$2|Y(6z(Cm60L;GIDDBC{@?a;*%n155)Vzp2Z@ZhZkPrN z(J8Dw1W%s@`K$ QcjX+aDEYVddSYMt|1!kg3IG5A delta 3103 zcmY+`TWnNC9LMpg0zv@T*YaXZ_X5Ae&8ywK`K88aGJ;5giXGcb&^@Blu7eW>ft;XJ&C z(=b2Rn1xu16ETDZxEIG8lQQqo8OsMJFdx6gsdxn+!@sZ!N0WsXUXBy64VBn#Udr$Q z&ct)5L~o$x`4@HF6ta{{Q0uhdRMs~R9UmVYL{0EDPRCm~26OX_$-=2P0xf(TJ*e+% z@JU>U75E0u#ZOTc=*MErdeoR&^kO+WSj76~I2~nn2{pl=Sc-E=vl<&w?~mXlJdf!F zQ4{A_JWR z6KdRTHT&!`6P>D99*6kWg{Z-Pp`9Kr*pcX#s z4!nSx;09{vV>nrwXa?#G)S)WS?7oj6Ynpwo@1q{1Pf+WeME=ZWUUWF`r08VP8BJQ+ zX&&i#QznQHS*gYW%OL3gxlO1Pd-k&6nzB z8+>QZpccG}Iz;!7gKH);yWSV$d~Con+>2Fs5>=7AsFF@%n>rgMsHb8zrtdxSXZG>J z-89E=rJn!K=%~cmY+s3#pcbyhN?ea~@GT@K(}y*90iVDE4vrFEfU3wwRKg*wzyqkK z;Tu#!w@~8>xhPA|{~S6hRS`0$@u3FPqX%1XDegxl`W>ngf1?+D)VChDq89iNmGBi* z!dcc}#U`Pi|9X4|4`XGD&LukfDIG=KG~qnd&Kpq^9YQ5?%6)$w`7?QJOQkJEjjKjI zuG>+GcA^gTF;v2*P!+k0x>d!LDYb}BH64}wHB=&RqE7Wk$R^AesGaK^7Y zSPM==&av^KDp!a4z7bi=>_k=e5Ne$hsCiG%qW+v4bIl#_4{Cx5oG1&usOPvIYj788 z2WRmqyoX$3yc`4_t~IDcB1n#A52|uKsK@tvaP+NF-j9HL+!K`Re^3) zg72UXXAdgDGnj*yQ9HSYT3GkNg7KJz3y>U56>5AFYP~j8MRup?jHGiEmB4XS>CR(1 zQ&i?kcR1wZ2poreWv1XltVJ!TR!3+PY72-CqM6VcP&Ky^na2K&d73CEv{NfcP%3?(+ITaaP*Zu5 zL=%x|n=>7Z5fNe@p~JL#9Teu-o5+VPYwvv*0I+iRDC)$h1Z}4-pN-PSt-Mq32aik7FgF zd-^h==X)+uLJT8T63d8uVk=QgsOfO-AX@c?mLN6|FA(~%(V40y)Vzb3S5X@@tK1K& z&?a;sJw%*%g-9PjTtTS4NaPSYpqa+`GXX+R$Clo!IW;-Mqa6`Dez2hMhg3r-U`1n2 zFdDI%X192(xVdPKr%^3G0p_$uJ`nxjsu)!~mgR>I*^ ze>`9XBeA42mkPDl<+bS%tXUO2qrQZ3Cn?vE&MvoPV zGHWsxi^d&0U^RDIMNVrlQDiy(c<=SXJ=ys_Z)v&LS7!NqRTbsMrDeTcg`y_ z??mof?IC}{iQL(7@Q)b}Qg-Z4#D8;ei|w6X`2)!|d&vG)#|H=4nH{>iLkFzS-R)`K zgp-V!p;ruUkxRS*J7hby$4U%X5xXlia5L!GeUV$%ii8z&mxzY7Z*4m>1@Hg2@1Sjw bTr3)3>(O>UOFH+%PE;F@hI@aTxj*|qAaH@< diff --git a/po/sk.po b/po/sk.po index d748940e..95c5d4d5 100644 --- a/po/sk.po +++ b/po/sk.po @@ -2,12 +2,12 @@ # Copyright (C) 1997 Free Software Foundation, Inc. # Martin Lacko , 2001. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar- \n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2002-02-10 12:00CEST\n" "Last-Translator: Martin Lacko \n" "Language-Team: Slovak \n" @@ -28,62 +28,61 @@ msgid "ambiguous argument %s for %s" msgstr "argument %s nie je pre %s jednoznaèný" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Platné argumenty sú:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 #, fuzzy msgid " [OPTION...]" msgstr "" "\n" "Pou¾itie: %s [PREPÍNAÈ]...\n" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, fuzzy, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Viac informácií získate príkazom `%s --help'.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, fuzzy, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -92,7 +91,7 @@ msgstr "" "pripomienky k pkekladu zasielajte na adresu " "(slovensky).\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Neznáma systémová chyba" @@ -104,7 +103,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -125,17 +124,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, fuzzy, c-format msgid "%s: Too many arguments\n" msgstr "%s: prepínaè `%s' vy¾aduje argument\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -143,62 +141,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: prepínaè %s nie je jednoznaèný\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: prepínaè `--%s' musí by» zadaný bez argumentov\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: prepínaè `%c%s' musí by» zadaný bez argumentu\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: prepínaè `%s' vy¾aduje argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neznámy prepínaè `--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neznámy prepínaè `%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neznámy prepínaè -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: prepínaè vy¾aduje argument -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: prepínaè `-W %s' nie je jednoznaèný\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: prepínaè `-W %s' musí by» zadaný bez argumentu\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: prepínaè `%s' vy¾aduje argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "Pamä» vyèerpaná" @@ -214,28 +212,30 @@ msgstr "Pracovn #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -245,7 +245,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -255,7 +255,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -523,7 +523,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Vzdialený shell nie je mo¾né spusti»" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Vzdialený shell nie je mo¾né spusti»" @@ -579,8 +584,8 @@ msgstr "Neo msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -588,8 +593,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -604,7 +609,7 @@ msgstr "" msgid "cannot open %s" msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -613,9 +618,9 @@ msgstr "" msgid "Garbage command" msgstr "Neznámy príkaz" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Toto pravdepodobne nie je tar archiv" @@ -654,63 +659,63 @@ msgstr "Stdin/Stdout arch msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Komprimovaný archív nie je mo¾né aktualizova»" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Páska na zaèiatku, konèím" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Príli¹ mnoho chýb, konèím" -#: src/buffer.c:892 +#: src/buffer.c:893 #, fuzzy, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Veµkos» záznamu = %lu blokov" msgstr[1] "Veµkos» záznamu = %lu blokov" -#: src/buffer.c:913 +#: src/buffer.c:914 #, fuzzy, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Nezarovnaný blok (%lu bajtov) v archíve" msgstr[1] "Nezarovnaný blok (%lu bajtov) v archíve" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "V archíve sa nie je mo¾né vráti», bez -i mô¾e by» neèitateµný" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: vracia chybné èíslo zväzku" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Èíslo zväzku preteèené" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Pripravte zväzok #%d pre archív %s a stlaète return:" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Namiesto u¾ívateµskej odpovede bol zadaný koniec súboru" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "VAROVANIE: Archiv je nekompletný" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, fuzzy, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -722,469 +727,493 @@ msgstr "" " ! Vytvorenie podshellu\n" " ? Vypísanie tejto nápovedy\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Nie je nový zväzok; konèím.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, fuzzy, c-format msgid "%s command failed" msgstr "'%s' príkaz zlyhal" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, fuzzy, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s nepokraèuje na tomto zväzku" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s nepokraèuje na tomto zväzku" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je chybnej då¾ky (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, fuzzy, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Tento zväzok nie je následníkem predchádzajúceho" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Zväzok %s nezodpovedá vzorke %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "" -#: src/compare.c:95 +#: src/compare.c:96 #, fuzzy, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Dá sa èíta» iba %lu z %lu bajtov" msgstr[1] "Dá sa èíta» iba %lu z %lu bajtov" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Obsah sa lí¹i" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Neoèekávaný koniec archívu" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Typ súboru sa lí¹i" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Práva sa lí¹ia" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid sa lí¹i" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid sa lí¹i" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Èas poslednej úpravy sa lí¹i" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Veµkos» sa lí¹i" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Nie je odkazom na %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symbolický odkaz sa lí¹i" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Èíslo zariadenia sa lí¹i" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Overujem " -#: src/compare.c:464 +#: src/compare.c:471 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Neznámy typ súboru '%c', porovnávaný ako normálny súbor" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Archív obsahuje zastaralé base-64 hlavièky" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, fuzzy, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "CHYBNÉ OVERENIE: nájdených chybných hlavièiek: %d" msgstr[1] "CHYBNÉ OVERENIE: nájdených chybných hlavièiek: %d" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahradzujem za %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "hodnota %s typu %s je mimo rozsah %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Generujem záporné osmièkové hlavièky" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, fuzzy, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:622 +#: src/create.c:611 #, fuzzy, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:649 +#: src/create.c:638 #, fuzzy, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:1064 +#: src/create.c:1084 #, fuzzy, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Súbor je krat¹í o : %s bajtov; Doplòujem nulami." msgstr[1] "%s: Súbor je krat¹í o : %s bajtov; Doplòujem nulami." -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: súbor je na inom súborovom systéme; nearchivovaný" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Neznámy typ súboru; súbor ignorovaný" -#: src/create.c:1529 +#: src/create.c:1549 #, fuzzy, c-format msgid "Missing links to %s." msgstr " odkaz na %s\n" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: súbor nie je zmenený; neaktualizovaný" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: súbor je archiv; nearchivovaný" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: súbor bol poèas èítania zmenený" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: soket ignorovaný" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: dvere ignorované" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Preskakujem na ïal¹iu hlavièku" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Z archívu je mazané to, èo nie je hlavièka" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, fuzzy, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: èasová nálepka %s je %lu z dátumu budúcnosti" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Neoèakávaná nekonzistencia, pri vytvárení adresára" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" "%s: Prieèinok bol premenovaný predtým, ako mohol by» extrahovaný jeho stav" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Súvisle ulo¾ené súbory rozbaµujem ako obyèajné súbory" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Skú¹am rozbali» symbolické odkazy ako pevné odkazy" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Nedá sa rozbali» -- súbor je pokraèovaním iného zväzku" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 #, fuzzy msgid "Unexpected long name header" msgstr "Neoèakávaný koniec v rozsekanom mene" -#: src/extract.c:1379 +#: src/extract.c:1542 #, fuzzy, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Neznámy typ súboru `%c', rozbalený ako normálny súbor" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Tento súbor nebolo mo¾né zálohova»" -#: src/extract.c:1594 +#: src/extract.c:1767 #, fuzzy, c-format msgid "Cannot rename %s to %s" msgstr "%s: nie je mo¾né premenova» na %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, fuzzy, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Adresár bol premenovaný" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Adresár bol premenovaný" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Adresár je nový" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: súbor je na inom súborovom systéme; nearchivovaný" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Adresár bol premenovaný" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Neplatný èas súboru" -#: src/incremen.c:1007 +#: src/incremen.c:1045 #, fuzzy -msgid "Invalid modification time (seconds)" +msgid "Invalid modification time" msgstr "Zadáné chybné práva" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Neplatné èíslo zariadenia" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Neplatné èíslo i-uzlu" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 #, fuzzy msgid "Unexpected EOF in snapshot file" msgstr "Neoèekávaný koniec archívu" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, fuzzy, c-format msgid "Cannot create temporary directory using template %s" msgstr "Pre blokový faktor (blokov na záznam) %d nie je mo¾né alokovat pamä»" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, fuzzy, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: súbor je na inom súborovom systéme; nearchivovaný" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Ma¾em %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Nedá sa zmaza»" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Vynechávam" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok NUL **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Konec súboru **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Medzery v hlavièke na mieste, kde je oèakávaná èíselná hodnota typu %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1192,162 +1221,177 @@ msgstr "" "complement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Osmièková hodnota %.*s typu %s je mimo rozsah" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Archív obsahuje zastaralé base-64 hlavièky" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Hodnota base-64 typu %s je mimo %s rozsah" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Hodnota base-256 typu %s je mimo rozsah" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Archív obsahuje %.*s tam, kde je oèakaváná èísalná hodnota typu %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Hodnota %s typu %s je mimo rozsah %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " odkaz na %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " neznámy typ súboru %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Hlavièka zväzku--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Pokraèované od %s bajtu--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Vytváram adresár:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Pracovný adresár nie je mo¾né zmeni»" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Premenovávam %s na %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: nie je mo¾né premenova» na %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Premenovávám %s spä» na %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "potomok" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "meziprocesový kanál" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "'%s' príkaz zlyhal" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: súbor je archiv; nearchivovaný" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: V archíve nenájdený" -#: src/names.c:611 +#: src/names.c:842 #, fuzzy, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: V archíve nenájdený" -#: src/names.c:645 +#: src/names.c:876 #, fuzzy, c-format msgid "Archive label mismatch" msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Prepínaèe `-%s' a `-%s' vy¾adujú ¹tandardný vstup" -#: src/tar.c:158 +#: src/tar.c:163 #, fuzzy, c-format msgid "%s: Invalid archive format" msgstr "%s: Chybná skupina" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU roz¹írenia po¾adované na nekompatibilnom formáte archívu" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 #, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1363,10 +1407,10 @@ msgstr "" " %s -tvf archív.tar # Podrobne vypí¹e v¹etky súbory v archív.tar.\n" " %s -xf archív.tar # Rozbalí v¹etky súbory z archív.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 #, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1389,80 +1433,80 @@ msgstr "" " existujú, inak tvorí jednoduché\n" " never, simple tvorí v¾dy jednoduché zálo¾né kópie súborov\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 #, fuzzy msgid "create a new archive" msgstr "Neoèekávaný koniec archívu" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1470,565 +1514,614 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "" + +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 #, fuzzy msgid "extract files to standard output" msgstr "Chyba pri zápise na ¹tandardný výstup" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 #, fuzzy msgid "create/list/extract multi-volume archive" msgstr "Víczväzkový archív nie je mo¾né otvori»" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 #, fuzzy msgid "Archive format selection:" msgstr "Odporujúce si archívne formáty" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 #, fuzzy msgid "Compression options:" msgstr "Odporujúce si kompresné prepínaèe" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 #, fuzzy msgid "change to directory DIR" msgstr "Pracovný adresár nie je mo¾né zmeni»" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 +#: src/tar.c:729 #, fuzzy -msgid "don't strip leading `/'s from file names" +msgid "don't strip leading '/'s from file names" msgstr "Odstraòujem úvodné `%.*s' z názvov súborov" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 +#: src/tar.c:775 #, fuzzy -msgid "wildcards do not match `/'" +msgid "wildcards do not match '/'" msgstr "Zväzok %s nezodpovedá vzorke %s" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2036,300 +2129,317 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 #, fuzzy msgid "print file modification times in UTC" msgstr "Zadáné chybné práva" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Viac ako jeden prepínaè `-Acdtrux' nemô¾e by» zadaných" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Odporujúce si kompresné prepínaèe" -#: src/tar.c:996 +#: src/tar.c:1047 #, fuzzy, c-format msgid "Unknown signal name: %s" msgstr " neznámy typ súboru %s\n" -#: src/tar.c:1020 +#: src/tar.c:1071 #, fuzzy msgid "Date sample file not found" msgstr "Dátumový súbor nebol nájdený" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Zamieòam %s za neznámy dátumový formát %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 -#, fuzzy, c-format -msgid "%s: file list already read" -msgstr "%s: súbor je archiv; nearchivovaný" - -#: src/tar.c:1201 +#: src/tar.c:1108 #, c-format -msgid "%s: file name read contains nul character" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, fuzzy, c-format msgid "filter the archive through %s" msgstr "%s: súbor je archiv; nearchivovaný" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Neplatný vlastník" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Neplatný poèet bajtov na záznam" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Neplatná då¾ka pásky" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Viac ako jeden poèiatoèný dátum" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: Chybná skupina" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Zadáné chybné práva" -#: src/tar.c:1912 +#: src/tar.c:1858 #, fuzzy msgid "Invalid number" msgstr "Neplatné èíslo i-uzlu" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Neplatný vlastník" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Chybná veµkos» záznamu" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Veµkos» záznamu musí by» násobok %d." -#: src/tar.c:2019 +#: src/tar.c:1975 #, fuzzy msgid "Invalid number of elements" msgstr "Neplatná då¾ka pásky" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr " neznámy typ súboru %s\n" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Prepínaè `-[0-7][lmh]' nie je podporovaný týmto tarom" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Prepínaè `%c' vy¾aduje argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 +#: src/tar.c:2408 #, fuzzy -msgid "Multiple archive files require `-M' option" +msgid "Multiple archive files require '-M' option" msgstr "Viac archivaèných súborov vy¾aduje prepínaè `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental a --newer nie je mo¾né kombinova»" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, fuzzy, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Meno zväzku je príli¹ dlhé (limit je %lu bajtov)" msgstr[1] "%s: Meno zväzku je príli¹ dlhé (limit je %lu bajtov)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Víczväzkový archív nie je mo¾né otvori»" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Komprimovaný archív nie je mo¾né otvori»" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Viaczväzkový komprimovaný archív nie je mo¾né vytvori»" -#: src/tar.c:2450 +#: src/tar.c:2461 #, fuzzy msgid "Cannot concatenate compressed archives" msgstr "Komprimovaný archív nie je mo¾né aktualizova»" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Vytvorenie prázdneho archívu odmietnuté." -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Prepínaèe `-Aru' a `--delete' sú nezlúèiteµné s prepínaèom `-f -'" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Musíte zada» jeden z prepínaèov `-Acdtrux'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, fuzzy, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2341,115 +2451,111 @@ msgstr[1] "%s: S msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 #, fuzzy msgid "Time stamp is out of allowed range" msgstr "Èas súboru mimo rozsah" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, fuzzy, c-format msgid "Extended header length %*s is out of range" msgstr "Hodnota base-64 typu %s je mimo %s rozsah" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, fuzzy, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Hodnota %s typu %s je mimo rozsah %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, fuzzy, c-format msgid "%s: not a valid timeout" msgstr "%s: Chybná skupina" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, fuzzy, c-format msgid "Write checkpoint %u" msgstr "Zapisujem testovací bod %d" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, fuzzy, c-format msgid "Read checkpoint %u" msgstr "Èítanie testovacieho bodu %d" @@ -2587,7 +2693,7 @@ msgstr " msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2616,8 +2722,8 @@ msgstr "Nezn msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "" @@ -2632,66 +2738,84 @@ msgstr "Ned msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, fuzzy, c-format msgid "Unknown field `%s'" msgstr " neznámy typ súboru %s\n" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, fuzzy, c-format msgid "cannot set time on `%s'" msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "'%s' príkaz zlyhal" + +#: tests/genfile.c:706 #, fuzzy, c-format msgid "cannot unlink `%s'" msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, fuzzy, c-format msgid "Command failed with status %d\n" msgstr "Potomok bol ukonèený signálom %d" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, fuzzy, c-format msgid "--stat requires file names" msgstr "--Rozdelené meno súboru--\n" +#, fuzzy +#~ msgid "Cannot get working directory" +#~ msgstr "Pracovný adresár nie je mo¾né zmeni»" + +#, fuzzy +#~ msgid "Invalid group" +#~ msgstr "%s: Chybná skupina" + #, fuzzy #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný" diff --git a/po/sl.gmo b/po/sl.gmo index 6c142eabdd66009be1b539e7ff2014c30040a04e..e9ac3a4585a799d88874c6fe895f36b48e6870c2 100644 GIT binary patch delta 11544 zcmYk=349G#|HtvU5(y$C#1dO>A|Z=JEFprBRBVl^t(Mw%idbWS|ZKJvzH`e+wTFot1SLR%9I$1FU7JunR8t2s^pHbOTx#RwdLMKRC1 z0P|?STg~w}rAguv9VZDJTXQgm_6iKeqgWEpqXu~sqp&<5YKG|;jngm~H)93dgVpgo zY9IkL>SGlwhrO$N%mrShqYNE$uoSLG3gH~UN_YyZ;LoT#4Pz8(7>622U#x?9*c}g| zE>N)sRl`(_!#1c&OvJwUriX-TI6tEXP_Cxq@Xx8qkIL8&d*gIerEZ}H7Kj z$LV&@@L+dA~>zu>-T;KVTM2jc7o+(ueWSX5< zty{1G?MtXREyu*Ggee%0?Xe7cP#0c|fw%%y`gNFv7g3dTvjQoi(-PCTzB7eHCEJIT z#Q71!F_f!nUk$I?poH zdG?}?Kb7He9DkDAbQHyVs72*unz{BzH_ZstIQCM zdklKc46G;e1Uth~16%DO(VU&O9e<$)6x+niSt9B}wNZE69yRB$U^H&Wa(DsD;;$Hr zL993}x{CbJ1^b{Xun2VnJ5ZJKoFGxjFJdFSj||$W%T*fV1k|1F!yvqbI{pT#lmX4` ziwpHw)kIw&3pMbUQByP#-8dKZ`E6L0>pQ1N^nCt-x|4#<&7HbY7pQC7&)ary)Kui6 zPLyZ+*PsTl8+E5AF%WN{2J#E4wVM|gts)Nquv{Runu~WJ9JJUPqgzZ@}M|L&zr}5D5h|IXAy~Bjh|y2KE!y8&UTzp z*cvnNW7NP3wleRBa;Qqw#-f;osz_V(#~joRjm89=h*}%#QB$-BJz6whkmy7|qDu8A z>Vx4g7~QBlt%_Rh*{Fd`MZGtcVlmu?nu5cq(tn9={03FYzfl7#-`XrbcWdge6D8B3 zH(nMdVGnGKvoRRIKvm=tvhJKhFPaOrMt!a~CgUWG!7W$~zeG)e)5Z)m7B#@esHdr2 z8|tq`Hkb~LY%=Q3->~f&wmk<6(!U7x>Rg7Z+-}r`&Y(*A54tg|t(lS(R7EpUmFkVU zkqM|NS?eLGLUIO+;{zOlh1!{tO+XE7DR#mYs5`ums#L}H=3SqSszeTIVAC-KS7Ax? zVHZ4(K^WD6X+%#Fi9R?HHPVF`hC5MrdIEKVAFu>IMBPd7OXj#3)Ctot8JnUiI2QTm zOy&m;!i<=gmNsdIV}MEXT@t3?uaX-yqQi3sWCWK@1kg6l){Y+_$i{Mi=c4n1vlt zkL_~Q1&*U0!#k*{D*Cb+cunj{yA5j1Y{xQO-?>7fJGzhhKu}k6XEjh2=xLpeS{wVZ z2qtwiC$5JTXm`RC9D{m=Z^mMH8?_c5p{A->cQb|M(4#r6NfL=!s0$9T2Q0)4+FMYM z;T_b-AE5>u-^0vhy0slf(LWFe<4lajKd>A|^yCXIrlF=}Wl#J3e@=%Ui)*MwRJ50w zyN1|+_E1d6O{f9fKvk-AZ`0oZ-LxlS7B0gYcpbI2!upus2~Ch?<@Cm8xVMkTjHEzc zvnY~K7i^2QaSle}QH;PJPy-F%Hq@?x+TRB2;3%w!o6wD)VkX`|Rkm7xb9@)nag#hG z(Iok(J3oZ=@h;ZGY6Hv%`(tI=3#_|QkJW!rC9X2il(;o&Y6heFCtKH}27DTIy}PKj z;3+l8j3g2@Cyh{Z^$O}eFwM5#M&0=?)QPU47L|*M4#g6vsfor|Y-62(O=z#iO86sI z#lTk_=L0?e)k)&$xPlr$;UQ*(DOiPe7c7OZ;rF;0!(4nlA8Ou=^M{$Wuo$D*e*mlD zRaD7?bIktwsO$7XU1uhi*7N@%iAr|rNe7DtgJ}PW<+0#!^InKVRi*~&1lgF1<4~2_ zhH3Z-) zit%_IRr26brUG@aF73{!xt@nwq`R;tevL60G@APBfEpy4)0Z$AbFnP0N6pz`)QGR( z3wQ_HVfq*|@cF0{EbvBMOuln%u)L(ZHIo>=j*;thJ zPz=EdI2UK422^2!DRBy>&>oJufpu5{PhuIojJ5F()MJ(~(R{gWfvVJWRR8vg)L$b! zO-EyVh^j#SN#+GH1huGkU^%>iD&?=J$1&_xGtgAj30t6!AAq4a1DoP9)LQu#^RU8X za$MsfsX+231JTIWqFy8iP$mBjZ=(McGxv8;$5ndG99IXm+K1v7n2)-{!LOU+y%^wf zoR3g*|JfV-UckRm74mGDYUb_|>dyWCWma=-)QMYQ8s?(zY#VCIzQTt17&YLA(@Z5t zV;kBlP|x{YbYod=Ta~Vd<*^U)6nPwvNu13X!;TB63qL~5ZTy?&DQIoYMXiP9s1xqO zs(2M6vCwp5JQkpxZEcNQ&}oYr@MJ8g=YJ=OR{1_Gi5IaL-bPKqBUA-~XPALB$40bs zP%oGdP^GsQ&lRqs4cTqz2x{f*3c)jJ!H( zO4?xy9FIEwV=RnU(I0Q3AKt;bcn=$30?%$74#Xs!k1G8UjK>FaslS_~@;tL@o1k_K zMa}6F)Cmrw?))aIq-Ext7gl|&PWxrlTA7KZajR_~M?EdKto~jzkO~+^|MOnzzn!Ef z9U6Jb1?B?JV+qph;L8cc2#G4OA(k7qil_9cmz5Q5Wii8p!L|8CRex_W;Xa z%o6h=Ylu3|(}^UDWHhGYUep}l!%`Ts)I0@MP;bCGsN>sUTU?A<^*1pF6Z6efv_qX| z9ERaS+unrXw2xysJ^$B8w0i$G9Zu!9&00uDonQcJElfo{p6_8rJd8TgW#mN81JoUs zTxR+cQ0**Kg}d4QJlp>+*4FdCheRd3jc)uMYhdZ+=0(#SLuvOyt@2T*;9ff3U5d|7P!)InBqWv_C_gC}gF1C3nLHv}dE{{v>ME zKg9YN|E~EvL4T}6`y!Ub&{d{_@fbzB8LEPVu{=&jkM1a+#DyzRkKalxjVDoacO6yA z`xt`7SDPtwqgHV4$4a!5QLo6> zs1tNVePD>)KMi%~Yq2q2!$^!;Ybw(ORpQa80Uy9vJcWA7?xWVkfOQ`8Zl1T!l=dj9 zH1|-ezxaCdU#=L8qP-aXa4%}$2T_mVG24F%{b`>?4fq1;e7~TkEO>*dY(vxl+IvWJ zp~)D73s9?hFDBqQ)SS9Dnnjt4s?cB@fzwfo?=RGV!Z(?}6S%Pg?eVB7U4$CY5!BlF z2K715ZzP)A5}S?j*n@T^R>f7w%h5T3dJ}ek&&=&C)QLVp9d`wFBY|7YlvPBXwpQDRw0ifWPJ9^$;~lJlU3_K$v#c9XB|nO> zc*|O9hq+KX&Zd7l7RItW&5cB%)=nnY#9rv>NV0&W6y8EDk^;L-y8=eju8A6XM|=)P zV>R53n&a=W1wKOEK(h}`$vdH@XbzUdHK_CNMpgFghtywp`YRn;6y0{4O3cDhwBN^M zjM`)7t{rM>`ePiqAGF(U%($w7fv}~1~v}s(O!lc;CXbTbI?pxBzC0P5;Ya8Ja)$s zY){8cRB0O>GNl@VdVHo~Eqn(xcVD9JEa0%YlXOgT_#YFhk~>j1_8m6Cup{QiI%5Rw zsaP64Ye=e)>_aW8>!=eH`N&K~J=D|jGHS8qp&PeiMLdI{cn2$>>tplzN~jC8Ld|_& z)EXOy^>H>*X^(S)M5X;5wTP-5H5C|+D&cbEb?qF-L>zj|RN!rlrhN)EW%p1QsPqXr z*2c#ed)z#Zv7egrCSw%+-LQ?G|0yK8&{@<4{>B)L|IFO^i&%#CB-CnNfSQtxs29;k zsN=uD^7uQdlA$NeBCLm+n&GI=Z^ov080&F;C-9`1s|-{LN1*0tHmZd0<8ycni(}!> z&0`jhS+wIZ4u@k2%*RaJf&=ib-QVfo=C5V1qnrLC=+RtXC(#{*o-(DWi@IPJ)S_E~ ziFg*ZYV|+OY7l{{L^kU4{V)V)qE`7b?1aBzAhtSfj_ZIL=)}|1-$kN@r0q)@Ki~p& z+AZJa{0mbAKh74S08xZ^a($IFTMf1#4nBl) z@h{?a@<#aV){n+a`bHDXoHL%NY!CPfd(+XUbQ(qdid{{M%@ zt8`u>{K&81M*J4_qUeIta6f9Bg^O&SZ@QlR+|SRC=-*}c=}~*z?vJH!HF*V$wEIWX zZmIga>EH?ZzikuQ$MpS&$RaO@MTq|)v?UNP5ii)b{=A|s$KVXN?RdOo`(7s>O8y4% z6L|*4U`MULe@LEg-N=6@4${%gb~eGK^u2~Z6F(9k5_;5{)884tA+!~yJpzwCY4K&0 zwl=-MwDE3ob`sl&-w4k^4wy$W6>p;6OaX+pNA$fzxXFj8gU!X#9Z6pU({x@We@I>w zuMt&HmnV*scgOyOwmid=7s>_l zE5u6T6XNMMmgFSI>o?_YJYYZjbpJS#|I$}h^M8v*8jXwCocNf~HktUEm_tmmCupmF z^0q`d+vme$HfOhUn7kMfOx(2nYw!(XB>T_deC&#sHUHW^A|i=(L^a|ScGksmM0G;j z_w5a3iK;Nz@iatRQc1+v+<{z8E*-d&C|hir7wQOU7Zu7-AZ6nP^OevTx0k zBlw<4`wQ|XfB#jV&+ZUgpUL}^zewEW1LKJg$ZrrS#C6&|urZ;n4(&gQLgWpJJ;XKQ z>6XL3#e}vaL`Cwen*Ud6EF~rqO=6aI+H)$f=MROE>1*{e~K;e zKGDz~*AKn4pKiId=h9e3{O4&WE~I~uYA}n&5gPLeZRd&q60?cFi9YoIX!otPZoxm< z_w2TVzM6J_Y23`tvxL^e?9;r65?GwXBJw!ov6Bs3hOS zMjicpcQP0Idv`YLhf)FxzgnwpWW5_ZT8#VRjo37zqCp&=*@1o$D7c8hHqep zoi1O!j`RI|RlCNyym{Sx-rn64y=%Ld^tpPt{e2tzJS^Zl)qh7p-`7LJ3i%?(ObPIP zIeqYB;C}yqQ-ip>UhY9d`|-1H zuhBW9`@NFn`*X=kKi}bHt^n_YRo#74SEsssiR->`c{4W*@b2HR+q-0Aw(tJN`~dI4 zt$V#Iw$1YWwEecr_jt!@e{0v zC(*{=u@iRcZCQW#WR@C&5f!iv zRpCphihjdXOg+=|WDJsJ%|T7oT2#RYZ~}gddVa`Y%W97op{8&Vw#GY99eor#;HM@X zu@V@^bTYC~>uV<3xD31FX4h9SiS$X-^NCEP3d%;!?PS*qOdx$d*2Wu9BeE7XlDkoh z^dH!k^=F+R(u9nr!;BqK6=fo~tdXe2wG=gU8{GVNP>ZYiS;kRFmbC!e;RC3VJ%~N= z3)D!oU|!UKURa;{t!yGHcnId84>hzqk!iM$Af2|7N0=d;gl$PLMKx?Kw!%Hw3E#wC z_yeAe9Y>n-J*bAw~VlkTzOR zp`QO8yJ7Fqrhzk29bAGc_d!g-mqxq${|how$vA~-dFmLG&P6RoKX%3_CgYdIvCs74;Wgc4KXw(Zcu?~h& zC)pCLjVn-dy%KG_7qzWkz?S$v>ius~yQeAhp^lEjMD#|8s0SgOj!{(0zCfJ=KcO1d zYn++8^HJOH3RM2XsD>TIdiWWt!mm(s-RK-M0t1nvtX%AhH=-II*-fMkk+-oqeuFgD zI)zRG@$sf1_f9Y)^8u=7KcO1hFaMfLa;Hp0}2=J`xyyGN`E zL^RZkP>XCOYWr%QXe|#dOkn*agF=ZG9`Mr&~~KVLzUM zhp~nB|KHskzr`~sJkQKwchn*qjB4OaRKrS8Yvf|AkLytl+lU$XEUMw(p(?63$@DxK zHAOb61L@e2`mJF^df|nrp<3>`1vOVMxqgSeNw=JAer$43Jzk1Bs5YUt;m6n=J54d? z$2piu`V!Q+vJJI14q+rnBw;E)99W5J*)G%p^D;KWSAIXrvVH(z9E2!r^QQKw`s$t7fYveZ69Ph+F z_#Ud_hBM5M*Z^!odOjv$7&TQ_qm64&yYAr`jK6yD1{qE95GLbs)Cl~FS=e%>SoMjqTij-+p;DrhN+M#-yc99vmb5Tck6}H9Ou?_A*)QRd8m$nUdM4MRPT3^*@B2@EufzCs0$>yucjc zsW^)Cd~AqYTw|y;^CU(Td6q~59>g4c33X63FEkYn#T3#7sJXoqJK{Y!4-cRgTQ`px z+G(gBmZF}Ipmxz_)QG(8TC0fh*P`lEWES7um`M5+R0Z#$Dn5w=FnPZDahZVH->Z;C zWZj01a64*lccbR~4NS$)P!-oJb{9KpWF{6f{@Ty0$xsh&L$&-MYH@w!`U7?*UEj-k zz@FG0Z^CxC7wMGsK5F-j;32(ViaqgC)Y{sLn$iz(7&eZSnlpPmssSr74Igpy52H=G zU74Ahp{VCBLp9(5?2GTB3T{|#ew+p)M~ZbGj>8AB7oNl}*u`fW5E)0LKN-tVL$w>V zs1BoA{;Qkr<~R4xMs3ex?0|QojZfleJc5~+T4A1_gnDiPcE#(k5AH-3d&K&j$Y8y| zLePsBqFQ*h>vkMZ`VCZ%+Xu{$k3~(@TvUG0^)^%o4xlRh92;R`&@`kKY9#t&JMI5@ zL^M}R;u-wI0oC)ZsDch*GyD;oWBrhsg0`rN&vy0WSkmjTKYoN-#7UKA7xl#lNne0H zuwj^nP`}lWh*~-qyWuiyiCgh=dXGE-i^t47>D3@n2o)bm_;}T zHBzfl9l8tK;`69-k6~~8ehK4Wmq_YTbL6JuS){X2FP32vMllQTL5_Xv9n=){yVy*@ z9MniG$3b{MYD7OlE$aH0m}qq?+t-+upM?X-pMjc!mG~vzhFS~DuQks-ihAx6jZ@Qs40k|dipB%#P3lf zld{Gv=HaLYE=7%S45#2nm`?px?;FgVpND#25w^#>u@~+|75Jr_ZX7iYI}_EAIoK7i z#csI6^l@8MGzwLo7bA*XOQaTVcin-iIEHHZQLKxtZZf+f1zV6FicN45 zHpMxp5%HlKvIR9Iuj5E;w$>a_Q!tx!WG(YQn#jXsq~HnEVoJK%JTMTo4ZT<&SD+el zy?cKxP9l8}HS}%QnMF1hN0Gi3HA1goOZ)}Zux7WI18LALjK36L+(U1cr$9P9K`YXEviF<*PBnTnOKMPJgki#9E9EokzqtOpyucZ zYIQfb%?$k@RL^{){;KZt-Ay z?f(@-+LEyeQ*bYK#KSlkf59`c{{~ZFIjV<2^yBT=2+z3NG^j0V>Zafjyb1^6GpLUI zgbgr#qZ$-pZxd04gHUT=Ceku%8D4;Qp@#Ao)X1c7GAG~&)N`{i2g6vAU|CO~8k~8L z=}-}B@m+!1CAVNZ+=4mOZ|x^C6%+3@pHQ<=i|H=xiqD}&<}1{QG`P=9#b{Lid8iQ# zp$cAνyh4WDrHKgI5(e@DHSzJ>8mCo+~u7c4{V>+7)tZbB8j4^`lYs0zMCjYQ)8 z=6+{XdKmV=>2CfdZvHydlg+nvtA@nvw|8 zv555o5%u7G)apEie(e5;SxoCNoAf@^l$<~fY1c>1wi<~GNY6wK{R^le{tDHBZ?OUX z=;oioI;3mwQp1`521Ha~XY7r`u@(AItNBW7i4US0dH}TxzCsOQy~oU2$VQE%7d2Ar zQ4M<>wP-VTn+8q5^GQ#^?<1^&`-x~j-nPfg(Qa%@`ZH{UzoQCh{e)Q)16*@)F8LnJ z!2_r@(CA4%O0Xa5Kzkks;|WxGz4w|CJqP3ae+d!wa3i+H-I$DT;AA}R<_~(x6fg;! zlV6OQk}A{?Z^8NaFlvt5J#9X{3Q!~3?-?^f6L1LWrOz<_jfw0cLly4Ff%rbAV6%Ou zVVS53$Dr=dz$9Ghrtd^e-64!m$+Ko8vat*Kv#=9hg6;7RRD&LWHe$Bd8)S?j;}g_S zb=z-t!#r0X)+K)_YV}`^weT98fU8gqeh<}<6R0UnJ78A-2-G%quml6BwenGfh+5S2 zIb$!>9F9Zn2EXe%R7KC=YHa+xS&Zwkq4H5Zd!2Bl4yY5$L9L0^I3Djo_2fI$R3yA;rtVB^K{^*zfrDz$5-h>>sI^k> zB{L!eFsS{19+5uWcnLM9|H3ZV^kuXC`r#nbvvD-ugro31R0G<*V(w4D0i>_S&iE7# z#ZRywc6`rf+f5cBXKsD_;Nx@qX8s5P?* zd*BhYvB4W=3VYyrq^F{$=6*N-AWo-#>jxqkIPOg|bRpC}U5#q_y_k)MQ6tghEz`5J zQQPQp%)%$JH-3#{G39O3V+S=AD^aU{8+OBIF~0x5B%%V6-Z67C3VV?*!0vb*+V~iD z!1u8^omwSK=wW^aHb9FFkC^U4dE~kKh!1?=a)9ih6!% zDwvLGq%TK}zHH`-u7QXoG`E z&y5h#oZW&ccn~!e$5C_E@~9co0jL9NA~wbAu^HZlIrtE&BPTHlQ$IF~v_H-#y%2T( zC=SPl$IO&Q&LN@-y{Mk7Lk-bhRE5W|AEtd`M(6_UNP0PHs_sFJ$XlrQzeY7I=~J`n zyWshxm!KBi+c*M$#roR+Lq9VwjzP8DiwW40KXn!1I$^M0bJGK{sT;qAdn?@g;zu{G z;n!u?VjZ~8o{fow-_0%SY3={5?#(M)U&hx7oS@b?+(!5t@gNSs8H6MXZ9sY#!6sdg zpo?tl1M*(QP9)e^@ej{4P}imLzm|0~*5~#QUPQ+{J|IYZ7_ClDHWM z6Ye3dT~K{>CvOPhEW)#d``jB{iO(g@NXM_ANZ(87OR9p&4_<+~1`v<`-+#{Fg_@U#8#S*HBpxU46!s^qA-*2ZB4_~LAUzDLug*lu$vcjR z@oPeu(2VdaVYmC>(F9&kAVWVUx;~Eo<(nNH@~f|*L|VFy%qRa%(n|=p6NZw`AxtFR zm}flrI-&Y1;ND0QPY?zX*R{xC-KggO;AYNroq^Z8aXsfF=nVf!39bo*6E*ISB)**R zaQrTFkMFtn=MdNLhb|v^ZxOyHzKL+XGBtb++@2}jjR%^M4&YeQI|(}Pb$v(BQF@Yl zXX0M$gvEsZ#4jVNh4{Wr|OO9)ZIW29Ttkg0e(LDxyc>A&}p{}8FocoZKcEF>%#&uhbc)J?$Z+Wi`4cq6wKhM4QrkhU2 zX@oW8UrwO^{P4Ip+Y|qnGPr&u?{_y}=@ddg(r;lQ&LKF&uOd88T-Sp*%S5dV;vW*f zi*TNsCw?ZBa_5L5jv-P}4n+?g=OO^KSCZSMX3 z*pJYO`~XfNJVAUl1_>L9YnrzckKqf1)0f777a^U@4^HPY4Wuh-Ja{MZwS=$TXIA0U z?)?=wnUF^)Cafkr#r=JRo`eSpR}*SpcaUhsbMg5vBC(!?t}U*W#J$8z@Fq9!OxIF9 zSmSCyJlnl@FY!Xc4}@uix#YLkJ;Hc+g|L;NYm4f?-^8sOc;J{DzW~1@{Ut$H2p_{H zZu+ZuE*~2hCafa=TtXM(yYWKY;XZrFm8|#|@IOh{R)VWTt$6>*sIfS@a^s-;Qb$}% z`u-Y)=*1R1e+_vJ2^W!mSD9Rm$Ztq^m;7~v{~>fBRA1i{Z$;ufOu{O+e*LT4T1rSH zTt{d}A)|OG0ej%z$!mdM5H2L>nuy6J8vjQ}Q=Xkf`U^q_H@~B+Xu|!$HPR38{@Jg& z8Flb8GCn6>_WO$4Uzhv1j;7eg1{Mc!nKXT;Xxw@GJ@ioPyAwUWyfFAFS1^ z%o_~ZPFcX?6fU;;8=WpIz=R^u(494%Lda9hO(S<$O=bUg!^$dVTY0cfeB+@&^{j=8m|t zPV}uY$+f(}=&9V6(Olb^-;(-moXbc6^04 z9iy5ct@7|rp*QR;taL{-Xcq_Y);6S&-&8%SGvoJW#sV{GTp^Y41-+i zSs*uZlJ*X@~GSr+m#cGV4c z$3csTg<;Rj%uQz)G{F}+AVKoB>sr4GwF0#F}{Svl%rH`c&w1e73YC>kF`+z?X{cdN= zNLJ!>_93$$)ZQ!b`$7SK85?4;wrY*H+|sFkX3o@U<0s|K9WyC!`qW7iGwiTa#wJ#m zha|ENeSRNX!(UY7E32CUdqR>8swxXH?(GvAZW?xRy?(-SR^pIupr(bO3`Q;NJgisHlar`d`g zoH6)}LXR)#4J{r*i3RD=pJ$|uTu|wccQ6=QOv|+pvsj$fEpYE<#_yhG+QaFjqtUT- z_-4f#&+Jhra)G}xK6UYxRN*P`7A-by3>9-qF)ysZQ3ZveK;M^|QjoSrZsdc5+i=(*vB8GVNg z=+~=HcAq|plP6_P^@P1@S>{+ypdog4pT2!F`}EE1+u!cne@OP=*!kg3jUtX64shPs zg-*yH@~~p}?MW-xx7GZR+ohZvK8OFpPNC0R{gBtv0hi~g@;Ti6Z|{4Y06%5kfK%>w z%TXcz>O%bSLShRpyP-~ppo%K5zGIho>;ro}c16IGA8>rJ->-Z;Av$D5m)P#*b!$g& z*p$@C4%<~uamW*Pe4cVzw||w_S7{e|%KYS%II#z=xxZFy*{VBhcN?obpJ%>fd&@mO zZz+B8vTo=5_pjn}VZJ})4|_x2Sm!mh>P7#)wtck0%~hF`IRpG<^Zj;(zl^3-1iZG| zQBrA#0v=ywC|+EJKj`y>N}bqcHxEvTjLVzBz;T-H+iC}k;}7#@*t37t=}rYXL7ftf zCQFbX`Z6!Qh!2tS^y5$Ytgk9|cTOu2zd`pysQj9@721iZ{eyw3O&Rn?_B=10G}$oO$; z{&ca&SM6UFs9;kCJ&`|5pWCgbL(D9=#X;P>MgDw$?A1!d#m!j0Y8f(Gne{qxqDCZX)F&$SouzTmqncwE%ptzY{VY5h81IkvVp`COKk8M%@h6zE>ZqTeRd-vkp{qY4SnuItf1!C#+dGr5 z2rbk22r=6S_Lhw*;hWR0(oMc1_HE_=_rmE(Q^TIZeAX-9aPhTRSfQrJd!R@E{eiJ> zYwYO8Zxhn;oC=36_P^|yS2k~}Q#_e-*RRvV3HbaBtA{h9!po-NzkPcy(FqiAs^XKu zLCn#kg{)1>*3{U}fvy8=UewU;X*4krJoGpFvUoc?G=%97YVYcBSvHzH?X{ zOv33W{@gxmx|SHna_qAEQxkF~``KoEo5X)&sy}{Mh#FxncRq*W-#=tkX_e`8@p(!P zY>5B<_zS&d9C@(~ThC2srXL+M;_)-uiSF3eCHnQYLCqa|J`MJVoFOWb-?3=Q_LK>B zu*^T7Q#Rl!1$SNQY8I?=2PV@DnuQai0myTQj1$UfkN@bKa1 zEw{(#=HyMvt^Q@HjJ1AbPQ4`UNBuj}9IyHziw@qC+RI{c{Dpi0IXWXWz&;k^zCFEZ zGruzW!K^;kVxc`v8V;kqrF1;NnHpcsw1(YoUMO_*TiKne!c`u&n(FjcnUj|@+8guj zx9exAOh+4A9}W63Vln#p*5J6}@GkL`vl{77{8;su$5y@cbe$rfQ|RY|ij&t?h3qj7 bgqlys8({s_WB)GEH1fYUuSay^>l^, 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011. # -# $Id: tar-1.25.sl.po,v 1.4 2011/01/14 13:29:40 peterlin Exp $ -#: src/create.c:1552 +# $Id: tar-1.26.sl.po,v 1.2 2011/03/12 16:30:39 peterlin Exp $ +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.25\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2011-01-14 14:29+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-12 17:30+0100\n" "Last-Translator: Primož Peterlin \n" "Language-Team: Slovenian \n" "Language: sl\n" @@ -31,36 +31,35 @@ msgid "ambiguous argument %s for %s" msgstr "dvoumen argument %s za %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Veljavni argumenti so:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: vrednost %s je manj ali enako od %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: parameter ARGP_HELP_FMT zahteva podano vrednost" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: vrednost parametra ARGP_HELP_FMT mora biti pozitivna" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: neznan parameter ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Smetje v ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,29 +67,29 @@ msgstr "" "Argumenti, ki so bodisi obvezni bodisi neobvezni za dolge oblike izbir, so " "obvezni/neobvezni tudi za kratke oblike." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Uporaba:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " ali: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [IZBIRA...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Poskusite »%s --help« ali »%s --usage« za izčrpnejÅ¡a navodila.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Poročila o napakah javite na %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Neznana sistemska napaka" @@ -102,7 +101,7 @@ msgstr "poda ta seznam pomoči" msgid "give a short usage message" msgstr "poda kratka navodila za uporabo" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "IME" @@ -123,17 +122,16 @@ msgstr "premor SEK sekund (privzeto 3600)" msgid "print program version" msgstr "izpis izdaje programa" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMSKA NAPAKA) Različica ni poznana?!" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Preveč argumentov\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMSKA NAPAKA) Izbira bi morala biti prepoznana?!" @@ -141,62 +139,62 @@ msgstr "(PROGRAMSKA NAPAKA) Izbira bi morala biti prepoznana?!" msgid "write error" msgstr "napaka pri pisanju" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: izbira »%s« ni enopomenska\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: izbira »%c%s« ne dovoljuje argumenta\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: izbira »--%s« zahteva argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neprepoznana izbira »--%s«\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neprepoznana izbira »%c%s«\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neveljavna izbira -- »%c«\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: izbira zahteva argument -- »%c«\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: izbira »-W %s« ni enopomenska\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: izbira »-W %s« zahteva argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "pomnilnik porabljen" @@ -212,28 +210,30 @@ msgstr "vrnitev v začetni delovni imenik ni mogoča" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "»" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "«" @@ -243,7 +243,7 @@ msgstr "«" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[dDjJ]" @@ -253,7 +253,7 @@ msgstr "^[dDjJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -547,7 +547,12 @@ msgstr "standardni izhod" msgid "Cannot connect to %s: resolve failed" msgstr "Priklop na %s ni mogoč: razreÅ¡itev ni uspela" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Ni mogoče pognati nelokalne ukazne lupine" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Ni mogoče pognati nelokalne ukazne lupine" @@ -596,8 +601,8 @@ msgstr "Nepričakovani argumenti" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Nadzor tračne enote, ki bere ukaze iz drugega procesa" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "N" @@ -605,8 +610,8 @@ msgstr "N" msgid "set debug level" msgstr "nastavi raven iskanja napak" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -621,7 +626,7 @@ msgstr "določi datoteko za izpis iskanja napak" msgid "cannot open %s" msgstr "ni mogoče odpreti %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "preveč argumentov" @@ -630,9 +635,9 @@ msgstr "preveč argumentov" msgid "Garbage command" msgstr "Neveljaven ukaz" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "To ne deluje kot arhiv ,tar'" @@ -670,19 +675,19 @@ msgstr "Arhivov na stdin/stdout ni mogoče preveriti" msgid "Archive is compressed. Use %s option" msgstr "Arhiv je stisnjen. Uporabite izbiro %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Stisnjenega arhiva ni mogoče ažurirati" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Na začetku traku, končujem" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Preveč napak, končujem" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -691,7 +696,7 @@ msgstr[1] "Dolžina zapisa = %lu blok" msgstr[2] "Dolžina zapisa = %lu bloka" msgstr[3] "Dolžina zapisa = %lu bloki" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -700,37 +705,37 @@ msgstr[1] "Neporavnan blok (%lu bajt) v arhivu" msgstr[2] "Neporavnan blok (%lu bajta) v arhivu" msgstr[3] "Neporavnan blok (%lu bajti) v arhivu" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Nazaj po arhivu ne gre, morda ni berljiv brez izbire -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek se ni ustavil na meji zapisa" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: vsebuje neveljavno Å¡tevilko dela" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Prekoračitev Å¡tevilke dela" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Pripravite del #%d za %s in pritisnite Return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Znak EOF na mestu, kjer se pričakuje odgovor uporabnika" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "POZOR: Arhiv nepopoln" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -741,65 +746,65 @@ msgstr "" " q Končamo tar\n" " y, newline Nadaljujemo z delovanjem\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Poženemo ukazno podlupino\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Ta seznam uzazov\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Novega dela ni, konec.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Ime datoteke ni določeno. Poskusite znova.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Neveljaven vnos. Vtipkajte ? za pomoč.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "ukaz %s neuspeÅ¡en" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s se morda nadaljuje v tem delu: zaglavje vsebuje porezano ime" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s se ne nadaljuje v tem delu" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s je napačne velikosti (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Ta del ne sodi v zaporedje (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arhiv ni označen skladno z %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Del %s ne ustreza %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -807,11 +812,11 @@ msgstr "" "%s: ime datoteke je predolgo za zapis v zaglavje GNU večdelnega arhiva; " "porezano" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "pisanje se ni končalo s koncem bloka" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" @@ -820,76 +825,75 @@ msgstr[1] "Prebrati je bilo moč samo %lu od %lu bajta" msgstr[2] "Prebrati je bilo moč samo %lu od %lu bajtov" msgstr[3] "Prebrati je bilo moč samo %lu od %lu bajtov" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Vsebina se razlikuje" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Nepričakovan znak za konec datoteke v arhivu" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Zvrst datoteke se razlikuje" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Način se razlikuje" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Å tevilka uporabnika (UID) se razlikuje" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Å tevilka skupine (GID) se razlikuje" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Čas zadnje spremembe se razlikuje" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Velikost se razlikuje" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Ni povezana z %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Simbolna povezava se razlikuje" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Å tevilka enote se razlikuje" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Preverjanje " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Neznana vrsta datoteke »%c«, diff kot na navadni datoteki" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arhiv vsebuje imena datotek z odstranjenimi vodilnimi predponami." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Arhiv vsebuje časovno oznako iz prihodnosti: %s" +msgstr "Arhiv vsebuje transformirana imena datotek." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Verifikacija morda ne bo uspela locirati izvornih datotek." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -898,46 +902,46 @@ msgstr[1] "NAPAKA PRI PREVERJANJU: najdena %d neveljavna glava" msgstr[2] "NAPAKA PRI PREVERJANJU: najdeni %d neveljavni glavi" msgstr[3] "NAPAKA PRI PREVERJANJU: najdene %d neveljavne glave" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Osamljeni ničelni blok pri %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: vsebuje značko medpomnilniÅ¡kega imenika %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "vrednost %s od %s obseg %s..%s; zamenjano %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "vrednost %s od %s obseg %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Ustvarjanje negativnih osmiÅ¡kih glav" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: ime datoteke je predolgo (največ %d); brez iznosa" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: ime datoteke je predolgo (ni mogoče deliti); brez iznosa" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: ime povezave je predolgo; brez iznosa" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -946,383 +950,424 @@ msgstr[1] "%s: Datoteka skrčena za %s bajt; dopolnjeno z ničlami" msgstr[2] "%s: Datoteka skrčena za %s bajta; dopolnjeno z ničlami" msgstr[3] "%s: Datoteka skrčena za %s bajte; dopolnjeno z ničlami" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: datoteka je na drugem datotečnem sistemu; brez iznosa" # POZOR Imamo za to kak izraz? -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "vsebina ni izneÅ¡ena" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Neznan tip datoteke; datoteka ignorirana" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Manjkajo povezave na %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: datoteka je nespremenjena; brez iznosa" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: datoteka je arhiv; brez iznosa" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "imenik ni izneÅ¡en" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: Datoteka je bila spremenjena med branjem" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: vtičnica ignorirana" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: vrata ignorirana" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Preskok na naslednjo glavo" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Brisanje ne-glave iz arhiva" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: neverjetno stara časovna oznaka %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: oznaka časa %s je %s s v prihodnosti" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Nepričakovana neskladnost pri ustvarjanju imenika" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Imenik preimenovan, preden je bilo moč restavrirati njegov status" # POZOR! "contiguous files" so datoteke, ki so zapisane na disku # na zaporednih sektorjih (na tistih OS, ki jih podpirajo). -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Neprekinjene datoteke restavriramo kot navadne" # POZOR! Grdo! -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Simbolne povezave poskusimo dearhivirati kot trde" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Dearhivacija ni mogoča - datoteka se nadaljuje iz prejÅ¡njega dela" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Nepričakovano zaglavje z dolgim imenom" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Neznana vrsta datoteke »%c«, dearhiviramo kot navadno datoteko" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Obstoječa »%s« je novejÅ¡a ali enako stara" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Varnostne kopije te datoteke ni moč napraviti" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Preimenovanje %s v %s ni mogoče" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Imenik je bil preimenovan z %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Imenik je bil preimenovan" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Imenik je nov" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: datoteka je na drugem datotečnem sistemu; brez iznosa" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Imenik je bil preimenovan" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Neveljavna oznaka časa" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Neveljaven čas spremembe (sekunde)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Neveljaven čas spremembe (nanosekunde)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Neveljavna Å¡tevilka enote" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Neveljavna Å¡tevilka inoda" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Predolgo polje pri branju trenutnega posnetka" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Napaka pri branju trenutnega posnetka" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Nepričakovan znak za konec datoteke v trenutnem posnetku" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Nepričakovana vrednost polja v trenutnem posnetku" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, fuzzy, c-format +msgid "%s: byte %s: %s %s" +msgstr "%s: Simbolna povezava %s %s ni mogoča" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Manjkajoč zaključek zapisa" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Okvarjen inkrementalni zapis datoteke" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Nepodprta različica inkrementalnega zapisa: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Skladenjska napaka pri imeniku za iznos: pričakovan »%c«, najden %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Skladenjska napaka pri imeniku za iznos: »X« podvojen" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Skladenjska napaka pri imeniku za iznos: manjkajoče ime pri »R«" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" "Skladenjska napaka pri imeniku za iznos: polja »T« ne predhodi polje »R«" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Skladenjska napaka pri imeniku za iznos: manjkajoče ime pri »T«" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Skladenjska napaka pri imeniku za iznos: pričakovan »%c«, najden konec " "podatkov" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Skladenjska napaka pri imeniku za iznos: »X« ni uporabljen" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Ni mogoče ustvariti začasnega imenika po Å¡abloni %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Imenika ne čistimo: statistika zanj ni dosegljiva" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: imenik je na drugi napravi; brez čiščenja" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: BriÅ¡emo %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Odstranitev ni mogoča" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Izpuščeno" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** Blok znakov NUL **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Konec datoteke **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Na mestu v glavi, kjer pričakujemo Å¡tevilčno vrednost %s, so presledki" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "OsmiÅ¡ka vrednost arhiva %.*s izven obsega %s; privzemamo dvojiÅ¡ki komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "OsmiÅ¡ka vrednost arhiva %.*s izven obsega %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arhiv vsebuje zastarele glave oblike base-64" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Podpis %s oblike base-64 v arhivu je izven obsega %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Vrednost base-256 v arhivu izven obsega %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arhiv vsebuje %.*s na mestu, kjer pričakujemo Å¡tevilčno vrednost %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Vrednost arhiva %s je izven obsega %s: %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " povezava na %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " neznan tip datoteke %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Dolga povezava--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Dolgo ime--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Glava dela--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Nadaljevanje pri bajtu %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Ustvarjamo imenik:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Delovnega imenika ni mogoče ugotoviti" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Preimenujemo %s v %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Preimenovanje v %s ni mogoče" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Preimenujemo %s nazaj v %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Datoteka je bila odstranjena, preden smo jo prebrali" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "proces naslednik" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "medprocesni kanal" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "ukaz %s neuspeÅ¡en" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: seznam datotek je že prebran" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "ni mogoče nastaviti časa za »%s«" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: prebrano ime datoteke vsebuje znak \\0" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Z vzorcem ujemajoči se znaki, uporabljeni v imenih datotek" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1330,55 +1375,56 @@ msgstr "" "Uporabite --wildcards, da bi omogočili ujemanje vzorcev, ali --no-wildcards, " "da izklopite to opozorilo" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Ni najdeno v arhivu" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Zahtevane pojavitve ni moč najti v arhivu" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Neskladje v oznaki arhiva" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Izbira -C znotraj seznama datotek pri --listed-incremential ni dovoljena" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Samo ena izbira -C je dovoljena pri --listed-incremential" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Izbiri »-%s« in »-%s« obe zahtevata standardni vhod" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Neveljavna oblika arhiva" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "RazÅ¡iritve GNU izbrane na nezdružljivem formatu arhiva" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Neznan slog narekovajev »%s«. Poskusite »%s --quoting-style=help« za seznam." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1397,9 +1443,10 @@ msgstr "" " tar -xf arhiv.tar # Restavriramo vse datoteke iz arhiva arhiv." "tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1420,79 +1467,79 @@ msgstr "" " sicer enostavne\n" " never, simple vedno enostavne varnostne kopije\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Glavni načini delovanja:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "izpiÅ¡i vsebino arhiva" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "restavriraj datoteke iz arhiva" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "ustvarjanje novega arhiva" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "iskanje razlik med arhivom in datotečnim sistemom" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "dodajanje datotek na konec arhiva" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "dodajanje novih datotek, če so novejÅ¡e od že arhiviranih" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "zlivanje arhivov" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "brisanje datotek iz arhiva (ne deluje na traku!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "preizkusi oznako dela arhiva in zaključi" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Določila delovanja:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "ekonomično ravnanje z razprÅ¡enimi datotekami" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "GLAVNI[.POMOŽNI]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "izberi uporabljeno različico razprÅ¡enega zapisa (implicira --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "stari zapis GNU za inkrementalne arhive" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "novi zapis GNU za inkrementalne arhive" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "raven izmeta za ustvarjene inkrementalne arhive" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "nadaljuj z branjem, tudi če datoteke ni moč prebrati" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1504,123 +1551,134 @@ msgstr "" "list, pri čemer je seznam datotek podan bodisi v ukazni vrstici, bodisi z " "izbiro -T. Privzeta vrednost N je 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "po arhivu je mogoče iskati" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "po arhivu ni mogoče iskati" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "pri izdelavi inkrementalnega arhiva ne preverjaj Å¡tevilke naprav" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "pri izdelavi inkrementalnega arhiva preverjaj Å¡tevilke naprav (privzeto)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Nadzor nad pisanjem prek:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "s poskusom preverjanja zapisanega arhiva" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "pobriÅ¡i datoteke, potem ko so arhivirane" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "pri restavriranju ne piÅ¡i prek obstoječih datotek" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "pri restavriranju ne piÅ¡i prek obstoječih datotek" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "ne piÅ¡i prek obstoječih datotek, novejÅ¡ih od arhiviranih" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "pri restavriranju piÅ¡i prek obstoječih datotek" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" "s poprejÅ¡njim brisanjem obstoječih datotek pri restavriranju istoimenskih " "novih" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "izprazni hierarhije pred restavriranjem imenikov" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "ohrani metainformacije o obstoječih imenikih" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "pri restavriranju piÅ¡i prek metapodatkov obstoječih imenikov (privzeto)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "pri restavriranju piÅ¡i prek obstoječih datotek" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Izbira izhodnega toka:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "datoteke restavriraj na standardni izhod" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "UKAZ" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "datoteke napelji na vhod drugega programa" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "prezri izhodne kode hčerinskih procesov" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "obravnavaj neničelne izhodne kode hčerinskih procesov kot napako" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Ravnanje z atributi datotek:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "pri dodajanju datotek spremenimo lastnika v IME" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "pri dodajanju datotek spremenimo skupino v IME" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATUM-ČAS" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "nastavi mtime za dodane datoteke iz DATUM-ALI-DATOTEKA" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "SPREMEMBE" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "zahtevaj (simbolne) SPREMEMBE zaščite za dodane datoteke" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METODA" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1630,11 +1688,11 @@ msgstr "" "branju (METODA=replace, privzeto) ali tako, da se časa sploh ne nastavi " "(METODA=system)" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "brez restavriranja časa spremembe" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1642,23 +1700,23 @@ msgstr "" "skuÅ¡aj restavrirati datoteke tako, da se ohrani njihov lastnik iz arhiva " "(privzeto za administratorja)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "restavriraj datoteke tako, da postanemo njihov lastnik (privzeto za navadne " "uporabnike)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "s Å¡tevilčnimi vrednostmi UID/GID namesto imen" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "restavriraj podatke o dovoljenjih za dostop do datotek (privzeto za " "administratorja)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1666,15 +1724,16 @@ msgstr "" "uporabi uporabnikovo masko umask pri restavriranju dovoljenj za dostop do " "datotek (privzeto za uporabnike)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "imena razvrstimo tako, da se ujemajo z arhivom" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "isto kot -p in -s skupaj" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1682,139 +1741,180 @@ msgstr "" "z nastavljanjem časa sprememb in dovoljenja za dostop za restavrirane " "imenike počakaj do zaključka restavriranja" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "prekliči učinek izbire --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Ravnanje z atributi datotek:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Izbira enote in preklapljanje:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARHIV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "uporabi datoteko ali enoto ARHIV" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "arhiv je lokalen kljub dvopičju v imenu datoteke" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "uporabi navedeni UKAZ rmt namesto rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "uporabi nelokalen UKAZ namesto rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "določi enoto in gostoto zapisa" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "ustvari/preglej/restavriraj arhiv v več delih" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "menjava traku po Å T x 1024 zapisanih bajtih" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "poženi SKRIPT po koncu traku (privzema -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "uporabimo/ažuriramo Å¡tevilo dela v DATOTEKI" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Bločna razdelitev enote:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOKI" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "dolžina zapisa BLOKI × 512 bajtov" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "Å TEVILO bajtov v zapisu (večkratnik 512)" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ne meni se za bloke ničel (EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "razdeli na bloke ob branju (cevovodi 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Izbira oblike arhiva:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "OBLIKA" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "ustvari arhiv v navedeni obliki" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "OBLIKA je nekaj od naÅ¡tetega:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "oblika starega V7 tar" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "stara oblika GNU tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "oblika GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "oblika POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "oblika POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "isto kot pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "isto kot --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "isto kot --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ključ[[:]=vrednost][,ključ[[:]=vrednost]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "krmilni ključi pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "VZOREC" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1822,169 +1922,171 @@ msgstr "" "ustvari arhiv z imenom dela IME; pri izpisu seznama/restavriranju je lahko " "IME regularni izraz za ime dela" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Izbire glede stiskanja:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "program za stiskanje ugotovi iz pripone arhiva" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "ne ugotavljaj programa za stiskanje iz pripone arhiva" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROGRAM" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtriraj skozi PROGRAM (sprejemati mora izbiro -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Izbira lokalne datoteke:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "dodaj navedeno DATOTEKO v arhiv (za imena datotek, ki se začnejo z »-«)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "IMENIK" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "pomik v navedeni IMENIK" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "preberi seznam datotek z navedene DATOTEKE" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T prebere z \\000 terminirana imena; onemogoči -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "prekliči učinek prejÅ¡nje izbire --null" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "odstrani narekovaje iz imen datotek, prebranih s -T (privzeto)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "ne odstrani narekovajev iz imen datotek, prebranih s -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "VZOREC" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "brez datotek, ki jih opisuje VZOREC" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" "brez vsebine imenikov, ki vsebujejo značko CACHEDIR.TAG, razen značke same" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" "brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "brez imenikov, ki vsebujejo DATOTEKO" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "brez imenikov sistema za nadzor različic" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "brez varnostnih kopij in zaklepnih datotek" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "podimenikov ne vključujemo avtomatično" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "pri arhiviranju izpusti datoteke na nelokalnih datotečnih sistemih" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "rekurzivno vključi vse podimenike" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "ne odstrani vodilnih »/« iz imen datotek" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "sledi trdim povezavam; arhiviraj/iznesi ciljne datoteke" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "IME" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "začenÅ¡i z navedenim IMENOM v arhivu" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "shrani le datoteke, novejÅ¡e od DATUM-ČAS" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "primerjaj datum in uro le, kadar se podatki spremenijo" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "TIP" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" "varnostna kopija pred brisanjem, z možnostjo izbire TIPA varnostne kopije" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "NIZ" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1992,98 +2094,101 @@ msgstr "" "varnostna kopija pred brisanjem; prekličemo običajno PRIPONO (»~«, razen če " "lupinska spremenljivka SIMPLE_BACKUP_SUFFIX določa drugače)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Pretvorbe imen datotek:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "pri restavriranju poreži Å TEVILO vodilnih komponent iz imen datotek" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "IZRAZ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "uporabi nadomestitveni IZRAZ programa sed za pretvorbo imen datotek" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Izbire ujemanja imen datotek (vpliva tako na vključitvene kot na " "izključitvene vzorce):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "brez razlike med malimi in velikimi črkami" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "vzorci se ujemajo z začetkom imena datoteke" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "uporabi nadomestne znake (privzeto za izključitvi)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "dobesedno ujemanje nizov" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "nadomestni znaki se ne ujemajo z »/«" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informativni izpisi:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "z izčrpnim izpisom obdelanih datotek" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "KLJUČ" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "nadzor opozorila" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "izpiÅ¡i poročilo o napredku pri vsakem N-tem zapisu (privzeto 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "DEJANJE" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "na vsaki kontrolni točki izvedi DEJANJE" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "izpiÅ¡i sporočilo, če niso zapisane vse povezave" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2095,31 +2200,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 in SIGUSR2, prepoznana so tudi imena " "signalov brez predpone SIG-" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "izpiÅ¡i čase sprememb datotek v UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "izpiÅ¡i čas datoteke v polni ločljivosti" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "zapiÅ¡i izčrpno poročilo v DATOTEKO" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "z izpisom zaporednega bloka v arhivu ob vsakem sporočilu" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "vpraÅ¡aj za potrditev pri vsakem koraku" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "prikaži privzete nastavitve" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2127,31 +2236,31 @@ msgstr "" "pri izpisu seznama ali restavriranju izpiÅ¡i vsak imenik, ki ne ustreza " "iskalnim pogojem" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "prikaži imena datotek ali arhivov po pretvorbi" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "SLOG" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "nastavi slog navajanja imen; glej spodaj za veljavne SLOGE" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "dodatno navedi znake iz NIZA" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "onemogoči navajanje znakov iz NIZA" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Združljivostne izbire:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2159,62 +2268,55 @@ msgstr "" "ob ustvarjanju arhiva isto kot --old-archive; ob restavriranju isto kot --no-" "same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Druge izbire:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "onemogoči rabo nekaterih potencialno Å¡kodljivih izbir" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Podate lahko največ eno od izbir »-Acdtrux« ali »--test-label«" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Nasprotujoče si izbire glede stiskanja arhiva" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Neznano ime signala: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Datoteke z vzorcem datuma ni najti" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Nadomeščamo %s za neznan format datuma %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Izbira %s: Datum »%s« obravnavamo kot %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: seznam datotek je že prebran" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: prebrano ime datoteke vsebuje znak \\0" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "filtriraj arhiv skozi %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Veljavni argumenti pri izbiri --quoting-style so:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2222,51 +2324,48 @@ msgstr "" "\n" "Privzete vrednosti *tega* programa tar:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Neveljaven lastnik" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Neveljaven faktor blokiranja" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Neveljavna dolžina traku" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Okvarjena vrednost inkrementalne ravni" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Več kot en pražni podatek" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Neveljavna vrednost razprÅ¡ene različice" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "izbira --atime-preserve='system' na tem sistemu ni podprta" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "vrednost --checkpoint ni celo Å¡tevilo" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Neveljavna skupina" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Podana zaščita ni veljavna" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Neveljavno Å¡tevilo" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Neveljaven lastnik" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2274,68 +2373,70 @@ msgstr "" "Raba izbire --preserve je odsvetovana, uporabite --preserve-permissions --" "preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Neveljavna dolžina zapisa" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Dolžina zapisa mora biti večkratnik %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Neveljavno Å¡tevilo elementov" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Dovoljena je le ena izbira --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Okvarjen argument gostote: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Neznana gostota: »%c«" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "*Ta* izvedba tar ne podpira izbir »-[0-7][lmh]«" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[DATOTEKA]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Stara izbira »%c« zahteva argument." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence nima pomena brez seznama datotek" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence ni mogoče uporabiti v zahtevanem načinu delovanja" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Več arhivskih datotek zahteva izbiro »-M«" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Izbire --listed-incremental ni mogoče kombinirati z --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "Izbira --level je brez pomena brez izbire --listed-incremential" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2344,52 +2445,80 @@ msgstr[1] "%s: Oznaka dela je predolga (omejitev je %lu bajt)" msgstr[2] "%s: Oznaka dela je predolga (omejitev je %lu bajta)" msgstr[3] "%s: Oznaka dela je predolga (omejitev je %lu bajti)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Arhivov v več delih ni mogoče preveriti" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Stisnjenega arhiva ni mogoče preveriti" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Vzorca %s ni mogoče uporabiti" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Stisnjeni arhivi v več delih niso mogoči" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Stisnjenega arhiva ni mogoče združevati" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "izbira --pax-option je mogoča le na arhivih POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "izbira --pax-option je mogoča le na arhivih POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "izbira --pax-option je mogoča le na arhivih POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "izbira --pax-option je mogoča le na arhivih POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Vzorca %s ni mogoče uporabiti" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Dolžina dela ne more biti manjÅ¡a od velikosti zapisa" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "Izbiri --preserve-order in --listed-incremential sta nezdružljivi" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Zahteva po odprtju praznega arhiva bojazljivo zavrnjena" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Izbire »-Aru« so nezdružljive z »-f -«" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Ena od izbir »-Acdtrux« ali »--test-label« je obvezna" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Zaradi predhodnih napak zaključujemo s statusom napake" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2403,117 +2532,113 @@ msgstr[3] "%s: Datoteka skrčena za %s bajte" msgid "Keyword %s is unknown or not yet implemented" msgstr "Ključ %s je bodisi neznan, bodisi Å¡e ni izveden" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Oznaka časa izven obsega" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Vzorca %s ni mogoče uporabiti" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Ključa %s ni mogoče preklicati" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "PoÅ¡kodovana razÅ¡irjena glava: manjka dolžina" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Dolžina razÅ¡irjene glave je izven dovoljenega obsega" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Dolžina razÅ¡irjene glave %*s je izven dovoljenega obsega" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "PoÅ¡kodovana razÅ¡irjena glava: za dolžino manjka presledek" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "PoÅ¡kodovana razÅ¡irjena glava: manjka enačaj" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "PoÅ¡kodovana razÅ¡irjena glava: manjka znak za novo vrstico" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ne upoÅ¡tevamo neznanega ključa razÅ¡irjene glave »%s«" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Ustvarjeni par ključ/vrednost je predolg (ključ=%s, dolžina=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Par %s=%s v razÅ¡irjeni glavi je izven obsega %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "PoÅ¡kodovana razÅ¡irjena glava: neveljavni %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "PoÅ¡kodovana razÅ¡irjena glava: odvečni %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "PoÅ¡kodovana razÅ¡irjena glava: neveljavni %s: nepričakovani razmejilnik %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "PoÅ¡kodovana razÅ¡irjena glava: neveljavni %s: liho Å¡tevilo vrednosti" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: neveljaven čas preteka" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: neznano dejanje za kontrolno točko" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "zapiÅ¡i" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "preberi" # POZOR Poglej v source! -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Oznaka pisanja %u" # POZOR Poglej v source! -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Oznaka branja %u" @@ -2658,7 +2783,7 @@ msgstr "Å tevilka izven dovoljenega obsega: %s" msgid "Negative size: %s" msgstr "Negativna velikost: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "klic stat(%s) ni uspel" @@ -2687,8 +2812,8 @@ msgstr "Neznana format datuma" msgid "[ARGS...]" msgstr "[ARGUMENT...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "ni mogoče odpreti »%s«" @@ -2702,69 +2827,100 @@ msgstr "klic seek() ni mogoč" msgid "file name contains null character" msgstr "datoteka vsebuje znak NUL" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "razprÅ¡enih datotek ni mogoče ustvariti na standardnem izhodu, uporabite " "izbiro --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "nepravilna maska (pri »%s«)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Neznano polje »%s«" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "ni mogoče nastaviti časa za »%s«" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "ni mogoče odstraniti »%s«" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "ukaz %s neuspeÅ¡en" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "ni mogoče odstraniti »%s«" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Ukaz se je uspeÅ¡no zaključil\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Ukaz se je zaključil neuspeÅ¡no s statusom %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Ukaz je bil prekinjen s signalom %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Ukaz je bil ustavljen s signalom %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Ukaz je izvrgel pomnilniÅ¡ko sliko\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Ukaz je bil prekinjen\n" # POZOR Je to res to? -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat zahteva imena datotek" +#~ msgid "Cannot get working directory" +#~ msgstr "Delovnega imenika ni mogoče ugotoviti" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "imena razvrstimo tako, da se ujemajo z arhivom" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Predolgo polje pri branju trenutnega posnetka" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Napaka pri branju trenutnega posnetka" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Nepričakovana vrednost polja v trenutnem posnetku" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Dolžina razÅ¡irjene glave je izven dovoljenega obsega" + +#~ msgid "Invalid group" +#~ msgstr "Neveljavna skupina" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Imenik je bil odstranjen, preden smo ga prebrali" @@ -3447,9 +3603,6 @@ msgstr "--stat zahteva imena datotek" #~ msgid "Removing `%.*s' prefix from member names" #~ msgstr "Odstranjujemo predpono ,%.*s` iz imen elementov" -#~ msgid "%s: Cannot symlink %s %s" -#~ msgstr "%s: Simbolna povezava %s %s ni mogoča" - #~ msgid "Invalid group given on option" #~ msgstr "Podana skupina ni veljavna" diff --git a/po/sv.gmo b/po/sv.gmo index 0ecbdf9375daa3100700359a00edfd45da6d330d..aabcf98b41db76edde15f846c7055c95165becb8 100644 GIT binary patch delta 11553 zcmYk?33!di9>?+bki?S25r+Qk8*~aHtIpmjG-7t=;(mq*b$H5a16z!F^&^}>FCCXu^x`W zAS|-Jf<@F{jd46q4GK+S9VZSmtohiG`Wmc?A7eE>*6tt#%rjNhSG~vY=Y{@Xl#i^ zI1JxIJ)lkkS;G`;g1u0gD8$kDf``5RvFO{O2U{qXFh%HqJ$5>K9ap$|gBZ z0oF%#pcvC|AL>DOZF|EOjziJuj8$+Z>hmulk90h5QqY6WV4*J-%5pgwA<(oh2!jT+EQ>n3bO{WLOb&fn<97#`A?=R4g^!70EHPOL?JUv1V8Ud!jNi2DKB5@L}|!9&`uQp}2M?BZE*6nu+Sz4y=QFuoixa z9u}(e8wHIZiWQ`ux3zY#c0>Mi`tn29dodb6Ms@HissmNh&5b*tIy?fkR;HmkTx{!~ zpw`?^>EvH?7notTRUFo){t(v15vU$}uo|vLH*QBg;ByScD_9Tz#>!YXlXnTmp)#9~ zy3Z=qecnY~e=O7EIDQna(-4Hep%#_X-psWhx~bMfZJ!LRj=fMf7=x@!rwAkQeXNKV zQ3Ln|`(ofjrehR5?~g68amZMci-P~#3}&SFsyYJnPYU(}pWz$n~-5%?vB z;eW9z2D0L`=<4u84;+Qcz*5uz-bQ80bA*CYeiqa57Sd^_6;H{)8K{x%#XvlVy8a3( zl>wdXiwm`_5>XH6i0b%Y)D#t>8yBHIza1O#eCHSi?ax0@Bk}KSM(RdApp~sZV(Zzc zsVG3*sK~ajM|EH~YNVfGIlO}E$W2trt9CIROv7O9|GpG7vTO{%JXDXTqULZOYV~eH zW#W|e7HSH@yBgC_?~PH|61~U>og>JOcK(ZO6esQxv&|=BGS7FGQqZgMC^o@6*c79> zInHFv!c6=K)iM9>=KTH+SrJiqCM!*qB%}MH@b{U z)os)V!+RLrsF5~8t@duHjy#KcZxmxC+>V-p4^XN90^RsEDwFq69jldP7N0wd{Od;X zH0X`j5#w+;X5a!0#^b1roI}=~Q@*EpP!{TQ*%*&Au_12782kb?1x_#1(Z;9_W}tRc zpI+o&i)=g%>e(#R$e*$GdA7a~{b^r{dUdWsWo|d>K_^iu{TtmF+S^P?GAg6(QJKm{ z4P*vtN;Y^XL{m74mGMt}0?YR?DVu@nSTPR7HK-BZLS?E>U-Pc-hRQ@fs$+Ap3ciNb z(1(xWAq>R&{g_7d#8J=(3sF5?f}yw*HPR!f8~lhNcn39-;Qr>ihNv5+Vmv;K%HTBQ zKW7#{*eK2^Tdz03e69eKwEyQ*XwC)iqZZ8#)PrwfELLOKH82ykhz6oMG!2!3`S$#~ zsBLx*G$lNy*mFg!@Yhg7uz)!HA_WuJ6)@SFj+*-})+}^U?}r_6 z0BYN=Mm^vVY8&1_O;ylf)A2+cLA@7h&FsLMJm2}2f<|-;^?|@4W@HJd42-ZYK&_2^ zSP|ofnj5#q+SCVPGEPOk!na^0ypCE6f1#$T(l9fH5$MsJCQ^vRj;IHYu@@}COzK-v z+wcae=YOF(+;q5^%QR~rtWWz`9FOy{G5&!OSZ@Ts&|)fTO4g0A`~N5n+7=g4izsNM znY(t_mik0Y!_BA;TtQ{3Mz(2hi*D+L*b!G@0)B^DTcM-OcR~kbSvlF*3Ev&%F+C|W z+ANAV)B}5C3tWhi_%YVQA5k3*U>K?=pw9QgmN*&f;AV8=VQi0AP??R%HP=6ix^AY2 zLKKA+sFA;qZSYrYjWJ`)2XnCj^;fLBQQPVpREnd=niOZDre-{3Hx&-)d% z7ChC*nVv+V<|G|8R})b0f#+>~C2HjFpl);#wWwT7bX5#NO-&Rw#$MJL*nxTp*2T-% z2+K`yoNe0w%_%gY;agM(Dm-R-n2gcXAI0i82YN)eVhW7t13QF0r(gqd{22#I`wb1`@^InKVWhMc2gKn6DPogrl z9aHfjCZdbI+8kS;GBg^)u>dRMBGkV>oplua@dO6oX>5n*P#LH-$-H{oV;uE<$X0fq z#isZjD&@hGO$J(GE9!$#bNw=Ek-me8cm^9{;1u$&3lb=3PWxj#7GM}|M9tX;s2+cd zJ@5wh!L+HSN%YY&A=uUl7FRc z9t}#Z4@*;u8PtPknkndk>cCV~M&_Y1w+XA@F|38(+V;Ds>)lV8ZJdl6Xg;>VB{%_3 zdMJcZXgAB)AGK=pu@bJvq4*|h?kdvZaBPPf;Q-W#ijWQAY({Obu-WE58JJH!4>hp! z*bXbqF^kyKiGoHl8I{`Qs1%;G7hFcAI`nCC!)~Y>&A_&}0rlql4z+f|pE2KZT~Twt z1(liOsDWL@YP#;((#(3CSW|HNqNbt{HG=gRiAPcU_PRCfIrHt+9(BV3K9NrQL0PCN`j6 zf=cBfRL5>$U97Osbf_`vKD|-fZVE=>T&#(2VRbx+Zv4j9|5`}?Gij){$n4L4s2dex zWn7IK@m5r3zO?Puz%i)%%|SiztZjE*F<)X47(%-z znS$o5GinjOh;{G)YPDWKW#S%2V9*k?C>x3Q%#drssV|cMyd|glj z$U_ZisdXQwQ2!3wYX8?-VctjsQ74{3&GkOie!h)LwR@#`<7K1T7ol#v3w57!n2tkN znWq=1j|5McG zKSz!DE7U+-YfMK{t^KhQ?UQVM&Kmly8?2_mjjv-}JcR1lkEjk@Ma}s=tcxLQ&5I-f zm6@Ta4zI;j^kILzj=H|%Iy2(Ys3|H$ZR;)TJm$@GiiS8Ef?hR?r44Gt!*LSMzzKK_ z%i^Hd%!r4g*2rk@y4;9%+=R7SqWNc;nJeb`3x0&9k<_dwlmBx+!jQBybV{3d3 z6SZ%?p`f|1yv0mG8b(tehxKt0Y7zNR5BMDQBD#ipFZ_jC#DQ;`_d+O^qaJ}StdE^B z3hUrRjK}$^^L%F?1wHUADmAXHCL>9xj;%+{*%zo3Uc)9><}I@}VlayOAnb&*@D)6W z6>;!3b3PZf|L0>eu1C+q6wXr6jU)eMY>7(MBdEoejhYG%CgKw7Vbl%pViyeEZl-1! zY9QlL8C!)laTn@2$I*@7ZzunwDfsU&-vQ%MH}v9kd=oY2(LU3mVW44X!&VsouKCsTY3Qat9<>|hV@rGsBk%{Tiq3v>;}A@w+8lL08w2qv)OB-F9a)L7+W((Xh@s&& zY7V2{GxY-0$V!ktIbWmZZrS^GsxXrJO;pFKePCX#E%7|{u2{uI7Ctm@#?%8QGwG-d zj>UNG|7G^XVXV)Io3NtlU~ zFa+O5P4yv6;`vUEPfU-xVm<29Q8y|^jc_~a{qO}Um3OQG2hHDbLr`-)97Ay~>Va!; z7+%0=Oh05Ymx~(c3iPz0u%AK$ylt&>*!&`qiOICjL7m@)+AUvWDwg}ytm5{l2aLcf zScF>T%dsb3MSpC2#O#jtSf2XCBjn#jp$?(r3o1Y2D{8dI3S0K0K7x4C*4fHVw+F7H z>by#DZ>KHozhe=`JaA2U%HPv|&$bn4{&l?iz(uP6K=dJc5!u9{`{(aVn~rp10d37~ z`($glHIMW9W7R5M%)u^nczc)rgS4U=^!&O+H&r+Sx%hotgm;OjDW~IuM-G+wv`r!Y zO?f(@>Cy2YBAfQ^xP$nUIQhWm=Tdi3ABb8To+K*6AGm-vXDsz?540Vjd`TDEwiJxA zMJ>PvCHZ5xVj z(RPsF@HqV`tRuc8ek*O`|DA$msn;TSCpp6~m(WpUDE$@dOUmC8>xhHI{bL%1&$wP+ zM7wdn{p|hoPg3}awlK~AFH};goW;(>M}&@9#2I2CG1J~aZ?##JdlM11&4-`ZGN+vn zC|4qaiJxuzdVGeM#Q9UW7>D3_&A*NVL?rP#5kpMiWGjpy^mVD@2imF<9f|u#)&u2g zG@c@s5dYZruaWPW(y#1H+cqAn+w%SAJFRKZmy3>#luPUd$<`=y$|+~-KU&rN2IYaa z{usVMTZpaet9CNcp3pIo_5nmK%5z=he{E?q|MNJF|0b?ePbH31UQXO0#t}O15;cfV zsW-wgw!H(sKvbu#5st(V;vu3o@d$B@sL8n&#A?bqnrQwjn6k5-6EkdCyh1diZ7{Y+ z9UBbJSbU4PX4|J(N73e`+!*7D%EbHjoL>5^srMjsJVE=P9)83UpV4pvKPMhM9=DYi zc!qQHu&%x4HC*_>_5bBuKLu@RL@Rr)p7kc)Aog=j8Qe>FVySeZkbpXFQNDoB0o~Ej% z`0NSsuLsJxlzS4t@`35ZHp*9sWa2yO!!d)<(USUYqCDkx#2(@zasSBY+%iJPheRF9 z7c~D*Q7I-0iHE6=CUi_NIB()}w(SwzY|F3XOT=!@k0H+5_9l4UmgiXybG`xP(Wv7O zLb>;hq;Vw?M5QUwhw^OV{xOxpYU&&D3*uK|2=NeY@8C{*ZCC7N%YV_XBb@k-=uUej zOd@U)I!+R+wEsWmBw8)T4YDyWlONoxLsxz0~g? z1=JT&d5!qyej_fSeVlUeB9#xREGBfECVnCo5ch~tv|qO8HdwdfZO%P-yiHr8JzoR2 zaPo6P>!IKXFQR5FPGT12Cia6ay?p-Rc;krg=h)8We8tJWGTyZ*A-?G;1ukE3>Zvlm zy6tkyxJTvZO&K{ZZ?b#Jq>*`(bMq%n%o**@9rsv{J8$H~oXK&%!t?=UeK*=K^YiZP zG|-pQxvI;zrRzGEcY3!W-b>w9dSC0F>ATrI-rw7;&mM2HzVm!z`|Wi3S`S!U*4JoA z6PLGWsLz`{EY`bWST&z(xZBUSY1ExEzGJy>`}@v37FymHIdyh`?{HylKX0?yyXtnKUJ5(#X*{8Xu#} zi}UqaQqj*hv-lrBuW!u|?|`+HecjfExqN$GJ>c?|l=SwNUH`84;`%gS+=e;+-ZPu` zd-rcC_BGo2hs)P;+W|k{ik+QY-l$z4d4qQ+di(7T@$K6EoS$#+{^4c4$8ziV`h6G{ Z;5%^WMtR?@6XE52S!YW8yj{+1`#-4hQe*%C delta 15921 zcmajk2YeJ|!pHFmEf9Kd0VaVYv<(oN1e6X^gER|LHrY+GWV0J~H-P}Uo}yT>te~P; zDJm-JDyRs`1~ zhuSn)pJG{7WdL>1hFdg1e^ z7yW`6m~oQn$#^8oT7;Ua4XBEr!m0QTs(k(k%j$|}qo!~LcEp=e9o>oD@I#Z1TPciV z4jH+q^)(-DT!X!Fi|gO94e4X3@@Y(@D#}C6?JU;{Od)+0*2im5BeDTCl8>Sm>DSnq z^=Exgqy-r*M;W`LUgSY;Sz}O(Yc*=XxAKUn;(VNlA=J=5giNz_21U5>s)T>kijlNE@vuQ00Hc zY#cDoG;ltugR4;W?!a_>ew@4iKP4lBjNec#&lqpgGf;~$jG36gcDNIr3a~rrPq7=O zPB7<07TTmopho5_)N{*FBXkkA#H|zJ%rB9hWN39BLsis^d1#B{P!G(<23UnU$yQ-~ zycjjtm!pl_P}}MmY>#iDp8p25ds;Fd>gZ%l!$6#fdJx08m_W7cQ`9+d9M!OXlg-?n zf!cl-pzH)BH3NI$wWx;2A0^U>$ZOadzd{;o{f6EY z;!{jRwoNr7^ERqy$59P!G0jXxcN|T6Br=QEDjb7*Q9b?*n_|XvQ{IDY_qa8ch=zIv zYLQ)z+J2i+FWQAV(_cjO>>z3`e?}Wy%`g=X!W_~wu_socw)I9-Pwzslh5gtZ4`N&G z|IgeTzc?9GKGV!$Z`2|ifokA4ytYL$%iRF4SB-?|KvmkZwQAd~7D7db}ESP;EwS!}qZ__BhR)AE%;+ z^tq^WWxG%Z%nR5Gk6<%Ah8mFub4&#psKqxO)w9!39XSJA z;~LaRY(TBCdr?y@CP#FFPMc5*b3@-U(~iKKs9VFYK`24n&XFXAijxu zag%xGBQ_LUkS@VCScRIZOVGxvQM>NJd5ph$@G==K@pWv6M^Gd1Gv;FZ`DQgwK+Wle zs3AC3D*hr{18+FXQDb5N3D@9sHuBJ86AoIgsPy;8D^DcVO!FpPz{`g z8lib^`fNAt#fIdUqK?)OcEU?hFS-NU<4b7c5!6(so@u5a-j0YGFa*`3>8PPxj@ftz zYGj_nW%xE~=%$}#8diqXX;t8Y6ux$-o@SkGMs6DF=w6APaT9jJUC3I9TQ3n&PY)x{ zTHoU^oVCzwo3%KdbOKeu`>4h96KbluEHXnm05t-qqw0&IdcGDlvYU`I&AK1e;UBS` z_J8Ze=0(}4xynNgbrCYH)>7mUwD!5_rc2C=3vn>{%Te2MJ8F>~L^b3?)VBK#JD|sF zMs5PCfkl`bC$gM~3T#E~<2|T~e?(R6DKt~E5VdG7L9PA=um>JMz3_X~RJATLM|cK~ zC0&9|@GjRRYR&AyxFR(~Qt(-vh|i-Aiq<~!!jYIxx(GG5=V5o;ic9b*)MCr_o1vY9 z>R}nGd>pllwxCAjHP?E@jK3Duz+$ubZpSpzFQQ)XChEnFlt%KMA!xOR*c?f;R5Kad-$lm{DQM7of^5!(MnL4#bC$#U8glCNe?~un_d% z0#pkxalIF(kbW7}EKGB}6n= ztDFq}a6t8ZJF24Bu@(M+tuZxbrl2$G#gkmaIDz!_I0WBCE#fwnW)}^@9i-31KG>v+ zhVXuCFcGzMF=pc$Y>(UVW88=BQuuMX+#I=&uP|$5A8Jv4f?5-4)n){Tqt=ig^`gsA zJ$@KF;9+cw$1$#qW-HAQ^+X*c1F$7d!!Ec0RY4V=gtucmJc#*t6!Wm(DzgX|p+;&Q zszbM8XM7q}?_nH(->zc(8xqM_ZI0X=JehPZ>cJqk!35^wR^-^X4xpxJ@Hu7*7NJIB zEe^-KQ6u^RYEh@2YZ}-GH8N+T?w@}yd~l?2%|c3HR?U__lc;d^)E6*nTZ@c#H<_Yf%~BY+zE z1Fm1A&V$rT%vnDa7m}WUT5PwY7S#b%55IBqdt7R^-)vM5*CL0WbvNcsB>`nS1RFB?8&27W0%zn>tJqwlJxyJ0-r=R z@FyIEJ+CoqXddR0-hcz}scRU24f*$EXlMr~Opm7G5YiFU$ZW&LSc47m1ssa6;5=-6 zt@-7&2&aHS^WUpP%_^Tzm$@f^L_S2V_T$(Q zyWMC$LPOCeJ;eRa~ht3A#9CL<3M~1HKJ)Zo2fVjhm&4~S_?_6k4LbP z_W$QZ(#iN1wM|;wVj3_C^@91R2JCS24`3J4-(VX|yVcBPH=LWo(TqdM-+7z)!SN+_ zC7pJ=8HsGv^TTjzoXBZJ#^Oyl4iBMvl5vOmaXK3{B1=&FeI;tjZpXH`%k_EG(7uPw z@q5&os=wKk>yPTl7*svQ7*}K+k)F5{HCJz=D*7BXCDs;m1b0NeFdNl?eC&n=Zn_** z&-tj4*^1rqQS5>rt58G{7)hybE}!#1*n!6VFO%-4Y3M!;H*Yfcm)o?d$1S2 zgX&1iHq*mCt_7(2D{&OwhdR){aPvFd$@uF=!JTG1U5=WHBx)^u@81xL{+d3b8x-u9#oG%Mm4PaJ;r?OM|wW0!{=jvj6XpnpU9Wk0(0&)4-7-SXg1oo z05$ZhQ9Za3H6^#A*2)9!{ijhcI)WO>Huss1%|*SZ6zAg|NPThZCn6fE&O6Ld<)P+w z3iiQj9Hs{_7vDxLvL^SN5%OS!^r={eyRkmzJYYtsAEuJdbInI}U>x?A)*Dj_D^H6JO9cJKNsOO$X zt))X4&m_{|5pyF4)zf^`i)LW~7P|QlVk^?mpcds@s1f)Yo1y(EI|Ds91#iZs_$jL1 zIggnmIDo@R-}D&c-;~H}WT-{&;}C4L+q8TnYOd#_reY-yz>U}epTiM&81t~}<7SP_ z#J;4@L5=L4sE+;vwTQpNF4%ex^WTz4|2<~4j>1u-&qWR8ZqzP#78~L#sKxXqGIQ4Z zcq)E?-LT(Yb97HZrB|XFa6M|IoEc*&moe|jZ;u_v;Z}f%Un03 zDtrSqr$(4{X}_s2jMduz7ZcH9sP~jZX6LYZFv!GUh)LeJ?hdCbxp(-AaS~E*f_Y>F@@59#k z7!JS}(1ZWN{@C{=#=n5b=`Wf8cWWE!##g8{(dA`E0cWG;w8blC1cqP+=~7e!FU7Wa zFCM~u*eZpO)2rslec&}SLOU^+`|qJfuEhbyUqd(gfT^eymA(uo;6td@|0A}?Hm{qh z>5a`vk3+4ES*X>&!o7bLYKZT~vG^Ib!G3R;Kfg~wP30AFB5Kh-?14v754L*KR9JxO zX$fjEU4k0g`&}Q$>7<`Q&3*f~%=R0NdhuLbgd0%Le~)@``rD?%@mWMhk`cw8xWn~T z98LNd4#nXI&HZxJ8o3(taSv)$A4k2Q!#n01aWc*(Jrif)ZJ3VV;RtN`u5+TsttmwM zl2L$-aV0W!R(t+ws0i2h2J0VgdKk8J<2P{cV)wrI!Ho}dwd-*Tx@9L}8sS&>-jmw@ z+ufTNxW0fd5jYmC$#@Up6XH?SNX#R&q0+{rcM)vTjR?BPw%#U>jbim6!8&tBL2E_V zdCtFVMXXP`-MruWg2-EhpNJ1aEx>aKwO0XoKa;o)M-a9W&#S$Oy~)cboJ^=8-09xy zMSL;w58d=}(%T3+yebGHWXEdUE4RLX6zMyM>;@64DRzKsJVxGcID~LD@f-1Ef(Gzq(xb5U$|O=w-Vr>AUlOVaI+A}TJn9yFFNMcb$k0bZ z*Za=D{ArC|@@ub=MB2NJEF_=f-C9N1L>NhWB0;BMGs^h!B|`00#Jw>j9w!VZu4{#X zUs5#xJ2!K_>pZ;5jjLRUpp)*n5?oUW-`BZ6hWJ{-gU(&^oBvJszK-6GZhnZoR|(&e z-b}bk`5L~)ZqJm?ra&vw5p+I4<|dT!oc`hZkvvbG{B~3{kaVis&_+0)a%Z|_I^s2?Z^bup z9CjuQB;E!0;N^tN2$KnW$aAl_bqE!dHar$<$RzT-RHKy@ZQMPatd| z-kFzX=sw;LPY_SVg#=w$2J1rf5MFlE%_(=Up5xkw&lBF){{Nb=pHRq+#|TXb7n0U> z3gLeUw8fxd)>^duF3A>2ebM7V?yrc6Ejn;zggpZI;)27kc}p3A@wNY`GOca~n`NlQ7;*k9A#-hske&MTF;wr%~BG?*08Zn9zg#2%biGocKD767C?bX}*_u z5}zTQxHSH|2svcFeIl1>AYDA5WaNFT!Bxz_b)TusSu zLU@Dx>k0ou=tii$z9rs)#Oc@uSGw=Fo+YuGkVd$Y(1l9IQYZ!c;AiBu#ZL(f2)d?Y zI}>&O2x&>#0@9xny1Dt?T}2D-kEoNrkLM@-!_8=bACd7f;cP-Kp#u+SZZBY*U*jnI zlyDjGKJGIVv3}!v_}ye)zf)6BvzKHQ<@C3Gf#PDn&-O;`P&iWV4cf(lpx?@h=G*f^ zWufr$kdtA@sw@2N6aE#kh_@*Ahli5Byl3mR3I?Jv+Z&Ady}oLje-md7?Uo!pv??Vr za(IvA&S9_B%PsPTLgAQQ=(j7Q)Dj5Uu~I)}msR?ssy1BVk9cE&aL6tX`~1n(BVzTE zokz{A-@e2jvzLb>Wr0u$?T+}1V&O=2a`EU}8YEsF->zODn)q!-`@~P<&+hFH`s`RZ zYzM;>U0zC;)E1u}jE1}w(Nf;8jwa_!XqOUS67xoK?5MZOAGOQ9p=#$=lnQuZsXsys zV`1BCM|qrzVqS(K9H9l#GTR#|Dh*Wm``g}-&!%I%CQ7UPJmU*g1$>q6h(_(=NVweT zsQXB6TH3@F-tvl|KOW6bv#B;>dy0x{Ys^);m@X8e-P0aV`(ys!-&Kw31(j1!Eue62 zZC$ad-&bb4S5JGonIkjTQF}2nP}?ZIwaOnU3`hOJ>JwG1`16`*)j%e6-MrAM-VC-re?v8^N5evg!;+c`dI?^Iagl0U}g5_XR z&KgdfH@tmHZX$c;<#DHot>r#f1MI9Ujk8*zO_3F~3Y;=g>U8oLWfLn5$4c$x-cZbr z#u$4qZ4ZPhDr0pX7#pdi7H2gSh080bzmO&`5Afg;PqFRE$*WU%!9dUOg$sh^r3-V| zi_}_KQ4x-4LljoqePgA8XkRUourF8H|A}m2B?)S^tJL~%TaX-tTsI0Pr8j6bp zE9?MmKbNgu8DgnK?WlH4xkmesa7s@2=y4po*H`Xh8*mvj3>j(MBPg#y9;wtoeSS<^<^JhXs$ zD6UOtOK2>jreJ?Iv9_Ge-1#HR15v-~Q6o;=v02N@z12DiXq8*M_NB=m=JZb)HaAkO z1;PN9`hyiLw1}ImjCxD_IqXLIWDWtM<<41_o0iC!_fUFqKu41^Du0;0#Iy58H23*K z(Lk&^pBjsD5~t_1tES;vn7J(0+7`HXJeO?x=4bX0n69mcuIX7l?r zh@Tm*bf(T(Srz`GKykHcW2}@@i)mp+jxF-VB9$vlhdiDbN0}$+E%XO#_mbt*QppJ) zb*s>W;bP}p`#+y=?C!s4a>!Xf*X!di(U}vo%l(>Xd&a~W<0j7b%p5yoqDDoZ1NQ_; zdKT_%nAlX9K5TiZKg1+D-yY`M@`Xb=+Io>dg&lOy_9X*y+=Eufq8;*+N=W4Y=2ci&GSs)SjxBa1`ZnN8AQ>cDmQ3I@{Fo6P3GH~Sw)%l(wfcX#Wg!Q zhoXEK7_EPQ(Jh^D1!XmxIlUMfzUIy&+CB^@TfzG$4<#>(XV-6|HROEPeEb`%*&K}} z4xeu)_n*HhCGpN0J6X8q>3W09xW`wLX$w{9C7hfA+s7I#^q16Zj`+O){-{T(gVmXv z?7H@eddUWtHfhk_TUA1{y$o-mKNc;Ccze=t9;vy4}puR3@C^P4`$snL1RxmC`Ar-d5{Q8iz5z5b71^xBG?vyp##+Vca^ z+O`BtJ5*i&InGx(5UO(qxeao@=l@wx?blqZK~Mfkm3+%DyY_D>+4`1KDq@GK%ltuo zwKKD#nG9uRtY#g68+Ip#Ue`7;{knoiECW6Z z$!o5=v|(@ebFL*ovz#%o%OW+K^>xVf%*eEhgWi%7Zz$1q)85vTHFNyjaI&8 z;>}GPNkzl-pGntPT8k753v0Hp zXtmrK24{ZjeB^)kFyHu0TPrbeTBxk{Bk$#8V^H*s&-`8Ke}CjNIlF3ha(tM5Q)TyM zzr?)GH{Meb3714Ty_Vg4ETvtsKgiJjexWCeZhg8zd``{gGJm90nA8&t?)WeSFs!a^rwK10G6FE!eXJRb@~;K{K=036_4vHuZ8I2 zL;c4`{^a+;e<`eSifYDbB)>Z7WN{!AigG-L%Gd||z2c2Hzc_yXOQDzTHkuXgbIbmr z9mzghPE8p%iRMPx8)jXc`0bGC9yx3u#?txuz*^Txl(X`Gw{;U0Tlc3I>ku^K`G+Nu z=(}xHE1%|@9}xanzH`DSmTc=ZmA_2L(G*7ctrT?jL9RVnuQ4zF`6FP4Aa{T*4%MWlylvh`Hqfw5iKxw$bSru;Elh;4BxxtX7 nVKzX_UsT4xIzJ**QXg2_WBu7p@)NBe?U1, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010 -# Revision: 1.105 +# Jan Djärv , 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011 +# Revision: 1.107 # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.24\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-11-05 11:14+0100\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-03-13 19:23+0100\n" "Last-Translator: Jan Djärv \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -30,36 +30,35 @@ msgid "ambiguous argument %s for %s" msgstr "tvetydigt argument %s för %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Giltiga argument är:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s värde är mindre eller lika med %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: Parameter frÃ¥n ARGP_HELP_FMT kräver ett värde." -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: Parameter frÃ¥n ARGP_HELP_FMT mÃ¥ste vara positiv." -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Okänd ARGP_HELP_FMT-parameter" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Skräp i ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -67,24 +66,24 @@ msgstr "" "Obligatoriska respektive valfria argument för lÃ¥nga flaggor är obligatoriska " "repektive valfria även för motsvarande korta." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Användning:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " eller: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [FLAGGA...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Försök med \"%s --help\" eller \"%s --usage\" för mer information.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" @@ -92,7 +91,7 @@ msgstr "" "Rapportera fel eller synpunkter pÃ¥ översättningen till .\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Okänt systemfel" @@ -104,7 +103,7 @@ msgstr "visa denna hjälptext" msgid "give a short usage message" msgstr "ge ett kort hjälpmeddelande" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "NAMN" @@ -125,17 +124,16 @@ msgstr "vänta i SEK sekunder (standardvärde 3600)" msgid "print program version" msgstr "visa programversion" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(PROGRAMFEL) Ingen version känd!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: För mÃ¥nga argument\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(PROGRAMFEL) Flagga borde ha känts igen!?" @@ -143,62 +141,62 @@ msgstr "(PROGRAMFEL) Flagga borde ha känts igen!?" msgid "write error" msgstr "skrivfel" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: flaggan \"%s\" är tvetydig\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flaggan \"--%s\" tar inget argument\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flaggan \"%c%s\" tar inget argument\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flaggan \"--%s\" kräver ett argument\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: okänd flagga \"--%s\"\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: okänd flagga \"%c%s\"\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ogiltig flagga -- \"%c\"\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flaggan kräver ett argument -- \"%c\"\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flaggan \"-W %s\" är tvetydig\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flaggan \"-W %s\" tar inget argument\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaggan \"-W %s\" kräver ett argument\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "minnet slut" @@ -214,28 +212,30 @@ msgstr "kan inte gÃ¥ tillbaka till initial arbetskatalog" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "\"" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "\"" @@ -245,7 +245,7 @@ msgstr "\"" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yYjJ]" @@ -255,7 +255,7 @@ msgstr "^[yYjJ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -544,7 +544,12 @@ msgstr "standard ut" msgid "Cannot connect to %s: resolve failed" msgstr "Kan inte ansluta till %s: namnuppslagning misslyckades" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Kan inte exekvera fjärrskal" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Kan inte exekvera fjärrskal" @@ -593,8 +598,8 @@ msgstr "Oväntade argument" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Styr en bandstation, acceptera kommandon frÃ¥n en fjärrprocess" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NUMMER" @@ -602,8 +607,8 @@ msgstr "NUMMER" msgid "set debug level" msgstr "sätt felsökningsnivÃ¥" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -618,7 +623,7 @@ msgstr "sätt felsökningsfilnamn" msgid "cannot open %s" msgstr "kan inte öppna \"%s\"" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "för mÃ¥nga argument" @@ -627,9 +632,9 @@ msgstr "för mÃ¥nga argument" msgid "Garbage command" msgstr "Okänt kommando" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Det här ser inte ut som ett tar-arkiv" @@ -667,63 +672,63 @@ msgstr "Kan inte verifiera standard in/ut-arkiv" msgid "Archive is compressed. Use %s option" msgstr "Arkivet är komprimerat. Använd flaggan %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Komprimerade arkiv kan inte uppdateras" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Vid bandets början, avslutar nu" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "För mÃ¥nga fel, avslutar" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Poststorlek = %lu block" msgstr[1] "Poststorlek = %lu block" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Block ej vid blockgräns (%lu byte) i arkivet" msgstr[1] "Block ej vid blockgräns (%lu byte) i arkivet" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Kunde inte söka bakÃ¥t i arkivfilen, den kan vara oläsbar utan -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek stannade inte pÃ¥ en postgräns" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: innehÃ¥ller ogiltigt volymnummer" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Volymnummer flödade över" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Gör iordning volym nummer %d för %s och tryck vagnretur:" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Filslut vid förväntat användarsvar" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "VARNING: Arkivet är ofullständigt" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -734,66 +739,66 @@ msgstr "" " q Avsluta programmet\n" " y eller nyrad Fortsätt\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Starta ett underskal\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Skriv denna lista\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Ingen ny volym; avslutar.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Filnamn inte angivet, försök igen.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Ogiltig indata. Skriv ? för hjälp.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "kommandot \"%s\" misslyckades" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s fortsätter möjligen i denna volym: huvudet innehÃ¥ller ett trunkerat namn" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s fortsätter inte i denna volym" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s har fel storlek (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Denna volym kommer inte i rätt ordning (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arkivet är inte märkt för att stämma med %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Volym %s överensstämmer inte med %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -801,402 +806,426 @@ msgstr "" "%s: filnamnet är för lÃ¥ngt för att lagras i huvudet för ett GNU " "multivolymsarkiv, trunkerat" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "skrivning stannade inte pÃ¥ en blockgräns" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Kunde bara läsa %lu av %lu byte" msgstr[1] "Kunde bara läsa %lu av %lu byte" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "InnehÃ¥llet är olika" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Oväntat filslut i arkivet" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Filtyper är olika" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Rättigheterna är olika" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid är olika" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid är olika" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Modifieringstiderna är olika" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Storlekarna är olika" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Inte länkad till %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Symboliska länkar är olika" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Enhetsnummer är olika" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Verifierar " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Okänd filtyp \"%c\" jämförd som en normal fil" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arkivet innehÃ¥ller filnamn med inledande prefix borttaget." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Arkivet innehÃ¥ller förÃ¥ldrade \"base-64\"-huvuden" +msgstr "Arkivet innehÃ¥ller konverterade filnamn." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Verifiering kan misslyckas med att hitta originalfiler." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "VERIFIKATIONSFEL: %d felaktigt arkivhuvud upptäckt" msgstr[1] "VERIFIKATIONSFEL: %d felaktiga arkivhuvuden upptäckta" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Ett ensamt nollblock vid %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: innehÃ¥ller en cachekatalog-tagg %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "%s är utanför intervallet för %s: %s..%s, byter till %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%s är utanför intervallet för %s: %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Genererar negativa oktala värden i arkivhuvudet" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: filnamnet är för lÃ¥ngt (max %d); inte arkiverad" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: filnamnet är för lÃ¥ngt (kan ej delas); inte arkiverad" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: länknamn är för lÃ¥ngt; inte arkiverad" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Fil krympte med %s byte, fyller ut med nolltecken" msgstr[1] "%s: Fil krympte med %s byte, fyller ut med nolltecken" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: filen finns pÃ¥ ett annat filsystem; inte arkiverad" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "innehÃ¥llet inte arkiverat" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Okänd filtyp; filen ignorerad" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Det fattas länkar till %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: filen är oförändrad; inte arkiverad" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: filen är själva arkivet; inte arkiverad" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "katalog inte arkiverad" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: fil ändrades under tiden vi läste den" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: socketfil ignorerad" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: door-fil ignorerad" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Hoppar till nästa filhuvud" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Tar bort icke-huvuddata frÃ¥n arkivet" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: orimligt gammal tidsstämpel %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tidsvärde %s är %s sekunder i framtiden" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Oväntad inkonsistens när katalog skapades" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Katalog bytte namn innan dess status kunde extraheras" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Extraherar sammanhängande filer som vanliga filer" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Försöker extrahera symboliska länkar som hÃ¥rda länkar" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Kan inte extrahera -- filen fortsätter frÃ¥n en annan volym" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Oväntat huvud för lÃ¥ngt filnamn" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Okänd filtyp \"%c\", extraherad som en normal fil" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Nuvarade \"%s\" är nyare eller lika gammal" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Kunde inte säkerhetskopiera denna fil" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Kan inte byta namn pÃ¥ %s till %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Katalogen har bytt namn frÃ¥n %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Katalogen har bytt namn" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Katalogen är ny" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: filen finns pÃ¥ ett annat filsystem; inte arkiverad" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Katalogen har bytt namn" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Ogiltigt värde pÃ¥ tidsvärde" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Ogiltig modifikationstid (sekunder)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Ogiltig modifikationstid (nanosekunder)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Ogiltigt enhetsnummer" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Ogiltigt inodnummer" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Fält för lÃ¥ngt när ögonblicksfil lästes" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Läsfel i ögonblicksfil" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Oväntat filslut i ögonblicksfil" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Oväntat fältvärde i ögonblicksfil" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Postavslutare fattas" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Felaktigt filformat för inkrementell säkerhetskopiering" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" "Formatversion för inkrementell säkerhetskopiering stöds inte: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "Felaktig dumpkatalog: förväntade \"%c\" men hittade %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Felaktig dumpkatalog: \"X\" duplicerad" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Felaktig dumpkatalog: tomt namn i \"R\"" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Felaktig dumpkatalog: \"T\" föregÃ¥s inte av \"R\"" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Felaktig dumpkatalog: tomt namn i \"T\"" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "Felaktig dumpkatalog: förväntade \"%c\" men hittade dataslut" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Felaktig dumpkatalog: \"X\" används inte" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Kan inte skapa temporärkatalog med mall %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Rensar inte katalog: kunde inte ta status" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: katalogen finns pÃ¥ ett annat filsystem; inte rensad" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Tar bort %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kan inte ta bort" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Utelämnad" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "block %s: ** Block av nolltecken **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "block %s: ** Filslut **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "block %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Blanka i huvud där numeriskt värde av typ %s förväntades" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1204,108 +1233,124 @@ msgstr "" "komplement" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arkivets oktala värde %.*s är utanför intervallet för %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arkivet innehÃ¥ller förÃ¥ldrade \"base-64\"-huvuden" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arkivets \"base-64\"-sträng \"%s\" är utanför intervallet för %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arkivets \"base-256\"-värde är utanför intervallet för %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arkivet innehÃ¥ller %.*s där ett numeriskt värde av typ %s förväntades" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arkivets värde %s är utanför intervallet för %s: %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " länk till %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " okänd filtyp \"%s\"\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--LÃ¥ng länk--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--LÃ¥ngt namn--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Volymhuvud--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Fortsätter vid byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Skapar katalog:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Kan inte avgöra arbetskatalog" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Byter namn pÃ¥ %s till %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Kan inte byta namn till %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Byter namn pÃ¥ %s tillbaka till %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Fil borttagen innan vi läste den" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "barnprocess" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "interprocesskanal" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "kommandot \"%s\" misslyckades" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: fillistan redan läst" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "kan inte sätta tid pÃ¥ \"%s\"" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: filnamnet som lästes innehÃ¥ller nolltecken" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Mönstermatchningstecken används i filnamn" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1313,55 +1358,56 @@ msgstr "" "Använd --wildcards för att slÃ¥ pÃ¥ mönstermatchning, eller --no-wildcards för " "att undertrycka denna varning" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Fanns inte i arkivet" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Nödvändig förekomst hittades inte i arkivet" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Arkivmärkning stämmer inte överrens" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "Att används -C i en fillista är inte tillÃ¥tet med --listed-incremental" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Bara en -C-flagga är tillÃ¥tet med --listed-incremental" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Flaggorna \"-%s\" och \"-%s\" vill bÃ¥da läsa frÃ¥n standard in" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Ogiltigt arkivformat" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU-tillägg önskade i ett inkompatibelt arkivformat" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Okänd citeringsstil \"%s\". Gör \"%s --quoting-style=help för att fÃ¥ en " "lista." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1377,9 +1423,10 @@ msgstr "" " tar -tvf arkiv.tar # Visa filer i arkiv.tar, all information.\n" " tar -xf arkiv.tar # Extrahera alla filer i arkiv.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1399,80 +1446,80 @@ msgstr "" "annars\n" " never, simple gör alltid enkla säkerhetskopior\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Operationsläge:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "visa innehÃ¥llet i arkivet" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "extrahera filer frÃ¥n arkivet" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "skapa ett nytt arkiv" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "visa skillnader mellan filsystemet och arkivet" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "lägg till filer pÃ¥ slutet av arkivet" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "lägg till filer som är nyare än de i arkivet" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "lägg till innehÃ¥llet i en arkivfil till arkivet" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "ta bort frÃ¥n arkivet (inte för arkiv pÃ¥ magnetband!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "verifiera arkivets volymnamn och avsluta." -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Modifiera operationslägen:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "hantera filer med hÃ¥l mer effektivt" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "ÖVRE[.UNDRE]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" "ange vilken formatversion som ska hantera filer med hÃ¥l (implicerar --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "hantera gamla GNU-formatet för inkrementell säkerhetskopiering" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "hantera nya GNU-formatet för inkrementell säkerhetskopiering" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "dumpa nivÃ¥ för \"listed-incremental\" arkiv" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "avsluta inte med felslutstatus p.g.a. oläsbara filer" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1484,121 +1531,132 @@ msgstr "" "list och när en lista av filer anges antingen pÃ¥ kommandoraden eller med " "flaggan -T. Standardvärde för NUMMER är 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "arkivet är sökbart" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "arkivet är inte sökbart" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "kontrollera inte enhetsnummer när inkrementella arkiv skapas" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "kontrollera enhetsnummer när inkrementella arkiv skapas (standardvärde)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Kontrollera överskrivning:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "försök verifiera arkivet efter det skapats" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "ta bort filer efter de sparats i arkivet" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "ersätt inte befintliga filer vid extrahering" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "ersätt inte befintliga filer vid extrahering" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "ersätt inte befintliga filer som är nyare än de som finns i arkivet" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "skriv över befintliga filer vid extrahering" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "ta bort befintliga filer innan de nya extraheras" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "töm kataloghierarkier före extrahering av katalog" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "bevara befintliga katalogers metadata" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "skriv över metadata för befintliga kataloger vid extrahering (standardvärde)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "skriv över befintliga filer vid extrahering" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Välj utdataström:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "extrahera filer till standard ut" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "KOMMANDO" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "extrahera filer till standard in för ett annat program" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ignorera barnprocessers slutstatus" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "behandla slutstats frÃ¥n barnprocesser skiljt ifrÃ¥n noll som fel" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Hantering av filattribut:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "sätt NAMN som ägare för adderade filer" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "sätt NAMN som grupp för adderade filer" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATUM-ELLER-FIL" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "sätt modifieringstid pÃ¥ adderade filer frÃ¥n DATUM-ELLER-FIL" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "RÄTTIGHET" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "sätt (symbolisk) RÄTTIGHET för adderade filer" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METOD" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1608,11 +1666,11 @@ msgstr "" "tiderna efter läsning (METOD=\"replace\", standardvärde) eller genom att " "inte sätta tiderna alls (METOD=\"system\")" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "extrahera inte filers modifieringstid" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1620,21 +1678,21 @@ msgstr "" "försök extrahera filer med samma ägare som i arkivet (standardvärde för " "superanvändaren)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "extrahera filer med dig själv som ägare (standardvärde för vanliga användare)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "använd alltid tal för användar- och gruppnamn" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "extrahera information om filrättigheter (standardvärde för superanvändare)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1642,15 +1700,16 @@ msgstr "" "applicera användarens umask när rättigheter extraheras frÃ¥n arkivet " "(standardvärde för vanliga användare)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "sortera namn som ska extraheras sÃ¥ de passar ihop med arkivet" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "samma som bÃ¥de -p och -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1658,139 +1717,180 @@ msgstr "" "fördröj sättandet av modifikationstider och rättigheter pÃ¥ extraherade " "kataloger till slutet pÃ¥ arkivextraheringen." -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "ta bort effekten av flaggan --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Hantering av filattribut:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Enhetsval och enhetsbyte:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARKIV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "använd arkivfil eller enhet ARKIV" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "arkivfilen är lokal även om namnet har kolon" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "använd KOMMANDO istället för rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "använd KOMMANDO istället för rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "ange enhet och densitet" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "skapa/visa/extrahera ett flervolymsarkiv" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "byt band efter det att NUMMER x 1024 byte skrivits" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "kör kommandofil vid slutet av varje band (flaggan -M sätts ocksÃ¥)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "använd/uppdatera volymnummer i FIL" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Blockhantering:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCK" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "BLOCK x 512 byte per post" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "NUMMER byte per post, multipel av 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ignorera block med enbart nolltecken (betyder filslut)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "omblocka vid läsning (för 4.2BSD-rör)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Val av arkivformat:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "skapa ett arkiv med givet format" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT är ett av följande:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "gammalt V7 format" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU-format enligt tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "Format frÃ¥n GNU tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) format" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) format" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "samma som pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "samma som --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "samma som --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "nyckelord[[:]=värde][,nyckelord[[:]=värde], ...]" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "ange nyckelord för pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "NAMN" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1798,76 +1898,76 @@ msgstr "" "skapa ett arkiv med volymnamnet NAMN. Vid visning/extrahering är NAMN ett " "skalmönster (\"globbing\")" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Komprimeringsflaggor:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "använd arkivsuffix för att bestämma komprimeringsprogram" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "använd inte arkivsuffix för att bestämma komprimeringsprogram" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "filtrera genom PROG (mÃ¥ste förstÃ¥ -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Filval:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "lägg till angiven FIL till arkivet (användbart om FIL börjar med \"-\")" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "KATALOG" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "byt katalog till KATALOG" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "hämta namn att extrahera eller skapa frÃ¥n FIL" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T läser namn Ã¥tskilda med nolltecken, -C obrukbar" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "ta bort effekten av föregÃ¥ende --null-flagga" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "avcitera filnamn som lästs med -T (standardvärde)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "avcitera inte filnamn som lästs med -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MÖNSTER" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "utelämna filer som matchar MÖNSTER" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "utelämna filer som matchar mönster i FIL" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1875,91 +1975,93 @@ msgstr "" "utelämna innehÃ¥llet i kataloger som innehÃ¥ller CACHEDIR.TAG, förutom " "CACHEDIR.TAG själv" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "utelämna allt i kataloger som innehÃ¥ller CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "utelämna kataloger som innehÃ¥ller CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "utelämna innehÃ¥llet i kataloger som innehÃ¥ller FIL, förutom FIL själv" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "utelämna allting i kataloger som innehÃ¥ller FIL" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "utelämna kataloger som innehÃ¥ller FIL" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "uteslut kataloger frÃ¥n versionshanteringssystem" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "exkludera säkerhetskopior och lÃ¥sfiler" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "gÃ¥ inte automatiskt ned i kataloger" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "byt inte filsystem när arkivet skapas" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "gÃ¥ rekursivt ned i kataloger (standardvärde)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "tag inte bort inledande \"/\" frÃ¥n namn" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "följ symboliska länkar, arkivera filerna de pekar pÃ¥" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "följ hÃ¥rda länkar, arkivera filerna de pekar pÃ¥" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "NAMN" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "börja med fil NAMN i arkivet" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "arkivera bara filer nyare än DATUM-ELLER-FIL" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATUM" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "jämför datum och tid endast för dataändringar" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "KONTROLL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "gör säkerhetskopior före borttagning, välj typ av versionshantering" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRÄNG" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1968,99 +2070,102 @@ msgstr "" "säkerhetskopieändelsen (\"~\" om inte ändrad med miljövariabeln " "SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Filnamnstransformationer:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" "ta bort NUMMER stycken inledande komponenter frÃ¥n filnamn före extrahering" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "UTTRYCK" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "använd seds ersättnings-UTTRYCK för att transformera filnamn" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Flaggor för filnamnsmatchning (pÃ¥verkar bÃ¥de uteslutnings- och " "inkluderingsmönster):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "matcha gemener och versaler lika" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "mönster mÃ¥ste matcha i början pÃ¥ filnamn" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "matcha gemener och versaler olika (standardvärde)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "använd jokertecken (standardvärde för uteslutning)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "ordagrann strängjämförelse" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "jokertecken matchar inte \"/\"" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Informativ utskrift:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "visa namn pÃ¥ alla filer som behandlas" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "NYCKELORD" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "varningskontroll" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" "visa förloppsmeddelande efter varje grupp om NUMMER poster (standardvärde 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ÅTGÄRD" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "utför ÅTGÄRD vid vare kontrollpunkt" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "visa ett meddelande om inte alla länkar arkiverats" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2071,31 +2176,35 @@ msgstr "" "totalt antal byte när SIGNAL levereras. TillÃ¥ta signaler är: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Namn utan SIG-prefix accepteras ocksÃ¥." -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "visa filers modifieringstid i UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "visa full upplösning pÃ¥ filtider" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "skicka informativa meddelanden till FIL" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "visa blocknummer inom arkivet för varje meddelande" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "frÃ¥ga efter bekräftelse för varje steg" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "visa standardvärden för \"tar\"" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2103,31 +2212,31 @@ msgstr "" "vid visning eller extrahering, visa varje katalog som inte matchar " "sökkriterium" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "visa fil- eller arkivnamn efter transformering" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STIL" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "sätt citatstil för namn. Se nedan för giltiga vären pÃ¥ STIL." -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "citera även tecken i STRÄNG" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "citera inte tecken i STRÄNG" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Kompatibilitetsflaggor:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2135,62 +2244,55 @@ msgstr "" "vid skapande, samma som --old-archive. Vid extrahering, samma som --no-same-" "owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Andra flaggor:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "begränsa användningen av eventuellt farliga flaggor" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Du kan endast ange en av flaggorna \"-Acdtrux eller \"--test-label\"" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Motstridiga komprimeringsflaggor" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Okänt signalnamn: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Tidsfil hittades inte" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Använder %s istället för okänt datumformat %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Flagga %s: Tolkar tidsangivelse \"%s\" som %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: fillistan redan läst" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: filnamnet som lästes innehÃ¥ller nolltecken" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "filtrera arkivet genom %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Giltiga argument till flaggan --quoting-style är:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2198,51 +2300,48 @@ msgstr "" "\n" "*Denna* tar har standardvärdena:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Ogiltig ägare" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Ogiltig blockfaktor" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Ogiltig bandlängd" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Felaktigt värde fär inkrementell nivÃ¥" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Mer än en datumgräns" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Ogiltig version för filer med hÃ¥l" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve=\"system\" stöds inte pÃ¥ denna plattform" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint-värdet är inte ett heltal" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Ogiltig grupp" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Ogiltiga rättigheter givna för flagga" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Ogiltigt nummer" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Ogiltig ägare" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2250,120 +2349,150 @@ msgstr "" "Flaggan --preserve är förÃ¥ldrad, använd --preserve-permissions --preserve-" "order istället" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Ogiltig poststorlek" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Poststorlek mÃ¥ste vara en multipel av %d" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Ogiltig antal element" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Endast en --to-command flagga tillÃ¥ten" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Ogiltig densitetsangivelse: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Okänd densitet: \"%c\"" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Flaggorna \"-[0-7][lmh]\" stöds inte av *detta* tar-program" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FIL]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Gammal flagga \"%c\" kräver ett argument" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence är meningslöst utan en fillista" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence kan inte användas i det begärda operationsläget." -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Multipla arkivfiler kräver \"-M\" flaggan" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Kan inte kombinera --listed-incremental med --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "--level är meningslös utan --listed-incremental" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Volymnamn är för lÃ¥ngt (maxlängd är %lu byte)" msgstr[1] "%s: Volymnamn är för lÃ¥ngt (maxlängd är %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Flervolymsarkiv kan inte verifieras" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Komprimerade arkiv kan inte verifieras" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Mönster %s kan inte användas" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Kan inte använda komprimerade flervolymsarkiv" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Komprimerade arkiv kan inte slÃ¥s samman" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option kan bara användas pÃ¥ POSIX-arkiv" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option kan bara användas pÃ¥ POSIX-arkiv" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option kan bara användas pÃ¥ POSIX-arkiv" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option kan bara användas pÃ¥ POSIX-arkiv" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Mönster %s kan inte användas" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Volymlängden kan inte vara mindre än poststorleken" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order är inte kompatibel med --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Vägrar fegt att skapa ett tomt arkiv" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Flaggorna \"-Aru\" är inkompatibla med \"-f -\"" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Du mÃ¥ste ange en av flaggorna \"-Acdtrux\" eller --test-label" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Avslutar med felstatus pÃ¥ grund av tidigare fel" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2375,114 +2504,110 @@ msgstr[1] "%s: Filen krympte med %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "Nyckelordet %s är okänt eller inte ännu implementerat" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Tidsstämpel är utanför giltigt intervall" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Mönster %s kan inte användas" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Nyckelord %s kan inte ersättas" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Felaktigt utökat huvud: längd saknas" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Längd pÃ¥ utökat huvud är utanför giltigt intervall" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Längd %.*s pÃ¥ utökat huvud är utanför giltigt intervall" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Felaktigt utökat huvud: blanktecken efter längdangivelse saknas" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Felaktigt utökat huvud: likamedtecken saknas" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Felaktigt utökat huvud: nyrad saknas" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Ignorerar nykelord \"%s\" i utökat huvud" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Genererat nyckel/värde-par är för lÃ¥ngt (nyckel=%s, längd=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Utökat huvud %s=%s är utanför intervallet %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Felaktigt utökat huvud: ogiltig %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Felaktigt utökat huvud: för mÃ¥nga %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Felaktigt utökat huvud: ogiltigt %s: oväntad avskiljare %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Felaktigt utökat huvud: ogiltigt %s: udda antal värden" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: ogiltig timeout" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: okänd kontrollpunktsÃ¥tgärd" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "skriv" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "läs" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Kontrollpunkt för skrivning %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Kontrollpunkt för läsning %u" @@ -2626,7 +2751,7 @@ msgstr "Nummer utanför giltigt intervall: %s" msgid "Negative size: %s" msgstr "Negativ storlek: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "status (stat) kunde ej tas pÃ¥ %s" @@ -2655,8 +2780,8 @@ msgstr "Okänt datumformat" msgid "[ARGS...]" msgstr "[ARGUMENT...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "kan inte öppna \"%s\"" @@ -2670,65 +2795,93 @@ msgstr "kan inte flytta (seek)" msgid "file name contains null character" msgstr "filnamnet innehÃ¥ller nolltecken" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "kan inte skapa filer med hÃ¥l till standard ut, använd flaggan --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "felaktig mask (nära \"%s\")" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Okänt fält \"%s\"" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "kan inte sätta tid pÃ¥ \"%s\"" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "kan inte ta bort \"%s\"" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "kommandot \"%s\" misslyckades" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "kan inte ta bort \"%s\"" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Kommandot avslutades utan fel\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Kommandot misslyckades med slutstatus %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Kommandot terminerades av signal %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Kommandot stoppades av signal %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Kommandot dumpade minnet\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Kommandot avslutade\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat kräver filnamn" -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Katalog borttagen innan vi läste den" +#~ msgid "Cannot get working directory" +#~ msgstr "Kan inte avgöra arbetskatalog" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "sortera namn som ska extraheras sÃ¥ de passar ihop med arkivet" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Fält för lÃ¥ngt när ögonblicksfil lästes" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Läsfel i ögonblicksfil" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Oväntat fältvärde i ögonblicksfil" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Längd pÃ¥ utökat huvud är utanför giltigt intervall" + +#~ msgid "Invalid group" +#~ msgstr "Ogiltig grupp" diff --git a/po/tar.pot b/po/tar.pot index fd497c59..7b89ef3a 100644 --- a/po/tar.pot +++ b/po/tar.pot @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#: src/create.c:1552 +#: src/create.c:1572 #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,64 +30,63 @@ msgid "ambiguous argument %s for %s" msgstr "" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr "" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr "" -#: gnu/argp-help.c:1684 +#: gnu/argp-help.c:1686 #, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "" @@ -99,7 +98,7 @@ msgstr "" msgid "give a short usage message" msgstr "" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "" @@ -120,17 +119,16 @@ msgstr "" msgid "print program version" msgstr "" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "" @@ -138,62 +136,62 @@ msgstr "" msgid "write error" msgstr "" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "" @@ -209,28 +207,30 @@ msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "" @@ -240,7 +240,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "" @@ -250,7 +250,7 @@ msgstr "" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "" @@ -509,7 +509,12 @@ msgstr "" msgid "Cannot connect to %s: resolve failed" msgstr "" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, c-format +msgid "Cannot redirect files for remote shell" +msgstr "" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "" @@ -558,8 +563,8 @@ msgstr "" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "" @@ -567,8 +572,8 @@ msgstr "" msgid "set debug level" msgstr "" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -583,7 +588,7 @@ msgstr "" msgid "cannot open %s" msgstr "" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "" @@ -592,9 +597,9 @@ msgstr "" msgid "Garbage command" msgstr "" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "" @@ -632,63 +637,63 @@ msgstr "" msgid "Archive is compressed. Use %s option" msgstr "" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "" msgstr[1] "" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -696,623 +701,662 @@ msgid "" " y or newline Continue operation\n" msgstr "" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr "" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr "" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "" msgstr[1] "" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "" -#: src/compare.c:464 +#: src/compare.c:471 #, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "" -#: src/compare.c:526 +#: src/compare.c:533 msgid "Archive contains transformed file names." msgstr "" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "" -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "" msgstr[1] "" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "" msgstr[1] "" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "" -#: src/extract.c:1379 +#: src/extract.c:1542 #, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "" -#: src/incremen.c:485 +#: src/incremen.c:549 #, c-format -msgid "%s: Directory has been renamed" +msgid "%s: Directory is new" msgstr "" -#: src/incremen.c:530 +#: src/incremen.c:566 #, c-format -msgid "%s: Directory is new" +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" msgstr "" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +msgid "Invalid modification time" msgstr "" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" msgstr "" -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 +msgid "Unexpected EOF in snapshot file" msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 -msgid "Unexpected EOF in snapshot file" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" msgstr "" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "" #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr "" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr "" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "" -#: src/names.c:590 +#: src/names.c:360 +msgid "command line" +msgstr "" + +#: src/names.c:378 +#, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "" + +#: src/names.c:448 +#, c-format +msgid "cannot split string '%s': %s" +msgstr "" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" -#: src/tar.c:81 +#: src/tar.c:86 #, c-format -msgid "Options `-%s' and `-%s' both want standard input" +msgid "Options '-%s' and '-%s' both want standard input" msgstr "" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "" -#: src/tar.c:250 +#: src/tar.c:255 #, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" -#: src/tar.c:348 +#: src/tar.c:364 msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1321,9 +1365,9 @@ msgid "" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -#: src/tar.c:357 +#: src/tar.c:373 msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1333,79 +1377,79 @@ msgid "" " never, simple always make simple backups\n" msgstr "" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1413,558 +1457,607 @@ msgid "" "command line or via the -T option; NUMBER defaults to 1" msgstr "" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "" + +#: src/tar.c:474 +msgid "don't replace existing files when extracting, silently skip over them" msgstr "" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" -#: src/tar.c:473 +#: src/tar.c:490 +msgid "preserve existing symlinks to directories when extracting" +msgstr "" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "" -#: src/tar.c:517 -msgid "sort names to extract to match archive" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "" -#: src/tar.c:530 +#: src/tar.c:554 +msgid "Handling of extended file attributes:" +msgstr "" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +msgid "don't strip leading '/'s from file names" msgstr "" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +msgid "patterns match after any '/' (default for exclusion)" msgstr "" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +msgid "wildcards do not match '/'" msgstr "" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +msgid "wildcards match '/' (default for exclusion)" msgstr "" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -1972,291 +2065,307 @@ msgid "" "accepted" msgstr "" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "" - -#: src/tar.c:1135 +#: src/tar.c:1108 #, c-format -msgid "%s: file list already read" +msgid "Option %s: Treating date '%s' as %s" msgstr "" -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" msgstr "" -#: src/tar.c:1402 +#: src/tar.c:1295 +msgid "Invalid owner or group ID" +msgstr "" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "" -#: src/tar.c:2145 +#: src/tar.c:2133 #, c-format -msgid "Unknown density: `%c'" +msgid "Unknown density: '%c'" msgstr "" -#: src/tar.c:2162 +#: src/tar.c:2150 #, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "" -#: src/tar.c:2293 +#: src/tar.c:2306 #, c-format -msgid "Old option `%c' requires an argument." +msgid "Old option '%c' requires an argument." msgstr "" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, c-format +msgid "--occurrence cannot be used with %s" msgstr "" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +msgid "Multiple archive files require '-M' option" msgstr "" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "" msgstr[1] "" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, c-format +msgid "--verify cannot be used with %s" +msgstr "" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "" -#: src/tar.c:2492 +#: src/tar.c:2478 +msgid "--acls can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2483 +msgid "--selinux can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2488 +msgid "--xattrs can be used only on POSIX archives" +msgstr "" + +#: src/tar.c:2493 +#, c-format +msgid "--%s option cannot be used with %s" +msgstr "" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2268,114 +2377,110 @@ msgstr[1] "" msgid "Keyword %s is unknown or not yet implemented" msgstr "" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "" -#: src/xheader.c:621 +#: src/xheader.c:740 #, c-format -msgid "Ignoring unknown extended header keyword `%s'" +msgid "Ignoring unknown extended header keyword '%s'" msgstr "" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "" @@ -2507,7 +2612,7 @@ msgstr "" msgid "Negative size: %s" msgstr "" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "" @@ -2536,8 +2641,8 @@ msgstr "" msgid "[ARGS...]" msgstr "" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "" @@ -2551,62 +2656,72 @@ msgstr "" msgid "file name contains null character" msgstr "" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, c-format +msgid "cannot truncate `%s'" +msgstr "" + +#: tests/genfile.c:701 +#, c-format +msgid "command failed: %s" +msgstr "" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "" diff --git a/po/tr.gmo b/po/tr.gmo index 149cc32b6d6f78fb23d28d2e173eb93d34037e65..0a893fd820af9e6c3537c46467cb4fb115110806 100644 GIT binary patch delta 19240 zcmbuF2YeMp{=oMIf*7h0dRt0D0!c`yA=Ch&NC{PGDx17b^2jUUm4pQ3;h`dMC&~&o z5EKO)N_?n@2x@}o*}HexPVZE(oZi_^ywm^px3e!sMNdEf{qW0oW_EUG=GSKS>C^vC zcyd>h=$q}DZgpvz=1S1CY?#|t(_)mz>$FjCIZ!bfc1Gly1iQcj_yoKFCc^<4n$`@C zgF2iHd%;rJ60Uc66&GP$trh$|#r$yTYPDQ8mDYG<2e2GwcBOLKLAr1bf0~U@H6= z%1V=&MIKCtG7&c%4%fr;;SneU^vFSLFc+r7IZ!mQ3cBHCQ3_~7`xwdux(?Pf{%M2x z(-)es2yTF)sgIycsL2pbtAu@^OyF8L79NH&&^Jzd%1}+Cs7-}!;c6(){{b?j7QK^# z4D=@K4HJfG+6dSWqBU(PloxJ-XTy7;^poXw1AU;FYAlomxS=d)wZq$Bf9kJ5tfqYn zb(p~*X^gMUR0XXPw&TW5C=c8Nd%)vRZ1-=6opY5#=E5el=RwiHSjZYQ1Bw%FgW{w+ zU~724!^fbE^D-R8_}U2y;ynFEDpgH`m|45f;XXK;`WsMe+7-i#3Wvb~a6aq=qfiFE z8lC}ffTH?6umB#1qDdVOM2XtjFpu%IwG>2U4?{tfI6&&GQbNk8J>i_;J2_1?3qt4fmu*A8-Vhj?NHux2ulBF@}rv8l)^t~ zXbC@q;#ArMW$UI;r`iij_>6}g;2bC~D24c?wjTC|M`03t8_EJcg7aaEiE3iYAQ7xp zK$+O?Cq(zl&~5M zWq<-G6JG+wM5~|Z zGn5G>F2n;TiBGl!^QkiptNLrY1NRwvzatPeE2z1e-xWlo>~$*l;5h@4XF*CSG>< z6%-S6Ia_fol)O<4heHdpLhT7iL~H+o1d5h5U4^+14r6?68wE*?Pr-C}3J!q%W@uUn z7Q%d32W4W3GgW@*3Plq`VM|y5MI&=zQy74t*{SzBS3Oq=he-TyqA-XKN1-^)Cr}3d3TDFgEW0Dj zhvGyFp-iX>iUu}0_YXk{v*#f%)>J?CYVF&CBkHKCN|0gNPfM=o~F+mDE z6Ap7Y4vOukIV^-O>I+~2JQqsX?tn7DAEAWdCs0h)a*3MwV7QF>94J0>5A4MF+FKN4 zMPEUApv6+PvK%NHSmy9@D86wRCc&)p)Qd;L?$j5;VK4$Eh2H^N!+${Wh5te^RqOMW z3A@6m*mN+3-mn15fTd1{tuUYZJ}6=M36z=t7s`YOT%c?@*5N$ZhxRhK9BzVX@JrYg z_FBe)7Un@Q$*yHi{69s5gvHxXoT#OtY&QmurtX7d;q6c+a1x59Iu@z+(NL$p3Kqca zFbBQ^#kZ1+)t)d3;#OJ_oB|ION7YOc+{!7kpbR({4uzXxZ&(j|!S|p{v>D5gdJdHP zbKr0of<55vP=}Ah3GgHo&1RIS{)?gXTOFm)kHU3OR(=$Yf}g^XFr!pGSOWV}zsli3 zC}H(F6cwkIDHRt&G0k!)?Q0zFg)-sipp5q^6kmvT@Ti&ehGLU(P;6BWB@bNc)USuK z^828?=xr!Y<-*Ws!FEtg(+{S>ISy;!BFjL z61IU?K>7aEc2P)#&%tK!6*vaI0YwAdf-3b+fLYWRKtfr&7!H8%Kv8+CkkY_#ID+~j zD7L;5ij&?42g5(Z6xbq+{-r|>1+nQlFdJ6F&Tuajn>`F=#&5w{@Dn%>j*X~^Z-Mf{ zYoKWE2;7H>o`5p&$|_FQ@H(i&%U80&!Mj(Yf3eX)8pJ8ygRNofYBgXFcn9@NC>icA zP*nOQ90pTs)Jm5^*(0uUcn2Ip{ZS}k_9dJQlUJ!IS_03a9$kh0#c8gjVIe#KZB?#T zCKwKN+QYCN+zLfwx58xjG?W*;17)S3!|t%-g=!%~piFcElyO$ViST+@4&RDWkO!u( zQQ=euWrfvHG;tfm(Y1q6d?A$yOaGa0C|nMu|4v9!)1HN0;E=UWKgbZ;awtxF0!qK+ zi`2xTD=A1=+y%uHe}l+#Q#DH;&kgB9)vm6PeL7byF}d|4P~W1C==WP`@sWHUi=r>8@eu4 z>wG1J}S2 z@FkcFTVAGAT>x33wgQfWyP!<)ukZ|*umLi@mPA1YXa{G)`A}?o6PyTNg`%Nu8&$l| zfO5YI%Ea%4VxoH34Soarz)qV~dma?$UIE9zC*XM4{P*ZzW;l()WVjMGg-2m8SP%Qc zze9Pj`5)AaCqwDyfr-!$o5L^^U$_v8Mh-(U+2>HgvESutQ(Fi{6I(7v|1#49G-Se8 z;S89#S>^D#P*xg+Iy?ZynO=qx1)o9DOxr8e{e0M#dJ#;8At)NU4od%fV1M{5Y!AP> z0{t(d(Bew9@0&1%`b|(eJPu{1uft~WTi6;VZc#Q&hSI+~6la_OWx!I{6-J><L$Vr>QzuwdovW(zYaz9??BPyhp;DX zy;U7HGoifyawxuW2uiiol zYND4w(Zr*$BRm0R<=;WkMCvul1o^NN_46U^QLU1KbiC5(a1f?be;MlVJ2(vL*Q)S5 z2TF!3fgRvlC#a69%s4&Wb;=Kmc;RYz-c{}vNXW&#g>ISvKi(z-_J76z(2)2R8VHfxTj5edt zbf=2v7H}~2w(u-C5sIxAz@E?tMWw%oS#TE=Cwvx)6TS>(0dGPH;|{yjKt)hYvl`0t z78K3y-G%-|m4|8Q4eMbq_#SKmo872ZkObv^f2TeTj;3A$#Tj=)F~wI<25x?n+JqLs z&eZooS-@j(1bi2YX?pCAD%DTkt(+qa#T3^=dEie_y!r$zfvs;=6N^C6Ts0I8taa*_ zLRrusU{|;m_J;eRy!Qpz18TRZO|EB@f~aCPl$D!MI$Q#C;ch51eI4pBagSP2DqKf> z9F+Dt*bM$1UI0IYDRBB;HSh{3rrim}_AfxuO!OlP?Iwz^IE#ssKSUkv4itDr3CD%cI)24%owP&D!u90^asmb_jYdOI5r4f#-JehB(t z*E>{vUk1ggZh%wZ%diFPaiYPmZQGsTAc_BZ z6f)?r4)%xpVPE)XC@=gElrZXkms;^im_&UJ6sKG2)P3*_>MI?tg)ZusL2=TJFcZEB z$HA6&VC;!(4hq@sULtc^MU)7YCTZ;{SJz4cf%a`CpaE{1INPAwIngP3Z4mD z+@nm;0g4F*L5ZHTVRROS^%UB|S71B%K5PR|LGgj4n2LrpC{8)W;aVuReE`aPUW8(r zJ_ppqv!KMi7m7yLL7Bi_m<}I3fc`I|@DUASQ6&?aLRqksmkF{>T99I z@x5>w{1_I%5%;T;)P-;|^`kHkHan==^I;nGbx<^W=Rx!@D*J#2QDyoA$_JLf@zmEr zSy??4A8CI`seU}nr(ObOfLmcU{2P?_BtNJ!cc3Jq#D~-_*bj;Z7Q=G58P0^?z`=0Z5%s>+a3J-)@I3e;90PNXss#pM zPwLUDDGZ`;pTqZ{%(Uaf%0?5RPTdEk-{nwNegw({wMUeV`$CDHJeUfLU@y1};Nr~3!->@2cuaZy-=I9N|4}p*C64U^yAza|?{(_Wz+CEI!_IK<<7%bTVG8vk z*a}_-#hbT59X!1Wm)+$WTjI-KzT-^epIy^5tO2hru_@J9%eM^)130(Y5$MY zRw?$E>&8Z%r2Z}nY0jBUwmiSv4obs7kOhU<1pb+o;X6i`ltNyuLixdtNVAhVo$Glv1W z$yMRhCHcIenzY|h_EBDkd`LMTroeN>|GuRVzs{rl1#*OjDNdur__efM1V2VjAZ%>* zmOYjBMU-DdZG9k3Eqp;BA+ACBXqcu!o~0dI2mb%$n{^^b|N}u zuQYJEaNQtnqg7R#P5Bh%mhf#P6bk8$$Ng&W9z4TgG-$HgFk0J4^io%ohmmTpSe8_n=et#u}_i5`a_Wy`V z9+l&8DpH5YwFdb!vKd+Jyg)XnHI(NfU7fZVJm!?StvyV+HPQkoZ;DsN9~$myxZ=cTW3ju%0?wt(Nb! zEr%VPa(sMkBn>U-B-dWbyPXch9QISUv@@Lgdk&@fR>}*Vx))wXTRW$oMLC2_K;-h# zelF6D@&*_B-)T3q3)1*B@(=2H$g`BMK~5naM6Pd;j>w;=_lKoU`y_Z7(t)=A(17ib ziAZ-uHZ%4ntrPc#B0DI{l`i%_QzD1QP|kcW}KQBFLr4o5*5L6?v(eyKOhIWUy2-e+SB1bobpD8k8{5-WjB=TOGI=ZHE6sZ zX-Q=OGLQ0FBz{FG?4Z6EzKDE^EJY^Lb|1Xg>3cSu-UjJK`EfW6eua#2`kBz89=|H7UqR(2 z=~6q2IlEgW-XAiUTFqH zo`7E;q6dPy*9eqU{$5Z&|i zlu#@&b-OFSEZ{Ts3Zs;Xj7|xSP0~_AdgC@{T~$?8S@E^Sr#>hpG-zy6Y)AiPO=Iqi zSc0{DP&;eVp!Yj@{FR2+4 zmyRi+{<=G0hW!2M>GcMxbiON1%XM~H(V#9|X zadnzdO;i*IBB%g2(gP(rFDNyw&xRfB9`O6k;;=-9D2=%Wyp_b5!E4>In})ycI@2dB zkT{M7b9*I3^XE>Pm!&TVnI#c#eC~~POf&}krVNsqSsV#x0HdP9^t+`L4n&H}q!96Y zJ^pg7V5LbPQ=eEkb7uamNz^@IkH1vCS0)i5ibG)|90}>}h{-hD>P)B7gZJoWFc=7i ztZVX?T75??jO`h9mdolgcH2m=US@hL^hikFB)KRah=lHG!nD*RCwMCeQR~*R&s%%P z4M{3$P?+`nxZWKa4657qmZ*%F*8Afwwlgv_w@!uUwDf<@;R&Ycu1$bYHHJj3s)h)9Mc=EFvXsk?)oN;3nGEjCFG ztOJMf8Gg59#ek1q_*j7M6~RC;*3o8qFcIBEtCG0%6stqQLhG7>dlF}h2U-5f{fqtH zYTGuM6XPx~(I}|{NBUVe)CwC`=nJ?#B_6VRUZX~F=TM|V(x&OQmP`ruDJ~~Z+F3P) z7@uu4uIp(jq4Xr{i7DMP4RUYLuiK7lFR{!B5~92w+wr`|-^jbIzfUPhqN_NB87Q$* zrf#yHn)+D_(r`Ri$70jQB+Spuj7MCfMY>HIi_tG$$h&dCc&AKz7qI<1)VSG+RzERq zxUDHO(+Xu*stkBZuM)&gAce@1roY&fW$Bs3kluR?f77-3BoV zS_^00aArJZhpcvmBQ2w_z4cIGYLXov`s8Ud3aqyaM@ES^W>@9$x{Hk3yRwfBL z=+;A|XzMStYog}{WwZ9nW{sMO1(21b{h&F6Hd~S${-iF?1qk@yZ+zB>{>A}+%LIQ- z->9tU*L3_}eSYcw>F=TCCHb)hb7HQRcCeGk#PwqTnLE;DEt~&jLQ2T$xgfWNZ9|pW ztyv2y#ups%Aj7hd?v{!O+DJ~=Dh4eJHSz<)I;q=&p3vygt z?9TCx4%fA3P+^exKRD<0H2XMLQX*RzJC4-wa)ZxsNlvh&XSt)_&HVHtVhfPn$mz~|&FeN*e1`VHe;X+S#giN5e4+)F-s(!lb z#|NQ(R8jgTC+gCWyf(qIicn2AS^-w0Mq4h@FV zt*j*%XV@nNQA5xqIs2vL@w1B?oDKrPaxt^o3j@JwYyXmr?# z6G{JW-5RpAfAgSO!ci$4h@~xks!1$;*(6tios!i4LmrpyR!+ryC;0UR^CxN*K{?>r zouu8KMVQS}JitEGMC6%RiIJR;Kt8W3-qTMqx189VY^M@YiZ>#=ZaBj9DO=s#$5P!U zJB+d&|F3KqdrO@Spn}7cJ*1q!Vz0R~T(PW@R<39m4LKT><=aM6`>Qxeh|W4EQ#4rS z!L}S^R+4J%rO5rbgT>>();#Ik42ss%wTR05w#MxYSsV!l<$ETs?xY5NYt{t|ds>T1 z2M>wA^f!2I?9$TNuGVU!z^iTlvR*2?WjJ}*)T-n!mUY{K!SPPq%Fv5!H!b3<>Bdi- zUiLxFI^yY;FnGB2nrBSzkj$Ly%OL!}5mZ49w24W-m|fbxy!r&h{|HtdZ}@N^iNpv?e&d)Q2Nx5q#E`<*&D# z5h!ObsxkGPtYOxw@_zD-8sgCWlTXx8-Qi%}VIQBUm1ecUNzorPLiM!`2gUfe-08kk zCq(qR!vu1eElMx)1odj8roPr&U+Z(%*9P`p1pf75cqb&~BVY57F1a-Gj zzq7tJ>@&*4hF*7HO)1l0D*n2|HCajZ`)lxOBAa0M^U{#v<&kou0?(U^QX_xpEPZ*{V_Y$;48!k*4K8@kL`>E4OUph5yC^T z$d_%B7Q3VIYJF{uUQVPNep~%P^$E93ef2s|VG1Jarw>HMVDTs9bGA``QE~hk zuW{NT)HiFRXX5>Tc2YljBFe%|uSeA5O#8P^qCqXcFkMICN{xYXl2~=19Fy1ATC1uC zaJ0x1$ME=lW;HHX?rbLh0PZP9z>B@6&tpICD8JE?)svp;KwOPKQGDYb_SdtPwkUt` zv>DT8>QnRQ=f@6IwQ*VQHSK!@ygtK?2k<#8U)F4VUc)D!@1o)pv$M^ zX|_-~zDBAeK5xYFAFHJL$QkwfkKHh%U}mguO~jSyuDg$DBRcH_;PpwFpHo7Fh~c(l zMkmOKL6((eU9swdmh!?-q{bVm-x-O$wJJNI&jh2I9~FWI9wg!H6gl(M*B+xzq*|@l z9350du;ZJKLsuIWcqx8PuRL6x=x0ADGLG$(KxM75$JbOP#QI#cJs~73cX3^oO^*4w@9wy3mwQ>3-z`UJGJ*XR1+Pa^R6L9@cztbCTk8+4 z>pH4#8{atP9=%K@6y0y~xJS)$CiOW|UxkxM8Ptc;kQ$QyNl~a&Chc|6)vTQ+(QEsQX zhCzIhu(B!#YJN@;t!CIg$_+VbsNJc!?l6T$+X*if=VX&mt|glTp@ zc?EUr3uYBew?4lj*D6}mp?jlf6(EfUjx@o@=m!dPS6%?;?B8+X`=Qv@5^}U$? z*iLKDmIZAKg5@};3PyJ1h;?eq(b&6IA6Gvn;J6_3!p$+8e#?Jt|IuvsWk#{br{h_Cz%zkHfsS5uegKd^WB8M?y#$3+_dYCv)$vWg-kM@csLjI$3k?*4;c4jNRD zrA@$F+<`@sA?=hKB6ZjqlHU;c68YIg%&!ZL+)usGCr1%a!!gGvS=Rbwd#?5A_L+Tt z{BuF0r2T4_5rW>2+^5vk#WQ&O^u0e(XWR7b*c{KPy)8QHu>4@kPLv1)g0h%Pc} zWKRj|coM17{so~?+yDCgK%Q}XBzK7W@?HEZpN)?d{dEug%9+LA`b#hUVV}in>5Z59 z!wx^b|1&fB;X}3>VNO51aROu)6K8o*5*6+sWGq9^2`uMDtiQ!Vbu8V`mDZnhYG4-xx?W ztU%=ka;c;)J&oKQmUxwSq{p`G-sJlJd9rsr(U{di`Q6r@xYhlZlOuS}-t?Rw5*oRo z#2H>sIx{QzJ<{3l^&&|Od*(=rX={8F)$wpMe;ZPkYB5ZSBTw z!B1^H?s%qYEO-ApSEBtkYw0cBrpXT<{W;8(*4>8_78xOp!>o^GaHO=qC4=6&!}U8k zIw*ILeb{k!`#a0=BO??$RGX2I;4`duV#iX&SpJ6X_xtp!ei^|d)ej?k4tzFWwqjjQ z9_5l?8$1U8BfST`hW4Wl@$Wh{30`GyqH++H4Ng51yXM{%uGpyi7rUZA(Hpk3mE^Yb zeW|BN29ie|i?gl9jm-u_ySQLAKAl!A5z9Abd^_W~=4_8YNDf-V$0)wggLH9hXM;1y z{^G_9;@Ro7J-OCX2Xn{$KVvl3nhR&DDmidL=LYxT9&_xH@XLA3UM`saJjnLFp6eQxXvyXu|% zCN1$!tNNRKmSr8|pBx<5%(51yS=Ox1mZkECdKr)6Q-rRM@jUzl&%uVhEz8Dc*bN6@ z6D;stjBCjUupNGm*?4Y-l}IIqXIPf%F2R;~Bc6{tFb|)`p4h05Wi`cYqgl^zLwP;ixF6M!4{#W!XIj=$ z9FKayF6@9ukXx+RQ9b`2i?MM(%j%Dns0M7uL3juU;^_p5AtX9-R}U<}LX4t@>JO*} zeu7olB+E4D8oYq~J*Wqt^2(btu7k-BLiMl&_5Etp12?0d^DK79#K$DmlV*(LaO{f| zS$(LraSglB? zqVA}<8-kkaN-w_&dA9Y6r;qVdg9oB|HUk-Ls~k1No3SC@j~a=?I2k`ebts3zp?C@A z@_cIp2}aj?0oB59Pz`8B^R=jkBeP^Jz$thQa*Opm>cQWmdfb;g^#BJo0;{k&-htzAKWfB2L4CjDNb~&> zsQYJNeGFm~T#of{HEQavMjN+}Wc*u@c!Gkq_!6puQ%K{i2Dzq3V=$fkrKpx)hHB6{ zR719+rs5gY;{Dt!w^>kXNIq&x=Ai0dh`PUKRKoOh4+WarBdEDg8*N&efgQ+Cz?QfO zwU{c<@3X8VvaYPQ%$r7HDykzTs0OaW&UhnEzA}}0IJ?6Q6rytjf5(A5A}g> zyxERzQ9bH|-EazOs7p`{aZwfSLv`R`)DRy>HSl@tihn^Z&hN21W-<(N1~SqKD`XOu zi`wUpAPd_%jXGGmO*H319x`gyHOR4U9mApcchrb=pJeuT0jA~_qm=K#^RNT+rXCMM zEy{`5S^Iw$34Ngg>*E$wPqw34z6Uk;FQae&l84o{&v(tD~| z%(GGTY{5==FY5l^q8jiwOsJ);rkS}Nff?i-)S|lyRl(h;webk*!7t)D_==bRqnCdh z8&Lip>VY4jM(UgkP5s?aBRB(XEWD8M*IZmffrfAc>cJ0UCO(Urf-kW*cAIXt)f8M# zem-hMo<%k616<@|d!afuHQ)3&glfq3s42S>)uDs=jQ=Gho}oaCuKP^0nlHu~5 zb^z7D7f>VgcT^8s7nq6$pn5hDHDU{q(Y1o84jn?Rfs?4Ae-|}^trN581&NNR8N2gHd zK+`#9=rU0cnuW_SjN1P%qaOTk)DX9vYZ@>dv&fftZp7u}kD;b=$UN@|N7Z{7^1Ot# zj)eB{J;;`~-oh5x?IJT3IjA8Vjoon`>Ooar`5tUa{wS(}&tq%+C$_=H46n5Dd>o3G z;lAI@1|zOWkAau+ovPvB_$6!oBf7n>2d7;W;aQA4{E_4z66gRK^t z?~g*hYL#Oi9>>)FZ_EnR!7v>4fJHb2x1f4_61DjL;n{qVIhqHcO?f_Qcgz znuc{njpS(Th-IiLxW>zGL5*y3DdVq--l0Hq{ynzD=9iiw?2dZyOwVeZM1B`)gic{s z?6}M<;*t0Oc|U4(xAdEajKa3$OYsz5fo**JN){%}9IhzxUX@UD_cUseeTu56bFryt z3brF3L5<8hFTWi%0uNy)d~I)9|z$r2@+adwWywdg*xfZDKQ66 z7B(lJhq`Y8Ho&!b4&H=ga3l7{SFsg-i`m$u)QsRL)aozBp12mfV`4uEwd8l$3w>qg zh79aRegZzAi{Y7{kV zr2_T6wRi>Y!G3st%-lB<)zE|37f)j%i$trq8Om{}IbVRouo^X#_oLRvtEjpE21jB0 zD)UM<7gf)#s1xof)DU;5HrsMMwj&=vjqH`k(y;EXX8d*IUJ6vf%XkickL|I+3bQ7< zcxGV-%E#b%oR9kc795CAqZ;-l4#xpCW&}zxo4ku-@fd0<(^fM64N3G|X)5fG`Q$@5 z1dpQT@^j3=p_iMJs|3}+TW}ceL(TnPy?nh@X0hd>wx^5Z@D)@;S}{MG%JB&j^+{Zh z8v2`1Lw+BQ!B%&4QhxV#Pjh{)ED2vuGr!_^F}lP^?(i736G-g z|08O(e}}WN)f&sX&d1S=zI@$w&IU& zEpIRt^g<2&6x7gGpnARrGjShIz}K-2w!hK5oc71YZPd%I8WQH;awdxn6R`-pl?f97I=ctDDx!K$|9W%&ZjyCSTnep#IqLzXn zo<MJ=+gus(i=gV5Swek%r}rgAc>BTG;txC*m%8#cfv z6C?(ZIDu;U|Dqn${}ywiO+n4^3e=E4jM}d6pek&As~O@9)R2zG?l=j%VF}j5HK>lQ z$GNx{XJFzx5(`L7bk&=nyDC#8fpjCAlJ)3hPwYWmSDq8=D{J< zNJUURuJQ5-q`?Vm4GAr>n^7&_hkC#Z*ag4Ef!Kbt>FG37&z7P-UyUR14%AxtJ=*v^ zYH@bEjTcWGfhs?WYS7!b-pBmEM?%{xywwc-Ce#-nz*hJyw!uH+Z2Sy$G*7tQG~h}s zAio3EuupLaHrr;VbRyd1SEB0Oh8^)CY{T=dmq;wY_plR=zQZ)+VjM|6f=zHgR^X%9 z7BjY+KP1MWw$*iL<1MI$9K_c6D(e3CaSZ+oTVU=E#y_3JbP`%T^F5cMk9-Nv#WK{C z9L2Ht5o*LTcbW&z@?4Hpl;4VaP@`Su^E}l3WvHpV8OPyMyO{qANcirwEOwAJ4t0RM zjE(R+JP#Y(WrnO9jwYXrGqD;qMbBV!d=tCihp08taJO+Bs-7CuNV%v6?%bU)N9x-Y z^q}A?)ZBE~V-BLh$f;{B!D0A5)?k;r&HcBb*2WRkoWG3Iu)#g%Z@~hbLVgqG;#;Ui z+J3KTz_4M#847RR1ZGHeC&F!InjccNq#5x!{>1cevKN!dHcD4lW{_Wkz41EihWk--{UU00 zzlGW*pP{BG^8uqD=aAomGw|=&A4fcBI_%&Ho^Nd<(T5NG2h0$zM{UC+_*Z-bGkyHm zuY+ds{ZG=|XFp^{X13=l&%LO{_bO_?H$G%K)Dtyzqp&IZQUCvw6(*q`Y{gmlns-Cb z!{+645UOWYsQd22?)U)?#6}OB{3vWoehCi8DAvb&u>n4alkhNVO25NIXA-?1F(=zZ z)MDC%gYjk5gX%wOMyNMVCtrY?vTdmQ-p1kB@-cH>OhYwfJ8I68I92!IZ0vo+G+@OM z#$VfGHwBDv>dNvGhp-QEj+d|E)45(+H~y9QKjJiTDe(=V%O(Cq>?96zzs>_)|0bRw zAH%i8mBfCX|8>{HUgazY>m{%76RlM0y_!NcO8oG*!3(u-VWh;r_5^0o=QUTZFL?QVt zcnL9txPz#>4w2Zv=P^S6ZTLO%&v+ls)BI;sSdX}r_!Uui`AM?@QonpY(&v!=jrV!T z^F_*ZD(WhrOb1PSbcvbXJvzL`5}OHK>6E{UR}-t$|2PHr690A-Vhn{_@iRhKFY@`s zzeqPi?cMM70oQFrPvU7Jlg~1UUBn{tI%akKfw-IqQ2v+-xV9135_>3HrunZVQ$t4A z%fxep4vR1`%`1P0^ia|T*c=a_uJOd5iOaqFz9fAQG1<$1MEX%;1fd_NPl&C2_AKf; zSMy&+!N+8(a0+o9=?{s{#6;q0%Jvd<*CV7ylF^B$|H7r~DjY(zA$=D%Cgzh);A}$I zKB7JG8u0|NlxVK`*Y&7((;Cbr1`|Dr)x@1dxq|!7$I(Qb^aq4ZdN@%{JVxkR=&AH- zq6hgAghQmOkZYE~N=&8j0WZ^#^a7$gp=%e>%}eVC;|;=3?53=+c4uEoC!^KawxT zhrIInqz4ke^YX_%w^5cy=!z2GrBXDUvI=6Hmw(=vNWE~}%Lfq(z9M!L=a~;vuSq_v~UiuzxZa{hs zF_&md5K8Om!88tV~O4xs*l)v zwY`{Q;tSG!y_@*l`hlzSQFlxY&JdVw)jIX9{W+?-ukSFGx%mD%3a z!=7Pg&#Z!|eJOKM*C;);%83+)qfW5qOjRp>xh9%5*(?**LS1dCex6lbcDh?Qd7C?C z%Jcn8S$vv;xVPq5V@{};xi4dG80T`QraBxcW(7tw+y;3=-Tb@`?sa)J?jQ16yPxEZ zu3sH;BJQxMUERdg^5hp&U#;hM%Ac2+9}mU?jALCVyfM+z3NRDPvhp)nU0PahC_mYZ zrD1ZZmF`|SysaWQ%h>O6y=30DtSO59jOlR&1G37c2>q& zH!sS`8op#vu%c{92HTigP9#L*ezxu0n+hho ze=S(s&WS`=!c6>6wu9@R^=)$b?15>63jIap@k$<1QW98U2k6{tj*)nX#TK=rPRukh zE6clqy4(W?+9a~m=dr0-Kv8YvqHrh{2?yCzHQM)Qea)+$ug#x4XYRCunU_v1m^p7w z!HoWPl|RUdph3w^XDNrmA$C`|q{LgjA&1(jvD{&?tBp~u_x^S$UQy^IA`FJE)aR)p zmHc>PC=l##J1bcKnn-Hbw{%OO0Vg z7wzoKVr12(M&>`~?753ZHZ68S(Lk&wml}&Q+;1=HJZ^bBoa$pVRzu^pTC-WfbuI8d z%}RYb#)Y6JoqmKRL{dRU8gwXxl^rm3GiOxR(vc@J>;kd3MNO;Y8imMI)1! z747i3gB{!5?_A|BD#>(rm&{8JF0HNC(_g|i;9#WN12XJB#ZHNzvm!Op&WfU7T&pzs z{$&^Wl52xa)7-70-ELv{cyd-{hOZYp%RGbMfx4zC$;1?u)%7kJU*6p3HjU0oZi-I# zxu3;$PYwi&i`eQ>yEvTMrRIK~Z&jc9=uFvvX;WYKxp=3vfg{}a<6{y7vvLM!4IE?- z9GE+FaKD^EIXUUG3bN)nRRJ|WYZ9kXu1)FiEd6h!?i-xbFK00K&G1KKS@RjhKN_+pIKc|PJt3|PBQ%^l}DeWHGVsG{AlF(QM)h@41_8I zHDR`j_u64T4+s4bf4N=mkDS<9dm!jPu`^bCAVR9R_JF%1(Yc?k%6|Dv$M@DA;EQ}A zSbKn~lRFZb_1b93I?;f=lEDbs;qrK>IG%j`>H$7C{n|e6o!5=vh2+9DU3>%1dLhwQ zLfjoVu`}pY*yVvrezP6BJRS`CLuyuqf2Did+G;oN`XkBobupitT)!aM`vyDB4czoZ za?#C^wB$z{5^3%y?s@LSjefU!V>|c$y*=GM8!vO4?(2A7svYr2InVG@rG0#FxZIAf zjE9mqr$w{WY}*iv4EzNHTO0hKQ1wQ?5+i%f^YFyj0lU_*FR?Yp14=BdOe9 z!w)G_S;e_{{IK@CzNQflRB<|(su_1GSDi5@QBH$WW9ipKMbgucZ;phV@}Lv>>FbDU z`1#w2-Z%6l-WF0*nyQ$eIK4=mxj!6?GqdqXJQ$Ds^rb|%BvN&zPHX<@arPGj$MZaR_m1$g*iAlYwL{&$~ zsofc%x`FKqM9jRyf6h zaz@dvVM{RFyh1Q?8LK&;0=ys3O&w1x3Whlrs0i3hxWAT@sMxP1$Iv?wdcqI2`3+~K zv(bL`qM{b3|9Dm;bfDGvD|K$9w$m@ZyrkO0VMEJOw{pUq_4ZQt^1@3Ao1aNC?LX^& zEm__^{_`cq&-1l9qkg@{m~Zn}pH@*Ys(s4a!GEjmXYVq_{s1HX-@jo^h^LMg{iR?Q zFbg%{F5BDEeRc1BV#(f zzQ281^2P@fz6@_HIOgwII615K!MXXh58B6%*6_2$Sr#(K3O}a}55DAnaB#evm%J(2 zXgbM3iKgm(v>YHs7B z``mYr_H+9`9!)lW;_><;^rJB#b#Ah2A{t14A%8?On~r`a8P^cMH7vDCJ+Tiz*c3D3 z?p4*Tlg}Kx&X+t?+b_+1|Cy)V-~INBWZUN|eK}sU&-@ta6k{c8M~D1&>G8w-{qy6w z%r?K~`NckW)r;X|zmsqJ+%_+5Tav-+n|8R@2y<4KvVViA-EpQxwFj)9-Aa3Z@xGt6 M-PhOs;HBdK2W>D}TL1t6 diff --git a/po/tr.po b/po/tr.po index abf2ec7c..ab630f15 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,22 +1,23 @@ # Turkish translations for GNU tar messages. # Copyright (C) 2007 Free Software Foundation, Inc. -# +# This file is distributed under the same license as the tar package. # Nilgün Belma Bugüner , 2001,..., 2007. -#: src/create.c:1552 +# Volkan Gezer , 2013. +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.18\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2007-07-09 11:30+0300\n" -"Last-Translator: Nilgün Belma Bugüner \n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2013-03-09 15:51+0100\n" +"Last-Translator: Volkan Gezer \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: KBabel 1.11.4\n" +"X-Generator: Lokalize 1.5\n" #: gnu/argmatch.c:135 #, c-format @@ -29,36 +30,35 @@ msgid "ambiguous argument %s for %s" msgstr "`%2$s' için %1$s argümanı belirsiz" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Geçerli argümanlar:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s değeri %s değerinden küçük ya da ona eşit" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT parametresi bir değer gerektirir" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT parametresi pozitif olmalı" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: ARGP_HELP_FMT ile belirtilen parametre bilinmiyor" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT bozuk: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -66,31 +66,31 @@ msgstr "" "Uzun seçenekler için zorunlu veya isteğe bağlı olan argümanlar kısa " "seçenekler için de geçerlidir." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Kullanımı:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " -msgstr " veya: " +msgstr " veya: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [SEÇENEK...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' veya `%s --usage' yazın.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "" "Yazılım hatalarını <%s> adresine,\n" "çeviri hatalarını adresine bildiriniz.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Bilinmeyen sistem hatası" @@ -102,7 +102,7 @@ msgstr "bu yardım iletisi gösterilir" msgid "give a short usage message" msgstr "kısa bir kullanım iletisi gösterilir" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "Ä°SÄ°M" @@ -123,117 +123,118 @@ msgstr "SANÄ°YE saniye bekler (öntanımlı 3600)" msgid "print program version" msgstr "sürüm bilgisi gösterilir" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(YAZILIM HATASI) Sürümünü bilmiyor!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: argüman sayısı fazla\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(YAZILIM HATASI) Seçenek tanınmak zorunda!?" #: gnu/closeout.c:114 msgid "write error" -msgstr "" +msgstr "yazma hatası" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' seçeneği belirsiz\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 -#, fuzzy, c-format +#: gnu/getopt.c:626 gnu/getopt.c:630 +#, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' seçeneği argümansız kullanılır\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 -#, fuzzy, c-format +#: gnu/getopt.c:639 gnu/getopt.c:644 +#, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: seçenek `%c%s' argümansız kullanılır\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 -#, fuzzy, c-format +#: gnu/getopt.c:687 gnu/getopt.c:706 +#, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 -#, fuzzy, c-format +#: gnu/getopt.c:744 gnu/getopt.c:747 +#, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: `--%s' seçeneği bilinmiyor\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 -#, fuzzy, c-format +#: gnu/getopt.c:755 gnu/getopt.c:758 +#, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: `%c%s' seçeneği bilinmiyor\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 -#, fuzzy, c-format +#: gnu/getopt.c:807 gnu/getopt.c:810 +#, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: geçersiz seçenek -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 -#, fuzzy, c-format +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: seçenek bir argümanla kullanılır -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 -#, fuzzy, c-format +#: gnu/getopt.c:936 gnu/getopt.c:952 +#, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' seçeneği belirsiz\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 -#, fuzzy, c-format +#: gnu/getopt.c:976 gnu/getopt.c:994 +#, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 -#, fuzzy, c-format +#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "bellek tükendi" #: gnu/openat-die.c:40 -#, fuzzy, c-format +#, c-format msgid "unable to record current working directory" -msgstr "Çalışma dizini değiştirilemez" +msgstr "geçerli çalışma dizini kaydedilemiyor" #: gnu/openat-die.c:59 -#, fuzzy, c-format +#, c-format msgid "failed to return to initial working directory" -msgstr "Çalışılan dizin kaydedilemez" +msgstr "başlangıç çalışma dizinine dönülemedi" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -243,7 +244,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[eEyY]" @@ -253,26 +254,26 @@ msgstr "^[eEyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[hHnN]" #: gnu/version-etc.c:76 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "%s (%s) tarafından paketlenmiş\n" #: gnu/version-etc.c:79 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "%s tarafından paketlenmiş\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: gnu/version-etc.c:86 msgid "(C)" -msgstr "" +msgstr "(C)" #: gnu/version-etc.c:88 msgid "" @@ -283,24 +284,30 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" +"\n" +"Lisans GPLv3+: GNU GPL sürüm 3 veya sonrası .\n" +"Bu ücretsiz bir yazılımdır: değiştirmekte ve tekrar dağıtmakta özgürsünüz.\n" +"Ä°zin verilen yasalar kapsamında hiçbir GARANTÄ°SÄ° BULUNMAMAKTADIR.\n" +"\n" #. TRANSLATORS: %s denotes an author name. #: gnu/version-etc.c:104 #, c-format msgid "Written by %s.\n" -msgstr "" +msgstr "Yazan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:108 #, c-format msgid "Written by %s and %s.\n" -msgstr "" +msgstr "Yazanlar %s ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:112 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "" +msgstr "Yazanlar %s, %s ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -311,6 +318,8 @@ msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -321,6 +330,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"%s ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -331,6 +342,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"%s, %s ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -341,6 +354,8 @@ msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"%s, %s, %s ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -352,6 +367,9 @@ msgid "" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -363,6 +381,9 @@ msgid "" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s ve %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -374,41 +395,42 @@ msgid "" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" +"Yazanlar %s, %s, %s,\n" +"%s, %s, %s, %s,\n" +"%s, %s ve diğerleri.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: gnu/version-etc.c:247 -#, fuzzy, c-format +#, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" -"Yazılım hatalarını <%s> adresine,\n" -"çeviri hatalarını adresine bildiriniz.\n" +"\n" +"Hataları şuraya bildirin: %s\n" #: gnu/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report %s bugs to: %s\n" -msgstr "" -"\n" -"Yazılım hatalarını <%s> adresine,\n" -"çeviri hatalarını adresine bildiriniz.\n" +msgstr "%s hatalarını şuraya bildirin: %s\n" #: gnu/version-etc.c:253 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s ana sayfası: <%s>\n" #: gnu/version-etc.c:255 #, c-format msgid "%s home page: \n" -msgstr "" +msgstr "%s ana sayfası: \n" #: gnu/version-etc.c:258 msgid "General help using GNU software: \n" msgstr "" +"GNU yazılımı kullanımı hakkında genel yardım: \n" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -517,9 +539,14 @@ msgstr "stdÇ" #: lib/rtapelib.c:429 #, c-format msgid "Cannot connect to %s: resolve failed" -msgstr "" +msgstr "%s bağlantısı yapılamadı: çözme başarısız" + +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Uzak kabuk çalıştırılamıyor" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Uzak kabuk çalıştırılamıyor" @@ -529,63 +556,56 @@ msgid "Seek direction out of range" msgstr "Arama yönü kapsamdışı" #: rmt/rmt.c:438 -#, fuzzy msgid "Invalid seek direction" -msgstr "Seçenekte verilen kip geçersiz" +msgstr "Geçersiz arama yönü" #: rmt/rmt.c:446 -#, fuzzy msgid "Invalid seek offset" -msgstr "Geçersiz boyut: %s" +msgstr "Geçersiz arama başlangıcı" #: rmt/rmt.c:452 msgid "Seek offset out of range" msgstr "Arama başlangıcı kapsamdışı" #: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608 -#, fuzzy msgid "Invalid byte count" -msgstr "Kayıt ortamının uzunluğu geçersiz" +msgstr "Geçersiz bayt sayısı" #: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625 -#, fuzzy msgid "Byte count out of range" -msgstr "Arama başlangıcı kapsamdışı" +msgstr "Bayt aralığı aralık dışında" #: rmt/rmt.c:558 -#, fuzzy msgid "Premature eof" -msgstr "rmtd: Dosya sonu belirsiz\n" +msgstr "Erken dosya sonu" #: rmt/rmt.c:601 -#, fuzzy msgid "Invalid operation code" -msgstr "Ana işlem kipi:" +msgstr "Geçersiz işlem kodu" #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" -msgstr "" +msgstr "İşlem desteklenmiyor" #: rmt/rmt.c:664 -#, fuzzy msgid "Unexpected arguments" -msgstr "Arşivde beklenmeyen dosya sonu" +msgstr "Beklenmeyen argümanlar" #: rmt/rmt.c:689 msgid "Manipulate a tape drive, accepting commands from a remote process" -msgstr "" +msgstr "Uzak bir işlem komutları kabul eden, bir kaset sürücüsü değiştir" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "SAYI" #: rmt/rmt.c:697 msgid "set debug level" -msgstr "" +msgstr "hata ayıklama seviyesini ayarla" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -593,14 +613,14 @@ msgstr "DOSYA" #: rmt/rmt.c:699 msgid "set debug output file name" -msgstr "" +msgstr "hata ayıklama çıktı dosyasının adını ayarla" #: rmt/rmt.c:715 rmt/rmt.c:783 -#, fuzzy, c-format +#, c-format msgid "cannot open %s" -msgstr "`%s' açılamıyor" +msgstr "%s açılamıyor" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "argüman sayısı çok fazla" @@ -609,9 +629,9 @@ msgstr "argüman sayısı çok fazla" msgid "Garbage command" msgstr "Bozuk komut" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Bu bir tar arşivi gibi görünmüyor" @@ -649,63 +669,63 @@ msgstr "stdG/stdÇ arşivi doğrulanamaz" msgid "Archive is compressed. Use %s option" msgstr "Aeşiv sıkıştırılmış. %s seçeneğini kullanın" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Sıkıştırılmış arşivler güncellenemez" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Bandın başlangıcında, şimdilik çıkıyor" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Çok hata var, çıkıyor" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Kayıt uzunluğu = %lu blok" msgstr[1] "Kayıt uzunluğu = %lu blok" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Arşivde hizalanmamış blok (%lu bayt)" msgstr[1] "Arşivde hizalanmamış blok (%lu bayt)" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "Arşiv dosyası geri alınamaz; -i olmaksızın okunamayabilir" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek bir kaydın sınırında durmadı" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: geçersiz bölüm numarası içeriyor" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Bölüm numarası kapsamdışı" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "#%d. bölümü %s için hazırlamak istiyorsanız return tuşuna basınız: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Kullanıcı cevabı beklenirken dosya sonuna gelindi" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "UYARI: Arşiv eksik" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -716,468 +736,491 @@ msgstr "" " q Uygulama sonlandırılır\n" " y veya İşlem sürdürülür\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! bir alt kabuk açılır\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Bu listeyi basar\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Yeni bölüm yok; çıkıyor.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Dosya ismi belirtilmemiş. Tekrar deneyin.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Girdi geçersiz, Yardım için ? yazın.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s komutu başarısız" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s belki de bu bölümde devam ediyor: başlıktaki isim kırpılmış" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s bu bölümde devam etmiyor" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s yanlış uzunluk (%s != %s + %s)" -#: src/buffer.c:1472 -#, fuzzy, c-format +#: src/buffer.c:1473 +#, c-format msgid "This volume is out of sequence (%s - %s != %s)" -msgstr "Bu bölüm sıralama dışı" +msgstr "Bu hacim sıranın dışında (% s -% s =% s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Arşiv etiketi %s ile eşleşmiyor" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "%s bölümü %s ile eşleşmiyor" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "" "%s: dosya ismi GNU çoklu bölüm başlığında saklanamayacak kadar uzun, kırpıldı" -#: src/buffer.c:1865 -#, fuzzy +#: src/buffer.c:1866 msgid "write did not end on a block boundary" -msgstr "rmtlseek bir kaydın sınırında durmadı" +msgstr "yazma bir blok sınırında bitmiyor" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Sadece %2$lu baytın %1$lu baytı okunabildi" msgstr[1] "Sadece %2$lu baytın %1$lu baytı okunabildi" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "İçerikler farklı" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Arşivde beklenmeyen dosya sonu" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Dosya türleri farklı" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Kipleri farklı" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Kullanıcı-kimlikler farklı" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Grup-kimlikler farklı" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Değişiklik zamanları farklı" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Uzunlukları farklı" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "%s'e bağlı değil" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Sembolik bağlar farklı" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Aygıt numaraları farklı" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Doğrulama " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: '%c' dosya türü bilinmiyor, normal dosya olarak karşılaştırıldı" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Arşivdeki dosya isimleri dosya yolu içermiyor." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Arşiv atıl base-64 başlıklar içeriyor" +msgstr "Arşiv dönüştürülmüş dosya adları içeriyor." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Doğrulama, özgün dosyaların konumlanmasında başarısız olabilir." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı" msgstr[1] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "%s de tek başına sıfır bloğu" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: %s arabellekleme dizini yaftasını içeriyor; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "" "%1$s değeri, %3$s..%4$s aralığının %2$s dışında; yerine %5$s kullanılıyor" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "%1$s değeri, %3$s..%4$s aralığının %2$s dışında" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Negatif sekizlik başlık üretiliyor" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: dosya ismi çok uzun (en çok %d olabilir); dökümlenmedi" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: dosya ismi çok uzun (parçalanamıyor); dökümlenmedi" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: bağ ismi çok uzun; dökümlenmedi" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor" msgstr[1] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: dosya farklı bir dosya sisteminde; dökümlenmedi" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "içerik dökümlenmedi" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Bilinmeyen dosya türü; dosya yoksayıldı" -#: src/create.c:1529 -#, fuzzy, c-format +#: src/create.c:1549 +#, c-format msgid "Missing links to %s." -msgstr "%s için bağlar kayıp.\n" +msgstr "%s için bağlar kayıp." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: dosya değişmedi; dökümlenmedi" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: dosya arşivdir; dökümlenmedi" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "dizin dökümlenmedi" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: dosya okundu olarak imlendi" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: soket yoksayıldı" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: kapı yoksayıldı" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Sonraki başlığa atlanıyor" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Arşivden başlık-olmayan siliniyor" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: makul olmayan eski tarih damgası %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: zaman damgası %s %s s gelecekte" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Dizin oluşturulurken anlaşılamayan uyumsuzluk" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: durumu çıkarılamadan dizin ismi değiştirildi" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Bitişik dosyaları normal dosyalar olarak çıkarıyor" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Sembolik bağlar, sabit bağlar olarak çıkarılmaya çalışılıyor" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Dosya çıkarılamaz -- dosyanın başı diğer bölümde" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Umulmadık uzun isim başlığı" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Bilinmeyen dosya türü '%c', normal dosya olarak çıkartılıyor" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Mevcut %s daha yeni ya da yaşıt" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Bu dosyayı yedeklemek mümkün olmadı" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "%s ismi %s olarak değiştirilemez" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Dizinin eski adı %s idi" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Dizin adı değiştirilmişti" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Dizin yeni" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: dosya farklı bir dosya sisteminde; dökümlenmedi" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Dizin adı değiştirilmişti" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Geçersiz zaman damgası" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Değişiklik zamanı (saniye cinsinden) geçersiz" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Değişiklik zamanı (nanosaniye cinsinden) geçersiz" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Geçersiz aygıt numarası" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Geçersiz düğüm numarası" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Anlık görüntü dosyası okunurken alan çok uzun" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Anlık görüntü dosyasında okuma hatası" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Anlık görüntü dosyasında beklenmeyen dosya sonu" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Anlık görüntü dosyasında beklenmeyen alan değeri" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Kayıt sonlandırıcı eksik" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Arttırımlı dosya biçimi hatalı" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Desteklenmeyen arttırımlı biçim sürümü: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "dumpdir bozuk: umulan '%c' ama bulunan %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "dumpdir bozuk: 'X' yinelenmiş" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "dumpdir bozuk: 'R'deki isim boş" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "dumpdir bozuk: 'T' 'R' ile öncelenmemiş" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "dumpdir bozuk: 'T'deki isim boş" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "dumpdir bozuk: umulan'%c' ama bulunan veri sonu" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "dumpdir bozuk: 'X' hiç kullanılmamış" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "%s şablonu kullanılarak geçici dizin oluşturulamıyor" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: dizin temizlenmiyor: durumlama yapılamadı" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: dizin farklı bir aygıtta: temizlenmiyor" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: %s siliniyor\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Kaldırılamaz" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Geçiliyor" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "blok %s: ** NUL bloku **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "blok %s: ** Dosya Sonu **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "blok %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Sayısal %s değeri beklenirken başlıkta boşluklar bulundu" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1185,165 +1228,184 @@ msgstr "" "ediliyor" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Arşiv sekizlik değeri %.*s aralığın %s dışında" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Arşiv atıl base-64 başlıklar içeriyor" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Arşiv imzalı base-64 dizge %s, %s aralığının dışında" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Arşiv base-256 değeri %s aralığının dışında" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Arşiv %.*s içeriyor, halbuki orada sayısal %s değeri bekleniyor" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Arşiv değeri %s %s türünün %s..%s aralığının dışında" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " bağı -> %s \n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " bilinmeyen dosya türü %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Uzun Bağ--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Uzun Ä°sim--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Bölüm Başlığı--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Devamı bayt %s de--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Oluşturulan dizin:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Çalışma dizini değiştirilemez" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "%s %s olarak değiştiriliyor\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Ä°smi %s olarak değiştirilemez" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Gerisin geriye %s %s olarak değiştiriliyor\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Dosya okunamadan kaldırıldı" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "alt süreç" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "süreçlerarası kanal" -#: src/names.c:590 +#: src/names.c:360 #, fuzzy +msgid "command line" +msgstr "%s komutu başarısız" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: dosya listesi zaten okundu" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "zaman `%s' olarak ayarlanamaz" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: okunan dosya ismi boş karakter içeriyor" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" -msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış. Lütfen," +msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış" -#: src/names.c:592 -#, fuzzy +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" -msgstr "ya kalıp eşlemeyi etkin kılmak için --wildcards kullanın," +msgstr "" +"Lütfen ya kalıp eşlemeyi etkin kılmak için --wildcards ya da bu uyarıyı " +"yoksaymak için --no-wildcards kullanın." -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Arşivde yok" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Arşivde bulunması gerekirken yok" -#: src/names.c:645 -#, fuzzy, c-format +#: src/names.c:876 +#, c-format msgid "Archive label mismatch" -msgstr "Arşiv etiketi %s ile eşleşmiyor" +msgstr "Arşiv etiketi uyumsuzluğu" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" +"Bir dosya listesi içerisinde --listed-incremental ile -C seçeneği kullanmaya " +"izin verilmiyor" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "" +"--listed-incremental seçeneği ile sadece bir -C seçeneği kullanılabilir" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "`-%s' ve `-%s' seçeneklerinin ikisi de standart girdi istiyor" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Geçersiz arşiv biçimi" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "GNU özellikleri ile uyumsuz arşiv biçimi" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Sarmalama şekli `%s' bilinmiyor. Listeyi almak için `%s --quoting-" "style=help' yazın." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1360,9 +1422,10 @@ msgstr "" " tar -tvf arşiv.tar # arşiv.tar içindeki dosyalar listelenir\n" " tar -xf arşiv.tar # arşiv.tar'dan tüm dosyalar çıkarılır\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1381,79 +1444,79 @@ msgstr "" " nil, existing numaralıysa numaralı, değilse basit yedekleme yapılır\n" " never, simple daima basit yedekleme yapılır\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Ana işlem kipi:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "bir arşiv içeriğini listeler" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "bir arşivdeki dosyaları çıkarır" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "yeni bir arşiv oluşturur" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "arşiv ile dosya sistemi arasındaki farklar bulunur" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "dosyaları arşivin sonuna ekler" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "sadece arşivdeki kopyasından daha yeni dosyalar eklenir" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "bir arşive tar dosyaları ekler" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "arşivden siler (teyplerde değil!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "arşiv bölüm etiketini sınar ve çıkar" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "İşlem değiştiriciler:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "seyrek dosyalar verimli şekilde elde edilir" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "ANA[.ALT]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "kullanılacak seyrek biçim sürümü ayarlanır (--sparse uygular)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "GNU eski tarz arttırımlı yedekleme tanınır" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "GNU yeni tarz arttırımlı yedekleme tanınır" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" -msgstr "" +msgstr "oluşturulan listed-incremental arşivi için döküm seviyesi" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "dosyalar okunamadığında sıfırdan farklı bir değerle çıkılmaz" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1465,121 +1528,131 @@ msgstr "" "ve dosyaların listelenmesi sırasında ya komut satırından ya da -T seçeneği " "üzerinden belirtilir. SAYI öntanımlı olaral 1'dir." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "arşiv arama yapılabilen türde" -#: src/tar.c:437 -#, fuzzy +#: src/tar.c:453 msgid "archive is not seekable" -msgstr "arşiv arama yapılabilen türde" +msgstr "arşiv aranabilir değil" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" -msgstr "" +msgstr "artımlı arşivler oluştururken aygıt numaralarını denetleme" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" -msgstr "" +msgstr "artımlı arşivler oluştururken aygıt numaralarını denetle (öntanımlı)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Üsteyazma denetimi:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "yazdıktan sonra arşivi doğrulamaya çalışır" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "arşive eklendikten sonra dosyalar silinir" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "çıkarılırken mevcut dosyalar değiştirilmez" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "çıkarılırken mevcut dosyalar değiştirilmez" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "arşivdeki kopyalaraından daha yeni dosyalar değiştirilmez" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "çıkarılırken mevcut dosyaların üzerine yazılır" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "çıkarılmadan önce mevcut dosya silinir" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "dizin çıkarılmadan önce alt dizinleri silinir" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "mevcut dizinlerin öznitelikleri korunur" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "çıkarılırken mevcut dizinlerin metaverisinin üzerine yazılır (öntanımlı)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "çıkarılırken mevcut dosyaların üzerine yazılır" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Çıktı akımını seçiniz:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "dosyalar standart çıktıya çıkarılır" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "KOMUT" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "çıkarılan dosyaları başka bir uygulamaya borular" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "altsüreçlerin çıkış kodları yoksayılır" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "altsüreçlerin çıkış kodları sıfırdan farklıysa hata olarak ele alınır" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Dosya özniteliklerinin elde edilmesi:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "Ä°SÄ°M eklenen dosyaların sahibi yapılır" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "Ä°SÄ°M eklenen dosyaların grubu yapılır" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DOSYA-TARÄ°HÄ°" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "DOSYA-TARÄ°HÄ°nde eklenen dosyalar için mtime ayarlanır" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "KÄ°P" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "KÄ°P eklenen dosyaların (sembolik) kipi yapılır" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "YÖNTEM" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1589,32 +1662,33 @@ msgstr "" "değerine getirerek (YÖNTEM='replace' öntanımlıdır) ya da ilk yerindeki " "zamanı değiştirmeyerek (YÖNTEM='system')." -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "dosya değişiklik zamanı çıkarılmaz" -#: src/tar.c:505 -#, fuzzy +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" -msgstr "sahibi aynı olan dosyalar çıkarılmaya çalışılır" +msgstr "" +"dosyaları arşivde bulunduğu gibi aynı sahiplikle çıkarmayı deneyin (yetkili " +"kullanıcı için öntanımlı)" -#: src/tar.c:507 -#, fuzzy +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" -msgstr "dosyalar sizin sahipliğinizde çıkarılır" +msgstr "" +"dosyalar sizin sahipliğinizde çıkarın (normal kullanıcılar için öntanımlı)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "kullanıcı/grup isimleri yerine daima numaraları kullanılır" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "dosya izinleri ile ilgili bilgileri çıkarır (root kullanıcısı için öntanımlı)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1622,15 +1696,16 @@ msgstr "" "arşivden çıkarılırken izinlere kullanıcıların umask'ı uygulanır (sıradan " "kullanıcılar için öntanımlı)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "isimler arşivdeki sırasına göre çıkarılır" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "-p ve -s birlikte verilmiş gibi olur" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1638,139 +1713,180 @@ msgstr "" "herşey çıkarılana kadar çıkarılan dizinlerin izinleri ve değişiklik " "zamanlarının değiştirilmesi geciktirilir" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "--delay-directory-restore seçeneğinin etkisi iptal edilir." -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Dosya özniteliklerinin elde edilmesi:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Aygıt seçimi ve aygıt değiştirme:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARŞİV" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "arşiv dosyası ya da ARŞİV aygıtı kullanılır" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "bir iki nokta üstüste içerse bile arşiv dosyası yereldir" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "rmt yerine rmt KOMUT kullanılır" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "rsh yerine uzak uçta KOMUT kullanılır" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "sürücü ve yoğunluk belirtilir" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "çok bölümlü arşivi oluşturur/listeler/çıkarır" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "SAYI x 1024 bayt yazıldıktan sonra band değiştirilir" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "her bandın sonunda betiği çalıştırır (-M uygular)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "DOSYAda bölüm numarası kullanılır/güncellenir" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Aygıtın blok düzeni:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOK" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "kayıt başına BLOK x 512 bayt" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "512'nin katları olarak kayıt başına BOYUT bayt" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "arşivdeki sıfırlı bloklar yoksayılır (dosyasonu anlamında)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "okunmuş olarak yeniden bloklanır (4.2 BSD boruları için)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Arşiv biçimi seçimi:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "BİÇİM" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "belirtilen biçimin arşivi oluşturulur." -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "BİÇİM şunlardan biri olabilir:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "eski V7 tar biçimi" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "tar <= 1.12 için GNU biçimi" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x biçimi" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) biçimi" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) biçimi" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "pax ile aynı" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr " --format=v7 ile aynı" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "--format=posix ile aynı" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "isim[[:]=değer][,isim[[:]=değer]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "pax anahtar sözcüklerini denetler" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "METÄ°N" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1778,171 +1894,172 @@ msgstr "" "arşivi METÄ°N bölüm ismiyle oluşturur; listeleme/çıkarma sırasında METÄ°N, " "bölüm ismini genelleme kalıbı olarak kullanılır" -#: src/tar.c:614 -#, fuzzy +#: src/tar.c:660 msgid "Compression options:" -msgstr "Sıkıştırma seçenekleri çelişiyor" +msgstr "Sıkıştırma seçenekleri:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" -msgstr "" +msgstr "sıkıştırma programını bulmak için arşiv sonekini kullan" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" -msgstr "" +msgstr "sıkıştırma programını bulmak için arşiv sonekini kullanma" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "UYG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "arşivi UYG üzerinden geçirir (UYG -d kabul etmeli)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Yerel dosya seçimi:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "belirtilen DOSYA arşive eklenir (isim bir tire ile başlıyorsa kullanışlıdır)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DÄ°ZÄ°N" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "DÄ°ZÄ°N dizinine geçilir" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" -msgstr "" +msgstr "önceki --null seçeneği etkisini devre dışı bırak" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "ŞABLON" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "yafta dosyası hariç, CACHEDIR.TAG içeren dizinler dışlanır" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "DOSYA'nın kendisi hariç, DOSYA içeren dizinlerin içerikleri hariç tutulur" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "DOSYA içeren dizinler hariç tutulur" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" -msgstr "" +msgstr "sürüm denetimi sistem dizinlerini hariç tut" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" -msgstr "" +msgstr "yedek ve kilit dosyalarını hariç tut" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "arşiv oluşturulurken yerel dosya sisteminde kalınır" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "dosya isimlerinin başındaki `/'lar ayrılmaz" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "" "sembolik bağlar izlenir; hedeflerindeki dosyalar arşivlenir ve dökümlenir" -#: src/tar.c:687 -#, fuzzy +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "" -"sembolik bağlar izlenir; hedeflerindeki dosyalar arşivlenir ve dökümlenir" +"sembolik bağları izle; hedeflerindeki dosyaları arşivle ve şuraya atıfta " +"bulunan dosyaları dökümle" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "ÜYE-Ä°SMÄ°" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "arşivin ÜYE-Ä°SMÄ° üyesinden başlanır" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "sadece DOSYA-TARÄ°HÄ°nden daha yeni dosyalar saklanır" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "TARÄ°H" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "sadece veri değişecekse tarih ve saat karşılaştırılır" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "DENETÄ°M" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "kaldırılmadan önce DENETÄ°M sürümü seçilerek yedeklenir" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "DÄ°ZGE" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1950,98 +2067,100 @@ msgstr "" "kaldırmadan önce uygun sonekle yedekleme yapılır (SIMPLE_BACKUP_SUFFIX ortam " "değişkeni ile belirlenmemişse sonek olarak '~' kullanılır" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Dosya ismi dönüşümleri:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "çıkarılırken dosya isimlerinden baştaki SAYI bileşen ayrılır" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "Ä°FADE" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "dosya isimleri dönüştürülürken sed değiştirme Ä°FADEsi kullanılır" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Dosya ismi eşleştirme seçenekleri\n" "(içerme ve dışlama kalıplarının her ikisi de etkili):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "harf büyüklükleri önemsenmez" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "dosya isminin başlangıcına uyan kalıplar" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "bir /'dan sonra şablonla eşleşen kalıplar (dışlama için öntanımlı)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "birebir dizge eşleme" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "'/' ile eşleşmeyen genelleme kalıpları" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Bilgilendirme çıktısı:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "işlenen dosyalar ayrıntılı listelenir" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" -msgstr "" +msgstr "ANAHTAR SÖZCÜK" -#: src/tar.c:741 -#, fuzzy +#: src/tar.c:787 msgid "warning control" -msgstr "Üsteyazma denetimi:" +msgstr "uyarı denetimi" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "her SAYIncı kayıtta gelişim iletisi gösterilir (öntanımlı: 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" -msgstr "" +msgstr "İŞLEM" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" -msgstr "" +msgstr "her kontrol noktasında İŞLEM çalıştır" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "tüm bağlar dökümlenmezse bir ileti basılır" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SiNYAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2052,126 +2171,122 @@ msgstr "" "alındığında bayt toplamını basar; Ä°zin verilen sinyaller: SIGHUP, SIGQUIT, " "SIGINT, SIGUSR1 ve SIGUSR2; SIG ile başlamayanları da kabul edilir" -#: src/tar.c:756 -#, fuzzy +#: src/tar.c:802 msgid "print file modification times in UTC" -msgstr "dosya değişiklik zamanları UTC'ye göre basılır" +msgstr "dosya değişiklik zamanlarını UTC'ye göre bas" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" -msgstr "" +msgstr "tüm çözünürlüğü kullanarak dosya zamanını bas" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "ayrıntılı çıktı DOSYAya gönderilir" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "her iletide arşiv içindeki blok sayısı gösterilir" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "her eylemden önce doğrulama istenir" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "tar öntanımlıları gösterilir" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "" "listeleme ya da çıkarma sırasında arama koşuluna uymayan dizinler listelenir" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "dönüşümden sonra dosya ve arşiv isimlerini gösterir" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "ŞEKÄ°L" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "sarmalama şeklinin ismi; geçerli ŞEKÄ°L değerleri için aşağıya bakınız" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "DÄ°ZGEdeki sarmalama karakterlerine ek olarak" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "DÄ°ZGEdeki karakterler için sarmalamayı iptal eder" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Uyumluluk seçenekleri:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "oluştururken --old-archive ile, çıkarırken --no-same-owner ile aynı" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Diğer seçenekler:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "bozuculuk olasılığı olan bazı seçeneklerin kullanımı iptal edilir" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" -msgstr "`-Acdtrux' seçenekleri birden fazla belirtilemez" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" +msgstr "" +"Aynı anda `-Acdtrux' veya `--test-label' seçeneklerinin sadece birini " +"kullanabilirsiniz" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Sıkıştırma seçenekleri çelişiyor" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Bilinmeyen sinyal ismi: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Tarih örnekleri dosyası bulunamadı" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Bilinmeyen tarih biçemi %2$s yerine %1$s kullanılıyor" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Seçenek %s: `%s' tarihi %s olarak ele alınıyor" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: dosya listesi zaten okundu" - -#: src/tar.c:1201 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: okunan dosya ismi boş karakter içeriyor" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 -#, fuzzy, c-format msgid "filter the archive through %s" -msgstr "arşivi gzip üzerinden geçirir" +msgstr "arşivi %s üzerinden filtrele" -#: src/tar.c:1296 -#, fuzzy +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" -msgstr "--quoting-style seçeneği için geçerli değerler:" +msgstr "--quoting-style seçeneği için geçerli argümanlar:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2179,174 +2294,201 @@ msgstr "" "\n" "*Bu* tar için öntanımlılar:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Sahip geçersiz" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Bloklama çarpanı geçersiz" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Kayıt ortamının uzunluğu geçersiz" -#: src/tar.c:1529 -#, fuzzy +#: src/tar.c:1466 msgid "Invalid incremental level value" -msgstr "Arttırımlı dosya biçimi hatalı" +msgstr "Geçersiz arttırımlı seviye değeri" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Birden fazla eşik tarihi" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Seyrek sürüm değeri geçersiz" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' seçeneği bu platformda desteklenmiyor" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint değeri bir tamsayı değil" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s: geçersiz grup" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Seçenekte verilen kip geçersiz" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Sayı geçersiz" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Sahip geçersiz" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" msgstr "" +"--preserve seçeneği kullanılmıyor, yerine --preserve-permissions --preserve-" +"order kullanın" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Kayıt uzunluğu geçersiz" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Kayıt uzunluğu %d nin katları olmalı" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Elemen sayısı geçersiz" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Sadece tek bir --to-command seçeneği kullanılabilir" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Hatalı yoğunluk argümanı: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Bilinmeyen yoğunluk: '%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "`-[0-7][lmh]' seçeneği *bu* tar ile desteklenmiyor" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[DOSYA]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Eski seçenek `%c' bir argümanla kullanılır." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence istenen işlem kipinde kullanılamaz" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Çok sayıda arşiv dosyası `-M' seçeneği gerektirir" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "--listed-incremental ile --newer birlikte kullanılamaz" -#: src/tar.c:2406 -#, fuzzy +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" -msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil" +msgstr "--listed-incremental olmadan --level anlamsızdır" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Bölüm etiketi çok uzun (sınır: %lu bayt)" msgstr[1] "%s: Bölüm etiketi çok uzun (sınır: %lu bayt)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Çok sayıda bölüm içeren arşivler doğrulanamaz" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Sıkıştırılmış arşivler doğrulanamaz" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "%s şablonu kullanılamıyor" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Çok sayıda bölüm içeren sıkıştırılmış arşivler kullanılamıyor" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Sıkıştırılmış arşivler birleştirilemez" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "%s şablonu kullanılamıyor" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" -msgstr "" +msgstr "Hacim uzunluğu kayıt boyutundan daha az olamaz" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" -msgstr "" +msgstr "--preserve-order, --listed-incremental ile uyumlu değil" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Bir boş arşivin oluşturulması ister istemez reddediliyor" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "`-Aru' seçenekleri `-f -' ile uyumsuz" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" -msgstr "`-Acdtrux' seçeneklerinden biri belirtilmeli" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" +msgstr "" +"Aynı anda `-Acdtrux' veya `--test-label' seçeneklerinin sadece birini " +"kullanmalısınız" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" -msgstr "" +msgstr "Önceki hatalar nedeniyle başarısız durumla çıkılıyor" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2358,115 +2500,110 @@ msgstr[1] "%s: Dosya %s baytta kırpılmış" msgid "Keyword %s is unknown or not yet implemented" msgstr "%s anahtar sözcüğü ya bilinmiyor ya da henüz gerçeklenmemiş" -#: src/xheader.c:174 -#, fuzzy +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" -msgstr "Numara izin verilen aralığın dışında: %s" +msgstr "Zaman damgası izin verilen aralığın dışında" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "%s şablonu kullanılamıyor" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "%s anahtar sözcüğü çakıştırılamaz" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Ek başlık bozuk: uzunluk eksik" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Ek başlık uzunluğu izin verilen aralığın dışında" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Ek başlık uzunluğu %*s aralık dışında" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Ek başlık bozuk: uzunluktan sonra boşluk yok" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Ek başlık bozuk: eşit işareti eksik" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Ek başlık bozuk: satırsonu eksik" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Bilinmeyen ek başlık anahtar sözcüğü `%s' yoksayılıyor" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Üretilen isim/değer çifti çok uzun (isim=%s, uzunluk=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Ek başlık %s=%s, %s..%s aralığının dışında" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Ek başlık bozuk: %s=%s geçersiz" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Ek başlık bozuk: %s=%s aşırıya kaçmış" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "Ek başlık bozuk: %s geçersiz: umulmadık %c ayracı" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Ek başlık bozuk: %s geçersiz: değerler tek sayıda" -#: src/checkpoint.c:107 -#, fuzzy, c-format +#: src/checkpoint.c:109 +#, c-format msgid "%s: not a valid timeout" -msgstr "%s: geçersiz grup" +msgstr "%s: geçerli bir zaman çıktısı değil" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" -msgstr "" +msgstr "%s: bilinmeyen kontrol noktası işlemi" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" -msgstr "" +msgstr "yazma" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" -msgstr "" +msgstr "okuma" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Yazma sınama yeri %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Okuma sınaması yeri %u" @@ -2539,17 +2676,15 @@ msgid "Synchronous execution options:" msgstr "Ä°cra eşzamanlama seçenekleri:" #: tests/genfile.c:163 -#, fuzzy msgid "OPTION" -msgstr " [SEÇENEK...]" +msgstr "SEÇENEK" #: tests/genfile.c:164 -#, fuzzy msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -"Belirtilen KOMUT çalıştırılır. --checkpoint ile ve --cut, --append, --touch " +"Belirtilen ARGları çalıştır. --checkpoint ile ve --cut, --append, --touch " "seçeneklerinden biri ile birlikte kullanışlıdır" #: tests/genfile.c:167 @@ -2594,7 +2729,7 @@ msgstr "KOMUT çalıştırılır" #: tests/genfile.c:194 msgid "Unlink FILE" -msgstr "" +msgstr "DOSYA bağlantısını kes" #: tests/genfile.c:244 #, c-format @@ -2611,7 +2746,7 @@ msgstr "Numara izin verilen aralığın dışında: %s" msgid "Negative size: %s" msgstr "Negatif boyut: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) başarısız" @@ -2619,12 +2754,12 @@ msgstr "stat(%s) başarısız" #: tests/genfile.c:268 #, c-format msgid "requested file length %lu, actual %lu" -msgstr "" +msgstr "istenen dosya uzunluğu %lu, asıl %lu" #: tests/genfile.c:272 #, c-format msgid "created file is not sparse" -msgstr "" +msgstr "oluşturulan dosya seyrek değil" #: tests/genfile.c:361 #, c-format @@ -2640,8 +2775,8 @@ msgstr "Bilinmeyen tarih biçimi" msgid "[ARGS...]" msgstr "[ARGÜMANLAR...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "`%s' açılamıyor" @@ -2655,112 +2790,103 @@ msgstr "konumlanamıyor" msgid "file name contains null character" msgstr "dosya ismi boş karakter içeriyor" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "seyrek dosyalar standart çıktıda üretilemez, --file seçeneğini kullanın" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "kalıp yanlış (`%s' yakınında)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Bilinmeyen alan `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "zaman `%s' olarak ayarlanamaz" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "`%s' bağlantısı kesilemiyor" + +#: tests/genfile.c:701 #, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s komutu başarısız" + +#: tests/genfile.c:706 +#, c-format msgid "cannot unlink `%s'" -msgstr "`%s' açılamıyor" +msgstr "`%s' bağlantısı kesilemiyor" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Komut başarıyla sonlandı\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Komut %d çıkış durumu ile başarısız oldu\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Komut %d sinyali ile sonlandırıldı\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Komut %d sinyali ile durduruldu\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Komut bellek dökümü verdi\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Komut sonlandı\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat seçeneği dosya isimleri gerektirir" -#, fuzzy -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: Dosya okunamadan kaldırıldı" +#~ msgid "Cannot get working directory" +#~ msgstr "Çalışma dizini alınamıyor" -#, fuzzy -#~ msgid "Cannot restore working directory" -#~ msgstr "Çalışılan dizin kaydedilemez" +#~ msgid "sort names to extract to match archive" +#~ msgstr "isimler arşivdeki sırasına göre çıkarılır" -#, fuzzy -#~ msgid "Cannot resolve hostname %s" -#~ msgstr "%s ismi %s olarak değiştirilemez" +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Anlık görüntü dosyası okunurken alan çok uzun" -#~ msgid "suppress this warning." -#~ msgstr "ya da bu uyarıyı engellemek için --no-wildcards kullanın." +#~ msgid "Read error in snapshot file" +#~ msgstr "Anlık görüntü dosyasında okuma hatası" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: kuraldışı seçenek -- %c\n" - -#~ msgid "Reading %s\n" -#~ msgstr "%s okunuyor\n" +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Anlık görüntü dosyasında beklenmeyen alan değeri" -#~ msgid "" -#~ "\n" -#~ "Report bugs to <%s>.\n" -#~ msgstr "" -#~ "\n" -#~ "Yazılım hatalarını <%s> adresine,\n" -#~ "çeviri hatalarını adresine bildiriniz.\n" - -#~ msgid "filter the archive through bzip2" -#~ msgstr "arşivi bzip2 üzerinden geçirir" +#~ msgid "Invalid group" +#~ msgstr "Geçersiz grup" -#~ msgid "filter the archive through gzip" -#~ msgstr "arşivi gzip üzerinden geçirir" +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Ek başlık uzunluğu izin verilen aralığın dışında" -#~ msgid "filter the archive through compress" -#~ msgstr "arşivi compress üzerinden geçirir" - -#, fuzzy -#~ msgid "filter the archive through lzma" -#~ msgstr "arşivi gzip üzerinden geçirir" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: kuraldışı seçenek -- %c\n" -#, fuzzy -#~ msgid "filter the archive through lzop" -#~ msgstr "arşivi gzip üzerinden geçirir" +#~ msgid "block size" +#~ msgstr "blok uzunluğu" #~ msgid "Input string too long" #~ msgstr "Girdi dizgesi çok uzun" @@ -2790,17 +2916,34 @@ msgstr "--stat seçeneği dosya isimleri gerektirir" #~ " --version Sürümü basar.\n" #~ " --help Bu iletiyi basar.\n" +#~ msgid "" +#~ "\n" +#~ "Report bugs to <%s>.\n" +#~ msgstr "" +#~ "\n" +#~ "Yazılım hatalarını <%s> adresine,\n" +#~ "çeviri hatalarını adresine bildiriniz.\n" + #~ msgid "Seek offset error" #~ msgstr "Arama başlangıcı hatası" #~ msgid "Premature end of file" #~ msgstr "Dosya sonu belirsiz" +#~ msgid "Reading %s\n" +#~ msgstr "%s okunuyor\n" + #~ msgid "Error is not recoverable: exiting now" #~ msgstr "Hata kurtarılabilir değil: şimdilik çıkılıyor" -#~ msgid "block size" -#~ msgstr "blok uzunluğu" +#~ msgid "suppress this warning." +#~ msgstr "ya da bu uyarıyı engellemek için --no-wildcards kullanın." + +#~ msgid "filter the archive through bzip2" +#~ msgstr "arşivi bzip2 üzerinden geçirir" + +#~ msgid "filter the archive through compress" +#~ msgstr "arşivi compress üzerinden geçirir" #~ msgid "[.]NUMBER" #~ msgstr "[.]SAYI" diff --git a/po/uk.gmo b/po/uk.gmo index ec478670a22384c53e91ca14ddc51302639b7242..a198bae55d51bd3ba65c11ba6cb70c1d7a7bb3f5 100644 GIT binary patch delta 11373 zcmYk?2YgT0|Htw34PqonBKAm(#7YPeJ0h|7jvXt4pjCU6FKSb?Un7(jr6_8Asn#f3 zdympmN~=X%t0mg%ulj$zzvp`V-G@(}=X37;-h1vj=brmb+CML5z5jkz_xB-L7rTrx zFZdCI;X%f1@-rqV+!)pGt6)8h#|dpuu`p)hNz7Z(m{7ci{`d&P@fn6;!6;(_v4&$q zoJrm;%D7Dd3RkJ9gpVD=qK%0lZ;in?67%5YOAucE@5k2rJ_Z zR6{<+I(P+(U`S=Ry+AZa6{I2o^J8bEBg{}Nfs-&2SEBCpFxJMasD^~ns_Iw+Q}8v^ z188L_Ks;5?<8sx>%coEfrX0gW9 z!y%{(Z9>&wM*f+<_z{Fr)$HfvkxLkN4+^@_d@PAOum*mO^pXjTvnQ;B&B^osEgn2y3B+!i{u}*@*lzH~FC+Dne@tbA8ifojk_R8Ky_qL@40J~ic04ey3(@Njgi zFy5({ikd`okO^x}U?e_AHLxT*)quvR6OTtVcnNAwY(X{noRj~9np?#aY(o<8LxNgN<=Ds_XAz5zO7tE-2+Nm^=|R**c&u zxD3?;r%^ZXE2=>{NL?O;2^fvE$+(A7s83-V>dt=00L;hL^?@){SJp*Mp0=pRX&~wX z6HpC*2Q{|aF&vMgK7SX>V%8@1ag0LUNFC%x-6olWE-=(qm?=)4ff|aaU?1 z@DO#UuBLW2hoKr$7S-iVPz@Z3dMC_5-BW^S_CLCgDNU?7fNViGXI-Xe>kC z#&INSy;z3T@dTDdEss2*rW`WyO)8ed4>1l;qgFz{7Is~T!3td8bfYi=rz7*q{Eh0$ zIxX#r))v(h=@^I;P(3mWv*J3`9es=yaXV^m+(7lfBP@j3TG{iIK=o8*bnAm{D9B{g zo%Te{_Nl0b>_LtFIn>g67c~UWFgxaKZO1$q)st0G4Qq#*e95Tuq+wy4fR%7@Yx=)F zg~L?j#%yiuW0DUWlh;FCXgcbH85n~*FamF56y|JehoCyDp(&`(jYd69vr%(w6{=x7 zQ8)Z~Tl!xW2c3!|n2r22YK6Oq>bi%h3uSL-yR;gHlQ+je9E|GHv8V=QUyLY(G;SoXodxF45~-wqwZ)6YO)-1_CH2FX4&Z` zowxz&#A8rhy&m;AUc%D&59*G?y4o8}z`W$$F{hsY!M=hqqfle-cASnb^10Xu-^TKI z33Y*gQIBB+{jH%&LN$CK_Qsj0IdcySV*c*-hN4l&Ct@Y8Zw63M4=iy!jG7#OU@lDU zVNd)z>Voqz4mY9J@Ei8lo=T7B!>;Q48Ay)b&=PTL+w?poQl)>M@K+ zu`Q294MA_zSdMg@jhc+_V>%u}t#nbn?AqQ5`;!kt4apVM=ly!yr=lQg4kh)b|21|a zsHlq{Vm-Wt>bkH#wyRpA>W5=EZpTJ=5vyRKzIF~Y$KvGUk!fNwun9g!HKb-gJ10_6 z*PGSPZNEewp`s)e&oK;(rP`L(Mdbrf`)6Wx+=#l+EeyvOn1o^6wz{@2>iC7I<91*f zJde8bOss>E?litAQs|5N;0i2_CmkQ69;=W6wu^gU5%TG%p;_hB?{vI@YOw!6d%;N5 zTxfx6NM}?}j6$8qy_$l?W}j1W0kv}7N1dqPAUmmQU@&=8)X;RpayZj*8#W}riY2fF z6QeA~<5ujCf-D65W6xSA8O~q87#&AC#Z%L zc+K`)1B@Vl19hRLSP>7Q)|CgS9?SZ=%?n|Gp8v`ein5~)=Ecsat{H$j!Bnh?pP+i` zF4o5XVO6X#%uc>^R1Yo3!nhgp;!$V+70gEN&$I21ff&#AO+E_hfp)0pbSzfFx!4o; zpoXN-aNFe#P(3gNYv2OZx_;Sfx~N2p0y zd7}O0wKJ-rYp@&sF_HdfqMKHe?DzLiQC%HCy%vb-sIeb`>Z#2bjYlvRpI~t;JDJ~R zuo3Ef2k?C?H-#RcM~D2QZ3@qkC&a|f zwJXzFj3>W^^sXr}&zN4g9J}Ik z!fmEf(AarVWAy;}E@AR7w2#qXRQ+_vEy#_U%jk#SU<RXjl5X;Ow=^V3mXxD!+GCXU2<%jiz@BAsQ1 zFSn1W-+OklCZjI201M(H)Kipwg&oqCs0PhJw{~P(XJv)^EztG1DVnq zyEIfoHsBa6{(+rji?I&*Elk20TVn*iffI2lrepri_VJsH z3FL>cFuJzb$JJew!VoGN;vn3PW3lKb_8qVYBgt=LH0IiB^O~q0>V;KtIY!|bY>dyb zJSJ|l3)o=P4PC%yn0>piA#T%-g1US#R=`z`r?3+FGpvXaJM7!79kwJNf%@D*R1ajL z8d%6{UoMTY33+GK~8xqT8tXHLZ9)d;zpc>#XjeA`oKC08mp3f><8xIH1fQA zZN3QgR21B27n(MXQ&4y8#cKEi>P8Cex0b|?sS0@ii@xd1|POhPdb(% zUyhob2e2yo>ph-_LaigV|@Q z1IFVwsIJfdwSBv_z#`JEi*b}Ts?z(P`#(LykaRp|e?l|s--QNqN$me1r ze&*CaN4F{>zqbp;K&(N&ALnBx7R6~d?U=1Xb>Rcl9faPpc`K|>J`!o0*@e2XcYd&M z!{8tJvkZAtY=V!m0@l3EVY=gfx9vi+5yz3=$5EK}lU)g~V*+`fpZPL^t8pL(-?8h) zcpOT80DVJo*LHOVcF}S7>{FDE)5)Kr9>4Lw(9EV3j{Rc476<*RFNJ&W@TXnj;;|Tc3J${wI1=xpdaBP~wyXE!Sn>vc z+wY3|u&|5e{kgB_-KO(8@Q2Yp!a4*)w7pOam&thGMzO^4? zsPC55<(rIi9iL(Y>U(B$`CekHF^>ESmcc-Om#;^vU^cFAKBnN0+i(!>#+q1?U-Tld z8}`D`b_MAO#@uUt*%-@ zp+DZkYS=o^-sxLdnfxZM#k{#)<}~iaTsS3<%eOSo!=mITkr6Vj_^}(c`4Q(->1<1! z^7l5^{qr^=xG7VJ_<~rjO155@|WBD6f}-MQ+Ls+oaOA-lkzd~HTj#w4rl*X z$JW$MrreGw>U^dKv+hz^w9!}-BP_I)*Gt?<2aSK@I(+b8V%65qoyL`kAM zv6a|DXlsVoobnV~-H3~n>k$Qr70y9#P;Nu~|3?3RP4*RW#M!Z(@(bb% z;sSMfu^ax+*}sJR)$KEqk?hkGupU1qDiQiin6|07j5z4zbEx}{GV7V?>vk&ZB9Eo{ zlsKYKIh&T;vqVAa_uxicK~$x@jL`Njktg2`{YeX z4zd3D{-=_`B&D3aJCS#hVYM{xq5kirafG%$$P3df#432zssB$q*=`d1iO;D26MGQ% zDgTAf@D!1SvbIaUpN#)zDqn6n@k-q;ryNavV}jMzu*Cbe_PCum>g2<1weJ<% z(y5D}ZU^Pn&c5B0M>*vLb?-J}Cvl6)M#MMH&JU@3x!t9l^h*Anv%??DQU5oQoANNi zOJtHicaCr8IE(reB8dDOr_Ozo!tYdS8$!$=22-c?{^i!xIav8z%3WXXz!dUx7>>t@ zp_KKG$WCZ`o4Sg`QbL=)J)QEEd_O$h%j9%dW#4tu7@|KBOZ-V)T`a4hJdB8^JQ=lp z?x=EaBFxF(P{k`-6Q}-7r|$48pKD8A!mpDK^PYK%z%C(6+l#{gcACkrBha)kS&=yGE z3)iByM~;&yPosPRKP4&><;nNrCH$WFobtD*tq(Du=toQ=Mo_=X+2?+Zids&x*D;(r zZ2{ytZPE9$gi|h!A?)*aj{g8>Q}-C7@DJi4 z1MNwMazGy9cjD!C-6@a4&cv_m=!)qt55RwjM%3*m22f7KpD+~@@eFGF2wxDnUG)E0 zTW9t;F2oK*e-8M|`9My`F4)XDZUW_}#0~NhPMz=&`KeDMHoQ`Qk8%;}LNOQd8}Ug? ze*8#fFluW~xg(L6*hjoYq)}gs(6QPs6C0>+g?I4fR?p)qm(N|(Nl&vU2jy72=F|l` zu5lD6*&pGYr3<--a=MczkQX6B$*&Oa5{Jnv5MMdRjK=Cj9fiK;eZbC_TRfGuNlKu$ zU$G`}h_V`YhfzMw*=`XJDVNtlY&!fuwnBNmJEEIr_x6eN`gsP_4Dlw`9PRR6t~Jfi zySVPoY~Hk_rCB{uO}couHVJllOEq8R@;q+Q!_%$hd!E9r61@Xk#bon*)&6tOnhtZk zH#_cfdAB9Mo5lNn_wp{!iymIj)t=G0(gyV(k{aGSVnkW*>nY{4dc*rY_wzPN)!K=1dP$LI8X{^?5Zhr6@;`JG?uIq-Ht@BO_2Sv>U)ocC5Z*vaKN zaA=aZ=a+Q?y#JgT;&LtWu2|7KA^GLp4JNRKKO5R$nLu#t{Q>6$Ar1o=U6(goa?v$ E1Nk0#8UO$Q delta 16599 zcmbW72Ygi3wz$uPo&uqSo^S{xfslmIJJO2~Ksr)WCIyn2Ff$26grNwcAOQvlDqTbo zt^|evQi27=2F{?^@Ztp(6h)q>C>D6%I{OS4eE#qM{oeVx=38r@efC~^?X}lA;ok2y zRs7{lMfdqy71vrcP1A!kEg2@))U=O8kJdD4U!JJA2ChfsIsqHN*Wugnb65wykfdpq z;c=+LH((QZ8HU0ttrhFQN3ol>*4$cMl$|utM|;`iH5h{(g-7_K^@FwHSSU_T=Li3^ zr{O?Y4x7WuZ8R+mwt|ge7sycBSSXGxf!*K^*brW9<5m;=NkcsvYP8j~2p9*$VGkGu zhrw8w2W6#eU{|;kiX&gbj<8BQO`8IHLYZJAtPc;tme3C+62HR?Sk>KL(-Khfpg8ap zWGrnT#3$`5$bVYB4w}{s4uxqjA4=rjhvMKBSO}}(g*Y@H_Jq$snfRjF9@iC%|I;WtoL64F`IP_&V!L~m$Kd3TPWm@b_43LIdN?P`@>q$2IJrYC=c$0vX>`KUWOLzDr{^8SPe=9 z!k|Ph8A?)GVFQ>8tHUJ*+5fdDGSPO(f7(HQB$-m^g(9JB#fGts+8D^9v}I62_68Kse}v*# z*nMj6+rlQ;gJCO}0|&shP$u{ciX-8@R7AQ#8Gi~Cht@!MB+An$jo?d=lcb%6;(6uX z%Ht@Lu_luszGxkx^e=$1a0e6zPeF0uI+Sr^`>5mC2iC=&3Y)^hKAeB?e7)Il0!s2- zg3&OzuR3mturYQY7zL+7aeN-E4L3j?mO`1p59`3MVH5Z#tN|nYk&rMEN@Q*Q+-jhw zX^??lg7UyASP@=@q3}Aa0B=Lt>k9qVgi%nA(S0xij)3xfChP>4Kv`)y42J)LvVd>l zXc+8f!^E?xP|m#_if7xP?A?1%j@xf$drQilI5rkmh7+MomEGn9c#jT__ul)7*MO0xX~tH4^r zlw%EH0(Ms@j%UFzI2VS%Wl*-L1j+(7LD_pRYz5E2rp&M15(VnR)n4^6nFU+Zz8rRh zN1?3vM@Vhb8jVoLa2#xby$*JO$6+G;8A@Gg_JGQb6zIgB4SU1ypj$jk8mS6QUl@)( z8HPd|l!(lM@o+tq3)(pyc-Jxt{3Y6#aOu9y~|1mVo zp+T~AE0kmN1{B9`K`BJFN2@(<1(UIdLz#F!Yy)@0>hL_Q1+PNcDs7C)nW|7i-xA6K z2EiIIWeoAJgEE;0DX|Wi1ee2J@CcMW{R2t_g2$?3)d9*x4@0SN#ZaE#1;xSFp)BkM zlpJY1PHo*_C<~ei<@v|lD0NXbz}nCY#lw?OLiMg`zi-+f!%DP&4rSu6pqyvRcr{T& z7=b+y>ToiYt(*sC3zorpa2J#XxnDz(P<{_%VZ#Y3G`-<6HP?lmZmU4(SiF2jiy zqV%9z>4u3aa<9T@?*9NAz&ewZgGo?wVIY)+j)y$z)^brg(r^-nz*}%A44$k87zf4k znNYTB6_iu314;x=LmBW2l$GCt652Xb*k>3AWySeWo?i-Oo{cb>`L&%W66#MO+ofHA zgJI{X%3cWN!B1d2_&sb5qo=7P8wtgc2caChLMU6h9Y(<;P#pXeN^X4*<$h!;$JmY1 z9z_PuhcfVXC|mLYl$FW{pH#ROun8OrWx`x2S-ccV311I;!}G8j)YBE?q2x?^lU<<& zyBBoJgMCn>P%MQq;Xc?HehOpYFHlwznL+u4-JxXlMkt|u8_EhVLg{}4%1RqsRYZoE zEP|3#&p}DP2ARY^7^PpPnqWATiEXe0Tn78VSD>8lidia&YD3w>=1?3+hO*~_U{g2| z%2v!Z@9%;Vnb)8k=StaX0kyMBFhkuK33cpMus_@frQ@$q9EizP z6>k`nf#<_WSPI9%({Lb+%~OuqU^DEepg2$t+r!_XM9Q6PQ%N-v#?#<1?Tt`69D{N^ zKZi0=UAuCyJ(R5(0~6tTDE;4n((h~799GU(k!S_GVNZfx;Cje&ZtV<;cqo}6Yz_y* zK~Pq_8prq1k@LWNn99KzAq;PJ$tD0Tf4`fUV#zDC2wtWvi|mHv3=2sa75h z<#?sQaF_>c!g(+Ou7u*yF_V{IKkOPV71GgAPRV014n7a}Kp$)g=NBkPUV!50hcK4; zwck-9V00n%9Cn6vEDSbFmE3l-RgQFql9W@RIJ5vt=wCGNe+FfupdvL<0+d2C9@d6- z(_RE6LQg@r6p|e%HQ=jILUaa7$gaZ9u)#wrWFui$>@3(8ZiB7iStyaJG)KKd>cIxs zJ)w*{9!kG#SP8C&mEop2?0*lGXK9FqU%*;0_+eE*BH?80p-__Z1t?o^7D^;;!A`L0 zTouv@P?B&S6bH9JIbH9Y_isYk;;4BlDSOT%{`G0F(;$1d6pF{s!C~+q90e=WuOWO8 zN@NP4tYj;c37&%z(o^s6XAo zumpYry--&C#9~zs4#0lce?VDz?<{mQZ$e4Vs!P?M z?e1h0@pKM+5WWMmVeDh-FO*^^q5l$ghczBoIWZJU2MSZJDN#K3Wu% z@z%pl(6XEe5Rok~NzVWCPbkknf>OaOE7Vp@fI)Pe4g1qRr&u}i3bbN>2dBf4E9nD| z!4%kWm73rY*c*HKYWl#_a0KHu^{9n9)@a(t%&(n7xt|U@)~b;H0JE@Lu2Xxv3U>;_Xy`1c{W5lX1fLGo9NSkIqxa21>Ye}F7j8}g*u>W^Uy?5a<3GMHa$gAxxP zhrM7Kl#t#q?dDIbl~`di?ax7(@M9=@S!;vwp{sR;4X{^2X@9}w8OXx5-(V2@0}g?= zp<6s1vQd2`?t(JGAs7w6fem3O8>hoKm<|U)8DKYj5dI1uf}=L8EjbNmVt3i1l5rR8 zhRS_Kxr(nAwRaiR@%i*XUe6qt@a&F~(Z+lK<^$jQ!wSHcGSQJA!ZqLCU@H;3D z#qU(@&q8td3ak!)HtmWp@JWwd15SXuVQ*NOWs4(&;4FB|jdDLqhutbv^I5tM<@~M{-ScM7l!ZA=B*#=k2`9Fg)gogA(s)Fr-(b!+W7+CowJ|tlRY!SqUlpkO>Sob}Zy(6IvG!gcMnXnIh7EXj;!*;NrPaVhEuoL!9m;hka{ot4IQP}c*6@k5Q z81^OTgdILG9fFdK7hr!_?<`-!a5AJmxV7^r57W@#Ltck)9c&G+L2;cNT6)d$K|I1anpzp$BK z^PtE|FF@I|$`{me>;Rv^9s?clCX|VCFY-47^uS)Q_zUHb56bbX{-v@z!ztK>P#ic5 zW8f_q1)G0G{MVuMMTvu-!ekh9NfnBAFa3); zg^~+T!rJg_$X;uIKyj$k6}8ZHSBSra@^uMyvn23E6ZiPR?*|6llRKM^a)NvgQrGU+a{oyNalwK%RuB&4+ z2(n1+D4YnN|4}(u@h6qFwM_PeJ-I&}Zh$+XL}I|ts$V`#z}^6R!?(=#kQ>VG1V_{E zE<%y4KMhyF%Du`Aw8d~g94an%<*$rEG&~Bkpbw_Q&J`@ivD*N1v1?Sc z7+dl%lu&;Rhr^&s7Ht6>2_*+Ufc>PsvPD}52f_jHJY>aM41fN#hS@NW`L*>ZX|Qrt zixG(&I2Zd1(@w2s(dJ>FgEQfS!4~7|^<5}+VN!_2_*8ojMq|f@Dtj=Lm2ZI(k(+Q7 z%m}j>e^noXZV6r8>K5axb_Q&PeF-*)wQ5+5@AghmB4dM+3m-xq{s|kysBnu>A-h2r z_HH;4Hm#{bJr^#*u0XMnEqN5qf?92hTWerppK7ZuSj|6sNG_a%62dVN%62VPsQ_wg%3H60us*Dq`c{2y8zb z2cw&*WPQlw+fcT^-LSdE_(Nhfl;rpdO31pzSd5R!#ZWx|7RsLLu_}8XhTE}s!*}5W zaTcRAN3~EP9sz@CUk;_jm%v8wEM(`jPx*PD{L^X%(Fx-{gcEYl)dzcr+4dqNsu}^( zRtR}cURHr?6$-`D_~Ml|iHcl7^!r??+5(UVzynyu8&S3 z)2PbE^`%L>+2;tnY__$9DcDl&N?<3r1$KmIVc>G3|5N7w73C8+7P*4{INXVJMUpBgSpB2f1PV zL!{(E3xw0B@t)FtMFyh3g!mDunjax$=qHf%=ubk)qt0?4k!0?VR6#P3f6+DeRWDI&cC|5gVIQ7S< zY|`K~Z~OvlNW)#13*ACH$!=WVz?P;??b04YPH=}ZVO*gK#tZBg`UKjgfSp6$Fz-E0 zn@{530YzRoh31V{u;m3qbv3G4M<~}N_5}tE#y0-EA7L~d+FF$(9glwko(PcK?7573M+C?E)NW2 zg5FR!+n!Ok?)<)@G`IGH+2J^>!b9`9F$6u&Y?prLk)M#!w6#HapJ->Xy$G)YwnlzN?}KbW79cMnrL;fLh(Tvy$n`D_vytBD zOOPkfSG8*`Kn0xKb`=_z1B8!kYW*e$;^~H`x3qxGyy=3_8U-~t~PNL5o<0UD^W(7H>JZtoe|cMc)H^nr(6D5$M}sTSTr3IMvnEe}bvB zJ!9H?(1)6O8tj2oMK;O)&*tV~M6O3^{0@dfxeg&=rY?3a@}Vf^r88+`?oT!CRp^z` zvtU*3$@L@p^GY>-dtqNdtId7+f3<0^Ba>;Y4;`=z@&{r=QId;onJ#ziDbwQ5bx`=!!GpI}&qd_cRg|J7++N5e9+UfomJeM$_=9^{X%(p>ZD_D%*Hlsmz73EvaC#1d>HK|h>9g#P89BBr{C8N>U3N#2cWuwj6>D2<89bED>{f@K zYqe#$vOUX3HSo0QJF$f|H$!*X?Ru`A=VoQIPH`|pMseCw^PSoFA*=U3*0+wuJPWLY zt+_>ahMN8NBjHwml_8`-U^HW$cMX>m>|NjQSxZ6|Nhk3yFmsLEx@QMxSc}-`3^LCd z=jk?JN~J7^y&&JSa=`Z5q(e?-PP)nsS5BT)Z{cY+aAYM?*6Q%)4(w7XKBXYnl|w88 z3o+v&$wk)a(-KqS$S+AQ&-S5*tCJqeG7{bMdB+G#l4nxNa<|b%moqV10&b+8#9h3S zlN00Ah8umHjA^tHb)}`*UD^7qRGUk8y4Z_U){G7`Y9A~^FjrUT@K}%h$ z!$C^2k@u!|$?)|R+*Z;eeMUh(BV=ag%$AcmZ65WYz((pgb*CILaUn6$?7&E)2B(Y| z+J9=F-hGFR88LO#m;nO@k5397&3Pp|oN`9f?KYRgp38wLk|TZBDCTU8GPeK7QG?yX zhfVD}eAwub!-pp5g{irmc8NjPU=r14w{dptnVDv8+N=!EkTU{4J0+VFbX!4Qn$^M5 z~&=?NK=7?xqRIdfb^T^S@j&eM8K<6bih?8cg$t|EMuTudTA z1CyF}6OFq)lnWFrDV?dh6zL>ypD`^fx+mBRjNLMlDc_o&lUbzPa%EGv*a?!bcY21) zQ7~JrAu-WKHA~D*O|#|(j*n)HQb6T*nnTEg_DrL+{m194nn%v*oj&3BpqADwDLXDb z&njE1r}R(h(|=^*u-+;CC5`3HU=|T?`lJJuJnyGA_Pmu79-Cpe#mNbC9Au}SVK>g8>cVK+tUI^vw8;#fH(jg3+axBpOKj6tZ_}o0hjy)!+j?^f zI)?Z2FETbXLH8Z^mHFrU%6$9$>-_WmEBtHx3;oOe3;e~pzu0$J_Z{@@^BwX(>MQlV zjYg;wJ!qiXWgO!uuO_6%(-hNLU;gj!m= z4~oBpXCcM!KVHr5c19|*e6#$&KMrIz_Pf~UH6qW?0{^-@3-BExXJo)&`GOKh`BbR0 zJElU7jp}URWI4et^DOW-YGk~C{p-%Gl5`|8Y-QlocslJl6G~!urI{=!_1@fLwFJ|$ zpS>hH9(`{EPw%}?S7+&L1G^}v>ab_Tz9>)1u`ut?d!s{AS4(yoxpItbE0%}L*v)mm zBmU*wD)%qGvMS?)hG>?_ z;Zj*7M^!dfebC(7{q9d1c}foRIz}~X0%0^JWw2sB-l#BZ{43(ctr}EJ$sTrnh4Iz1 z_;~dS?Kc|txYP?2$KoR6}LPc#bN&p?%RpT%j&rtMA_5@q%#|IlvO2H)Bfsd>} zSqb!)v@Y?SJQq*Z_{$*-_T8xnk_kq7{$~&I`lzHh+j!@gNPN_L=itA$e+3Si-)jMf ztam&jsfdSqM$RI^@;}BJjnBG&f7K=Fz75p3Uh#^OSk+n0n?v^1_H&cu0EmDV1vy!yLOPs43$`&}-|a8ln?Dw!W1Y7#N_C25|y zi<^7H-%GCI_EG)sIZ$Rt zzG*d?%!t3d?-{{YK2S2nd=se2{%=Ej@B6T7UfC4 z7U8*iy-5)D{rb6XA)e!xl0EBxjqPa^NGVXf#$?w6QIsKNILUWLFcM$3R}wDpi88IV zXZVRm-o(p=wd&mc!NVg`uv&ZD-Fz<8GvI2I4pIiGt;NhD-!}ddsdWeAXpom>pxoT^ zUF2VP@N6Z^?y7m@nB?dYMkS-<@N&XrU*!ngUCbH0T#w_k`7clW$If~SS+QBB%UhPr JuWtG7zX9e9Xchnf diff --git a/po/uk.po b/po/uk.po index 1bc42cfc..3f4fe333 100644 --- a/po/uk.po +++ b/po/uk.po @@ -3,12 +3,12 @@ # Copyright (C) 2010 Free Software Foundation, Inc. # Sergey Poznyakoff , 2005, 2006, 2007, 2008, 2009, 2010. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" "Project-Id-Version: tar 1.24\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" "PO-Revision-Date: 2010-10-25 15:22+0300\n" "Last-Translator: Sergey Poznyakoff \n" "Language-Team: Ukrainian \n" @@ -30,66 +30,65 @@ msgid "ambiguous argument %s for %s" msgstr "неоднозначний аргумент %s для %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Дозволені аргументи такі:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: значення %s є менше ніж або дорівнює %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: параметр ARGP_HELP_FMT вимагає значення" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: параметр ARGP_HELP_FMT має бути додатнім" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Невідомий параметр ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Хибні дані в ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "" "Аргументи, обов'язкові для довгих ключів, є обов'язковими й для коротких." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Використання:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " чи: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [ОПЦІЯ...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "" "Спробуйте `%s --help' або `%s --usage' для отримання докладнішого опису.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "Про помилки звітуйте на <%s>.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Невідома системна помилка" @@ -101,7 +100,7 @@ msgstr "вивести цю довідку" msgid "give a short usage message" msgstr "вивести коротке повідомлення про використання" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "НАЗВА" @@ -122,17 +121,16 @@ msgstr "зачекати вказану кількість секунд (тип msgid "print program version" msgstr "вивести версію програми" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Невідома версія!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Забагато аргументів\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Опція мала бути розпізнана!?" @@ -140,62 +138,62 @@ msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Опція мала бути msgid "write error" msgstr "помилка запису" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: опція '%s' неоднозначна\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: опція '--%s' не може мати аргументу\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: опція '%c%s' не може мати аргументу\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: опція '%s' вимагає аргументу\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: невідома опція '--%s'\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: невідома опція '%c%s'\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: недійсна опція -- '%c'\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: опція вимагає аргументу -- '%c'\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: опція '-W %s' неоднозначна\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: опція '-W %s' не може мати аргументу\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: опція '%s' вимагає аргументу\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "пам'ять вичерпана" @@ -211,28 +209,30 @@ msgstr "не вдається зберегти поточний каталог" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -242,7 +242,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yYтТ]" @@ -252,7 +252,7 @@ msgstr "^[yYтТ]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nNнН]" @@ -542,7 +542,12 @@ msgstr "stdout" msgid "Cannot connect to %s: resolve failed" msgstr "Не вдалося під'єднатись до %s: неможливо встановити адресу хоста" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Не вдалося запустити віддалену оболонку" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Не вдалося запустити віддалену оболонку" @@ -591,8 +596,8 @@ msgstr "Неочікувані аргументи" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Керує стрічковим пристроєм, отримуючи команди від віддаленого процесу" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "ЧИСЛО" @@ -600,8 +605,8 @@ msgstr "ЧИСЛО" msgid "set debug level" msgstr "встановити рівень налагоджування" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -616,7 +621,7 @@ msgstr "встановити назву файлу для виходу нала msgid "cannot open %s" msgstr "не вдається відкрити %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "забагато аргументів" @@ -625,9 +630,9 @@ msgstr "забагато аргументів" msgid "Garbage command" msgstr "Хибна команда" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Це не схоже на архів tar" @@ -665,19 +670,19 @@ msgstr "Неможливо перевіряти архів, записаний msgid "Archive is compressed. Use %s option" msgstr "Архів стиснений. Використовуйте опцію %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Не можна оновлювати стиснені архіви" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "На початку стрічки, закінчуємо" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Надто багато помилок, виконання перервано" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" @@ -685,7 +690,7 @@ msgstr[0] "Розмір запису = %lu блок" msgstr[1] "Розмір запису = %lu блоки" msgstr[2] "Розмір запису = %lu блоків" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" @@ -693,39 +698,39 @@ msgstr[0] "Невірне вирівнювання блоку (%lu байт) в msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві" msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Не вдалося переміститись назад у архіві; можливо архів не можна прочитати " "без опції -i" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek не зупинився на межі запису" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: містить невірний номер тому" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Переповнення номера тому" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Підготуйте том #%d архіву %s ї натиснить return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Кінець файлу, замість очікуваної відповіді" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "ПОПЕРЕДЖЕННЯ: Незавершений архів" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -736,66 +741,66 @@ msgstr "" " q Перервати роботу\n" " у або новий рядок Продовжувати\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Викликати оболонку\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? Вивести цю довідку\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Новий том відсутній. Завершення.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "Не вказано назви файлу. Спробуйте ще раз.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Недійсні вхідні дані. Наберіть ? щоб отримати підказку.\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "збій виконання `%s'" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "" "%s можливо продовжується у цьому томі: заголовок містить обрізану назву" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s не продовжується у цьому томі" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s є неправильним розміром (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Цей том є за межами послідовності (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Назви тому відсутня в архіві. Не можна порівняти з %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Етикетка тому %s не співпадає з %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -803,11 +808,11 @@ msgstr "" "%s: назва файлу надто довга щоб зберегти її у заголовку тому GNU; назву " "обрізано" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "запис не закінчився на межі блоку" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" @@ -815,77 +820,77 @@ msgstr[0] "Вдалося прочитати тільки %lu з %lu байта" msgstr[1] "Вдалося прочитати тільки %lu з %lu байтів" msgstr[2] "Вдалося прочитати тільки %lu з %lu байтів" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Різниця у змісті" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Неочікуваний кінець файла в архіві" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Різниця у типі файлу" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Різниця у правах доступу" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Різниця у значенні UID" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Різниця у значенні GID" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "Різниця у часі модифікації" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "Різниця у розмірі" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Не є посиланням до %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "Різниця у символічному посиланні" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Різниця у номері пристрою" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Перевірка " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s: Невідомий тип файлу `%c', перевірюється як звичайний файл" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Архів містить назви файлів без попереджуючих префіксів." # FIXME: base=64? -#: src/compare.c:526 +#: src/compare.c:533 #, fuzzy msgid "Archive contains transformed file names." msgstr "Архів містить застарілі заголовки з основою 64" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Перевірка може не знайти первинних файлів." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" @@ -893,47 +898,47 @@ msgstr[0] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірни msgstr[1] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовки" msgstr[2] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовків" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Самотній блок нулів, зсув %s" # Не подобається мені це "кешування"... -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: містить мітку каталогу кешування `%s'; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "Значення %s поза межами діапазону типа %s %s..%s; заміна на %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "значення %s за межами діапазону типа %s %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Створення від'ємних вісімкових заголовків" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s: назва файлу занадто довга (макс. %d); не архівується" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: назва файлу занадто довга (не вдається розділити); не архівується" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: назва посилання занадто довга; не архівується" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" @@ -941,272 +946,297 @@ msgstr[0] "%s: Файл скоротився на %s байт; заповнен msgstr[1] "%s: Файл скоротився на %s байти; заповнення нулями" msgstr[2] "%s: Файл скоротився на %s байтів; заповнення нулями" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: файл знаходиться в іншої файлової системі; не архівується" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "вміст не архівується" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Невідомий тип файла; Файл проігноровано" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Відсутні деякі посилання до %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: файл не змінено; не архівується" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: файл є архівом; не архівується" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "каталог не архівується" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: файл змінився під час читання" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: гніздо ігнорується" # FIXME: door? -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: двері ігноруються" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Перехід до наступного заголовка" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Видалення не-заголовка з архіву" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: неймовірно стара дата %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: мітка часу %s зсунута на %s сек. до майбутнього" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Неочікувана суперечність під час створення каталогу" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Каталог перейменовано перед тим, як tar встиг витягнути його стан" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Витягування безперервних файлів у звичайні" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Спроба перетворити символічні посилання на жорсткі" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Не вдається витягнути -- файл починається в іншому томі" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Неочікуваний кінець файла у заголовку довгої назви" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Невідомий тип файлу `%c', спроба витягнути його як звичайний файл" # FIXME: або сучасний? -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "Існуючий файл `%s' є новіший" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Не вдалося створити резервну копію цього файла" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Не вдається перейменувати %s на %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s: Каталог перейменовано з %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Каталог перейменовано" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: Новий каталог" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: файл знаходиться в іншої файлової системі; не архівується" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: Каталог перейменовано" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "Невірний час файлу" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Невірна дата модифікації (секунди)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Недійсний час модифікації (наносекунди)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Невірний номер пристрою" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Невірний номер і-вузла" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "З файла-знімка прочитано надто довге поле" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Помилка читання файла-знімка" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Неочікуваний кінець файла-знімка" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Неочікуваний кінець файла-знімка" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Бракує ознаки кінця запису" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Неправильний формат файла знімку" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "Такий інкрементний формат не підтримується: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "" "Неправильно сформований dumpdir: очікувалося '%c' натомість знайдено %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "Неправильно сформований dumpdir: 'X' вказаний двічі" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "Невірний формат dumpdir: пуста назва у `R'" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "Невірний формат dumpdir: `T' без попереднього `R'" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "Невірний формат dumpdir: пуста назва у `T'" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "" "Невірний формат dumpdir: очікувалося `%c', натомість знайдено кінець файла" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "Невірний формат dumpdir: `X' не використаний" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Не вдається створити тимчасовий каталог використовуючи шаблон %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Каталог не очищується: не вдалося виконати stat" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: Каталог знаходиться на іншому пристрої: не очищується" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Стирання %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Не вдається видалити" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Пропускається" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "блок %s: ** Містить нулі **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "блок %s: ** Кінець файлу **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "блок %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Пробіли у заголовку замість очікуваного числового значення типу %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" @@ -1214,17 +1244,17 @@ msgstr "" "вважається, що це є двійкове доповнення" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Вісімкове значення %.*s знаходиться поза межами діапазону типу %s" # FIXME: base=64? -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Архів містить застарілі заголовки з основою 64" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "" @@ -1232,94 +1262,110 @@ msgstr "" "типу %s" # FIXME: base-256 -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Значення з основою 256 поза допустимими межами типу %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "Знайдено %.*s замість числового значення типу %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Значення %s поза допустимими межами типу %s %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr "посилання до %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr "невідомий тип файла %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Довге посилання--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Довга назва--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Заголовок тому--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Продовжується з байту %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Створення каталогу:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "Не вдається отримати поточний каталог" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Перейменовано %s у %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Не вдається перейменувати на %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Перейменовано %s назад у %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Файл було видалено перед тим як tar встиг його прочитати" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "процес-нащадок" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "канал між процесами" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "збій виконання `%s'" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: перелік файлів уже прочитано" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "не вдається встановити час файла `%s'" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: прочитана назва файла містить нульовий символ" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Назви файÐ»Ñ–в містять символи-шаблони" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1327,57 +1373,58 @@ msgstr "" "Користайтеся опцією --wildcards аби увімкнути шаблони, або опцією --no-" "wildcards, щоб позбутися цього повідомлення" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Не знайдено в архіві" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Потрібну копію у архіві не знайдено" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Незгідність назви тому" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Використання опції -C у переліку файлів разом з опцією --listed-incremental " "не дозволяється" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Разом з --listed-incremental дозволяється лише одна опція -C" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Обидві опції -%s і -%s вимагають доступу до стандартного входу" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Невірний формат архіву" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Формат архіву є несумісним з розширеними властивостями GNU" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help' аби " "отримати перелік стилів." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1394,9 +1441,10 @@ msgstr "" " # archive.tar\n" " tar -xf archive.tar # Витягує усі файли з archive.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1416,81 +1464,81 @@ msgstr "" " інакше - прості\n" " never, simple завжди створювати прості резервні копії\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Режими роботи:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "вивести вміст архіву" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "витягнути файли з архіву" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "створити новий архів" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "порівняти файли в архіві з файлами у файлової системі" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "долучити файли до існуючого архіву" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "долучати тільки такі файли, що є новішими за їх копії в архіві" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "долучити архів до архіву" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "видалити файли з архіву (не на стрічці!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "перевірити мітку тому та вийти" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Модифікатори режиму роботи:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "заощаджувати простір під час зберігання розсіяних файлів" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "ГОЛОВНИЙ[.ДРУГОРЯДНИЙ]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "встановлює версію формату розсіяних файлів (вмикає --sparse)" # FIXME: incremental -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "обробка старого формату інкрементного архіву GNU" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "обробка нового формату інкрементного архіву GNU" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "рівень архівної копії для створення інкрементного архіву" # FIXME: хммм... -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "ігнорувати помилки читання файлів" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1502,122 +1550,133 @@ msgstr "" "з переліком файлів (у командному рядку або за допомогою опції -T). Типове " "ЧИСЛО: 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "архів підтримує операцію seek" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "архів не підтримує операцію seek" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "не перевіряти номери пристрою під час створювання інкрементних архівів" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "" "перевіряти номери пристрою під час створювання інкрементних архівів (типово)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Керування перезаписом:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "перевірити архів після запису в нього" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "видаляти файли після додавання до архіву" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "не заміняти існуючи файли під час витягування" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "не заміняти існуючи файли під час витягування" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "не заміняти існуючи файли що є новішими за їх копії у архіві" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "перезаписувати існуючі файли під час витягування" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "видаляти кожний файл перед витягуванням його копії" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "спорожняти старий каталог перед витягуванням його копії з архіву" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "зберігати мета-дані існуючих каталогів" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "перезаписувати метадані існуючих каталогів під час витягування (типово)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "перезаписувати існуючі файли під час витягування" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Вибір вихідного потоку:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "витягувати файли у стандартний вивід" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "КОМАНДА" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "передавати витягнуті файли до стандартного вводу іншої програми" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "ігнорувати коди завершення процесів-нащадків" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "вважати ненульовий код завершення нащадка помилкою" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Обробка атрибутів файлу:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "встановлення вказаного користувача власником доданих файлів" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "встановлення групи з вказаною назвою групою власника доданих файлів" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "ДАТА-АБО-ФАЙЛ" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "встановлення часу останньої зміни доданих файлів" # Ну, і чому це CHANGES?? -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "ПРАВА" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "встановлення вказаних символічно прав доступу для доданих файлів" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "МЕТОД" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1627,11 +1686,11 @@ msgstr "" "читання (типово, МЕТОД='replace'), або через запобігання оновленню часу " "(МЕТОД='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "не витягувати час модифікації файлів" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1639,21 +1698,21 @@ msgstr "" "встановлювати власників файлів за даними з архіву (типово для супер-" "користувача)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "стати власником витягнутих файлів (типово для звичайного користувача)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "завжди використовувати числа замість назв власника/групи" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "встановлювати права доступу згідно з даними архіву (типово для супер-" "користувача)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1661,15 +1720,16 @@ msgstr "" "встановлювати права доступу згідно зі значенням umask (типово для звичайного " "користувача)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "витягувати файли у порядку їх з'явлення в архіві" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "те ж, що -p -s разом" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1677,139 +1737,180 @@ msgstr "" "затримати встановлення часу модифікації та прав доступу до каталогів до " "кінця витягування" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "відмінити дії опції --delay-directory-restore" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Обробка атрибутів файлу:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Вибір та зміна пристрою:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "АРХІВ" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "використовувати вказаний файл або пристрій" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "файл архіву є локальним, навіть якщо його назва містить двокрапку" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "використовувати вказану команду замість rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "використовувати вказану команду замість rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "визначає пристрой та густину" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "створити, виводити зміст або витягувати файли з багатотомного архіву" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "змінити стрічку після запису ЧИСЛА x 1024 байтів" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "запускати сценарій наприкінці кожної стрічки (вмикає -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "використовувати/обновляти номер тому у ФАЙЛІ" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Блокування пристрою:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "ЧИСЛО-БЛОКІВ" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "розмір запису ЧИСЛО-БЛОКІВ x 512 байтів" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "встановити розмір запису у блоках по 512 байтів" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файлу)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "розбивати на блоки під час читання (для каналів 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Вибір формату архіву:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "ФОРМАТ" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "створити архів у вказаному форматі" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "ФОРМАТ будь-який з наступних:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "старий формат V7" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "формат GNU, сумісний з версією tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "формат GNU, сумісний з версією tar 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "формат POSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "формат POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "те ж, що і pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "те ж, що і --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "те ж, що і --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "ключове_слово[[:]=значення][,ключове_слово[[:]=значення], ...]\"" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "керування ключовими словами pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "ТЕКСТ" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1817,77 +1918,77 @@ msgstr "" "створити архів з назвою тому \"ТЕКСТ\". Під час виводу змісту або " "витягування, використовувати ТЕКСТ як шаблон пошуку тому" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Опції стиснення:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "вибирати програму стиснення за суфіксом архіву" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "не використовувати суфікс для вибору програми стиснення" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "ПРОГРАМА" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "використовувати ПРОГРАМУ для стиснення/розтискання архіву" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Вибір файлів:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "КАТАЛОГ" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "перейти до вказаного каталогу" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "читати назви файлів для додання/витягування з вказаного файла" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "" "файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами. " "Ця опція вимикає -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "відмінити дію попередньої опції --null" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "усувати цитування з назв файлів прочитаних за допомогою -T (типово)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "не усувати цитування з назв файлів прочитаних за допомогою -T" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "ШАБЛОН" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "не обробляти файли, назви яких відповідають вказаному шаблону" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "виключити назви що відповідають шаблонам, вказаним у файлі" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" @@ -1895,92 +1996,94 @@ msgstr "" "не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого " "файлу" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "не архівувати каталоги, що містять CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "" "не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файлу" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "не архівувати каталоги, що містять ФАЙЛ" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "не архівувати каталоги систем керування версіями" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "не архівувати резерві файли та файли блокування" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "не заходити автоматично у каталоги" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "залишатися у локальної файлової системі під час створення архіву" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "рекурсивно проходити каталоги (типово)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "не видаляти початкову косу риску `/' з назв файлів" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "Йти за символьними посиланнями: долучати файли, на яки вони вказують" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "Йти за жорсткими посиланнями: долучати файли, на яки вони вказують" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "НАЗВА-ФАЙЛУ" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "починати обслуговування архіву з вказаного файлу" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "долучати тільки такі файли, що є новіші за вказану дату або файл" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "ДАТА" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "порівнювати тільки дату і час зміни даних" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "РЕЖИМ" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "перед видаленням створювати резервні файли у вказаному режимі" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "РЯДОК" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1988,98 +2091,101 @@ msgstr "" "перед видаленням створювати резервні файли з указаним суфіксом (типово '~', " "якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Перетворювання назв файлів:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "видаляти вказане ЧИСЛО компонентів з початку назв файлів" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "ВИРАЗ" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "перетворювати назви файлів за допомогою вказаного виразу заміни" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Керування порівнюванням назв (впливає на взірці як вилучення, так і " "долучення):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "шаблони ігнорують відмінності у регістрі символів" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "" "порівнювати шаблони з назвами файлів починаючи від будь-якого / (типово)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "шаблони враховують регістр (типово)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "користатися шаблонами (типово для вилучення)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "порівнювати назви буквально" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "шаблони не стосуються до '/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "шаблони стосуються до '/' (типово)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Інформативний вивід:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "виводити докладну інформацію про оброблені файли" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "КЛ.-СЛОВО" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "керування попередженнями" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "виводити контрольне повідомлення кожне ЧИСЛО записів (типово 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ДІЯ" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "виконати вказану дію у контрольному пункті" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "виводити повідомлення якщо до архіву було додано не всі посилання" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "СИГНАЛ" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2090,31 +2196,35 @@ msgstr "" "- друкувати статистику по отриманню цього сигналу; дозволеними сигналами є " "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 і SIGUSR2, а також ці назви без префікса SIG" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "друкувати час модифікації файлів у UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "друкувати час модифікації файлів у повній вирізняльної здатності" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "виводити детальну інформацію у ФАЙЛ" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "попереджувати кожне повідомлення номером блоку в архіві" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "Запитувати підтвердження кожної дії" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "вивести типові налаштування" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2122,31 +2232,31 @@ msgstr "" "під час виведення змісту або витягування файлів друкувати назви каталогів що " "не відповідають критеріям пошуку" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "показувати перетворені назви файлів" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "СТИЛЬ" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "встановити стиль цитування; дозволені стилі див. нижче" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "цитувати також вказані символи" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "вимкнути цитування вказаних символів" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Опції сумісності:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2154,63 +2264,56 @@ msgstr "" "під час створення архіву, те ж саме, що і --old-archive. Під час " "витягування, те ж саме, що --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Інші опції:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "заборонити користування деякими потенційно небезпечними опціями" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "" "Не можна вказувати більш ніж одну з опцій `-Acdtrux' або `--test-label'" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Опції стиснення конфліктують одна з другою" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "Невідомий тип файла %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Не знайдено файл-зразок дати" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Використовується %s замість невідомого формату дати %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Опція %s: Дату `%s' сприйнято як %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: перелік файлів уже прочитано" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: прочитана назва файла містить нульовий символ" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "фільтрувати архів через %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Допустимими аргументами опції --quoting-style є:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2218,51 +2321,48 @@ msgstr "" "\n" "Типові налаштування *цієї* копії програми:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Невірний власник" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Неправильний фактор блокування" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Неправильна довжина стрічки" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Недійсне значення для рівня архівації" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Більш ніж одна гранична дата" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Недійсна версія формату розсіяних файлів" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "опція --atime-preserve='system' не підтримується на цій платформі" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "аргумент --checkpoint мусить бути цілим числом" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Недійсна група" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Невірний формат прав доступу" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Невірне число" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Невірний власник" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2270,69 +2370,71 @@ msgstr "" "Опція --preserve є застарілою, замість неї використовуйте --preserve-" "permissions --preserve-order" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Невірний розмір запису" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Розмір запису має ділитися на %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Невірна кількість елементів" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Дозволяється лише одна опція --to-command" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Невірний аргумент вказання густини: `%s'" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "Невідома густина: `%c'" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "Опції `-[0-7][lmh]' не підтримуються *цією* версією tar" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[ФАЙЛ]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Стара опція `%c' потребує аргументу" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "вказання --occurrence не має сенсу без вказання переліку файлів" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "" "опцію --occurrence не можна використовувати у зазначеному режимі роботи" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Вказання декількох файлів потребує вказання опції `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Не можна використовувати --listed-incremental разом з --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "Використання --level разом з --listed-incremental не має сенсу" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" @@ -2340,52 +2442,80 @@ msgstr[0] "%s: Мітка тому є надто довга (обмеження msgstr[1] "%s: Мітка тому є надто довга (обмеження в %lu байти)" msgstr[2] "%s: Мітка тому є надто довга (обмеження в %lu байтів)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Не можна перевіряти багатотомні архіви" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Не можна перевіряти стиснені архіви" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Шаблон %s забороняється уживати" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Не можна використовувати стиснення багатотомних архівів" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Не можна з'єднувати стиснені архіви" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Шаблон %s забороняється уживати" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Розмір тому не може бути більшим від розміру запису" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "Опція --preserve-order несумісна з --listed-incremental" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Полохливо відмовляюся створювати пустий архів" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Опції `-Aru' несумісні з `-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "Необхідно вказати одну з опцій `-Acdtrux' або `--test-label'" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Невдачне завершення внаслідок попередніх помилок" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2398,119 +2528,115 @@ msgstr[2] "%s: Файл скоротився на %s байтів" msgid "Keyword %s is unknown or not yet implemented" msgstr "Ключове слово %s не є відоме або ще не реалізоване" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Значення позначки часу поза допустимими межами" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Шаблон %s забороняється уживати" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Не можна перевизначити ключове слово %s" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Невірно сформований розширений заголовок: бракує довжини" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Довжина розширеного заголовку є за межами діапазону" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Довжина розширеного заголовку %*s є за межами діапазону" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "" "Невірно сформований розширений заголовок: відсутній пробіл після довжини" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Невірно сформований розширений заголовок: відсутній знак рівняння" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Невірно сформований розширений заголовок: відсутній знак нового рядка" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Невідоме ключове слово `%s' іґнорується" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Створена пара ключове слово/значення є за довга (ключ=%s, довжина=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "" "Значення розширеного заголовку %s=%s лежить поза допустимими межами типу %s.." "%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Невірно сформований розширений заголовок: недійсна змінна %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Невірно сформований розширений заголовок: зайвий %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Невірно сформований розширений заголовок: змінна %s: неочікуваний розділювач " "%c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Невірно сформований розширений заголовок %s: непарна кількість значень" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: недійсний ліміт часу" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: незнана дія" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "запис" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "читання" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Контрольна відмітка запису %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Контрольна відмітка читання %u" @@ -2653,7 +2779,7 @@ msgstr "Число поза допустимими межами: %s" msgid "Negative size: %s" msgstr "Від'ємний розмір: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "збій виконання stat(%s)" @@ -2682,8 +2808,8 @@ msgstr "Невідомий формат дати" msgid "[ARGS...]" msgstr "[АРГУМЕНТИ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "не вдається відкрити `%s'" @@ -2697,67 +2823,98 @@ msgstr "не вдається виконати lseek" msgid "file name contains null character" msgstr "назва файла містить нульовий символ" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "неможливо створювати розсіяні файли на стандартному виводі; користайтеся " "опцією --file" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "недійсна маска (біля `%s')" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Невідоме поле `%s'" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "не вдається встановити час файла `%s'" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "не вдається видалити `%s'" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "збій виконання `%s'" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "не вдається видалити `%s'" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Команда завершилася успішно\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Команда завершилася з кодом %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Команда завершилася по сигналу %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Команда зупинилася по сигналу %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Команда скинула відбиток пам'яті\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Команда завершилася\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "опція --stat вимагає назв файлів" +#~ msgid "Cannot get working directory" +#~ msgstr "Не вдається отримати поточний каталог" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "витягувати файли у порядку їх з'явлення в архіві" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "З файла-знімка прочитано надто довге поле" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Помилка читання файла-знімка" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Неочікуваний кінець файла-знімка" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Довжина розширеного заголовку є за межами діапазону" + +#~ msgid "Invalid group" +#~ msgstr "Недійсна група" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: Каталог було видалено перед тим як tar встиг його прочитати" diff --git a/po/vi.gmo b/po/vi.gmo index bd446637d6e0d80c1181ed783b0b0f1f082ae008..fd5f38238e7a18f1dc9a84edf1bf066994e901dc 100644 GIT binary patch delta 12304 zcmajkcYIFw-^cNjAVw0zj+G-#5F`>2BS>P`recqZ7>SXn3^nRPDQdfnDvDY)qUAzK zjJ82h)lyv)jkZdcj$flY`;YrP`pNVA`JQu~?>r}0^ze^G?&TM8T`N~~ zrI%${Ufz}!iOtGdmWOhJO&z&kePaczLg;9Rf!H3;;?r0G>ou?}AB;yEJ75rwMn9bE zxB};rZ)#w8M8z!O*=KS6c!I}FBZe5fPFVF1oQp&8 z7^;C9QOp`P!!YcHnu)160_V9XFdNp7s18(ZWLf-YHR8t;I1-2BeAG<+fa*|@Xv@mR zU{nXzU>qJnHT1VrAKKWmC|XZqS)7LY{34`D%e9+=8oGwH&^yMmnqmktYt~@Y4HsZ% zJb=1R!>tCvsHKWS4PXRnK+_y|U>)*LkX5rDpp6Y^q%Q4S-AuvC#&Vq4fcn5btbvzN zYxk#Pm1br`Hp3#+$D(E+4jF@$gxZ9wP@8l;mc}<7PodiR7+cW3b&G;FPe^k!Rh^J! zww`m$!ItD#QEOV2h1V3uU_DI4%IHEhyc&z+E2yd8hVAh(Y9?)VAd_fy##q|7W>CsF@gzdJ^Yi2lSvCx`*meL@P5R15gc3Lv?H)*1*G94L?N} z8`b)af<_R+4pPrsI<|A{iu`9K@djgy~5 z?YVE`nSZUFZ-RNOBCtAnTdax0P(5~Gd0dY+?nO0l5i8(r48jLk25YwFU4jv)nN3IC zXC3N3xv1;Uw{}@pQ3^j%;fKGWHkH-JtaVYeNrO<2PXboNUZ@+4M)svO7i-~hEQJNA z0sMf8=-bwGY#8zcTN6+n+w7vCHT%%1_#4%sy6w!Gg`*m3j2dwwYR$)D2=2qG_$gMw zUoilE*>T!*HTa9p09RuXUuYGirni&s(C-$qTP zPei8hk5=})Lm!dwu7wgczb)JHr&p%KjDfXlpsf}u&sgrkc^5LkZ z$VT00u2a7S)qz8(k-mq;@iwX>zo4c(pp)rf9Qy0|Po$uc4M!hLL-jZdwT3UEcJB_< zOnmHk7qtX|osDs*_eL@{K{ql&>n!p_TfZU?iWSktJm%vuhW4#h6!dC5hhcaR>tRS& z%gVqW*c$Uu9V^z&ydSEfW}-3rVSCh!JcUIu9W|g#tdCPsdt*Cli4LPno8|)wy3sAv zRQ-keU|@HnjT&hk)Nb#J>d0)=dt(ij#=WQ|cndZ4AEAv`P&4@ts$rlB6F&ke^&oQ9#8gAMQ_)Dl>|Oh@aYI+%cZ zntJzQ{Cx6k&mtZmKSD{{=>rgXy2-VO9)RaCz8!J3zmLvu>qis+# zH5@gNDX1mc>Y`Aa!UZgYf8sM(qPLl{DX5OE!T$IPYJ_)DGgTweyz9H7W+ENcvH4gQ zU&Zq1!GZWL`eJY&mJwYM6!gKVsGhFG3U~lD(zB==+{AKt4>c11zUI16)D2@X5<8$~ za1!#LHJu+kDAvbL9@Ni#E*qou{4b!;kPD8ZHq9MW!*?+p%QNgs*c!Eo`lC8D2{i)? zob$P;$Ls=fW6OVlxo>OKR6m2-3+wR-Jc&Vi{%=!IgC&_CEkP)j#2CkT)Y^A)?15h7 zeXu?DLp`?ZQ4PF{dJONNmdbCC>3Aa?M&1jxXZB%b+PAJ#(1`A$KHxjpj4TQ@1H&8_ zqxQxTEQJw6%#E94b@KiggITCo_%1AsKcV)*ebiEw9%`1bD!R0$jVRQ@_NWF&I~T0P z*5o;;$M6oS=l4+^uJ^QA%Q(m07)*T%j==?37yrPj7&MG8v>1z8l8wWh=l>iPdMpZ1 zo5(N8tX(T?Nj@Iqa3`t*w^1`yX}GCxi8lFEY>(?O3U8qHR)u8qJE0x2t*qhL5p$DW zrYGJb%%+GyHTV=Z#wAz_Phb$ylMGsQhnOEU&lKizRVs>2_m z+WQ%`7hDxnO;2i})+8RaR%21`fft;7Eo$TkQ8y|;Z7MGoIsnU|mL>%2VlT%j*p7TN z*2G&_2aAujtk?DYH>40o#dTB%N{%xg%xZX^dlJw&oDF41e=l%K&|yM)FwTMjqo!JMc+*3Ul&AC(3D$>s$%Z8Gz(5zM7R zH`s>(_!;V*{~hi|uPNqn+JiCVA7FDVHr0$g9<}xVXM!Ly4e+dVZ-$(6%fz!;A z&z{Eo>xM5;(HYNUV+?%Gvbtb*)cKdODt?GslJ8M7Q*OFhnkdvvwnJ^cRMZTvLcMTa zM|HS3?Pj_mO>FVJ*+c`eEBSJa!t1CR37BnOKpn9? z`7+cEKgComJI8cj3fkn`P&4~3>iPc%x!z@kykI^!#BmjB#2=tWP;#!xV;s}53iUfs z9eD?J-JhuEJ!GEoDfA+rf!;U^wI}9a93H{|J^yzp1W{3PzS%rsSeiT@1F<`522xNX zJmBO%VK4F)FPf=egagP=pp7*bn2yDxIyx5X;3o9PGgylDtxuf`ZXl1QRb`=B+lAPM z{48o|{1=(}9@vh25r*PL)bsu)s>6|s&12jd6Ue9H(|819vHB7-qy4b(@Bd{K+H&F@ z^g*Ac=EnXQOdgGT-uq&0+=;$;!SO1VA-|2O_!qXodUyzh~lv_^%Ky>c^HN}P@C%`)C`nZVHyg?YUF(}04JiZpN;D9 zo)yf$*5nu!4e=%_ue8!M6o;zsi^cE-tcVM-6uyc&pMw#274@F*TV?K32UXt#hv0P7 zUit$4G0e5vOm$OypNb(^0qeiSzu92|YPZhE9(WpiVwE-KOKK{XCeOgSI18)eE*yoY zF%lcTY&Q8Y)RNA?is;%*;TZ~tu`||RYi^W{deLmavUn72JdXqL4r)Z5)|r3d*p8aH ze^A$ltT*?G!Eo}SsHbcpmciY~61%J;6!gJwQG21xD`t&iurc}5*bG--IeZ^AqAyWv z8nD4^vL~>iRvX8M=9a_k}(FiV+*{BO)&6PV^2&VpNqX|-#Sg95mw)9*0u+ZAm50su-F#! z__f7Y^3{$Pu{pW_R{nVgJ7OXh*=9P{A4ABqQ8T+1wKQ*IO}vP%q7;6iApgK9{2MjZ z;oHrP5>QJt6szG2sF`{d^&U9q_!(-+zDDixz}L+0|52!p%)_dfgMoPZHRit3 z?PC6WQ89*!PIv_My!z}myEO)F@;;~zWTQH~41IAmmcq?g9QU9f9z@M#K5F;>jtTfg zj`?CU0=37cx+rK$4`F@0gqi_sk6GI~*nu<&^?}z=YxfOq#iFm9k?llvb4$*37zjhg9w$V|Dce<-Y@qU3(QO5--vNP`ZT4-7`lz$EO7$52!6 zd(c^PY)9T4ZJdr;>kX&@ok2Z@UttvtdegjFn_;w`|CtmTa^e7L3BEy1Rlp(hCs%XS zNQR(h>NyO+mr*mc8%yI+)E+qJcnQ78zrbO54I?oAuz8HrFogE49Te1o^Vk3%;6kjQ zYrbwDLhbtEJmkR`j=E7#)JR>}5qDrb{(=iI>WG=CqZmVe1~ssUs2Qtsl+TW&Fpfe6 zyog$(Z?O`3A2SUFqSp3FY>DX@jk{4d{1Owe#Bnn-olyB8)P2@rP4uAde-Sm{ACEKt zFH@-TmU%TE!e-=ma2eKp+l(j|b)$Qzkq5kEek&$mYjPJ3#kcWEwDZlIG!?s(=VCW3 zdBVI=`=Q<&D^Ix0jlQGeDJsHFnqL;vFq1q7`(W@X)6lc17ga6}$FESkxx>4r<4dt{ zs&N4I4^h_-IBg#1Sva2j2u5N(*BSG84Z_h>EXFwe1H&=qta$?_qo#Z^#$yh4#vida zHha(fp|KD(;;*q6MxQfZ$>v}O@;g``o4juxQ`c|`n!*{V8^423qW5|82J3=#$e%-f za4WXQ3mAr#KQOjNT{jkE(T(-+JnAX=3j?v#ho-#{q&=54ih@3{4U@3|HHGajm~T8& z@jm%`*b2{FG)q$aBh#TFs7*N^gYgvlc=1BQE%@^#^Sfl_C(geOVFcIRz(IQc13on` zi18T3i5;jVxZ+s#GxLfbfK{l^Lfv37mcpah08e9O{2jy5|8p~wEpR0HY^;Xgq4t!| zW%ds3TZ1WRO1EKS`~h{tT35_psogPwd^iT;W>iB*u`7Ozx<2>|)4?97B}~ETxED2} zkyrU5i=$98c@$k*`@bn@OQ**E-am_|~z`bu;qO*p~WLSPd_u8vMh_#T!wXD@qp&3T^aAGJi$V=T$44YLafK?K<7KB@lzbTRtdsAj-1V{RNUco- z4}{f{`rmObHhAos5|qED{vW3OXLvVg!WEh`!!MPsKb|wkK6LVvM}TOA-N8{FLazC4iI~Z{}8TYT(FG7 zZ2S)OOTvfHai6*kgiU#zDmc8@x)Z5uX;P~v<$IL$KPyNguEK@F6E&(iqJ9FQ215rQ_9zgjl?P9(J_g_dtBcL58+Yg zvyaX{OW|AUs%ZUxAc-ZpjCzaZ6FR07pAk!lY0eGw9br1S3(+7pkC9*>pFQ~5Em zl6dIUUqQax6#fC)+Nm3Z6`k^<_O0er_;R6+?UXk=7sNP*m{V49C%@^a>enduck*#K zkGgVBuHTdyL>ofKc5~2b~ulyNL?LF!g54gqB_xqI8RjOTw`KAWgTH!fBh!Xv6mB5OtJ9i3Vzn7ZV6P$-5Ieo}vCv7eB&@_o(;~FA|R*6P%wo239|d)BL{sNnkmE0Shd9bL-k3+Y!bv((h(aBADc`|R;w|E9 zavg*4Kf2Dzn^DI%wZi|;r}LMnFH4*!a-C~tQ~y2jC847SF^qG|h&hEdntzTrsCa-o zFb>P3j$q;y%85>{x=$#t#$C9ZI7|c+`v@J8m_}p~FA&#=1R{WQTMDn>YZv(kl#4m- zTOQ|xc;m71D9SyFpZUOK;&sZmi5TJr`O}y{=x9Rz7g2(8E8;LwKs-9qIk%e7@itL| z@|Rlw=SbENQ;81bBM2R14Tb*)WR6qU1$R2-ZMcXy#C4;I%T9e5{^XQjbUe-ZCn%3_ z?)e95?p;Y#t|k0P>Jhyu&mbNhSrpcjZ^w^_pNYXlTj~zt0q5Gz*vl#3r(Q=Oaf9ea zeQAs)ej#*RAlB*mKf%dAh=)|XM${&zlFvXL11LW_{3%Q!FGB=TK8>C5F44-lZX~+N zA064`OG#cOzIarLE2&S_94sVxn`Akm;}harVlnX#kxcz9=iFAu9Q=!Ok01M~Yvi1- zgu6I-krhUa(C@I*nP0;T6b2r)}9mHB8$0$dLMQ_=>4LnMV|v+9>0Fei+Ju03iEOg z9O7}u3=MZbJG8v#(onmoXIk<-Z_lPt`-^#YjjK??^PkKaKAyExs~2@YaCI*h9u?83 zi92ydtFqDIQIX-1F?OTq*r>?*k#a{738 z(U~{;^bhZuK5|5AW_Z`6w9#2fqesTteN#tf77lx4ssBFPHa#mXbK+!9c50t!cW>S8 ze@^vI&zhJ#vTaJz#Eg-dv36GGsBrh!Gn;s2yKBsfDxH!v*&bhzw>H&IIkhRx-Dg%? z&zf0vy?w@}7UVsj<=(TPlKblHuidXi*7bZh=Na$zi7BVv&WH1#SSIxdSvO-~zbXB6Zu^R!)b(#t(#NmX~x zC7t~jh^*O_Ir7zEW2LBvuEW}@6u_fHl^C*^EcY#3UW84x;wtKv0Y;R z##DP89iN-Ur%t_5kheM6PRrksW+&%+?BtY!yd6n}owT|0+zEDODrZu%CNt7BXABXZ zn=f_rbx+>1!qaK1%gepuwfl^{lKZtCH~qS#>+eo9k(~ zXN=Fk@4J3~7kAKsU)^mEp7E4F)XdwRl{=^OiKQ&Qrg{n8Om+9m3-V#|bCOfs4fBHj z@7diI6HQCQ^Eaidq1CC3Gu>0=NVwO(TJv-|TI+w+q#c{-<=OZ4qJLMr7w2Dd?>+I9 zJM?5&SuHcun3HCw6wbBh(#c&#{QIUBj+ahuNVVN>oDKHmoN4G4@vrL8j0SdShMmo- zg=R#Qvi{e}h*F-t@0Ba+Df;0(ugWaZF1v1K(u9#=c1BVblgBKkq zUG7_-hq$j^4t5{@Jfbk`!_TN*K z@tRf(Ct!25BSmWSP#Ura``|fjis1Cr02Htcwn8i3QjmSD^It7$)Ld zC=IFERnvN47rY%aQ7Slzjqwxgh`*wYM4N7!mVt2rBAtn>Kxx2nq)hDtq>);!?wUqa z8-Q)lhiSM9W#oQCX<&V7FTi+|25rOscowDN@SZBa8`1`CGD-&nONdATYfvgIMyco; zw!(V7R8P7hSy~FpR4qg)_&FSjAEP`U(_7P;;V6_T%*IGuiqg?%um!%Y(gE#zBGF{D zWISbk4MiP&*a25qzJT>fUqyNT21-G#nNXSAftIr|g!H`_iua+6$U>Bn+>WwHFJTkb zpLUr@Z8H9}tld{t)B?%U;!qY>F3Qj?xAIS-EUu7#%6KG8vtv_ShcdE9Fb3a48HrHl zMHvlY(hF0rC|%P5$?n&JdU04Qyhx5 z2deTXqBP_olo2_A0jb~u5ouAaL25`FVl&bS$j;JIP+A_qs<_f}z2#Pq%-64#w7`GqE8)gw1gsw!~s=fgfN4 z`~`KaIYd=pLwRoq%E(N`I#`4Q@u49BHKb?Akb-_jDJX(@kQX{)WgLOBZ&NT7r=!gA zEY$H%lO{xCMiz*Zvlh`fX}Qag|K5N?i8 z4Y_lq8kyZFJv)oi&{CAC_#Ovf?b|es+0#;RATCGg@p-I)*HNC=MyYMy0vYLmb{i2{ zT(eO2_gs{U7NeZy8&G<-2W2kLp^l%S6j*t*IuBZ58`2|CwsRgzPwz$VE?S5fBhHB4_@XALp0&kJq&s0f zoQyIOPBa%8N_neLMr=FEh`c(1`IpF>WVFKzC_VoJW!to7YsipILs=tklsR66akvwu z;*T&Mt4&mMpNREIk3gBK8K`3h%Fr)B>A>cRjDH;>+sSB%M^HxK9LC}oI1nQzsX3j3 zG6I=66qln^^d8E|_BG1;RVS+kwnFLHc$76#h|#zOBk}bB5h>s@Ho{-90oIwKTG$3< zggRL1E>^l5hLPU~rQ$)@7-ynXRDcn<33WVzGL;{oOuP7?P>&KP)2SjO3$aEjBGw~rfK)1^!PQD z_dmxP)UW+YL>5!nEH%_UkZIKVA%~#$xRt(y@?!Vd>ep-}%C?+`vdH$JOvOR8;dzuP z)$D5IB2gOH17&TE#6|%kMMV1GGVF@4p%g41dNL((C_SBlvicvuDBOlp;c1kq`W%z- zIu63bbk2Xg+j1ewnptM~1O`ILSVKf!T!(T{e2!9K?F_Z=d!Wqi1Z;^#I2%`?EVf@! zhPJ&!^{_w6^W#x^T8J_tTP^>EvZg{a8GqSM{!I0=xB;bto!A`DV0XNVgRw=H+TXKL z7Lglk;Jqjfco=2QH)AV2gi`VQ*8Qs4YGk6Y7WwvU#$S5iCPU_C4aywvvpk8dNq>NM z;2+olvz_Y4WjWFrZ5PT^)#o93zduUHCZMdXc_>r57yIJJ*dLn*a#RDRV>>b)M7gmC zb-aejSUXoemx|JW`6wse4wQmF!WLLFkK-3(a2Vc)o$w5{!JkkX(A1^Ah69s{$WT3u zvZ(f844$*nzgqX3xYhRTgHn+PbzFurHP50AucMULI$u3E1ly8MLm7!hD2x3t_LlvB zort^`%ZiW|&ak`}N08o((&KNjDMotKR3)I~54CiobYK-qg@>^QUPNi|mnb7q)vL#F~mHo^+cE*nQ z5lTa<6wpxW*Aj@d$H^Fh^YAi0jtxWjxSXqw+(!%58hIRLQ65EU&_$FH3@=jmd!bZx zJ4!_lVk10&4e+d${ul!?L_ZOcgQU`(>L6)}GSsms1&qL6=*Nb*2NSUb6YwT>!T7t> zNZC<3wZ_G{&>o573Phva#4y7Rxi&eq1QC{?7U)+r?@GIflPiKBVtPY0zPG;`b;GnZAsMQNOl`hz$8Ql%czb@^F^oQ!d#XRT)Z2NGFE#w>gb z6EXftHKe&H4?crQcmbk!aGZcSD7)iDtbtc7f51AVZ=$S$+H2I>C=3vh z7Y?Ab@I&m14c4kvI}D`<+1Le_Vj{kPG5D*M-*%m9XevgMzW{YyiyiR=?1o=p6Kt_w z)f4DRq!}4GD096C<%QKKEiOTsinmc3@SBzHv_Vxg0VO{N!|*ALz>O$Vb_nJEag4BqOJfIFR%Ll*KTl5gD>Pl(}1ivK@mcL-q#Nz+WxH4yqxqhuz2@jH7Taw!#xA4ZDIe)HM#Nf2I#d zIX5<95Bvya8wMI2RtG{XhLJHGWiC^&J`~RR+m!tN6Oop$$6oj{%9Px|A(+DW$D)C<9gm}qpJG!CJ*FDo5@n>? zqAa>NtcrcGCMKaYXe`?BJ{&0fe;<)XWPFc(vD))$J0+v^Y%0n~EWqBl3y0zrl;>?P zsQ2$cjtXr)%G5=_s2Va3A0s^jkB9JqgI!7Qf0@Pwh+H8ebKm;7>e)z)BAtWHaS1lT zZFn~x$B{UoM4cClF@dy!J@FLYhBvVljy$18G8g5%cowBYA7MZq2tBD5VLSAZPC^|I zTlw#!4E4`A0_&erLplT3kal7rR(VB@NC4&eV>lEqpe)jsr_~hYpwv6}G~+*n$Z9fl zyo54zf1>obW>41Z$A4{H8hy>!S2{D9T8>(1Ag0 zh)v#7QxS`@$VXr-&c^l_c$A2&;)9kyq7)c+UR5{+>ych|7DgF&_)uG7TK{sF2h0i2HuYK-c@s+k7G$6!4wR? zplPFVD)z&zn2MKC%1L}rt@a|6^ky87pJ5#KcwZJf^PfdzA{if{RGjdEIstu{MtUud zKES+^CNXWbjLi>Zj_2HVglB_NL@Gxr9s=#M*Z3sL?W=!CAF$M zqYTk(9Elrn0)CB?alprF1XkiW(pS)ly*^Rf?P=^p`b%tq5v8hQU2yK- zZW1x){8RPf6ig=n0hC2~#_~GKb1gqpt9~fPke-iqaTm(AeI5tl1(XV#e6F6Kis_^u z$5Hsp=ZwD$W%6b9?RFRbLHaEA!&k4Usi}HZHEbsKCI2C8ji<0m2tCEk`0p>&kJXB= zR0r0etgTORI@bGIohNxH9pCoJt{*C-wM4y&{Nw7x&7qgDP( zS7m}+ylYV|9Y8DY;%G?6B_LXUhD`H~bp} ze#Eq)xRb!T(>&N6ClcyWXjRe&2|DR21i8r8-Y4&MY)Rs698ai4kn3LaFaO^lR^qv% z_!YiK_?38^w6p_}dkAG$3VAn3Jb}FkTZku=-Nb0}dK3B*juW<8_vAk?%_9D(mHwIZ zGXz=b`GgvT`$?a%?hAq8WTX%&#EKUSTiZxjP5wqgPwVDI%lY^U;Un&a((_MI7UBf# zLnymOmqqX$f}_H{*Fxm{wXQp@8?xGO5@+X_r&tW}Fv3{Uk(i3Ig&rUrAT8Hmyi7Q& zlIDV~X~mb2|F-pLhWs5Z+JWY_xMZS}e zLs&$5Di#rjns+&V8JT{h`xE2};#xvo!b_xYlm1U8!EcP#7R#=Oh&1KpyU4qT@F8Is z!64M-o}BkZgrlTGcy0vlBNPxGBfLZSlKWfmew3>l@i45(^JSMg{u$h;cnu(NguI*B zjj)XPlPCv>yznMzIfl!w)M(w$Ty zk6M}XoQsf1_*oKMaw=Z0aDM>tg@k9#yYw6{Sod!yF2}T7dE}iZa1v{q2#-o8S5>QH z5^pE_zYZC5a0nSeLLIro^&Mdf;V16(!sjsxvk6^^-%D6U*g(1&)}@?H_#7dYFqW{G zuz?^~KAyDVl75vS)2aPJX6Fhw8cm@ux_?U2wP(nx}|A>r#b;1K=$km_lBVnB+DqK%h zh&Qbe|CaY6Y2eG&`?IZkZ&~REIG(VK{QInXzgqX2kq-Q3W&VfEKdc*))trz(`aGuN zOoE;GLc%HHa_zxsDynrN{vq-8gvnN(@C)G%?j68pG_>rRqap$GBjH&d=t!u{16A;M z!c&Bcga-+39uC2i*4y)m?ava3~v%Kk;>4}|@M2J+xqx?h4_2`$O@;5b4t@kh{0c$)Y;!Y<mZ5t7{X{m7U2=X3*3L15JT8Qc#^z|*IE)0R$gX> z8-ZGAay7vt648r$>3546pZ%X)+_z1#lgdGIAwh^|Q zG0qR3`J}A>Q_1{}j4ugtdGQd|veI9fxqNJ30pVftM-ti)KaA6Hul4M|EXgwe@$v)d zP)Tq#x7I|Z^0mSEx8=rZ>!lXBg7o$Zg~*HbdEp`Qsu5<8epfQN!pW~jc$fT@gdYjb z31!#6i8mrK3G3sX){WD6Hz8c+e<`5}g$$Gzu>*cVv_4)XOp|=B+pwXEn*R)|&9h@j zUnR7#@>^O8wYcBALV7pvpR>}H@iWrBKj+VMf{hTt3o^Guf8uM0qwGCG3h|ECOFW|e z$yG?+z+m@I$yLYcv)iRdch)nUnVF6Z-R{+0Zcm;)SI>0jI<$7)M17(w$K{^uGBb2v zQNF`^!%^t-*wcOgcqy2X@M@*HxlXT7x955s_KYH(zs9ugErJ8O7lasndPW5g_IRgK zY`Wd$a{Kf&hwk@Miqob0vK>4-$M5h;vF?0_$L@2wU3#87!x6l@x35yLN#Dy=jkl8; zR&sicKSxIxH zq25MMqWwO{t#_qF=>>)JptOL8W6R3&72H~wZe4BkQEDR8gnIQ^40Bndq}Bq5C(Z43 z zyxJJ^882m;d5p4(rMZ3C`dquqr+a;jy`8o@UHN`rg%<{S{FGv@hIDscKINy; zoNde0ZP5u89-ba&>p63JZeI4xXf_jarz@E$2l`%*RXJNYBF7}E$Gt*j&E(gU^WKLO|y|Q{c>n?v@n!`iaID2Ucvj z(Q4v>=9x}8n#@u8$LtxePV8MP!{PEeeMO0sm>zBXI3~@H#S&vQpd`HscyeHb>_;-cceQri&PtZ*_>KT3oCL^dWO&A zFH{|}*?b&jwp@FfBe!fXX=W*Yj&ZM5guLj^G|#pF_x)NIX*ql zA@i({P98ltdAu!U(CB0t6*=>*6C`Mxc`(dao7TL?+-!%7Ni=_8m~Sn^?TVJI=W*ui zxz^b}yGyin(8{r>yX<+vkJB1gYirN+QHz}HJfU~UaAev!Kg@Y@6sG6;Wq}8;+_Ah$ zJ2srW#*$?at=c5YB&KJVH_AV!W#wdNZbmwr-m7Q0&Hbt#p#p7g`K|K2|50g2W4V89 zH9bByp=)gKIOB@H-?VsJTvuCsf*v2A*u86~xP-X4@UdfT;~fP~X{Bulr&FSy5Emb3 z<9~5o_4riKC#SYdqif|3pV^7#|PjU}C08`*_XA$o98VTVdpGD?qbbY&UO-FbtYy?3py z)aS&ql1=)F<)y_doVu@Mhs@KdeR^JL@s@N=PSF47e(;fb2P*Z?$u2p-PW6;Lr>oL+ zU+K}^`8vy6k7l{+E-96#Hm2)o&eGyVK8B5tkdC^GnvBt_nRZ+m&5f{FL4<*H00}JA(`FI~me3!|uw~y;PiCq1+S8%?_X1 zS6aL&-R$`z>Bh1Lq726aBSZ7-g~4MF90)O@7R3bTEW8xj{KRtWNpETKZhBa}h0bzj z@;BXRwK1ZOSzb}e4!@pWdUUHln7DXLrRt@{>-BV6w9>ft@P^>|M~2ogPOpkKeq42= zjYrB`%jc+D3!@~OZ&_lX2a5Dy#)U1jeHDAL%BGn;Zt}I2Tp5^4%;+Cg^@f+@_q8gZUqKWa+GYQ?x*Hzg{E1&GY z7C$G*ks@>9KjPx2XLPjj?`N*ZrB=vHKe^rf5!5TZq*f<%hxc{Vk2lI~G)*QWCW5X)G1v%+9D< z%;s*+H9B$hMVGO5XVfkCcNr6R)eU1KJ>?88*<}kcr!shAcPlIQ{hs+Df#FQ4d0Z}+ zRj!VPTp1quu9SA}Bww0goq$r;A)nPt#=QJf^LVj&j{Nt}&7|_v#Cre4a&=M}38y0h zX{AS>RWoR_S)ZI%Y365Vg|E(VbK7P)*&EWfB`kvtfBXEbZmr=oJKsuFvQ~DvI#|r! z{qr+4@V6&qlWde94c5ee`53KmS9dY+vbU^(W2_B+JgLvgm#%fs+;=R}T{4IpUDBwd zn_LyXPUF;vtFGtzdDi-SYol*{H8^MA(vUI3OE$^km(9SZWBDg*wwnn`x3a9yR$1lu z%MY)42xgb;kX^6Z<#fe{Yvv(TWB;Xw!~PmsU)gVz@x=ak=T(%XXs_xlr|NOkA1he$}^+JxNzkau4jVZzA ze5&|@J40)x%HA`FFi|(g9c~>=In*V@=zX}pQT1@+0DX~@?;*CTTjy-vo-ZS}&#rR} zTPI9~Z7a*y`ZAWf#nLiojhfHVrx#!gTTfuVN z{IlTT&cpR94`l7{H3yZ?2DNfzYBn%X1@gnHrEv84_#xi@9FZPEx5EPVOyC|h&E zW5<3AF+TxHp3c)d$bZ7, 2005. # Clytie Siddall , 2007-2010. +# Trần Ngọc Quân , 2012. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.23.90\n" +"Project-Id-Version: tar-1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-10-03 18:13+1030\n" -"Last-Translator: Clytie Siddall \n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2012-03-31 13:53+0700\n" +"Last-Translator: Trần Ngọc Quân \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" @@ -19,6 +20,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" +"X-Poedit-Language: Vietnamese\n" +"X-Poedit-Country: VIET NAM\n" +"X-Poedit-SourceCharset: utf-8\n" #: gnu/argmatch.c:135 #, c-format @@ -31,36 +35,35 @@ msgid "ambiguous argument %s for %s" msgstr "tham số không rõ ràng %s cho %s" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "Các tham số đúng là:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: giá trị %s nhỏ hÆ¡n hay bằng %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: tham số ARGP_HELP_FMT yêu cầu một giá trị" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: tham số ARGP_HELP_FMT phải là số dÆ°Æ¡ng" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Tham số không rõ ARGP_HELP_FMT" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Có rác trong ARGP_HELP_FMT: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." @@ -68,29 +71,29 @@ msgstr "" "Tham số ủy nhiệm hay tham số không bắt buộc cho các tùy chọn dài cÅ©ng đồng " "thời là ủy nhiệm hay không bắt buộc cho các tùy chọn ngắn tÆ°Æ¡ng ứng." -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "Sá»­ dụng:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " hoặc: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [TÙY CHỌN...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "Hãy thá»­ `%s --help' hoặc `%s --usage' để biết thêm thông tin.\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" -msgstr "Báo cáo lỗi tới %s.\n" +msgstr "Thông báo lỗi cho %s.\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "Lỗi hệ thống không rõ" @@ -102,7 +105,7 @@ msgstr "hiển thị trợ giúp này" msgid "give a short usage message" msgstr "hiển thị cách sá»­ dụng ngắn gọn" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "TÊN" @@ -123,17 +126,16 @@ msgstr "treo trong vòng GIÂY giây (mặc định 3600)" msgid "print program version" msgstr "In ra phiên bản chÆ°Æ¡ng trình" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(LỖI CHƯƠNG TRÌNH) Không rõ phiên bản !?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s: Quá nhiều đối số\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(LỖI CHƯƠNG TRÌNH) Tùy chọn nên được nhận ra !?" @@ -141,62 +143,62 @@ msgstr "(LỖI CHƯƠNG TRÌNH) Tùy chọn nên được nhận ra !?" msgid "write error" msgstr "lỗi ghi" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: tùy chọn « %s » vẫn mÆ¡ hồ\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: tùy chọn « --%s » không cho phép đối số\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: tùy chọn « %c%s » không cho phép đối số\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tùy chọn « --%s » yêu cầu một đối số\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: không nhận ra tuỳ chọn « --%s »\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: không nhận ra tuỳ chọn « %c%s »\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: tùy chọn sai -- « %c »\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tùy chọn yêu cầu một đối số -- « %c »\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: tùy chọn « -W %s » vẫn mÆ¡ hồ\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: tùy chọn « -W %s » không cho phép đối số\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tùy chọn « -W %s » yêu cầu một đối số\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "cạn bộ nhớ" @@ -212,28 +214,30 @@ msgstr "không trở được về thÆ° mục làm việc đầu tiên" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "`" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "'" @@ -243,7 +247,7 @@ msgstr "'" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[cCyY]" @@ -253,7 +257,7 @@ msgstr "^[cCyY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[kKnN]" @@ -284,9 +288,9 @@ msgid "" "\n" msgstr "" "\n" -"Giấy phép GPL pb3+: Giấy phép Công cộng GNU phiên bản 3 và sau:\n" +"Giấy phép GPLv3+: Giấy phép Công cộng GNU phiên bản 3 hay mới hÆ¡n:\n" "\n" -"Đây là phần mềm tá»± do : bạn có quyền thay đổi và phát hành lại nó.\n" +"Đây là phần mềm tá»± do: bạn có quyền thay đổi và phát hành lại nó.\n" "KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều kiện được pháp luật cho phép.\n" "\n" @@ -294,19 +298,19 @@ msgstr "" #: gnu/version-etc.c:104 #, c-format msgid "Written by %s.\n" -msgstr "Tác giả: %s.\n" +msgstr "Viết bởi %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:108 #, c-format msgid "Written by %s and %s.\n" -msgstr "Tác giả: %s và %s.\n" +msgstr "Viết bởi %s và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: gnu/version-etc.c:112 #, c-format msgid "Written by %s, %s, and %s.\n" -msgstr "Tác giả: %s, %s và %s.\n" +msgstr "Viết bởi %s, %s và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies @@ -425,12 +429,12 @@ msgstr "Trang chủ %s: <%s>\n" #: gnu/version-etc.c:255 #, c-format msgid "%s home page: \n" -msgstr "Trang chủ %s : \n" +msgstr "Trang chủ %s: \n" #: gnu/version-etc.c:258 msgid "General help using GNU software: \n" msgstr "" -"Trợ giúp chung về cách sá»­ dụng phần mềm GNU : \n" +"Trợ giúp chung về cách sá»­ dụng phần mềm GNU: \n" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -496,17 +500,17 @@ msgstr "%s: Không tạo được liên kết mềm tới %s" #, c-format msgid "%s: Wrote only %lu of %lu byte" msgid_plural "%s: Wrote only %lu of %lu bytes" -msgstr[0] "%s: Chỉ ghi nhớ %lu từ %lu byte" +msgstr[0] "%s: Chỉ ghi %lu trong số %lu byte" #: lib/paxnames.c:140 #, c-format msgid "Removing leading `%s' from member names" -msgstr "Xóa bỏ phần dẫn đầu `%s' từ tên của các thành viên" +msgstr "Đang bỏ đi phần dẫn đầu `%s' từ tên của các thành viên" #: lib/paxnames.c:141 #, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "Xóa bỏ phần dẫn đầu `%s' từ đích đến của các liên kết cứng" +msgstr "Đang bỏ đi phần dẫn đầu `%s' từ đích của các liên kết cứng" #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" @@ -536,7 +540,12 @@ msgstr "đầu ra tiêu chuẩn" msgid "Cannot connect to %s: resolve failed" msgstr "Không thể kết nối tới %s: lỗi giải quyết" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "Không thể chạy shell ở xa" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "Không thể chạy shell ở xa" @@ -585,8 +594,8 @@ msgstr "Gặp đối số bất thường" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "Thao tác một ổ băng từ, chấp nhận lệnh từ một tiến trình ở xa" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "SỐ" @@ -594,8 +603,8 @@ msgstr "SỐ" msgid "set debug level" msgstr "đặt cấp gỡ rối" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -610,7 +619,7 @@ msgstr "đặt tên tập tin kết xuất gỡ rối" msgid "cannot open %s" msgstr "không thể mở %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "quá nhiều đối số" @@ -619,9 +628,9 @@ msgstr "quá nhiều đối số" msgid "Garbage command" msgstr "Câu lệnh rác" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "Đây có vẻ không phải là một kho lÆ°u tar" @@ -659,63 +668,63 @@ msgstr "Không kiểm tra được kho lÆ°u stdin/stdout" msgid "Archive is compressed. Use %s option" msgstr "Kho lÆ°u được nén. Hãy sá»­ dụng tùy chọn %s" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "Không cập nhật được kho lÆ°u đã nén" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "Tại đầu băng ghi âm, thoát ra bây giờ" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "Quá nhiều lỗi, đang thoát" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "Kích cỡ mục ghi = %lu khối" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "Khối chÆ°a sắp hàng (%lu byte) trong kho lÆ°u" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "" "Không thể \"tua\" lại tập tin kho lÆ°u; nó có thể không đọc được khi không có " "« -i »" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek không dừng lại tại một ranh giới bản ghi" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s: chứa số thứ tá»± khối không đúng" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "Số thứ tá»± khối thừa ra" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "Chuẩn bị khối #%d cho %s và nhấn Enter: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "Kết thúc tập tin (EOF) khi mong đợi trả lời của người dùng" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "CẢNH BÁO: Kho lÆ°u không hoàn thành" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -726,65 +735,65 @@ msgstr "" " q Dừng tar\n" " y hay dòng mới\tTiếp tục lại chạy tiến trình\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! Tạo một trình bao con\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? In ra danh sách này\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "Không có khối mới; đang thoát.\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "ChÆ°a ghi rõ tên tập tin: hãy thá»­ lại.\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "Gõ sai. (Gỏ ? để xem trợ giúp.)\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "Câu lệnh %s không thành công" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s có thể tiếp tục trên khối tin này: phần đầu chứa tên bị cắt ngắn" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s không tiếp tục trên khối này" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s là kích thước sai (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "Khối tin này vượt quá dãy cho phép (%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "Kho lÆ°u không có nhãn tÆ°Æ¡ng ứng với %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "Khối %s không tÆ°Æ¡ng ứng %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" @@ -792,508 +801,547 @@ msgstr "" "%s: tên tập tin quá dài để chứa trong một phần đầu đa khối GNU nên bị cắt " "ngắn" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "tiến trình ghi (write) không dừng lại tại một ranh giới khối" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "Chỉ đọc được %lu từ %lu byte" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "Diff nội dung" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "Kết thúc tập tin không mong đợi trong kho lÆ°u" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "Diff dạng tập tin" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "Diff chế độ" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" -msgstr "Diff Uid" +msgstr "Khác biệt Uid" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" -msgstr "Diff Gid" +msgstr "Khác biệt Gid" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" -msgstr "Diff thời gian sá»­a đổi" +msgstr "Khác biệt thời gian sá»­a đổi" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" -msgstr "Diff kích thước" +msgstr "Khác biệt kích thước" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "Không liên kết tới %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" -msgstr "Diff liên kết mềm" +msgstr "Khác biệt liên kết mềm" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "Diff số thứ tá»± của thiết bị" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "Kiểm tra " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "" -"%s: không rõ dạng tập tin '%c' nên khác biệt (diff) nhÆ° tập tin thông thường" +"%s: Không rõ dạng tập tin '%c' nên khác biệt (diff) nhÆ° tập tin thông thường" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "Kho lÆ°u chứa tên tập tin không có tiền tố ở đầu." -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "Kho lÆ°u chứa phần đầu base-64 không còn dùng nữa" +msgstr "Tài liệu được nén có chứa tên tệp tin chuyển đổi." -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "Sá»± kiểm tra có thể không định vị được các tập tin gốc." -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "LỖI KIỂM TRA: tìm thấy %d phần đầu không đúng" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "Một khối không đơn lẻ tại %s" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: chứa một thẻ thÆ° mục ghi nhớ tạm %s: %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "giá trị %s vượt quá %s phạm vi %s..%s; đang thay thế %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "giá trị %s vượt quá %s phạm vi %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "Đang tạo phần đầu hệ tám âm" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" -msgstr "%s: tên tập tin quá dài (max %d); không được dump" +msgstr "%s: tên tập tin quá dài (tối đa là %d); không được dump" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s: tên tập tin quá dài (không chia được); không được dump" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s: tên liên kết quá dài; không được dump" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s: Tập tin được rút ngắn %s byte; độn vào bắng các số không" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s: tập tin trên một hệ thống tập tin khác; không được dump" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "chÆ°a đổ nội dung" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s: Không rõ dạng tập tin; tập tin bị lờ đi" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "Thiếu liên kết tới %s." -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: tập tin chÆ°a thay đổi; không được dump" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: tập tin là kho lÆ°u; không được đổ" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "chÆ°a đổ thÆ° mục" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: tập tin đã thay đổi khi chúng ta đọc nó" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: socket bị lờ đi" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: cá»­a (door) bị lờ đi" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "Nhảy tới phần đầu tiếp theo" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "Xóa không phải phần đầu từ kho lÆ°u" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s: tem thời gian cÅ© không hợp lý %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s: tem thời gian %s là %s giây trong tÆ°Æ¡ng lai" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s: Sá»± mâu thuẫn không mong đợi khi tạo thÆ° mục" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s: Đổi tên thÆ° mục trước khi có thể giải phóng trạng thái của nó" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "Giải nén các tập tin liền nhau thành những tập tin thông thường" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "Đang thá»­ giải nén liên kết mềm thành liên kết cứng" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s: Không giải nén được -- tập tin tiếp tục từ khối khác" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "Phần đầu tên dài không mong đợi" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s: Dạng tập tin không rõ '%c' nên giải nén nhÆ° tập tin thông thường" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "%s hiện thời là mới hay hay cùng thời" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s: Không thể sao lÆ°u tập tin này" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "Không thể đổi tên %s thành %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" -msgstr "%s: Đã đổi tên thÆ° mục từ %s" +msgstr "%s: ThÆ° mục đã bị đổi tên từ %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s: Đã đổi tên thÆ° mục" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s: ThÆ° mục là mới" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s: tập tin trên một hệ thống tập tin khác; không được dump" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s: ThÆ° mục đã bị đổi tên" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" -msgstr "Tem thời gian không đúng" +msgstr "Dấu vết thời gian không hợp lệ" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "Thời gian sá»­a đổi không hợp lệ (giây)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "Thời gian sá»­a đổi không hợp lệ (nanô-giây)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "Số thứ tá»± thiết bị không đúng" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "Số thứ tá»± chỉ mục inode sai" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "Trường quá dài trong khi đọc tập tin ảnh chụp" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "Lỗi đọc trong tập tin ảnh chụp" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "Kết thúc tập tin (EOF) không mong đợi trong tập tin ảnh chụp" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "Giá trị trường không mong đợi trong tập tin ảnh chụp" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "Thiếu dấu giới hạn mục ghi" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "Định dạng tập tin dần sai" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" -msgstr "Phiên bản định dạng dần không được hỗ trợ : %" +msgstr "Phiên bản định dạng dần không được hỗ trợ: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "ThÆ° mục đổ dạng sai: mong đợi « %c » còn tìm %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "ThÆ° mục đổ dạng sai: « X » đã nhân đôi" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "ThÆ° mục đổ dạng sai: tên rỗng trong « R »" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "ThÆ° mục đổ dạng sai: « T » không có « R » đi trướ" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "ThÆ° mục đổ dạng sai: tên rỗng trong « T »" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "ThÆ° mục đổ dạng sai: mong đợi « %c » còn tìm kết thúc dữ liệu" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "ThÆ° mục đổ dạng sai: « X » không bao giờ dùng" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "Không thể tạo thÆ° mục tạm bằng mẫu %s" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s: Không làm sạch thÆ° mục: không thể lấy trạng thái (stat)" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: thÆ° mục trên một thiết bị khác: không làm sạch" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s: Đang xóa %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s: Không thể xóa bỏ" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s: Đang bỏ đi" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "khối %s: ** Khối của các số không (NUL) **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "khối %s: ** Kết thúc tập tin **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "khối %s: " #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "Khoảng trống trong Phần đầu trong khi mong đợi một giá trị số %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "" "Giá trị hệ tám %.*s của kho lÆ°u vượt ra phạm vi %s; coi nhÆ° phần bù của hai" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "Giá trị hệ tám %.*s của kho lÆ°u vượt ra phạm vi %s" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "Kho lÆ°u chứa phần đầu base-64 không còn dùng nữa" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "Kho lÆ°u ký chuỗi base-64 %s vượt ra ngoài vùng %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "Giá trị base-256 của kho lÆ°u vượt ra ngoài vùng %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" -msgstr "Kho lÆ°u chứa %.*s ở chỗ mong đợi giá trị số %s" +msgstr "Kho lÆ°u chứa %.*s nÆ¡i mà lại mong đợi giá trị số %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "Giá trị kho lÆ°u %s vượt quá phạm vi %s (%s..%s)" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " liên kết tới %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" -msgstr " dạng tập tin không rõ %s\n" +msgstr " kiểu tập tin không rõ %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--Liên kết Dài--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--Tên Dài--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--Phần đầu Khối--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--Tiếp tục tại byte %s--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "Đang tạo thÆ° mục:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "Không thay đổi được thÆ° mục làm việc" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "Đang đổi tên %s thành %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s: Không thể đổi tên thành %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "Đang đổi tên %s ngược lại thành %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s: Tập tin bị xóa trước khi chúng ta đọc nó" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "tiến trình con" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "kênh (channel) giữa các tiến trình" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "Câu lệnh %s không thành công" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: danh sách tập tin đã được đọc" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "không thể đặt thời gian trên « %s »" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: đọc tên tập tin chứa ký tá»± vô giá trị" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "Tên tập tin chứa ký tá»± khớp mẫu" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" @@ -1301,57 +1349,58 @@ msgstr "" "Dùng « --wildcards » (ký tá»± đặi diện) để hiệu lá»±c chức năng khớp mẫu,\n" "hoặc « --no-wildcards » để thu hồi cảnh báo này." -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s: Không tìm thấy trong kho lÆ°u" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s: Không tìm thấy phần tá»­ yêu cầu trong kho lÆ°u" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "Sai khớp nhãn kho lÆ°u" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "" "Sá»­ dụng tuỳ chọn « -C » bên trong danh sách tập tin không được phép với « --" "listed-incremental »" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "Chỉ cho phép một tuỳ chọn « -C » với « --listed-incremental »" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "Cả hai tùy chọn `-%s' và `-%s' đều muốn dữ liệu nhập vào tiêu chuẩn" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s: Định dạng kho lÆ°u không đúng" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "Muốn tính năng GNU trên định dạng kho lÆ°u không tÆ°Æ¡ng thích" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "" "Không rõ kiểu dáng trích dẫn « %s ». Hãy thá»­ lệnh « %s --quoting-style=help " "» để xem danh sách." -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1359,18 +1408,19 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"ChÆ°Æ¡ng trình `tar' của GNU ghi nhớ nhiều tập tin vào cùng một kho lÆ°u băng " -"từ hay lên đĩa, và có thể phục hồi từng tập tin riêng rẽ từ kho lÆ°u này.\n" +"ChÆ°Æ¡ng trình `tar' của GNU ghi nhiều tập tin vào cùng một kho lÆ°u băng từ " +"hay lên đĩa, và có thể phục hồi từng tập tin riêng rẽ từ kho lÆ°u này.\n" "\n" -"Ví dụ :\n" +"Ví dụ:\n" " tar -cf kho.tar foo bar # Tạo kho.tar từ các tập tin foo và bar.\n" " tar -tvf kho.tar # Liệt kê chi tiết tất cả các tập tin có trong " "kho.tar.\n" " tar -xf kho.tar # Giải phóng tất cả các tập tin ra từ kho.tar.\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1389,79 +1439,79 @@ msgstr "" " nil, existing đánh số nếu kho lÆ°u tồn tại, nếu không thì đơn giản\n" " never, simple luôn luôn tạo kho lÆ°u đơn giản\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "Chế độ thao tác chính:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "liệt kê nội dung của một kho lÆ°u" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "giải phóng các tập tin từ một kho lÆ°u" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "tạo một kho lÆ°u mới" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "tìm sá»± khác nhau giữa kho lÆ°u và hệ thống tập tin" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "thêm các tập tin vào cuối một kho lÆ°u" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "chỉ thêm những tập tin mới hÆ¡n bản sao trong kho lÆ°u" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "thêm các tập tin tar vào một kho lÆ°u" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "xóa từ kho lÆ°u (không dùng trên các băng ghi âm mag!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "thá»­ nhãn khối tin kho lÆ°u rồi thoát" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "Từ khóa bổ nghÄ©a thao tác:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "điều khiển các tập tin thÆ°a thớt một cách có hiệu quả" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "CHÍNH[.PHỤ]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "đặt phiên bản của định dạng sparse cần dùng (ngụ ý « --sparse »)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "điều khiển sao lÆ°u incremental có định dạng GNU cÅ©" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "điều khiển sao lÆ°u incremental có định dạng GNU mới" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "cấp đổ cho kho lÆ°u liệt kê tăng dần được tạo" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "đừng thoát với giá trị khác không trên tập tin không thể đọc" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1478,120 +1528,131 @@ msgstr "" "T ».\n" "Mặc định SỐ có giá trị bằng 1." -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "có thể tìm nÆ¡i trong kho lÆ°u" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "không thể tìm nÆ¡i trong kho lÆ°u" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "đừng kiểm tra số thứ tá»± thiết bị khi tạo kho nén dần" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "kiểm tra số thứ tá»± thiết bị khi tạo kho nén dần" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "Điều khiển ghi đè:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "thá»­ kiểm tra kho lÆ°u sau khi ghi nó" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "xóa bỏ các tập tin sau khi thêm chúng vào kho lÆ°u" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" +msgstr "không thay thế những tập tin đã có khi giải phóng" + +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" msgstr "không thay thế những tập tin đã có khi giải phóng" -#: src/tar.c:457 +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "không thay thế những tập tin đã có mà mới hÆ¡n bản sao trong kho lÆ°u" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "ghi đè lên những tập tin đã có khi giải phóng" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "xóa bỏ quyền Æ°u tiên của mỗi tập tin để giải phóng và ghi đè lên nó" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "xóa sạch quyền Æ°u tiên trong cây thÆ° mục để giải phóng thÆ° mục" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "bảo quản dữ liệu mêta của các thÆ° mục đã có" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "" "ghi đè lên siêu dữ liệu của những thÆ° mục đã có khi giải phóng (mặc định)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "ghi đè lên những tập tin đã có khi giải phóng" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "Chọn luồng xuất:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "giải phóng tập tin ra đầu ra tiêu chuẩn" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "CÂU LỆNH" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "gá»­i các tập tin đã giải nén qua ống dẫn cho chÆ°Æ¡ng trình khác" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "bỏ qua mã thoát của tiến trình con" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "xá»­ lý mã thoát khác số không của tiến trình con nhÆ° lỗi" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "Điều khiển thuộc tính tập tin:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "bắt buộc dùng TÊN làm người sở hữu cho những tập tin thêm vào" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "bắt buộc dùng TÊN làm nhóm sở hữu cho những tập tin thêm vào" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "NGÀY-CỦA-TẬP-TIN" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "đặt từ DATE-OR-FILE thời gian mtime cho các tập tin đã thêm" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "THAY ĐỔI" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "bắt buộc THAY ĐỔI chế độ (tượng trÆ°ng) cho những tập tin thêm vào" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "PHƯƠNG PHÁP" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1601,11 +1662,11 @@ msgstr "" "thời gian sau khi đọc (PHƯƠNG PHÁP='replace'; mặc định), hoặc bằng cách " "không đặt thời gian nhÆ° vậy (PHƯƠNG PHÁP='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "không giải phóng thời gian sá»­a đổi của tập tin" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" @@ -1613,23 +1674,23 @@ msgstr "" "thá»­ giải phóng tập tin cùng quyền sở hữu với tập tin trong kho lÆ°u (mặc định " "cho siêu người dùng)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "" "giải phóng tập tin dưới tên người dùng riêng (mặc định cho người dùng bình " "thường)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "luôn luôn sá»­ dụng số cho tên người dùng/nhóm" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "" "cÅ©ng giải nén thông tin về quyền truy cập tập tin (mặc định cho siêu người " "dùng)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" @@ -1637,15 +1698,16 @@ msgstr "" "áp dụng umask của người dùng khi giải nén quyền truy cập ra từ kho lÆ°u (mặc " "định cho người dùng bình thường)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "sắp xếp tên để giải phóng tới kho lÆ°u tÆ°Æ¡ng ứng" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "giống nhÆ° khi có hai tùy chọn -p và -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" @@ -1653,139 +1715,180 @@ msgstr "" "hoãn đến kết thúc tiến trình giải nén việc đặt thời gian sá»­a đổi và quyền " "truy cập các thÆ° mục đã giải nén" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "hủy hiệu ứng của tùy chọn « --delay-directory-restore »" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "Điều khiển thuộc tính tập tin:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "Lá»±a chọn và chuyển đổi thiết bị:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "LƯU TRá»®" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "sá»­ dụng tập tin kho lÆ°u hoặc thiết bị LƯU TRá»®" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "tập tin kho lÆ°u là cục bộ thậm chí nếu có một dấu hai chấm" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "sá»­ dụng CÂU LỆNH rmt đưa ra thay cho rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "sá»­ dụng CÂU LỆNH từ xa thay cho rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "chỉ ra ổ và mật độ ghi dữ liệu" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "tạo/liệt kê/giải phóng kho lÆ°u nhiều khối" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" -msgstr "thay băng ghi âm (tape) sau khi ghi nhớ SỐ X 1024 byte" +msgstr "thay băng từ (tape) sau khi ghi SỐ X 1024 byte" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "chạy script tại cuối mỗi băng ghi âm (có nghÄ©a -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "sá»­ dụng/cập nhật số thứ tá»± khối trong TẬP TIN" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "Khối của thiết bị:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "KHỐI" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "KHỐI X 512 byte cho mỗi bản ghi" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "SỐ byte cho mỗi mục ghi, bội số cho 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "lờ đi những khối không (zero) trong kho lÆ°u (có nghÄ©a EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "đặt khối lại khi chúng ta đọc (cho đường ống 4.2BSD)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "Lá»±a chọn định dạng kho lÆ°u:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "ĐỊNH DẠNG" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "tạo lÆ°Æ° trữ với định dạng đưa ra" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "ĐỊNH DẠNG là một trong số sau:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "định dạng tar V7 cÅ©" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "định dạng GNU theo nhÆ° tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "định dạng tar GNU 1.13.x" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "định dạng PoSIX 1003.1-1988 (ustar)" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "định dạng POSIX 1003.1-2001 (pax)" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "bằng pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "giống nhÆ° --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "giống nhÆ° --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "từ_khoá[[:]=giá_trị][,từ_khoá[[:]=giá_trị]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "từ khóa điều khiển pax" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "VĂN BẢN" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" @@ -1793,169 +1896,171 @@ msgstr "" "tạo kho lÆ°u với tên khối tin VĂN BẢN. Tại thời điểm liệt kê/giải phóng, sá»­ " "dụng VĂN BẢN làm mẫu glob cho tên khối tin" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "Tùy chọn nén:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "dùng hậu tố kho lÆ°u để xác định chÆ°Æ¡ng trình nén" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "không nên dùng hậu tố kho lÆ°u để xác định chÆ°Æ¡ng trình nén" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "TRÌNH" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "lọc qua chÆ°Æ¡ng TRÌNH (phải chấp nhận -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "Lá»±a chọn tập tin nội bộ:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "" "thêm vào kho lÆ°u TẬP TIN đã cho (có ích nếu tên nó bắt đầu với dấu gạch)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "THƯ MỤC" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "thay đổi tới thÆ° mục THƯ MỤC" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "lấy các tên tập tin cần giải phóng hay tạo từ TẬP TIN" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T đọc tên kết thúc vô hiệu lá»±c, tắt -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "tắt hiệu ứng của tùy chọn « --null » đi trước" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "hủy trích dẫn các tên tập tin được đọc bằng « -T » (mặc định)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "đừng hủy trích dẫn các tên tập tin được đọc bằng « -T »" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "MẪU" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "loại trừ những tập tin tÆ°Æ¡ng ứng với MẪU" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "loại trừ những mẫu liệt kê trong TẬP TIN" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "" -"loại trữ nội dung của thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG, trừ tập tin " +"loại trừ nội dung của thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG, trừ tập tin " "thẻ chính nó" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "" -"loại trữ mọi thứ đều nằm dưới thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" +"loại trừ mọi thứ đều nằm dưới thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" -msgstr "loại trữ thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" +msgstr "loại trừ thÆ° mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" -msgstr "loại trữ nội dung của thÆ° mục chứa TẬP TIN, trừ TẬP TIN chính nó" +msgstr "loại trừ nội dung của thÆ° mục chứa TẬP TIN, trừ TẬP TIN chính nó" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" -msgstr "loại trữ mọi thứ đều nằm dưới thÆ° mục chứa TẬP TIN" +msgstr "loại trừ mọi thứ đều nằm dưới thÆ° mục chứa TẬP TIN" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" -msgstr "loại trữ thÆ° mục chứa TẬP TIN" +msgstr "loại trừ thÆ° mục chứa TẬP TIN" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" -msgstr "trừ thÆ° mục của hệ thống điều khiển phiên bản (v.d. « .svn »)" +msgstr "loại trừ thÆ° mục của hệ thống điều khiển phiên bản (v.d. « .svn »)" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "loại trừ tập tin kiểu sao lÆ°u và khoá" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "tránh sá»± giảm dần một cách tá»± động trong các thÆ° mục" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "nằm trong hệ thống tập tin nội bộ khi tạo kho lÆ°u" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "đệ quy vào các thÆ° mục (mặc định)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "đừng bỏ `/' ở đầu tên tập tin" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "theo liên kết tượng trÆ°ng; kho lÆ°u và đổ tập tin tới đó nó chỉ" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "theo liên kết cứng; kho lÆ°u và đổ tập tin tới đó nó chỉ" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "TÊN-THÀNH-VIÊN" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "bắt đầu tại thành viên TÊN-THÀNH-VIÊN trong kho lÆ°u" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "chỉ chứa những tập tin mới hÆ¡n NGÀY-CỦA-TẬP-TIN" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "NGÀY" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "so sánh ngày và thời gian chỉ khi dữ liệu thay đổi" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "ĐIỀU KHIỂN" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "sao lÆ°u trước khi xóa, chọn phiên bản ĐIỀU KHIỂN" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "CHUỖI" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" @@ -1963,96 +2068,99 @@ msgstr "" "sao lÆ°u trước khi xóa, ghi đè hậu tố thông thường ('~' trừ khi ghi đè bằng " "biến môi trường SIMPLE_BACKUP_SUFFIX)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "Chuyển dạng tên tập tin:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "bỏ đi SỐ thành phần đứng đầu ra tên tập tin khi giải nén" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "BIỂU THỨC" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "dùng « sed replace BIỂU THỨC » để chuyển dạng tên tập tin" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "" "Tùy chọn khớp tên tập tin (có tác động mẫu kiểu cả hai loại trừ và bao gồm):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "không phân biệt chữ hoa/thường" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "mẫu tÆ°Æ¡ng ứng với bắt đầu tên tập tin" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "mẫu tÆ°Æ¡ng ứng sau bất kỳ / nào (mặc định để loại trừ)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "khớp có phân biệt chữ hoa/ thường (mặc định)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "dùng ký tá»± đại diện (mặc định để loại trừ)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "khớp chuỗi nghÄ©a chữ" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "ký tá»± đại diện không tÆ°Æ¡ng ứng '/'" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "ký tá»± đại diện tÆ°Æ¡ng ứng '/' (mặc định để loại trừ)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "Dữ liệu kết quả có tính thông tin:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "liệt kê một cách tỉ mỉ những tập tin được tiến hành" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "TỪ_KHOÁ" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "điều khiển cảnh báo" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "hiển thị thông báo về tiến triển sau mỗi mục ghi thứ SỐ (mặc định 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "HÀNH_ĐỘNG" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "thá»±c hiện HÀNH_ĐỘNG này ở mỗi điểm kiểm" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "in ra một thông báo nếu không phải tất cả các liên kết được dump" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "TÍN HIỆU" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2065,31 +2173,35 @@ msgstr "" "SIGHUP, SIGQUIT, SIGINT, SIGUSR1, SIGUSR2;\n" "cÅ©ng chấp nhận tên không có tiền tố « SIG »." -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "in ra giờ sá»­a đổi tập tin theo UTC" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" msgstr "in ra giờ tập tin đến độ phân giải đầy đủ" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "gá»­i kết quả chi tiết tới TẬP TIN" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "hiên thị số thứ tá»± khối trong kho lÆ°u với mỗi thông báo" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "hỏi xác nhận trước mỗi hành động" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "hiển thị các giá trị mặc định của tar" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" @@ -2097,32 +2209,32 @@ msgstr "" "khi liệt kê hay giải phóng, liệt kê mỗi thÆ° mục không tÆ°Æ¡ng ứng với tiêu chí " "tìm kiếm" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "hiển thị các tên tập tin hay kho lÆ°u sau khi chuyển dạng" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "KIỂU DÁNG" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "" "đặt kiểu dáng trích dẫn tên; xem dưới để tìm các giá trị KIỂU DÁNG hợp lệ" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "cÅ©ng trích dẫn các ký tá»± của CHUỖI" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "tắt trích dẫn các ký tá»± của CHUỖI" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "Tùy chọn tÆ°Æ¡ng thích:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" @@ -2130,62 +2242,55 @@ msgstr "" "khi tạo, giống nhÆ° « --old-archive »\n" "khi giải phóng, giống nhÆ° « --no-same-owner »" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "Những tùy chọn khác:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "tắt sá»­ dụng một số tùy chọn có thể gây tai hại" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "Chỉ cho phép đưa ra một tùy chọn « -Acdtrux » hay « --test-label »" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "Mâu thuẫn giữa các tùy chọn nén" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" -msgstr "Không rõ tên tín hiệu : %s" +msgstr "Không rõ tên tín hiệu: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "Không tìm thấy tập tin mẫu ngày tháng" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "Đang thay thế %s cho dạng ngày tháng không rõ %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "Tùy chọn %s: đang xá»­ lý ngày tháng « %s » nhÆ° %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: danh sách tập tin đã được đọc" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: đọc tên tập tin chứa ký tá»± vô giá trị" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "lọc kho lÆ°u qua %s" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "Các đối số thích hợp với tùy chọn « --quoting-style »:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2193,51 +2298,48 @@ msgstr "" "\n" "tar *này* mặc định tới:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "Chủ sở hữu không đúng" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "Nhân tố khối không đúng" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "Chiều dài băng ghi âm không đúng" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "Sai đặt giá trị cấp tăng dần" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "Có nhiều ngày bắt đầu" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "Giá trị phiên bản sparse không hợp lệ" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "--atime-preserve='system' không được hỗ trợ trên nền tảng này" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "giá trị « --checkpoint » không phải số nguyên" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "Nhóm không đúng" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "Đưa ra chế độ không đúng trên tùy chọn" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "Số không đúng" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "Chủ sở hữu không đúng" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2245,121 +2347,151 @@ msgstr "" "Tùy chọn « --preserve » bị phản đối, hãy sá»­ dụng tùy chọn « --preserve-" "permissions » « --preserve-order » để thay thế" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "Kích thước bản ghi không đúng" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "Kích thước bản ghi phải là bội số của %d." -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "Số thứ tá»± của nguyên tố không đúng" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "Cho phép chỉ một tùy chọn « --to-command »" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "Tham số mật độ dạng sai: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "Mật độ không rõ : « %c »" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr "Mật độ không rõ: « %c »" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "tar *này* không hỗ trợ tùy chọn `-[0-7][lmh]'" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[TẬP TIN]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "Tùy chọn cÅ© `%c' yêu cầu một tham số." -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "--occurrence không có giá trị khi không đưa ra một danh sách tập tin" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence không được sá»­ dụng trong chế độ thao tác đã yêu cầu" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "Tập tin nhiều kho lÆ°u yêu cầu tùy chọn `-M'" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "Không thể kết hợp --listed-incremental với --newer" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "Tùy chọn « --level » vô ích mà không có « --listed-incremental »" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s: Nhãn khối quá dài (giới hạn là %lu byte)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "Không thể kiểm tra kho lÆ°u nhiều khối" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "Không thể kiểm tra kho lÆ°u đã nén" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "Không thể dùng mẫu (pattern) %s" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "Không thể sá»­ dụng kho lÆ°u nhiều khối đã nén" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "Không thể ghép nối các kho nén" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option chỉ dùng được trên kho lÆ°u POSIX" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option chỉ dùng được trên kho lÆ°u POSIX" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option chỉ dùng được trên kho lÆ°u POSIX" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option chỉ dùng được trên kho lÆ°u POSIX" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "Không thể dùng mẫu (pattern) %s" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "Chiều dài khối tin không thể nhỏ hÆ¡n kích cỡ mục ghi" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "" "Tùy chọn « --preserve-order » không tÆ°Æ¡ng thích với « --listed-incremental »" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "Từ chối tạo một kho lÆ°u trống rỗng" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "Các tùy chọn `-Aru' không tÆ°Æ¡ng thích với `-f -'" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "" "Bạn phải chỉ ra một trong hai tùy chọn « -Acdtrux » và « --test-label »" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "Đang thoát với trạng thái thất bại do lỗi xảy ra trước" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2370,115 +2502,111 @@ msgstr[0] "%s: Tập tin được rút ngắn %s byte" msgid "Keyword %s is unknown or not yet implemented" msgstr "Từ khóa %s không rõ hoặc chÆ°a được thá»±c hiện" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "Nhãn thời gian ở ngoại phạm vi" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "Không thể dùng mẫu (pattern) %s" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "Không thể ghi chèn lên từ khóa %s" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "Phần đầu mở rộng dạng sai: thiếu chiều dài" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "Chiều dài phần đầu mở rộng ở ngoại phạm vi được phép" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "Chiều dài phần đầu mở rộng %*s ở ngoại phạm vi được phép" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "Phần đầu mở rộng dạng sai: thiếu khoảng trắng ở sau chiều dài" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "Phần đầu mở rộng bị lỗi: thiếu dấu bằng" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "Phần đầu mở rộng dạng sai: thiếu dòng mới" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "Bỏ qua từ khoá phần đầu mở rộng không rõ « %s »" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "Cặp từ khoá/giá trị đã tạo ra quá dài (từ khoá=%s, chiều dài=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "Phần đầu mở rộng %s=%s ở ngoại phạm vi (%s..%s)" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "Phần đầu mở rộng dạng sai: %s=%s không hợp lệ" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "Phần đầu mở rộng dạng sai: %s=%s thừa" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "" "Phần đầu mở rộng dạng sai: %s không hợp lệ: dấu giới hạn không mong đợi %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "Phần đầu mở rộng dạng sai: %s không hợp lệ: số giá trị lẻ" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: không phải quá hạn hợp lệ" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: không rõ hành động điểm kiểm" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "ghi" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "đọc" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "Điểm kiểm tra ghi %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "Điểm kiểm tra đọc %u" @@ -2628,7 +2756,7 @@ msgstr "Số nằm ngoài phạm vi cho phép: %s" msgid "Negative size: %s" msgstr "Kích cỡ âm: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) bị lỗi" @@ -2657,8 +2785,8 @@ msgstr "Không rõ định dạng ngày tháng" msgid "[ARGS...]" msgstr "[ĐỐI SỐ...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "không thể mở « %s »" @@ -2672,70 +2800,101 @@ msgstr "không thể tìm nÆ¡i" msgid "file name contains null character" msgstr "tên tập tin chứa ký tá»± vô giá trị" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "" "không thể tạo ra tập tin sparse trên thiết bị gõ chuẩn: dùng tùy chọn « --" "file »" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "mặt nạ không đúng (gần « %s »)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "Không rõ trường « %s »" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "không thể đặt thời gian trên « %s »" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "không thể bỏ liên kết « %s »" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "Câu lệnh %s không thành công" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "không thể bỏ liên kết « %s »" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "Lệnh đã thoát thành công\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "Lệnh bị lỗi với trạng thái %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "Lệnh đã chấm dứt khi nhận tín hiệu %d\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "Lệnh đã dừng chạy khi nhận tín hiệu %d\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "Lệnh đã đổ lõi\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "Lệnh đã chấm dứt\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat yêu cầu tên tập tin" -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s: ThÆ° mục bị xoá trước khi chúng ta đọc nó" +#~ msgid "Cannot get working directory" +#~ msgstr "Không lấy được thÆ° mục làm việc" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "sắp xếp tên để giải phóng tới kho lÆ°u tÆ°Æ¡ng ứng" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "Trường quá dài trong khi đọc tập tin ảnh chụp" + +#~ msgid "Read error in snapshot file" +#~ msgstr "Lỗi đọc trong tập tin ảnh chụp" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "Giá trị trường không mong đợi trong tập tin ảnh chụp" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "Chiều dài phần đầu mở rộng ở ngoại phạm vi được phép" + +#~ msgid "Invalid group" +#~ msgstr "Nhóm không đúng" #~ msgid "Cannot save working directory" #~ msgstr "Không thể ghi nhớ thÆ° mục làm việc" + +#~ msgid "%s: Directory removed before we read it" +#~ msgstr "%s: ThÆ° mục bị xoá trước khi chúng ta đọc nó" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 8a584d157c09997b716c5db9b269780f43a4c244..5b8752dbf02b2817275a4add77905bf2a2f488d3 100644 GIT binary patch delta 11554 zcmYk?2Y4058piQWr-zb&w6K9dLJ5R~PUuJ=^d{0mN03kxq7*$!ks=^)Fri5kklqeb zBp@n92q+?of}kSgiU>APM1}i*GsE++kKg&tH@jzd_M6!~(R-(@4tVglzvpW4z&HII z$9cp@9L5xNoUQ(jE9S1)6YFDLOi1I6j9I!g&cJZ~<1q?WjAwfQ|4bY9LXJsvag`3cifG zz!iK7?_*UgR@+pfF%Bhf>!HETJKIqMxP76rT;JJ5LyPA+s#N(KnnlyZIvNw{ ze+xCImry0Vhk78wSO}%C8EWwy64A&L<|JVoOhaAhJ=B2ipejaUUJ&=H1rup9<7HzjtlJb5!Lf&J0N@u-R{MtyHHR=^_|idT_;oI8A|vb9>6^YlZV zXEN&e1uZ;`mc|Y`3ZW0RsE%S8JccfQi$&3CY2FXTP$!5+)}51tk?6q!xE3RD8}`5) z)WFH3 zcLjMxIF(3L$!9Pe(@_KR%%!1{FUMxM9~rFk7dFR6tT5f#6fB5up^o2-D&+~(<8%pi z;@hYJ2PB!Pse~?h1Jw6=V>D(UkEO?1MMHP69d(BvqfY#-&Hu1@fwpD}B2fElp)TAC z^X?2o$kR~+n2IX#O4Ptkp?({_Mcv444A%4iHw`T!r=6LzaMWt8gSzv9)@c|;zTSEY zdHp+gupUMvn>*`?Jh9G8$OGXV#2CDfdhR3Jn>S%EtjhJBnKY{5PE5l~*aACsFaukN zdLL{+EyDM)5S~Mo^a=*z0}RGTSRI2qnzay*sz7Vh8tH>NPa1kusu?u&#r4*$s5{+* zTHO~>6$p%(s>ldrJvm;?TV$v&-o`i#>0*9-8ek3b6pY5#Q7<$f>U%k;wRIJ>cJ84DmcJ|Y z*PR#XYC6JEc^M4CNYooG8dbVhs0;N&m2?iexEc%LQB+0Gq6Tmqbt6ID%#_4o74m)< ziqkzb#?$bkN*2`J3?vGlC9jH=aT=;po3J8YL{;JeYG7f!Wr|`fmcXXi2fJZG+>R^@ z=OF5P!9C4DJuZzfI+~;Iv?uBWz#KhaO$R;4nOnnv&`R&G&nuo{H3g)L)Aziw@1*$C!xs zu_@LaWCoCqD(zZS|4DQ)c(9q0Xsk^>8g-u4SROw`mXC8Alkn*wW+3yi68XU)9&^Df zbkw1v%urLB&RBtbJZhwiY@TiRe}nbte~7wJU2fCG?${F3QI*|~k$3}jT*z?qX0436 z@njE;#x$m2L)?%0;%}%CR(Q_X3iVh$hx#$ujVkda)YROw{rN|j{qd+9=!;P}1+^B| zpa!xHH6@eHF-^pz%-1; z#kdpS!>aiFsJsDqoFz0g!lPIPZ(ukUN~MhzG0cyDgBfk!jOE9ewNMc&vcD~AAfr%~ zTWa^8Kwao(td1qen)gOaRKhFGOP`9Yrt$ zS;)>zROxS{<}lwRV?62(`k@B+Di*~>sJUNUZ_Pg7c1Z{)c$j*r@{Xfv%e;`B=3PPW?^YOfG(a# z<$s`ygWa{=GQL)UGgs0@fbk9*qUkkm!m3n z2=n0$)Ec>iMYz5bGToHEq_raIPHUnDFc90|E7%xMqD~kv!<04_%aISlNPHRdN{x9p zfWh?N!Vvr&wOAiu64!TPW|~rtLoLQk)M7k>I^jK}R8Fba%$utoRwPeGEymHP{nJqu zT8C}%6Rd-!W|{MLz$o%`)Bu;ECz!@D8ZPFbO7k;T#-Q2e0@X2uyoI%$wJSEKzc(i0 za@0UBqKkiG43?T>&f6SSsotpLGUiZ!jp$9=@t*Z-)D+yu;#h62x$`Ed#nctGibr8# zoMZDW)M9?u_Mbp~{{reg^FOSLcTv}kc%AxdakYBg-01+UL_QG%aT)51t1tk!qK@B* zIzbL<0KcMMNDr|j7MW*$8!DrY8;AvPCc3x~2jFfG4ZZn_%{O!Iq6W|lU7UhC!AjJC zK0r;`3Dj|Cu>}5xnu4GOX3@1oRbnt|e;TS1v#>iZN4)_(cW9`T5pS3ZBw``*Zm0_n zz=k*jo8l3h|A(qX{e|Yvx}z?Xg1Ybo)CH$oGp(CZ$7LgH!{eNzp$q+uc>`HwN|}f{ zK?myq)M}q#osC+otFS2UxBVZZzIWB`{|&Wx3oJIr7e_rk)v<)0|4uXt(=iwe;y6@^ zr=m_g9ku9|U;^$ymHrx5!Clkh;`q5W7gd?RQ8!XN(^wj7kh`eG*bzNC@L3vq zF2|!zv;bA2wWt#uv*w^4pYy0Y`xjNAdRgXsNvKNpv5r8MJ_B8R8TH(+MlI$eS=7G> zjgROkf#)$Cb5VEtFLuJ{rRI(@P%o4>umc`IEyAE>W`87>ByWUzfptaQ@e8QRu1Ed+ z=3p4+E~EY`^*?k}!1Bw@bKV4X=PghpZEN$67)0I!pTa(<#hZqj!lkH+oWN+jh*eSbA*O2cmY+yhp5umSYzfg0X0R*7>cPFfm5+8u0VZ% zKWd=gV>^6+&9L=a^D3T!b;#exT6h<$>G_XZXG+)^U3N^wVwj2fag%iqYVNbGAEJH} zK1SWy8B`_1-ZqQ0F}mbKQ3IWcWpFKa!E9{C^_{}&&75~c-Qhsg7sg>E&O_bt4%Aa| z7DwWJ)Bp!>FqKM0P2qHm!!_6xKSQ0j=ti^ZUDTqii=Of{TGG%R55!V90juL&)Z*KR zD%ok&1s|ZMD)1e1;&{~K)DpEudZBJ$G^XGjtb#wHZYXq)k8h(+@FnWRf!mB#P*c(tHK)&EMVy9paRcf?mr>`tiw&^ocJuvqsQsfn zH1x)rfemp5M&TEzfjvO2;`%$xDt-a$k?%oO;3l@g@;gmF6m`L+sHxbCRq?d-F6zP& zyUbeg)Ta?jM-S8;4aHhG9d$=OyZ=kno#tXS^xJI~Z4E3$-VC*dI-vHape{TIbzUE; zqUUWMv?uRI`1_9r)8X_*l{naE?j#1a2Ku4;r(<#4fEV!qKIO-sQhUw&V)MJ^Z^m7y z#drVi7oWYquu?5w1rlAOYDyoNf#eJqTH_nSXV%Ay9)5LMz17>^^c z6|O*4@>|>g3+loZ4;YiN6!`?y_vd1$p8t(BVsRg;l-I4lVO{cvs4vtxX!du(1oHma z8W*8T{H5)`hgw5b-!oIu3028SSOM3d&U+L+m1+EGca%G1zL<#h=pTft$Wqh=cAzS9 z7JK1k)Z$FYHdBy>y6|MokE@Xxays$BCGs|ZK2vQQJWiI5VEfjP_sN^l$wz-_;(dbO zq`Yk)?b^g=WcBdLjVCN`8YZEpX(KU{V8J_cpE&j-+FIbeD)^5R)c+bCcZs=lXlqU^ zQG;zH{R=RVI7JL1f4r@wp)%&u_qpwyWB03iJh{#n*k+LwrVGF6#BH?Mw1!u^_?1&)e?s=|_Jw@hk00sO?j{Y1_*C)7BIAfbggNF`@sW zc9rlv&xf{aL=W0&L?H1L`CXzWv4%KJXxquYW4IDuBq|d9h+V`ELR&Ikw(S|F%b9?q zZC_n{n|Q-d^=H##q5l_3f1HLt;YK`z4N!}1F;2yy#Ot(M6R*(b1?ap?dj&4U$6Ht0 zBZ%d6^dml}-Ha$jthNVD@ZpSz=scjoRgAemERxVB^ZWA@xcO75B|Dm=Y ziD$?c=4Jd>E!x_a;UwZi+F8W+v`gbEY>nmdV`R&_zO$N+wqze-2OL9GB(&`({v?9g zw+b_HGNElS{(_6JHeRy*d2b!^?}($sLHh4w3UQnE-}o1v(fkLHXuDu=wm&`zd8}>! zfvL8=&l=1AHbj2%Alug+_Yfy-KGB|Y0Cu!}m1+BEuh%}^{{fO0m9RCZy_MNw z1iG%!7e_ot=r`^@eTf)N#Lym3G@<<}YJ1PB_F%%bdAd5D*xK5Dv)*{XpZH!kj@zqO z(L*}Rkvwg8_NHBjSYh)!__J-tV;A-fwRsNhpJ?A8l8Afc+FqkQoA{b`2V9)j%b&Qk zTM*hlC1%@4!TEutDA9|ZC2$rVBCZn^$V(D069))w;RJskJ8|rfK@Vz+z`wA#&DA%J zI7e8pJ5V`)Oc)Uf}MkOr4z7Tu-8k|SpZ&(BW zAbz1e3ZEyc+vBES6j7P@jsA0*|4TF;Z|!LGAjWV&DDgY-c)McT8Tc%5iyeJ%^y35Y zU!o0tM~IQMTjC8IhAr?DOu~2Y5m7|1qA7G}d*9%Au_rN{1O6to6|nZk_NL33O8Xvh zl{~}tiAwp)JuQP_~=BNB~nGt2fH&h{&@n|4(l z#irvQv0cvgt&43N;_F)1=kM*+pt!GggA704@rGac`@T#Z?(Ys6J0^Y5$T4Yd`h-Da z(uR+nFnZWfclgNEVeXhgqlcx{^d&Uw72tcPWmcefbkeiFUz3XY`GzE~@$=U1(Aqn_ z!wPT9jxBtPI+h6Xe%kGzcSrZRzFR%s_48#vvpB%FrEgU~Z-M?k?~VSk-k6jUz8NWQ zpx52&`Z^4`~Ce&(X-BS#N&)5p3a)6?AH6H`;&3B%IHrcO*B zId+UMIODHCU(}Rxf!hGmRQ z<14YP2c-{dX>)gMtGwPLtLpheRxb_oo_YIy@3!@`eOES|^z$8l=fwcu-fhu- z-ZDF0^M1Iafw#=gNZ+EJ`2&6K-uL`{!TSpY`37Zg3h}i+HqOtTXD@tX!Rp+V+j6t^ k-OSpXyC(Za_8Yl#yf^0W@*O;$8|XWB`euOlpHF7}A8sCO$^ZZW delta 15909 zcmaLd2Yi%8!pHF^ArwQAE}e%OT0#e@f)Ee|EP#qA5Rwf9LIT+Y2#On!-eKt-q$>ni zAau@(?M_8Sv7oPHH$l(tsi3Ft@4qua^v-)ePQEkqJkRu*ee~|y)yNr}i}@~9j9MAt zI8NP2$7zL4Dmc!&#NGOiqx{EWjWcmBLDyldjz{nnd>t#}x;V!vfw}17QLKyaVj29= z8r9Nq=8&$?((yS}iL51qd(Hvt$JmH;Ia)+}oOW0V`=A>65PxW&vjF?zer$+8U|Fo$ z+Hq=OQ=}-T52_)PunVrj8hF07&s6XQ8Mlz}8&<(v+Bi;mjKwY-+1_y) zU{@T4BT*yw9IAou<0QO_YS08)(;fY&iqE6+e?h8r>UK08^bI1S0+LV_K7p#}2-d@k zsG<59`NyextC^~SsDh{Aowy72{I^&WD|a$e*a~kUeLt$BX;>TAo3zh4P9%nm5VDS( za*V5sU9ky1Vx5f@N#~-Te->5HXQ;U?#l*@c7=d?SF}xGi^MR<5oQPVaJFztsKxcN^(yj@)3lozv1HW9PRC}r1vL_{q8e}+ zOH#k{84=CNw-}F&nK%t?Dl(nUDx{OnYp5YCd7IgO?NALHh*i;xb#Xp6$GzAGFQCe= z-NQ8GUet&@hCWrWnTT5S4%WsGu_j(ac9c`Kr)ha#EJ=EVb+k1dX`3?{_54w6j0LC$ zmb=|Fpe?H0(O3(gxZUpmEo9UqBM;T`i#A=nmsyN4SfBj6urj7$xB#p}dJC%IXR#7~ zgf4!A8kvf{&3jF;F6r)gGY;?VbDSPT(#X)z=3;mRPz7B>y-<#MiNZK6gKe=G_P`q0 z8(kcMIyZ8#3NAyvzYDc{&Y?Q`8%AS29}}b=w7|i57pi4jQ0Kq_RKqT#7EyVQJDrqW zQ2Ap~4O@*Ra09BsCsEHohZ=z|ks_SpcbF;Zk7~GYB9UrD7Gee5fi%v^!-NRO`8TQ| zBknXKvmDj41E_|+h?5HfaeSumN&Oo#J>!2Fc7+YW;RD-=(7U!XQx*9blPof&W7d6#qu{mDCderYk z-))Ad1vVr-(CWpOq}N~vd?9?oJTb*dayZo>Z0bhBeud}sEQY2YdnVK@H4E4SFt3P z8DiE-Wz^8OM|EH@-i$+sF#eT^q>xb^AICUcgFWyZYEDbtZ$_XhY8&-LRWuiMqOC{0 zpNDGTo2ZUOK48{J6V%iV!CP<|>iv~IB2|g(#!7e=)xx(>L-n3be{9qFSe*RNQ5AoK z8tSqSnu;1@71D#y#T3+3&PPqbYP<#WP*duAors3=8aBqpL(R|(z=@Z%{x?=f_hHk(&ZxC82-VRf)C6`sLb7{W$aEXnkwDUKw42kPY8gBscks2+ZadOp%)dfEgvA`e(+ zq1IFYwfGt(Gyc&;?nyQk3`12s72D%#ydD3J+TZ0zn?+O?HHWQG4d{y6PJ^)?jz(2H z&)&~Njm+y<7AuS~9jH5o@mI_Hlc6~tY0bj=r03&U+=orDT8jBm>4|j0c^EZS&!XP{ z64kR}yrgp=4mG7Cuq!UX?)VyN1WWtInIXFsbz?ZXxDn&=4C=wCRMUXgs1xrYRKW|e zHlD%<@O|uyZN{61O~nSJccL2b3bw4aa8qxJ~b|54?=po}Z&Cs-JEe z*aI~+2^fppQA2+o_1yQ^5GzhFBheANkRF4ba69sz&$&cIEiA*zkgc#E4n__6Ce-iv zIn-2rYV&`v*3B>-xC2$;7%Yv8Pz_m&%`p#E&Slh8{Tfbd{=KH>aj20PisdmIE8u)= zfg4Z_dfECd_9k63(+ufI)P7%yF?bkr@k4Bi3$si^j-nd+DORC=r{p9K7p#qyBUn6> z%~4xzidh@AQH!w`sv*g!A@|$+&!8$OK=rgjwmD$BVI|UoZF&r9WPGUeV*&bZCbEl& zh9(bHz&2JIsEA)-97aCI4-d9REy^XRp+A8diObj#OH4CE*&Vg`5>XADg^lo-y?+Tc zwZ$Gci?IP#BR%+W#$R(bo(zq|LL7)2a1efuHSji`)5tu8>d9A0vm9^Cha{`=2m#JJGrxwRm1YHTW~s zV!ei16QyUGo^?WYoQo>|DXfhrP*dZ3kBC-lsaa;9w?b7s8a1~wY@7M7l4hB6L&lJ1O+@iEle zcoJ3MQS6MDu^ZNzYewi{)X>hxa6{20eGc!$LR7_V=b2yIf!K`tof$+lB>Tb{d_JRw z^apH>CFh$()d?GsPDRb#a;$}iP|v-NS|bq)%yY4LJLy5_;wsec$g}A;m8O2@Tbog4 zp&6=J)C>Kv4vw|Xv+lN@Lp3CX8sZX*Oatnp8a5DJ9A{mK#Ype79z>rWI6|Z;Ucgf5 zEH;biCe)&-kEOA-wHvC({ZI{f6#L+MoBt_xAzgWiDfb?1OL{7*Vf(QjzPg0*Z${(` zGE`8trDmJliX}mm0o5Fyd8DoC85^T6x3o}j~dB?*c{)$ zJMfofjDI^K@ykttQ?ViGZK#Hw!xH!{x_A|JaMbXdhO|XhFcj6`bn9fR4||Y52fN}+ zsD>0@VajXhBhrM7cvQh@);Xx5+JbuFG^$}A+H}N9lkZ|{@^8b6I1wx1Ow?jqgIe5& zuq?h|)0eP3Y2PpQM%h)SfSOo_8*!*L(FIkp2eruNV-?(q+V`h03O_-;7ep%!?i|^tH{0Yn9gKNy3k480M6T0{;hSvnD zoYHGe!&;%Hus!PeuBgQ~5-WxGKM~E%D%2u;3pF&~g&&}hb!KF$;UMyxqyCe*4_lJ1 zvcU{-JZfYTQ6rI!YRGKtgim324BB+Vjf@cM&lyfcJ)Vl1yIH8AUyEwUbEvs}+ggCC z;F?XB++^OXfm%y(sEQxJ+V~jOz;&phKY}Xn1@tNMp3V3i)q`KHl{cG3*$mZ?Ua0$n zQSXhl_oty&|0EvaR(^*mpdM<~x5HNWFsg@(P;22ZYUn?*evX=|tLUOHVy8Js>SGic zJyF}N4{Gj)phh4CH8MUNhA^w+40f53)#^Byzz?NB2(3S-cV zWwig-6VVI1Q9XSIHK*^QDvsJ~=By!V&U)fF9E=*Fzo8oPHV(s!_;>^d&QoUU4nJ*r zd?4n2$N z&%fS+o39&g%$AyRFB_7Jzt0#iKwGy1RDE@s0Z({=Ajnv8`u?Vo;D465Nm4x zKSrbtH`bsEcokLARcp;NX0Ezn4e}pG9odtyJ+4Dl^aj?%D|jmwKWobAj=Db*t70~) z152@?kH{-T)UvPeHf-@X`$dEuNbf?8$R+H96`wKbp{NQMp{8aJHpR2nE2xSqJ!{rZ z3)GbM!#X$=eVY3zMC#*i)B~@gdinusasGf>&Gnu$i>n=KQT0UKAB3v-aa6&(Q6qW| zd*U^l-}QOZp<%d}{N>Lx{`H7-d%^T*1Zr{kQ5BxRck%C7ErS1X>P2&~oH=K{dS5^- z&L2^`qRdNX?z^EHw{U+BYLRY6mGeC6y-!eU?Q0(q?bkZ58k?gQ)vc%((ro^G z)EZcgz42AlP?vwr<^x`DcVq1?In)9d% z3b8Df{D=7uj8#yJbUaqaeW-?=!xH#2s=Ub8&3O`o%$)N+f8HXLkK{DP*9j#ewEu3n zZYOgmLDzn)O{hy)OsK<)n&YC&Pvkp7Kbx`28o_fP+xT?eYeX1K`YK_k%|A?@xv0NV zQQT&JL0XIL8h&f<_=UIouzIV^P<=gj)$;k)A}DPh1B~(e)X5lL`9>MOP~E z-$;b(Xh0%JqCcStp$h45@FzlF;>QVZ67C@V9^nY_=LzeGuf-vFtL_tu6OSj9BqS3) zA#WN%UqpW+-48bq9wwYCn*Stj{ME&J3V(32aKr!FbyY9_>ET<*TSIt>u#0>Dzzc*2 zh_^*uTBLUqPYI{^{tM^R{~w5GPu_SuQ13SozCsT6s-u`~~7wxYq|8=mu97;d}1;Ugpo|gwAB>3r1HW>Cf;3e2#EuIM@8q zp4U~65XC)Rek?-;J<+v!JIt-?fB6XrUtin%XR$;i{hvYhT_nca8+z&z;d{bh@>&xr z5H65DLa1t=`jXUU&W_>!=KP;@P~k&)yDh`)y|3I8H~J7E*y3BpOj0rG25 z=6K?|UL)qiOZ?yk65V^?~^bGMHgqwMw8}_mJ|HiI1e$C2lXNHacsD! z-)G1hO01BekCtCZpCNecv#rUiYCA zd#@Gl_|tPWNXPNaG=i?P21oVY#Gg`xRXp==(!+5DK0=5jo~rS$MdEHkbsn6I8H5CG zmL~j@a3AS+2)hZoDjS^Y+}ljh^?$eklW{RF#XX zr;+il?$}HJSKL}WkYLlxh?gKf8cW(bhltmv(rC;hylwN#lDCHR z0-N4Q{1?LCNoNtp5oT-u45U)tyFf2{Oy5N_DTYm39DXy;wKNB9{;m7d`p*-OY!mH#pBWxpHfpC#{ z(Y2k(W}8@PosOpohj^}-0u|qn>&Y8}x?b=RDNeXZq8#=LXLD{7f103cB4Hiz5x5oG z;Z1}+#J$*%@PvJ~0+kdeXj`{tgD;F_K@vIGJa!RVlY2@wf4oMrAmOeQxoZ)6>Pw?0`JX10=5)w22rI&C@w(#^(z3(1yc9rfV>}r&FEiauaJ{@vL754RLwW|)d&jv6 z8Hr<3CV5)8328|#y`mZ~P4e(gQp%*1q%1p}UN<=-eSEl=_LaEk==doK<0qtgeBRE{ zF2!cJv5Cn=CB`Y8OczF>+raHb`!hX%ysHw`3kv5!wSb4?ipt8I^vA+ndo^(Tn+Y-# z?R7^m{6&pYt&=<%qtd;e)a>g;P5JL7(X4p05}59y(!%|`p}4r{K>hd~5iLfuxHSG* zc1^K{JZVYH^%y3GK_2JHW@3|AVcr=33w`<&ADxk&HNhX*cY7t)KuU5-qFE4`DdRnE z6aUJ-_Z4SpdNKl+`qnDmY(Q3OW(s3j)Db%_T2ZVLcVz5<7#5XQl>ch~6XjSQCKX=L z{vI8xM8x?I4p`_5KjLcb57vN(mzl<0t2KjWp$a2}&>Vx!VC$GDRd(lT9d zCUcQMUsBR0WM$s)LeGpWN(rxy#PsnKD1Q`9o}9vqBV&`@*qAmqJUpybY{y52rH&u- zNDLd3QnMyZNYBvj7?tfd%N ZKg#N=rS-bqN*n&gC)sC{&9K#^X@gpd>)oX;<&5{ zl#ra9GQ~}y?T@qXv(i{PUe~KFr6$D2+6O3UP`?59^p78Ld(U2X4Y_B;pdo$w^m{Na zdN7-m)#25~OiWM9%t%jV!(?k8-%yIJjZ*H9zi&`K-`xX8^tyZC;QQ|G-@=`gkjfU< z7<7(ip{Av$v3JswlkM6}^H4lRjw@=jSF5>&o0c_xlqZ9(>k8k#o?~j$b7?85EnLqO z7PqF2w0UV5^N?JW&=%2Hc+GGle9^IKQ94dQ$7~de+3O^l(?bnb~wfx8hi~MQyQnW5aj5 znU-;m=>$!1bwc}m$LiQ8#p`k z=g6j>(K@3t-SHl+19w3DfZOBmiyhc=K)lwxemm@m6FBzp(c=ClqiXr|v~lU@e7z4;5v06UP*_=Fr4CQSm9MNr@Z=UN@zb1*U!7W*e{6AR?fxq{>q4vMd@gu!W$;u^AbZ--NdH1#sfxk5s|&a84(1&yIJu-S_hfL%Dt|;y)j-fUIKsbv zdaXdG>5C&<$Ht~7CT3-1c+wI*E;SWCak^l|?)(#r3v=^A2WJ$ln;G&i%0Im!w0mpt z)RO#T`vNaMac^Xx!|bNTDi$uzqtIa94(=DM-yb}^GVtKM-cj{J^Y*AM+Yet^c{X@r zXW`LV!8s>F^Kyc-rWfu%Mv?xNiyp3Lnq=NH9SyBM8r-)!wEswO`(9r4f4%5epWAof z5XNQ=N9U(GYu(_1*%T4netl?i3XkOFpWPVTx2AATApclS{;|EmMJo#yJWVwPPfiaW z+Zmd>ib%owHNn%%LtCF@e1pf2(#`yni%kxlGOrY#T@zfqnTB53kYieO*_SgTI=W!{ ziTpDQbhQ2NAAL$RuZ4f$gUc6&zXpPH*9T9YFjd*xH~ijSrUF~=fBORP=>%=y7Uu3O zI60dM%|CYLuS#O}_G!B2<%BlOv(5j#@W1{hFw5pIO0Aah7sUp?SUfADY4Ggnf|WZ$ z8}=4#-Vv_bPJD1y;L3{qOeQne$jij}Cob(-tl;EK|L&z5{V~hR`EOm;>n79G!kk%w ziOaS{HQ&BYlNX*O(|o3(aOd>=(`Q+cto+ykY>z8B^R8???ys=w88@_gmq``v3iEt$ z$&Ap-1B|Qx%~kV!<_SIoI&1BOR@2zcT2J9txxv$Z)-HFQ>m~7-Ks8LBY7ED(JaO8T z9NID`IA?a@89&SUh8Oru;0-pd-r%z!oLCf`bt<_3cvB~|;pyFm&}x5!G(o4rYT~S+TY-H#gv}%`WD%hY@~%ImuLa+Yp9{gAGeVm--1rn{Kybru`uCp&T<^NQwLga)|9jbg z`hp1MoMcSQx+}Qh(TM24nhi}Nx^py|6?y$5g0W+ev<~%I5&n)KOXuU6)uHu=Ij{21 zZVgS()d2g?Zk*%4c~iBU>{*v{${)X}Q`O+&1qG+}n8n*Uyh8akSnJQ+)VzQ2)Jp0L zp5Dd@T(op4DR^LGVXp3k^QiYfKOrc=9@6380$vKN+{EWXXvS`H)`u3(3GQFV30-)0 zjyXN+7kwwxr$-D!{Tsg&>Ib*4Vs_0Eb|@uycGi`xCz;d#{hE1!1IpA_!c^ryJG5Tl zrETjXo8NdAQ~n>m7(#QG2A8b~ZlB4ITX5HcK*EmF#qTNH^&|tv4~Dw2b9!j~+0deG zW&!9N3jc08=HB&FIk->`^Lo+qR%3{+n zLp;*t%E>i_`?m*kkF);lr-iFCcIDhau|v}%0y_iwQ4Lw{rcwM31s5K_GHa1N$`&sV zo>)TN1-lLe<{kU2*Z_Xmxl6&?2jM4ejhrd=&L6UWuRpYSIc>K;$l(Sw^=F)#`~L>b Bm#6>$ diff --git a/po/zh_CN.po b/po/zh_CN.po index a1c7614a..07b62346 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the tar package. # Wang Li , 2002. # Rongjun Mu , 2004. -# Ji ZhengYu , 2008, 2009, 2010. +# Ji ZhengYu , 2008, 2009, 2010, 2011. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.25\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2010-11-12 09:33+0800\n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2011-04-28 20:42+0800\n" "Last-Translator: Ji ZhengYu \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -31,64 +31,63 @@ msgid "ambiguous argument %s for %s" msgstr "%2$s 的参数 %1$s 具有歧义" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "有效的参数为:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT: %s 的值小于或者等于 %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT 参数需要一个值" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT 参数值必须为正" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: 未知的 ARGP_HELP_FMT 参数" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT 中的参数错误: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "长选项和相应短选项具有相同的强制参数或可选参数。" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "用法:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " 或: " -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [选项...]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" msgstr "请用“%s --help”或“%s --usage”获得更多信息。\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "将错误报告发送到 %s。\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "未知的系统错误" @@ -100,7 +99,7 @@ msgstr "显示此帮助列表" msgid "give a short usage message" msgstr "显示简短的用法说明" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "名称" @@ -121,17 +120,16 @@ msgstr "挂起 SECS 秒(默认 3600)" msgid "print program version" msgstr "打印程序版本" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(程序错误)未知版本!?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s:参数太多\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(程序错误)选项可否被识别!?" @@ -139,62 +137,62 @@ msgstr "(程序错误)选项可否被识别!?" msgid "write error" msgstr "写错误" -#: gnu/getopt.c:529 gnu/getopt.c:545 -#, c-format -msgid "%s: option '%s' is ambiguous\n" +#: gnu/getopt.c:549 gnu/getopt.c:578 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: 选项\"%s\"具有歧义\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 +#: gnu/getopt.c:626 gnu/getopt.c:630 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: 选项\"--%s\"不需要参数\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 +#: gnu/getopt.c:639 gnu/getopt.c:644 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: 选项\"%c%s\"不需要参数\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 +#: gnu/getopt.c:687 gnu/getopt.c:706 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: 选项\"%s\"需要带参数\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 +#: gnu/getopt.c:744 gnu/getopt.c:747 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: 无法识别的选项\"--%s\"\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 +#: gnu/getopt.c:755 gnu/getopt.c:758 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: 无法识别的选项\"%c%s\"\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 +#: gnu/getopt.c:807 gnu/getopt.c:810 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: 无效选项 -- \"%c\"\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: 选项需要参数 -- \"%c\"\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 +#: gnu/getopt.c:936 gnu/getopt.c:952 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: 选项\"-W %s\"具有歧义\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 +#: gnu/getopt.c:976 gnu/getopt.c:994 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: 选项\"-W %s\"不要参数\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 +#: gnu/getopt.c:1015 gnu/getopt.c:1033 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: 选项\"%s\"需要带参数\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "内存耗尽" @@ -210,28 +208,30 @@ msgstr "无法回到起始的工作目录" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "“" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "”" @@ -241,7 +241,7 @@ msgstr "”" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yY]" @@ -251,7 +251,7 @@ msgstr "^[yY]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN]" @@ -532,7 +532,12 @@ msgstr "标准输出" msgid "Cannot connect to %s: resolve failed" msgstr "无法连接至 %s: 解析失败" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "无法执行远程 shell" + +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "无法执行远程 shell" @@ -581,8 +586,8 @@ msgstr "参数异常" msgid "Manipulate a tape drive, accepting commands from a remote process" msgstr "接受远程程序的命令操作磁带机" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "NUMBER" @@ -590,8 +595,8 @@ msgstr "NUMBER" msgid "set debug level" msgstr "设定调试级别" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -606,7 +611,7 @@ msgstr "设定调试输出文件名" msgid "cannot open %s" msgstr "无法打开 %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "参数过多" @@ -615,9 +620,9 @@ msgstr "参数过多" msgid "Garbage command" msgstr "垃圾命令" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" msgstr "它似乎不像是一个 tar 归档文件" @@ -655,61 +660,61 @@ msgstr "无法验证标准输入/标准输出归档文件" msgid "Archive is compressed. Use %s option" msgstr "归档被压缩。使用 %s 选项" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" msgstr "无法更新压缩归档文件" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" msgstr "处于磁带的起点,现在退出" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "错误过多,退出" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "记录大小 = %lu 块" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" msgstr[0] "归档中未对齐的块 (%lu 字节)s" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" msgstr "无法倒回归档文件;如果没有 -i 可能无法读入它" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek 未停在记录边界处" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s:包含无效的卷编号" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "卷编号溢出" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "为 %2$s 准备卷 #%1$d 并按回车:" -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "需得到用户应答时文件结束" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" msgstr "警告:归档文件不完整" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -720,621 +725,662 @@ msgstr "" " q\t\t终止 tar\n" " y or newline\t继续操作\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! 衍生出一个子 shell\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? 打印此列表\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "没有新的卷;退出。\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "未指定文件名。重试。\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "无效输入。输入 ? 显示帮助。\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s 命令失败" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s 在本卷可能连续: 头部包含截短的名字" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s 在本卷中不连续" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s 的大小错误 (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "此卷次序有误(%s - %s != %s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" msgstr "归档未被标记为匹配 %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "卷标 %s 不匹配 %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "%s: 文件名太长而无法贮存在 GNU 多卷头,已被截短" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "写操作未在记录边界处终止" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "仅能读入 %2$lu 中的 %1$lu 个字节" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "内容不同" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" msgstr "归档文件中异常的 EOF" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "文件类型不同" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "访问模式不同" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid 不同" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid 不同" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "修改时间不同" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "大小不同" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "没有连接到 %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "符号连接不同" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "设备号不同" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "校验" -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" msgstr "%s:未知的文件类型“%c”,与普通文件不同" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." msgstr "归档包含带有被移除前导字符的文件名。" -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "归档包含过时的 base-64 头" +msgstr "归档中有文件被改名。" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "位于原始文件中的验证可能失败。" -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "校验失败:检测到 %d 个无效的头" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "在 %s 处一个单独的零块" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s: 包含一个缓存目录标识 %s;%s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "值 %s 超出了 %s 的范围 %s..%s;正在替换 %s" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "值 %s 超出了 %s 的范围 %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "正在生成负八进制头" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s:文件名太长(最长 %d);未输出" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s:文件名太长(不能被分割);未输出" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s:连接名太长;未输出" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s:文件缩小 %s 字节;用零填充" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s:文件在不同的文件系统上;未输出" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "未输出内容" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s:未知的文件类型;忽略文件" -#: src/create.c:1529 +#: src/create.c:1549 #, c-format msgid "Missing links to %s." msgstr "缺少到 %s 的连接。" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s: 文件未改变;未输出" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" msgstr "%s: 文件是归档文件;未输出" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "未输出目录" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s: 在我们读入文件时文件发生了变化" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s: 忽略套接字(socket)" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s: 忽略权限" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "跳转到下一个头" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" msgstr "从归档文件中删除非头信息" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s:不可信的旧时间戳 %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s:时间戳 %s 是未来的 %s 秒之后" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s:创建目录时出现意外的不一致" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s:目录名在状态信息被获取之前改变了" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "展开紧邻的文件为普通文件" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "正试图将符号连接展开为硬连接" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s:无法展开 -- 文件一直延伸至另一卷中" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "异常的长名字头部" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" msgstr "%s:未知的文件类型“%c”,作为普通文件展开" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "当前的“%s”更新或一样新" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s:无法备份该文件" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "无法将 %s 重命名为 %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s:目录已改名,不再是 %s" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s:目录已被改名" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s:目录是新的" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s:文件在不同的文件系统上;未输出" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s:目录已被改名" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "无效的时间戳" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "无效的修改时间(秒)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "无效的修改时间(纳秒)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "无效的设备号" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "无效的 inode 号" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "读取目录文件时字段太长" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "目录文件读取错误" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "目录文件中异常的文件结尾(EOF)" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "目录文件中异常的字段值" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" + +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "缺少记录终止符" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "文件格式错误增量" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "不支持增量格式版本: %" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" msgstr "错误的 dumpdir: 需要“%c”但实际为 %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" msgstr "错误的 dumpdir: 重复的“X”" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" msgstr "错误的 dumpdir: “R”中有空名字" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" msgstr "错误的 dumpdir: “R”后未紧接着用“T”" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" msgstr "错误的 dumpdir: “T”中有空名字" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" msgstr "错误的 dumpdir: 需要“%c”但实际为数据结尾" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" msgstr "错误的 dumpdir: 从未用过“X”" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "无法通过模板 %s 创建临时目录" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s:未清除目录:无法 stat" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s: 目录在不同的设备上: 未清除" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s:正在删除 %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s:无法删除" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s:忽略" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "块 %s:** 空块 **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "块 %s:** 文件结束 **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "块 %s:" #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "头中需要数值 %s 处为空白符" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" msgstr "归档的八进制值 %.*s 超出范围 %s;假定为其二进制补码" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" msgstr "归档八进制值 %.*s 超出 %s 的范围" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" msgstr "归档包含过时的 base-64 头" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" msgstr "归档签署的 base-64 字符串 %s 超出范围 %s" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" msgstr "归档的 base-256 值超出范围 %s" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" msgstr "归档包含 %.*s 而需要数字值 %s" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" msgstr "归档值 %s 超出 %s 的范围 %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " 连接到 %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " 未知的文件类型 %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--长连接--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--长名--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--卷头--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--从 %s 字节继续--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "正在创建目录:" -#: src/misc.c:297 -msgid "Cannot get working directory" -msgstr "无法获取工作目录" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "将 %s 改名为 %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s:无法重命名为 %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "将 %s 的名字改回 %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s:文件在我们读入之前被删除了" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" msgstr "子进程" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" msgstr "进程内通道" -#: src/names.c:590 +#: src/names.c:360 +#, fuzzy +msgid "command line" +msgstr "%s 命令失败" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s: 文件列表已经读取" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "无法设定“%s”的时间" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s: 读取的文件名含有空字符" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" msgstr "文件名中所使用的字符匹配模式" -#: src/names.c:592 +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" msgstr "使用 --wildcards 打开模式匹配,或是 --no-wildcards 来关闭之" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" msgstr "%s:归档中找不到" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" msgstr "%s:没有在归档中找到需要的" -#: src/names.c:645 +#: src/names.c:876 #, c-format msgid "Archive label mismatch" msgstr "归档卷标不匹配" -#: src/names.c:949 +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" msgstr "在文件列表中 -C 选项与 --listed-incremental 选项不许合用" -#: src/names.c:955 +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" msgstr "仅一个 -C 选项允许与 --listed-incremental 合用" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" msgstr "选项“-%s”和“-%s”都需要标准输出" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" msgstr "%s:无效的归档格式" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" msgstr "在不兼容的归档格式上需要 GNU 特征" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." msgstr "未知的引用形式‘%s’。尝试用‘%s --quoting-style=help’获取列表。" -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1352,9 +1398,10 @@ msgstr "" "件。\n" " tar -xf archive.tar # 展开归档文件 archive.tar 中的所有文件。\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1371,79 +1418,79 @@ msgstr "" " nil, existing 如果编号备份存在则进行编号备份,否则进行简单备份\n" " never, simple 总是使用简单备份\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "主操作模式:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" msgstr "列出归档内容" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" msgstr "从归档中解出文件" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" msgstr "创建一个新归档" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" msgstr "找出归档和文件系统的差异" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" msgstr "追加文件至归档结尾" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" msgstr "仅追加比归档中副本更新的文件" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" msgstr "追加 tar 文件至归档" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" msgstr "从归档(非磁带!)中删除" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" msgstr "测试归档卷标并退出" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "操作修饰符:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "高效处理离散文件" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "设置所用的离散格式版本(隐含 --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "处理老式的 GNU 格式的增量备份" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "处理新式的 GNU 格式的增量备份" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" msgstr "所创建的增量列表归档的输出级别" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "当遇上不可读文件时不要以非零值退出" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" @@ -1454,119 +1501,130 @@ msgstr "" "extract 或是 --list 中的一个联合使用时,此选项才有效。而且不管文件列表是以命" "令行形式给出或是通过 -T 选项指定的;NUMBER 值默认为 1" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" msgstr "归档可检索" -#: src/tar.c:437 +#: src/tar.c:453 msgid "archive is not seekable" msgstr "归档不可检索" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "当创建增量归档时不要检查设备号" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "当创建增量归档时检查设备号(默认)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "重写控制:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" msgstr "在写入以后尝试校验归档" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" msgstr "在添加文件至归档后删除它们" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "解压时不要替换存在的文件" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "解压时不要替换存在的文件" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" msgstr "不要替换比归档中副本更新的已存在的文件" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "解压时重写存在的文件" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "在解压要重写的文件之前先删除它们" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "解压目录之前先清除目录层次" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "保留已存在目录的元数据" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "解压时重写已存在目录的元数据(默认)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "解压时重写存在的文件" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "选择输出流:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "解压文件至标准输出" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "COMMAND" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "将解压的文件通过管道传送至另一个程序" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" msgstr "忽略子进程的退出代码" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" msgstr "将子进程的非零退出代码认为发生错误" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "操作文件属性:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "强制将 NAME 作为所添加的文件的所有者" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "强制将 NAME 作为所添加的文件的组所有者" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "DATE-OR-FILE" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "从 DATE-OR-FILE 中为添加的文件设置 mtime" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "CHANGES" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "强制将所添加的文件(符号)更改为权限 CHANGES" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "METHOD" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " @@ -1575,440 +1633,487 @@ msgstr "" "在输出的文件上保留访问时间,要么通过在读取(默认 METHOD=‘replace’)后还原时间," "要不就不要在第一次(METHOD=‘system’)设置时间" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "不要解压文件的修改时间" -#: src/tar.c:505 +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" msgstr "尝试解压时保持所有者关系一致(超级用户默认此项)" -#: src/tar.c:507 +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" msgstr "将文件解压为您所有(普通用户默认此项)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "总是以数字代表用户/组的名称" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "解压文件权限信息(默认只为超级用户服务)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" msgstr "从归档中解压权限时使用用户的掩码位(默认为普通用户服务)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "为解压至匹配归档排序名称" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "与 -p 和 -s 一样" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "直到解压结束才设置修改时间和所解目录的权限" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "取消 --delay-directory-restore 选项的效果" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "操作文件属性:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "设备选择和切换:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" msgstr "ARCHIVE" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "使用归档文件或 ARCHIVE 设备" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" msgstr "即使归档文件存在副本还是把它认为是本地归档" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "使用指定的 rmt COMMAND 代替 rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "使用远程 COMMAND 代替 rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "指定驱动器和压缩率" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" msgstr "创建/列出/解压多卷归档文件" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "写入 NUMBER × 1024 字节后更换磁带" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "在每卷磁带最后运行脚本(隐含 -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "使用/更新 FILE 中的卷数" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "设备分块:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "BLOCKS" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "每个记录 BLOCKS x 512 字节" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "每个记录的字节数 NUMBER,乘以 512" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" msgstr "忽略归档中的零字节块(即文件结尾)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "读取时重新分块(只对 4.2BSD 管道有效)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" msgstr "选择归档格式:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "FORMAT" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" msgstr "创建指定格式的归档" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "FORMAT 是以下格式中的一种:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "old V7 tar 格式" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "GNU 格式 as per tar <= 1.12" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x 格式" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) 格式" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) 格式" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "等同于 pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "等同于 --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "等同于 --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "关键字[[:]=值][,关键字[[:]=值]]..." -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "控制 pax 关键字" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "TEXT" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "创建带有卷名 TEXT 的归档;在列出/解压时,使用 TEXT 作为卷名的模式串" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "压缩选项:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" msgstr "使用归档后缀名来决定压缩程序" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" msgstr "不使用归档后缀名来决定压缩程序" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "PROG" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "通过 PROG 过滤(必须是能接受 -d 选项的程序)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "本地文件选择:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "DIR" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "改变至目录 DIR" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "从 FILE 中获取文件名来解压或创建文件" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T 读取以空终止的名字,-C 禁用" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "禁用上一次的效果 --null 选项" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "以 -T 读取的文件名作为引用结束(默认)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "不以 -T 读取的文件名作为引用结束" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" msgstr "PATTERN" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" msgstr "排除以 PATTERN 指定的文件" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" msgstr "排除 FILE 中列出的模式串" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "排除包含 CACHEDIR.TAG 的目录" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "排除包含 FILE 的目录中的所有内容" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "排除包含 FILE 的目录" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "排除版本控制系统目录" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" msgstr "排除备份和锁文件" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "避免目录中的自动降级" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" msgstr "创建归档时保存在本地文件系统中" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "目录递归(默认)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "不要从文件名中清除引导符‘/’" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" msgstr "跟踪符号链接;将它们所指向的文件归档并输出" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" msgstr "跟踪硬链接;将它们所指向的文件归档并输出" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "MEMBER-NAME" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" msgstr "从归档中的 MEMBER-NAME 成员处开始" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "只保存比 DATE-OR-FILE 更新的文件" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "DATE" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "当只有数据改变时比较数据和时间" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "CONTROL" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "在删除前备份,选择 CONTROL 版本" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "STRING" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" "在删除前备份,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖,否则覆盖常用后缀(‘’)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "文件名变换:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "解压时从文件名中清除 NUMBER 个引导部分" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "EXPRESSION" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "使用 sed 代替 EXPRESSION 来进行文件名变换" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" msgstr "文件名匹配选项(同时影响排除和包括模式串):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "忽略大小写" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" msgstr "模式串匹配文件名头部" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "匹配大小写(默认)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "使用通配符(默认对 exclusion )" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "逐字匹配字符串" -#: src/tar.c:729 -msgid "wildcards do not match `/'" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" msgstr "通配符不匹配‘/’" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" msgstr "通配符匹配‘/’(默认对排除操作有效)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "提示性输出:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "详细地列出处理的文件" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" msgstr "KEYWORD" -#: src/tar.c:741 +#: src/tar.c:787 msgid "warning control" msgstr "警告控制:" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "每隔 NUMBER 个记录显示进度信息(默认为 10 个)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "ACTION" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "在每个检查点上执行 ACTION" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "只要不是所有链接都被输出就打印信息" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "SIGNAL" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " @@ -2019,123 +2124,119 @@ msgstr "" "号为: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同时也接受不带 SIG 前缀的" "信号名称" -#: src/tar.c:756 +#: src/tar.c:802 msgid "print file modification times in UTC" msgstr "以 UTC 格式打印文件修改时间" -#: src/tar.c:758 -#, fuzzy +#: src/tar.c:804 msgid "print file time to its full resolution" -msgstr "将文件时间打印至显示器" +msgstr "按文件原本时间格式打印" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "将详细输出发送至 FILE" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" msgstr "每个信息都显示归档内的块数" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "每次操作都要求确认" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "显示 tar 默认选项" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "列表或解压时,列出每个不匹配查找标准的目录" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" msgstr "显示变换后的文件名或归档名" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "STYLE" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "设置名称引用风格;有效的 STYLE 值请参阅以下说明" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "来自 STRING 的额外的引用字符" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "禁用来自 STRING 的字符引用" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "兼容性选项:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "创建归档时,相当于 --old-archive;展开归档时,相当于 --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "其它选项:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "禁用某些潜在的有危险的选项" -#: src/tar.c:930 -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" +#: src/tar.c:978 +#, fuzzy +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" msgstr "您不能指定超过一个\"-Acdtrux\"或是\"--test-label\"外的选项" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "压缩选项冲突" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "未知的信号名称: %s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "找不到数据样板文件" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "把未知的时间格式 %2$s 替换为 %1$s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" msgstr "选项 %s: 将日期 ‘%s’ 当作 %s" -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s: 文件列表已经读取" - -#: src/tar.c:1201 -#, c-format -msgid "%s: file name read contains nul character" -msgstr "%s: 读取的文件名含有空字符" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format msgid "filter the archive through %s" msgstr "通过 %s 过滤归档" -#: src/tar.c:1296 +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" msgstr "--quoting-style 选项的有效参数为:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2143,53 +2244,50 @@ msgstr "" "\n" "æ­¤ tar 默认为:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "无效的所有者" + +#: src/tar.c:1339 #, fuzzy msgid "Invalid blocking factor" msgstr "无效的块因子" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "无效的磁带长度" -#: src/tar.c:1529 +#: src/tar.c:1466 msgid "Invalid incremental level value" msgstr "无效的增量度" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "多于一个时间阈值" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 #, fuzzy msgid "Invalid sparse version value" msgstr "无效的稀疏版本值" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" msgstr "此平台不支持 --atime-preserve=‘system’ " -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint 值不是个整数" -#: src/tar.c:1848 -msgid "Invalid group" -msgstr "无效的组" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "选项中给出无效的访问模式" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "无效的数字" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "无效的所有者" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2197,119 +2295,149 @@ msgstr "" "--preserve 选项已经废弃了,请使用 --preserve-permissions --preserve-order 代" "替" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "无效的记录大小" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "记录大小必须是 %d 的倍数。" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "无效的元素数" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "仅允许使用一个 --to-command 选项" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "错误的压缩参数: %s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" msgstr "未知的压缩参数: ‘%c’" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" msgstr "本 tar 不支持选项“-[0-7][lmh]”" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FILE]..." -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." msgstr "旧选项“%c”需要参数。" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "没有一个文件列表时 --occurrence 是没有意义的" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence 不能用于请求的操作模式中" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" msgstr "多个归档文件需要使用“-M”选项" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "无法在使用 --newer 的时候使用 --listed-incremental" -#: src/tar.c:2406 +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" msgstr "没有 --listed-incremental 选项的话 --level 选项是无意义的" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s:卷标过长 (限制为 %lu 字节)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" msgstr "无法检验多卷归档文件" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" msgstr "无法检验压缩归档文件" -#: src/tar.c:2444 +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "不能使用模式 %s" + +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" msgstr "无法使用多卷压缩归档文件" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "无法联结压缩归档文件" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" msgstr "--pax-option 只能用于 POSIX 归档中" -#: src/tar.c:2492 +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option 只能用于 POSIX 归档中" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option 只能用于 POSIX 归档中" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option 只能用于 POSIX 归档中" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "不能使用模式 %s" + +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "卷长度不可小于记录大小" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order 与 --listed-incremental 不匹配" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" msgstr "谨慎地拒绝创建空归档文件" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" msgstr "选项“-Aru”与“-f -”不兼容" -#: src/tar.c:2621 -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" +#: src/tar.c:2660 +#, fuzzy +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" msgstr "您必须从\"-Acdtrux\"或是\"--test-label\"选项中指定一个" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "由于前次错误,将以上次的错误状态退出" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2320,114 +2448,110 @@ msgstr[0] "%s:文件缩小 %s 字节" msgid "Keyword %s is unknown or not yet implemented" msgstr "关键字 %s 未知或还未实现" -#: src/xheader.c:174 +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" msgstr "时间标记超出允许范围" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" msgstr "不能使用模式 %s" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "不能覆盖关键字 %s" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "错误的扩展头: 缺少 length" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "扩展头长度超出所允许的范围" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "扩展头长度 %*s 超出范围" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "错误的扩展头: length 后缺少空白符" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "错误的扩展头: 缺少等于符号" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "错误的扩展头: 缺少空行" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" msgstr "忽略未知的扩展头关键字‘%s’" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "生成的关键字/值对太长了(keyword=%s, length=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "扩展头 %s=%s 超出范围 %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "错误的扩展头: %s=%s 无效" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "错误的扩展头: %s=%s 溢出" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "错误的扩展头: %s 无效: 非预期的分隔符 %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "错误的扩展头: %s 无效: 奇怪的数值" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s: 无效的超时设置" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s: 未知的检查点操作" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "写入" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "读取" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "写入操作的检查点 %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "读取操作的检查点 %u" @@ -2564,7 +2688,7 @@ msgstr "数值超出所允许的范围: %s" msgid "Negative size: %s" msgstr "负值: %s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "stat(%s) 错误" @@ -2593,8 +2717,8 @@ msgstr "未知的数据格式" msgid "[ARGS...]" msgstr "[ARGS...]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" msgstr "无法打开“%s”" @@ -2608,66 +2732,97 @@ msgstr "无法定位" msgid "file name contains null character" msgstr "文件名包含空字符" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "使用 --file 选项无法在标准输出上生成离散文件" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" msgstr "不正确的掩码(“%s”附近)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" msgstr "未知的文件掩码位“%s”" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" msgstr "无法设定“%s”的时间" -#: tests/genfile.c:699 +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "无法删除 \"%s\"" + +#: tests/genfile.c:701 +#, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s 命令失败" + +#: tests/genfile.c:706 #, c-format msgid "cannot unlink `%s'" msgstr "无法删除 \"%s\"" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "命令成功退出\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "命令出错,状态 %d\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "命令由信号 %d 终止了\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "命令由信号 %d 停止了\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "命令输出 core\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "命令终止\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat 选项需要文件名" +#~ msgid "Cannot get working directory" +#~ msgstr "无法获取工作目录" + +#~ msgid "sort names to extract to match archive" +#~ msgstr "为解压至匹配归档排序名称" + +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "读取目录文件时字段太长" + +#~ msgid "Read error in snapshot file" +#~ msgstr "目录文件读取错误" + +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "目录文件中异常的字段值" + +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "扩展头长度超出所允许的范围" + +#~ msgid "Invalid group" +#~ msgstr "无效的组" + #~ msgid "%s: Directory removed before we read it" #~ msgstr "%s: 文件在读入之前被删除了" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index 4fe3aba3bd037a80b12dc0540587a43b095f96d3..04cf629d1d90d7645f7d5b8b1d50761eef13a13f 100644 GIT binary patch delta 16566 zcmb8#2Yggj`tb1^K!nf)LT{H6Y7#;d2oP#O1VoyGqB2P)5J@sIGXZH%LJb5+;F5$u zBp@x6(1sES&9yG>A9d}k=&H;lad$=6RqXzM&zv(c>+8PzzW3wdd(OFc?m6cEW&)0Mfx;0#&g;iQQCP6 zhta-KNk$e=x1lOj6Om~)R%lCcIOQ8CbJ~`PmkP3M-NIv-=lOWVuXsw z9F&HZqjc;PcEI!44&OmH3)T3FjEtZgD@b}iTsuxX8Trqc$sh8(h28Oaln(w4r2}`3 zR4*Qf(&2e1Yh^J?hYNN21(Y>cF_QSp+%*`bwp9eSr#u!r;yjcdyRkVwjV7K%Y2eQo zf>qcFf5s-*aWrQMMxaF2f%2Xrl=oafdH(unw_(&F^Enj_@hg-?WsFgCT?b8yolv&V zC~Se#P+l+}S(nB-?2K117(YfCz~6BuHW;fqHV@gsMk-3j_PWW)oV}(ien9C^&v9zb z!ciI;h%(}tD099LyWuHpi|=4-{3kZW2CO()bRGCZ8jM4UKt9RLh(YQ2!zfd<3{A{M`TR-jLHova zGO|CvK^e&%_o$JYC=CqO*=2YS@FN&l>PP`b5z{hYDZpKFVDoR9dAnVSkcfV?A zD$3_#F%p+!D3)RvzJW3Y#x&K@o+uq0g|eGwOe6lX$R4LcdiE5`$XDs|23^j@tgKM0W%k`QS2?p5|c) zo*FBpNR+vssGW*IlxJZKK8UhypGIlmC6sM=3uUSrKCC+4 zALmh?hO%Z(VJq4hPP09{u4@vdq1Y;GFm$W zyHLLXAIEI$iQiyb>@<%bv>1glCA;V8{r@K_WLtcUvWObm)ZC50;gpjx8V{p%pb8~Y zEn`*va5O0|!x${We)tK>+6swN-wET8Wo5+T1iTRERz0Z|uNFlFN`upJAm(6ad>%WY z52d4Z8HSYmq1>N_ccT+K;9)fJWgLT5D3J|IP|rVv^4xManQmlupp5(q4#O{SD2B~f zA56fml(%WiP`1?vC?W2?K!tcJ%G5lLQva0pAWDZ{Luu~|l(pb)k*Ipo8D&mJqRiDo zlyhLMF7HGc`B{_~eT=fGf|%&0*bHTAx?xY8rd^8TDDTCNScyIG&V`0?T=suoGQFty z2&Dt{lT;4}VRy<8VGGPeFBV`(5I@h8)ycRuMXiMb?85y^7>0jE33(%jx<3r19UDqJ z+1OI{|2Z-evg`f|77aF_{2jK#J5trT&>1B%{ZL*o8HeDLD3LmeQTQVE#~}7A;v#H~2T|tiDoT$(!u#+R&cNt&)$y$; zFWin2xyva3sBjHs#Pb$&EaOs?^5iG^g2RL-iNEyRL50lSc5H~{*ce~NmG};}!iScq zIZV?Qp$y?V!BBd@1pleRz!unX5{aZPt33io|e~ zax%(`x1c<~7o|hbVhemv*WW@3b))5KP4q>1?>LnAxKQqI#{qc3O{OiG&$abe=xv13 z!)Yid-#nDHP>jv+MU++k9?Gh&`;@AJ=|GP5JWi(kDN2VUGu1A75Tyf7G_e4gI=4|q zrZW{cRE6;i%3|uq#EbW8Q&HwRA49MlWgEVR62TwQ#8#`6L$EgGIamuHLHYbVl##E& zdb0mdkm*RpdAtkX)mEW2^gRy3CacxgYzz*i9E<(12xX+#Q9}DQw!vO&)O*LGG#HDW za1++WQjzwJ(_~~McWui-issV*qxd$1ioit^s2 zI2I3}Oz~$Z9cr6J{CkjzAtNSZUCcw7(;}1?y@&(x6J2h#UOhKJ8>JnMQ9O4KN{3gW zMD`rY6u*r<@mrMlcHThzB_ty@sES8WIl^2)=a%kD)eKpKILRLnNTu|aV|cMvhTmg-dKOLT3iEB*2Kdo5ptt+ z=%Dr(N=MJ2bo|d4gO%6^BXU&zL)ui74!YNpi6&EsgYaFHkT%X$ALxZmD33&0d{c2W zx^N7hMVa&O^!`wxdMkm@2!CmvqGqln;D^5!h&}dT=;OXlJ2x z#D(&r)z}Po=yIv{IqiEW+xHeqgLN$RxenR^ewqJ?WMnQLLkVFb%9O0d=6Dnv;Z^N* zl+b^G&GA!|h~36s*le3RfQDmt%8y_quGXHx0hE0>LiT^#JT<4YaX94+l+a$%^+vw> zKu?q@n5)gy9>96jzk=ZyR-i`u5X#6?u^Fz%hFFBMXb+)VM)Cp~@lV(n-@v9=d%Jo; z3zW!2puA`jn)oP6$xcP z%P<62VjC>LmUt3n7rczp&=)8j>$^imY7CB}ya-!hIm(D%$2Ry6lqtS*C-IkU7QR!3 zb~bjPyaG+!iSmJq*cRW$+V~|(2fx<-sI6V3>VvU0_nTrn?2XdSc$5x3q08&sWMocG zVQ0LeANUxhhqqBa*x_l_!Fy0fnv5>YKxyb}lnyoC#TkJu(8MQDBDEFe{TEQ4{{TCp z`)gehQmk%-&|E9Lfk6p?p3E zWn1po^{?W1%9S`mzW@8~RlnntaUeGiU?jeeVc2k=3f)lbK>1;m-LV84U^dDwD8PES zM|&7+Q}*CAJcnJe{(g19g=2TxH|CO&kgh^$pcp6NC6t4r{sA?j5hx>i0Ok24?2K6` zb9or0!+*rb@f(!2Wjm;Tc%*1IqYUsEx}(W_L`L>!#}Z`($_JxSLOBVg;dtzZOHn#j zjLq>4lowW@M56T}Rqlc^B{Q%UCg}20C*XLs&%4bks^s&DG6Uu&XN&MLUP5W_U)Wpr|6OIO$HR~w83`z%&PC}!8MeSGlm>o5nUZGb)jz|9p^SVm%Khmm zp|xXQT#ZBVG|K(YQ5I*=1qMR<#t1t>2#icRqql)1Zs4Y5JFvNiUn9E!3n zXY2YED9>-ed02)Lp*9!Q)D1%!;C%G|{Xd6{jQliq!4Gi|23=Ag9E`G!=AeAgjZt_I zWkjE#bogtO4u)J-CthciZS2IlcpjxAS5cn(YlqI)p*)ZD zq%N}@jL9{gqiF0QT_X*r{%c%^VKttqNB$=DKkB+gGXHYzsqv7My`&kWX{1=vOM&|V zsgr9YX)|?wb-h#DMw`NY`Nygvd61T6uh;neddfkRXXB$J_W%ly)p&q9V*%ykHR`UB z|5P5{9chN?1Fl20bTiu5<~qcId8 zl=b&BnZWf3`L9Xr5dRmD)Q=+-QkRMUAXSn$y!=1U?xB7T`S(e3)u;RfzThwMlbffDdsVKVs4FI!QOcNir4GwU+t+JB26;e?j?fevTy9Q>1rEIi%(K z1=FRT{B%-VUFX3Ube`MBRq~BVjYyyA`hB>Hl*awHa4XKm4`u%4`U9ym=>RE=w2+&F zu`NlyMC9^P*OU}P3S3ib`kkpQkKeIHPslLv4EU*(OH+*qpf!ZuPL>K?{1DA#_4u>g;e{-Ns^YvZW1$oE9~?a+jDMc7Y5?H+}nU1^)t_4PL1dP$-P;UsEZ~I*7rJTzrQ2bNq^(OUqk*fR<_fJg8s={%_m=@dz> zNK7H6lh%?xB#k09<=#I36a148Qfkq)#Y6 zhNDPw-A(yBQa$n`Nasl(lLD86dj%x9o+Wi4|5us+6%-0d%ShuX$CKn*s4$M=8eKOD z59|B^+(atl{(RD3bbT-UT<14vU*>*S^6@CwHzbL@+eYP1QbP*8Ni)c2kOEganWrfq z#5YJ^kmi!cQg;^5=x6W6X*&NC^>Vc#eL|W-ePbLz`jRBq>!c#t|Ic&t8`3XSl#sfU zmQl_?x#o}$T#d*qrQC$niTukr5pR=5=;!QcQ4U;-DCbgmhV((867#4}lo)KJ@GOO` zB)Q%uRggB5ek8?FU#aiy*OuaU+^cz=rmnxf-x7~-^Uow%54ZR}Z{LT-NxDtGm;PXo z96rBrb-rSK-}Bq%!PD)jjx?7Un?B!Zx*SnvsMGUBucDyQ3mnOIGu1ZV9%T*>bw&pp zp-!`A-2#^@HL7pl#fuk5%uh*=aHP%e>vSZz7TeP7eM6mnqk}zJedg8iOpWx^vStlv zX7wFV(JC=zku51P-gKn85*;aKc(~akG_FUm)pX!kx2~fi)Y-#~ci5dNJzSBbW%O=9~#!}n#AMxp7=FLQwKgYQpTR1l4g%{%uh*NYOju@ikfQncklZH73?V) z7!uSz$-c;*WYXVcyDcR#Wqy*~=`C8n?_(rhWt z1V>sj%_Srz+07JNvfUYB%^Px0<0M-wuS!mICfi(b3p~X`E(f(5v&3cR)9EQLlNXwf z1d|ucw_9_g%Gx_pQtWXq))@hgV!TdA(jvQ=VB@v%o(99})R{bb`h*z~<}9Z@Aw9|8 zDFP6;z#g|S)se^>Z7Ga7#V&89KHU`tw$xO6O1$J;j`X+%l1WcVN=#X3)g4)Ey*YBW z=fP1;gRE;~@`omw3+zd$X1bGMn-lJvWd@cki~M&M^nANZo@X&zbH=`I%^o*kRBZL= zjEQ6R$HTD`ZP+lr`i0wAkGnQ zw;VAYJKOCG&3Kk(oK#o8$0^m0gaoJEWvz-yuNyPx!Ku^7dA^Bxv-S+8FEu^MM!apN z%a&?4NKfGTuRasf6T+j2KJq-b=jD#2w67-JSoxXvd4$l7_>39 zdW6Z2_{4-ndzv$l&-q#X>NNCEA4^ll(Bf!>`l|b#9$Iq(O?@ zR9ny!Id@;34(Wtc?E!f;`+_AK@9!*Y#(H*cbE~IqXp2~8JU!LF#giOy3;iQ3ea5Ozgc z+yXWPgGqCw&tJg0@(hcAw2tTcf^k80Bw$wLtPmEhIcw%vBQ;G97=IXDvJ#lCL>C(; zJt;|@ROzxWJq;e;U%Pv}ozmE z%I0QU$|LH`^#|I?iE26)r_l8UiA2E3v&^JZ*0M}QU>yH8WLAegO@`ac6P)@>P-C?` z{O5L>BgwimZNK$Z+Vr5it?|wgg9e26iwut(WcD8r)i1J7#8;$ zuROf3Dr1Lt_sNPg2X0;5L6l3!6)@tWH zk?Aen?%RFQdojldb@DE6QHiRw%%w$jb@qj&@tzCI8rKSxUte*z75dcIEh|><@#SSz z>{wluSyr`s4GY=~jSIFy+>_k8Mt*IWH_JA8*JM_fob(l~_g>8N<(0`dDUDTstmZ@i z@rkOUjLHLgU9J$JN!j1nVHUghPI%F^w>MoQwM8~ptTvtcT+{l$xky@8Z}oBQ|YtTF{irL zN?m0R(GQdqR-U>ji(upVsx_MeA1gZS{>n>CrU+pd0WIed1 zOW-3b*Q{(;m9e+t+zxNn3EHE-l?V6wcIA5ao%H1uSU;_)j#TE_>Q5bATiyKiwe5SV zQ5kC9e21T@I#j?&d>8U7FP71&cg=qFgs1hoHbH@wqq1@X**CIYcgsrk6|Sr(yjZcV zSZ#5`TYRo^&qlSf32#;AA%aqwwT?Aa;}_b^^8MbN4N~`Cew~>&&u7bK@h=qpa&zp| zDN{z@H_p1Y{z+^8hUwP38z$AQT(zUB5L`5Q8&_rS@;S`)TL z`ZFH))-Qra`K(R8%?B&?W_ruc`VJM}y13DMc~@2D?usMFndpj=Y~N<)vcS9L(#`UH zM#aSo-Vf3hQmvh>>k>5G64(b%#;CPlYSWVS{`M|@?vnr#IFPMs=?8-Ce zZeCt1%YIc3KmXHAz3Sh2x>slRZdJbJ%kr??)SGW!SgYc$Pn}<$ey-Il{w`iwSj_sA zx8!aN9B&N9PI2TN{;x!9NAd9bzN4#I{W84iyZblu=H&a%W~mjSqG+w!9qHCP zuI5i)ITZ4WiFeKDvfgAH|K@iukNP%j@n)S>o7VpQH?4ea6s_l1f;!i#*QoWy?i?KhPu8A$YX#!* z{@zQ0?4Et?nyZlCEGsqGIy(Mu?VBB~vMMMy%Qq1;89~ueZ_x>MmyWY6Z+1h@aW&m^ zB`^WA_fH74QnKG&+kDEjA`T3;3J$#7oZ$Np2v1&Bel|gs$(VnzYnxx|Yfg*Y-Fonu z+U#d*a7j`Z)h~k}vj)A#cBr3L-tr3-N3wPIUn%JnX#1;@@qt}8@=$1?Hu+G3&U!vL z^jP&b$hafb2SMhkHjPxg)tgQ0>Y9)c|8F@4>0No*yXk~FE3IZn2ZXFFyjgz9yLDsL z=6var|6AO;a+~|FIH>Y$-(t_YcE5>{_e>+fyhOjiVkEm zPi?cNc-jVrlqm{p-n8dAmTsN;A z^KCn?Ho8ox_t-{X-sy@{m%SGb)O=1qp{h94`6*qoK8v+zR2Jq{Fa^{J$5FedVU9=`=wuHNhvc_Rk)9HOiiFsvr7HIP+?a;!>mDNuLXwO_+%bs^Ss*&Di0lCX#B|FuK|3Sv59nd%SxGnik)Sg zT59@#cka!eRl9TPp<0X;p7M$_Co7KaVbqlwYkFC`FRak*db*b{32LYg8@>}ceym*= K3$2xxHvcc3wF=7s delta 16287 zcma)?30zfW+Q1KLE~vSSxE>e81rTvT&0P^~+)B+QH4!dC!iBgXlIBGeK@mld8-n|W z8=BVz5tp*5sm94_YML^0l6!$_+NW}6%J2W&_W-wMzVG*)pU?e2&$~YF^FHr;j@E0x z)XDpI9sAvu^|pIynpVM2FpO!YX}NVYZGUG?lkz|JQoIB2A@Vfot!cinDSQL^!}{=B zsKW=a3vAzqws4rqaF~TX6SjqS`e=472<1Bpgx&gTnjd@uwt%Uy8(a^=;VIYyeh-^M z-vCYP2>oF{I3CKx$?!3_4Yr53p^W!A^npLaHn2^gUDKMQ^bOQB7OV}2J>k=^HOzp+ z;7%xxyaNZrf53$>0Iy|&9M}#Xg)CmX4x7L#7zKZT%&9$%m*PM+41xRYDE(31g#+Ou z>_K-p3@(NXp@ixsC=PxAm%$&QIAo>sNVo;c#J8c8{}T>?otULLd;&`U#gHm(HI#Ym z4wSAae}S@+2QU=2rZ-M&lc5Z}0zM9pKxzLql&xxs*RrA^uqB)h{b3~R1aqL|(Q#N8 zo`mAy8OR^I_71<2JPih^qE(%*Hlr0Z<%VVA5hT z9?IUQKxua#O7c3POxT2Q$vC57TR0!e*4dyqxEF0zJiGRXou>A;}fPJ7uZYh*;c8wtZGSEc|q{ADq9{dc- z@%ai$()=5?hq7E9bbyl8!(kgZ1xo)&$nI!spe*bP^oAe9&ae`SLk&i$Ly7Ec z=mVER8FvkoEy{;Fv=^hu1aCn(w_m{Sur)_Oj^Pj}D+z~9;bJHQCqmhRwNUzRH_OjK zIj*n5PVld=3;YpEM12U8I5HkGo?V-VA}ff2^Cin>Ub|@1TKnc|)C==X<62hOM4qHuATQLwy1jj(h_6R5oNrMuh!>}j3 z4V%Fq;d8LTbmA`|Nt>=b+Xd%f?}1Ny@lt`Z!Y7|p_rh{05jY0Lv6o*=MSd^?iSfwIz-uqE6I$xrPFlofsnTf_RZ z)K+wW64J@=DL4a4{R!9)UWbwkUqPAYM;Hk0t!UjAWejvD2NVZVVGzuLZDA>V489Eq zz^1d+z+<3<_&F$hzXwW^{vOH-tDsESh_FiN{a_c9 z?MoE#w8H|mXZ=i$hutWj3!jB6VJ}z#+r#DyHO&J1LfL{XQ1<*Pl!d$lgW=CmavIm2b_vyoC=#Lui&RA*)Uo4W7|eyz?p-JjXc20_-jMCp=E89JA{0j+K*<5W z#cIMya3J>_qvqP>0!YEIbY+q+dW8sC|^WA%{a* zX#{)>ZiPePpP;mFNSM0A!6xTHZf|Xs#jaNL2MQ#l-$2=lCef-~H#rH4$4RgU+zK1R zOHdrW31#JfgECIjC2A{rL9s_bS?C-n%eylnr7oj+E54M3#NE|2Z23va(iKXhI>lCN9+};hP8x1BxabPKw zknMtg@Kx9wegS3Rw(;sd7z-s*b4@!QHpX5HJHR|B?N7lW@B=8x*}|&6qI<#+dH+YC zNOo?65{Xw}PxwCcg+Ie)&?iB)^M{XM&xZBk0yqLjLFso8%8mIt41#x{guZd2itJ!0 z3w{QM%KJY9MfS85N>Y6S@l5mLQjiD?gi=2b%HG*wFx&^*!P`)_qzX=j4U@Qj;cO^- ze-cV0UWMZLw@}9Y2{vYat+S1f0`{g4loek~=9+~cz=rTdit^k6#q&F`34912g-w>R z2-pG21+*8+mR&S?56S|(Q&lAUL2-B#v=2vFh#~_QKpF5Fl&ro5`@zql9G?!$)yhXf zu@hknxD87CqtFMw0^7hlX8E^JBHKJo9mQv*y1|A(aVQ;% zBZr|R&j(P4bze}P_kgnUnNZ53VF=8E(!bQ?UDye`&MM`Y4#klvCR6PwlPNd=C40Yw zGC&*Cv7u0o%{(YclmOeq0$3Mbgmqvkls&!*#oGTCqNn3J{x5a zN*wG655j@)I+Rd-55?o2t5rm%LtpH*uru5XWx}hl3#^3oVM8*q5o`vX~X7DI95eJBg~ z7cpQ}aNGOrWfL-Bf z*aN<0@_X0{+c!%w5VmKVv@xQ<`LHQWHSJ8;412%Hvrs0!0pWjh7pX(5zQUWT%Q4`3Ml5=s&c%u(fw zOfG}s=tdY0_rd49_(Fn1u;=Eg$Zmx)-f1WixCtd<@8%N!u_!-LFbqDnNmVR^a$E{v zTX+ighBr<7?@$J;w^^}0ly<=|2!=z6+%hN&+6*Pq#jqKC14{o7?I^N>ug!wGdFovH zLKz?kO2crI3ryOeL~K3ugGZqx*B@b1c+cdQP$K+qv%c;Y6%ijOr^gbF>&V{mv1#mdL2_=G>p~}a>0hmjngm|CHS4>vHMU+3f&AmXomVnZd zf@~;RT>vFiMNqQ)6(}qC#^g`1ANE7o0`}Xk+K+(}kp)o3dmidA7dC>$P`0oHN>Y9b zo6GyZ{tk5m`oO_dOo2V&S{MRP!e;QU$uFTe^b6GCBRka|_k>a&2HV2Pa3qX`1K>e8 z9=;FTzz)0UC+ELEimZ4#l&duk%9gByveHvfJii0wWl}$1P22;@y%7fM!bMOVh%&j< zWRl4=*pB*iDD&k*dmoewDB{sQDE1Ffwxa89buR=#sh4QD0gSJUO9^QgJuyUWBzuTi|`&GpZC=IPpvUe?%u@k^cSLzU4a&-5U=O$!O26Y!9Q^~d!hgX2FzTqvsU5Hj_8~>Pb`wQb zcpr|0t&gc2a0ZkljDfP!6etrJP>xdxYz4o7(qAi5EAJ1*ehkVM#6j6>JCrTh3B}RV z&?e{qk0^l@j6SYbWQAea8=#cmhI0OYfnDLFCsgQyq1ZE_IJ6A*fhV9u>OJTOo19eT zAyC>cfMcN@_F#VPWt6_K0?GibPN}!qNH`RG9hAMg0VU++a1hi^D+dQdDUX6OK{}Kb z9)uFPm!O3F6DaK-n(R=F6LN=#qDaSNC=GT%e|QcC!VjUeYj{R642EK7KykPfN;@Z< z3R|63_F^dGNZ69{ zo$yn50=DwvC38XDbO$b~>@R{c(R)xF{05369WNU z?=tlX76N5O@lZTXhflzLP>$s{P_jAns#?)(SRXqB%E0TPIC>JYGumVPypP;O_eBOE z@=QbClk?w&%C^W>3i4n}BnOe_WuzW*8`~GTjot{^Vb(W5zlZ)VBL4+F9VtQjAxo(1 zfUtww2<)ziJlSwC5{^FIj>5g-e!k>)F7g1mO!*!7DfB|*`8P5WeYDs}s1)*?K!VIR z%hBc1`4H(t+2c^23Fvo_HRy}oC7c3impzfhn`#bV*17Rlvy32VpCEt24lv8+n#?pi z$hnp$1{q7;9Hc(-JLC`U8m@4YzlSblzwG~OG&q3q9a8-ar|bqI&wjWIxr_V>I|U{p zk?0$x0nfXLWVh!NMVsp9b@W5XMa1DzzFzj9gw>9iE#-fOu%S1E+sv|W;1aWw3;x3_ z7x-bfN4_x2D&S^Q7d(TMQ6G-T;}6dunWlYT_WxO=mszk41|o9nRX?Xq~sf zvAKP<7%0ycWSFV{0rD<$zn))2ACIoX;c%nb=AY>Ac@ckZP%RdD6Iq2ULaLv1Q#ntk zSIv%6bk;0yVV0dW+27he&Q&Xry0DC6r-0TPoYmV>$tnLACPg#W600U?|$AenFaSCPa_sO zg_s==n0$-!*+>BLGG%{;@^nYGm~D>2TvLAqCb(PhPdV^gsYNRtEIHR|7TnxIFU_ADsxk+*197kLKx2>TKEIC2gdft`iZr5f6Y@0jId%vl&q1@(G4w~>CHxDAv_&s9>!zdsg6uPGY4$u)fZZI~hyF+S zsZ{WEll3p9;3cG)D$@p{A3@|jIC%6UYEW zo{`8dx29g}?I@p#+^4J)oQ&L%`AaBx9l1h59$biAK$oWoX^H$x44y@1`B0OMDT_in zV}~LR^bg@=I1AoH_M*3j^86Y84R&%{^27RDQP>%E985GTR-;#<&qS`G{~mb(eG>9E zx;zC6HNU-UG^NZ3@kn>tuSLe7PgPa!|K50-vgLCB??E;opP7}vgBGL?W%6u5g3;%j zwv-)0)|++)d`b#Eo;v7FD8CA24tbU;xPMdm{TQ*I;inhU54na^KL(wg7=4l1=xJuf zW%vnpeK-WUguYqok@w9uKbm|5`cVG0X+MwdgI)yXnI!jrG)5tkh1iflDxP##;}G^s z=sRH!j6nW^>_)ayHV4X6g}i|+&#MaVzwM5pYyx&yiw4H4|zVjYJ~Lt$uTNmx0j=H(ENH&=!^U!{R8x< z*yw0WlpbNztqDo-5pjBSY@9{&vklW{S(jQ9QmyU+JvlAWV)n2sPfm)6O#Y8fj;N5= z>okvxwI%BjaY>els5G5lW8R=n#;8FR#@N9ljYFZc97Be*@*0{D8JUulWU)qC^vDRS zH6dAFY|&F}j2UaylVdFOd@jXelSvX1ElCl{u?bc^J|W8DSUEJgj^R6elp|sI1utXx z$V-lPqyAObh#9xTcz0auIT@lM@p3xCHAGJvD}9i9b=XST<`! zqAiA5WwDMK<6C>#7bQm|`RlfbWfq$rA7M>%SJ@a~i3NX>@GCh%kI-#&XQ1Q=!jX_f z^lVG@h@{Av*kzUgJ;E9#%V8Q@azc`YK2fpDVxv;bsM_@Cq=b0)^2{zl-rix$BjOX| zEOy&4Z=GS2^uWmI>Jfv)j%Epqq265|hyTfzU)RcrvI+*Lp?E;!pz5)bm;HJ$-F&+1 zlhr<{{kG}P5cg`QWY%Stq{Rs~OI%vbP|N@ONVpZI5`tZ?9?iW@kKuy6jm2RF#)t`T z1S}!VWD8Qv>>`^i)+qKlhP@%qOD$=s2}x1pn$6#MBz%xDCA^)H8J=dmAKuFNd-(8r zsa8vpF?eEU!#;7Tw*3r zjh_w<3|;VaTzt#|e-138rX(gNB*{5hoTm3lj)}GPkt{OKPEGPjPPQajaqc%q%*dS< zX55>W)z*@fL<+Oo ztegxCG#ex&8KaN2u?Kn2?F4Ik|wdywYu3{wF}_f%PG~_O-oX0tj!|Bh!Zt6I_aMp zk;diGO58HrS5IpEFk`lnIP=`#nMrAqHhN%Sj3q9SoJ=y!6kEg+i$8~$b*Z}pHQs&k zaeBJW+Sie6ByHW1`Oi&zeb&&XQ5LH$HaTq=BS!ig4`y{7{ai|ddyTf_G@O@o4I+iB zJuqtn-L)f>KU{KLcwBUHj|Uk|p6X|WKNV_pnH}%AF}qJaN1geBUcD_#52YcejF7w9v6GH8=?~E$e3!c9VyQ> z^KyKe^oy7Ab@HLG*tn=j&aF+4N^l=J)s{K6)S9ZAvj4@8-o}=cnO-4=D`mu>{(->* z0{e&P{re9aG@x&ANN}+C^l5=lT9(C%$AROyS%&G94h;+*5;!1O4-OvIKh&7B%&&E1 zOhiJeB{nX_I(kWbL~LA8WJ0{dSa#XV5xsnumt)lPSL<{wzrM$LdY9|OHrM_#XW3@W z&-PW>Zf9XpO}XLoLSds?>+%ax_WS7@{UYzD=YCbT(N(yn{K^qmesNX$ZW-i2cE#?s zt{s;ds{Cr9>&&*wvNdYV@{(NFu1%^<)q%avy*dBCVJeRus@joL>Bw^J$X6pd8n4pp zc(~L*eQ-PHrE?V*jmqM5=jI)14p&L0b4Rfek^V1Z`RXv^M#gMo?wUJwotw`ZL)Hd_ zczjV*tUcgzY3vWt5yQzk0o5Tai()c815S-><#lVU=dC z@UR|R*V)5*W?g`XwPjt9hxPk)UAol-S8YMn>Jpcc#V%+y6-KWty;qIpDm>vT%C9`J zu_B|i;?z-RUbfB~rKZ|Q&+6$hLwc5<@phK4N6FV&eLO5ZdsyA_D_4yL*`>yS^<6z` z=B>{#ep#RFQL=nPHxFz72G3EiZ|LYz_cu?=Q8&le%cHW}#yk(JWaHaDk_t95%9Wo{ zkzZD^ZC};KGnFR}8xL}`IvMAknVBrOYX9k~?U$UTM=LL8IcB9zh1A?5SV?(v=Fe(lLmcfInsqvHHoXZB7) z>)Bf;|K&)pPj?lruXWcP@PGfvQ^)qdjMVS9LuuR$m20lbol}zQ%q(*jUzQ_SeJ>f` zZC-6$%Xn-x6xv-qO~1xMkI&<=2Z{ z+b)wCRXYs5myxh_U?Z2Ynk7}HXBwxrb~PSsO)!#-lJ@j|Qu3nk1P)=$#3;X<<6NI> zwAkj`l#)4=RAuE>9=a+e4a^cFbz3jdrL*zww!YrA-7)(&q{@9~8V$Dx*BFlB+rRcQ z5_irDaBa+T7Vjq6$cvh#i@SyC+)8u~oFdb%E~(m|X}q#?fyepr-?g}RW%dSQrmCxF zQe8<>Nwu==uI(jcg0Xp*pS@~zPDSy~%Hj>Kg7b_wOj8|ozy3Y=W+h*BzX3gLy1I_a zudS=h-(Hco&b9N1t8kx;9@4{oSZb!@8y4rBTQ`cIO3yq_V5`<#RZehvU8OrJ%SxP? zN3{EMXvIe?T`IG)qzm7yHH%|oD+)@;0nK&#aK-v;SK%qiXE_nF=iAP>HlLS1>cdu- zFWZ{FMyvd;)hB&e{=~NG&~rKJ>WVk-@vrhn8)J8G{x8?YukN1PyVtrmO4eq~F6dTk ztSlI9yk9V~W93mpUUhj})Q!Xmb{6Jp&a*jG7{P^KOFjfi@9ultxgok^>YnaiPwATBe)~nOt6{y>xTF9r zc_}e8qwp?dPs7S`E+gNrqNv{fT+AFg=lU$Q&#E19bmkqcEmU7B?hh0-v&{3G zFLT_kTD{*K}^HvIp?*V97N7OA32pp8|1#$X2nM7mHGQB4wex>XWmAS*ZYNiAs$oyeP3{k znirpX>!p_&-S!W+JI}1+Wy#KnAM&{-7cHM)k`V5OZvSe_xg(g7wD*G`YM z{O8{R)H3+&l4ZERx#+}H#R74BoNUOLX~vo&paC25|oRO8hnbNbfQs`lkqa`^(_qmB#2S$I~)tZ8A)KN?=^ zj&b~`T~6vMR$}x$78>mFvSub{UM>m#tG~2J1hey;#sNM|oyT&FMaSN#y&Ogqb+0wj ziVoK0W5MWrJkDdnyyI;>tW(Fkcvx>ApHO{;bvohaQ8DpEbgkt$f8rU>FRFsF_Qrry zV{022D^B@NSMOlnB60}%wk^2s+Fan;d5}XSOK^X#OHxorIL$b-+@cp*w=4UEbJG>x zd(N|xGP-|1f8+I2103y6_w}mwa8j{fwVGVKu*t9Xq{o?KhVx8c50~1W4Xw)_7}L-4 z#pz}n$HB8dd-)NeilQ7QsVX=~NXxGrBJVY)dePT>2fTDHR9?UC_e*ci;JK}ixgMiG z;~42-v3#S|ZfAsklCr$gxp%ol+%5E8Rr~WQi%z>XZROVO zt*IWK5y3A$Kx;Y}v(IOUH%XSnxQIxLq|T@3Lz_@yOXHs*!ah=#dOa-oKf=7SbO=c+6Knl(*7P+UTMcZwL5xkk0fT%i+JoT-7FW0`)>lZIexNq zh)3tD(i9IX>Pmn+EsZOFhHu%*+8ReeS(=y8_1dn-EAviq&vOquGuOzy!R73Zq8UHU Qv;Mc0zYeBRa&7bf02?o_LjV8( diff --git a/po/zh_TW.po b/po/zh_TW.po index 435b10bd..3aae1eb0 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,16 +1,16 @@ # Traditional Chinese Messages for tar. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the tar package. -# Wei-Lun Chao , 2009. +# Wei-Lun Chao , 2009, 2013. # -#: src/create.c:1552 +#: src/create.c:1572 msgid "" msgstr "" -"Project-Id-Version: tar 1.22\n" +"Project-Id-Version: tar 1.26\n" "Report-Msgid-Bugs-To: bug-tar@gnu.org\n" -"POT-Creation-Date: 2011-03-12 11:53+0200\n" -"PO-Revision-Date: 2009-08-30 00:17+0800\n" -"Last-Translator: Wei-Lun Chao \n" +"POT-Creation-Date: 2013-10-05 23:10+0300\n" +"PO-Revision-Date: 2013-05-31 23:39+0800\n" +"Last-Translator: Wei-Lun Chao \n" "Language-Team: Chinese (traditional) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" @@ -29,64 +29,63 @@ msgid "ambiguous argument %s for %s" msgstr "%2$s 的引數 %1$s 是模稜兩可的" #: gnu/argmatch.c:155 -#, c-format msgid "Valid arguments are:" msgstr "有效的引數為:" -#: gnu/argp-help.c:149 +#: gnu/argp-help.c:150 #, c-format msgid "ARGP_HELP_FMT: %s value is less than or equal to %s" msgstr "ARGP_HELP_FMT:%s 值是少於或等於 %s" -#: gnu/argp-help.c:222 +#: gnu/argp-help.c:223 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter requires a value" msgstr "%.*s: ARGP_HELP_FMT 參數需要一個值" -#: gnu/argp-help.c:228 +#: gnu/argp-help.c:229 #, c-format msgid "%.*s: ARGP_HELP_FMT parameter must be positive" msgstr "%.*s: ARGP_HELP_FMT 參數必須是正值" -#: gnu/argp-help.c:237 +#: gnu/argp-help.c:238 #, c-format msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: 不明的 ARGP_HELP_FMT 參數" -#: gnu/argp-help.c:249 +#: gnu/argp-help.c:250 #, c-format msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "ARGP_HELP_FMT 中無用的資訊: %s" -#: gnu/argp-help.c:1248 +#: gnu/argp-help.c:1250 msgid "" "Mandatory or optional arguments to long options are also mandatory or " "optional for any corresponding short options." msgstr "長選項的必須或可選用的引數也是相對應短選項的必須或可選用的引數。" -#: gnu/argp-help.c:1641 +#: gnu/argp-help.c:1643 msgid "Usage:" msgstr "用法:" -#: gnu/argp-help.c:1645 +#: gnu/argp-help.c:1647 msgid " or: " msgstr " 或:" -#: gnu/argp-help.c:1657 +#: gnu/argp-help.c:1659 msgid " [OPTION...]" msgstr " [選項…]" -#: gnu/argp-help.c:1684 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" -msgstr "試試「%s --help」或「%s --usage」以獲得更多資訊。\n" +#: gnu/argp-help.c:1686 +#, fuzzy, c-format +msgid "Try '%s --help' or '%s --usage' for more information.\n" +msgstr "試試 %s --help 或 %s --usage 以獲得更多資訊。\n" -#: gnu/argp-help.c:1712 +#: gnu/argp-help.c:1714 #, c-format msgid "Report bugs to %s.\n" msgstr "請向 %s 回報錯誤。\n" -#: gnu/argp-help.c:1931 gnu/error.c:183 +#: gnu/argp-help.c:1933 gnu/error.c:190 msgid "Unknown system error" msgstr "不明的系統錯誤" @@ -98,7 +97,7 @@ msgstr "給出這個使用方式列表" msgid "give a short usage message" msgstr "給出簡短的使用訊息" -#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560 +#: gnu/argp-parse.c:85 src/tar.c:512 src/tar.c:514 src/tar.c:606 #: tests/genfile.c:130 msgid "NAME" msgstr "名稱" @@ -119,17 +118,16 @@ msgstr "掛斷若干秒 (預設 3600)" msgid "print program version" msgstr "印出程式版本" -#: gnu/argp-parse.c:160 -#, c-format +#: gnu/argp-parse.c:161 msgid "(PROGRAM ERROR) No version known!?" msgstr "(程式錯誤) 沒有已知版本 !?" -#: gnu/argp-parse.c:613 +#: gnu/argp-parse.c:614 #, c-format msgid "%s: Too many arguments\n" msgstr "%s:太多引數\n" -#: gnu/argp-parse.c:756 +#: gnu/argp-parse.c:757 msgid "(PROGRAM ERROR) Option should have been recognized!?" msgstr "(程式錯誤) 選項應該已被辨識 !?" @@ -137,62 +135,62 @@ msgstr "(程式錯誤) 選項應該已被辨識 !?" msgid "write error" msgstr "寫入錯誤" -#: gnu/getopt.c:529 gnu/getopt.c:545 +#: gnu/getopt.c:549 gnu/getopt.c:578 #, fuzzy, c-format -msgid "%s: option '%s' is ambiguous\n" -msgstr "%s:選項「%s」是模稜兩可的\n" +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s:選項 %s 是模稜兩可的\n" -#: gnu/getopt.c:578 gnu/getopt.c:582 -#, fuzzy, c-format +#: gnu/getopt.c:626 gnu/getopt.c:630 +#, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s:選項「--%s」不允許引數\n" +msgstr "%s:選項 --%s 不允許引數\n" -#: gnu/getopt.c:591 gnu/getopt.c:596 -#, fuzzy, c-format +#: gnu/getopt.c:639 gnu/getopt.c:644 +#, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s:選項「%c%s」不允許引數\n" +msgstr "%s:選項 %c%s 不允許有引數\n" -#: gnu/getopt.c:639 gnu/getopt.c:658 -#, fuzzy, c-format +#: gnu/getopt.c:687 gnu/getopt.c:706 +#, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s:選項「%s」需要一個引數\n" +msgstr "%s:選項 --%s 需要一個引數\n" -#: gnu/getopt.c:696 gnu/getopt.c:699 -#, fuzzy, c-format +#: gnu/getopt.c:744 gnu/getopt.c:747 +#, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s:無法辨識的選項「--%s」\n" +msgstr "%s:無法辨識的選項 --%s\n" -#: gnu/getopt.c:707 gnu/getopt.c:710 -#, fuzzy, c-format +#: gnu/getopt.c:755 gnu/getopt.c:758 +#, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s:無法辨識的選項「%c%s」\n" +msgstr "%s:無法辨識的選項 %c%s\n" -#: gnu/getopt.c:759 gnu/getopt.c:762 -#, fuzzy, c-format +#: gnu/getopt.c:807 gnu/getopt.c:810 +#, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s:無效的選項 -- %c\n" -#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055 -#, fuzzy, c-format +#: gnu/getopt.c:863 gnu/getopt.c:880 gnu/getopt.c:1090 gnu/getopt.c:1108 +#, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s:選項需要一個引數 -- %c\n" -#: gnu/getopt.c:885 gnu/getopt.c:901 -#, fuzzy, c-format +#: gnu/getopt.c:936 gnu/getopt.c:952 +#, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s:選項「-W %s」是模稜兩可的\n" +msgstr "%s:選項 -W %s 是模稜兩可的\n" -#: gnu/getopt.c:925 gnu/getopt.c:943 -#, fuzzy, c-format +#: gnu/getopt.c:976 gnu/getopt.c:994 +#, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s:選項「-W %s」不允許引數\n" +msgstr "%s:選項 -W %s 不允許有引數\n" -#: gnu/getopt.c:964 gnu/getopt.c:982 -#, fuzzy, c-format +#: gnu/getopt.c:1015 gnu/getopt.c:1033 +#, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s:選項「%s」需要一個引數\n" +msgstr "%s:選項 -W %s 需要一個引數\n" -#: gnu/obstack.c:423 gnu/obstack.c:425 gnu/xalloc-die.c:36 +#: gnu/obstack.c:415 gnu/obstack.c:417 gnu/xalloc-die.c:36 msgid "memory exhausted" msgstr "記憶體已耗盡" @@ -208,28 +206,30 @@ msgstr "回到初始工作目錄時失敗" #. TRANSLATORS: #. Get translations for open and closing quotation marks. -#. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for -#. "'". If the catalog has no translation, -#. locale_quoting_style quotes `like this', and -#. clocale_quoting_style quotes "like this". +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. #. -#. For example, an American English Unicode locale should -#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and -#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION -#. MARK). A British English Unicode locale should instead -#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) -#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. #. #. If you don't know what to put here, please see -#. +#. #. and use glyphs suitable for your language. -#: gnu/quotearg.c:273 +#: gnu/quotearg.c:314 msgid "`" msgstr "「" -#: gnu/quotearg.c:274 +#: gnu/quotearg.c:315 msgid "'" msgstr "」" @@ -239,7 +239,7 @@ msgstr "」" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' -#: gnu/rpmatch.c:149 +#: gnu/rpmatch.c:152 msgid "^[yY]" msgstr "^[yY是]" @@ -249,19 +249,19 @@ msgstr "^[yY是]" #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' -#: gnu/rpmatch.c:162 +#: gnu/rpmatch.c:165 msgid "^[nN]" msgstr "^[nN否]" #: gnu/version-etc.c:76 #, c-format msgid "Packaged by %s (%s)\n" -msgstr "" +msgstr "由 %s (%s) 打包套件\n" #: gnu/version-etc.c:79 #, c-format msgid "Packaged by %s\n" -msgstr "" +msgstr "由 %s 打包套件\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's @@ -399,33 +399,32 @@ msgstr "" #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: gnu/version-etc.c:247 -#, fuzzy, c-format +#, c-format msgid "" "\n" "Report bugs to: %s\n" -msgstr "請向 %s 回報錯誤。\n" +msgstr "" +"\n" +"將錯誤通報給:%s\n" #: gnu/version-etc.c:249 -#, fuzzy, c-format +#, c-format msgid "Report %s bugs to: %s\n" -msgstr "" -"\n" -"將錯誤回報給 <%s>。\n" +msgstr "通報 %s 錯誤給:%s\n" #: gnu/version-etc.c:253 #, c-format msgid "%s home page: <%s>\n" -msgstr "" +msgstr "%s 首頁:<%s>\n" #: gnu/version-etc.c:255 -#, fuzzy, c-format +#, c-format msgid "%s home page: \n" -msgstr "%s 首頁:。\n" +msgstr "%s 首頁:\n" #: gnu/version-etc.c:258 -#, fuzzy msgid "General help using GNU software: \n" -msgstr "使用 GNU 軟體的一般說明:。\n" +msgstr "使用 GNU 軟體的一般說明:\n" #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. #. Directly translating this to another language will not work, first because @@ -496,20 +495,20 @@ msgstr[0] "%1$s:只能寫入 %3$lu 位元組中的 %2$lu 個" #: lib/paxnames.c:140 #, c-format msgid "Removing leading `%s' from member names" -msgstr "從成員名稱中移除前端的「%s」" +msgstr "從成員名稱中移除前端的 %s" #: lib/paxnames.c:141 #, c-format msgid "Removing leading `%s' from hard link targets" -msgstr "從硬式連結目標中移除前端的「%s」" +msgstr "從硬式連結目標中移除前端的 %s" #: lib/paxnames.c:154 msgid "Substituting `.' for empty member name" -msgstr "以「.」來替換空白的成員名稱" +msgstr "以 . 來替換空白的成員名稱" #: lib/paxnames.c:155 msgid "Substituting `.' for empty hard link target" -msgstr "以「.」來替換空白的硬式連結目標" +msgstr "以 . 來替換空白的硬式連結目標" #: lib/rtapelib.c:299 #, c-format @@ -529,75 +528,73 @@ msgstr "標準輸出" #: lib/rtapelib.c:429 #, c-format msgid "Cannot connect to %s: resolve failed" -msgstr "" +msgstr "無法連線到 %s:解析失敗" + +#: lib/rtapelib.c:502 +#, fuzzy, c-format +msgid "Cannot redirect files for remote shell" +msgstr "無法執行遠端命令殼" -#: lib/rtapelib.c:515 +#: lib/rtapelib.c:516 #, c-format msgid "Cannot execute remote shell" msgstr "無法執行遠端命令殼" #: rmt/rmt.c:432 msgid "Seek direction out of range" -msgstr "尋覓方向超出範圍" +msgstr "尋指方向超出範圍" #: rmt/rmt.c:438 -#, fuzzy msgid "Invalid seek direction" -msgstr "選項中的模式無效" +msgstr "無效的尋指方向" #: rmt/rmt.c:446 -#, fuzzy msgid "Invalid seek offset" -msgstr "無效的大小:%s" +msgstr "無效的尋指偏移" #: rmt/rmt.c:452 msgid "Seek offset out of range" -msgstr "尋覓偏移值超出範圍" +msgstr "尋指偏移值超出範圍" #: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608 -#, fuzzy msgid "Invalid byte count" -msgstr "無效的磁帶長度" +msgstr "無效的位元組計數" #: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625 -#, fuzzy msgid "Byte count out of range" -msgstr "尋覓偏移值超出範圍" +msgstr "位元組計數超出範圍" #: rmt/rmt.c:558 -#, fuzzy msgid "Premature eof" -msgstr "rmtd:檔案突然結束\n" +msgstr "過早出現檔尾" #: rmt/rmt.c:601 -#, fuzzy msgid "Invalid operation code" -msgstr "主要操作模式:" +msgstr "無效的運算碼" #: rmt/rmt.c:636 rmt/rmt.c:680 msgid "Operation not supported" -msgstr "" +msgstr "作業不支援" #: rmt/rmt.c:664 -#, fuzzy msgid "Unexpected arguments" -msgstr "未預期的保存檔結尾" +msgstr "未預期的引數" #: rmt/rmt.c:689 msgid "Manipulate a tape drive, accepting commands from a remote process" -msgstr "" +msgstr "操控磁帶機,從遠端行程接受命令" -#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573 -#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166 +#: rmt/rmt.c:696 src/tar.c:440 src/tar.c:444 src/tar.c:604 src/tar.c:619 +#: src/tar.c:750 src/tar.c:788 tests/genfile.c:166 msgid "NUMBER" msgstr "數目" #: rmt/rmt.c:697 msgid "set debug level" -msgstr "" +msgstr "設定除錯等級" -#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643 -#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759 +#: rmt/rmt.c:698 src/tar.c:438 src/tar.c:609 src/tar.c:685 src/tar.c:689 +#: src/tar.c:701 src/tar.c:711 src/tar.c:714 src/tar.c:716 src/tar.c:805 #: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184 #: tests/genfile.c:187 tests/genfile.c:193 msgid "FILE" @@ -605,14 +602,14 @@ msgstr "檔案" #: rmt/rmt.c:699 msgid "set debug output file name" -msgstr "" +msgstr "設定除錯輸出檔案名稱" #: rmt/rmt.c:715 rmt/rmt.c:783 -#, fuzzy, c-format +#, c-format msgid "cannot open %s" -msgstr "無法開啟「%s」" +msgstr "無法開啟 %s" -#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901 +#: rmt/rmt.c:780 tests/genfile.c:892 tests/genfile.c:909 #, c-format msgid "too many arguments" msgstr "太多引數" @@ -621,11 +618,11 @@ msgstr "太多引數" msgid "Garbage command" msgstr "無用的命令" -#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1321 -#: src/buffer.c:1367 src/buffer.c:1396 src/delete.c:211 src/list.c:245 -#: src/update.c:200 +#: src/buffer.c:457 src/buffer.c:462 src/buffer.c:706 src/buffer.c:1322 +#: src/buffer.c:1368 src/buffer.c:1397 src/delete.c:212 src/list.c:244 +#: src/update.c:188 msgid "This does not look like a tar archive" -msgstr "這個看起來不像 tar 保存檔" +msgstr "這個看起來不像 tar 封存" #: src/buffer.c:521 src/buffer.c:530 msgid "Total bytes written" @@ -650,72 +647,72 @@ msgstr "無效的記錄大小" #: src/buffer.c:647 msgid "No archive name given" -msgstr "沒有指定保存檔名稱" +msgstr "沒有指定封存名稱" #: src/buffer.c:689 msgid "Cannot verify stdin/stdout archive" -msgstr "無法檢驗標準輸出入保存檔" +msgstr "無法檢驗標準輸出入封存" #: src/buffer.c:703 #, c-format msgid "Archive is compressed. Use %s option" -msgstr "保存檔被壓縮過。使用 %s 選項" +msgstr "封存被壓縮過。使用 %s 選項" -#: src/buffer.c:760 src/tar.c:2448 +#: src/buffer.c:761 src/tar.c:2459 msgid "Cannot update compressed archives" -msgstr "無法更新壓縮的保存檔" +msgstr "無法更新壓縮的封存" -#: src/buffer.c:853 +#: src/buffer.c:854 msgid "At beginning of tape, quitting now" -msgstr "位於磁帶起始部份,立刻退出" +msgstr "位於磁帶起始部分,立刻退出" -#: src/buffer.c:859 +#: src/buffer.c:860 msgid "Too many errors, quitting" msgstr "太多錯誤,離開中" -#: src/buffer.c:892 +#: src/buffer.c:893 #, c-format msgid "Record size = %lu block" msgid_plural "Record size = %lu blocks" msgstr[0] "記錄大小 = %lu 區塊" -#: src/buffer.c:913 +#: src/buffer.c:914 #, c-format msgid "Unaligned block (%lu byte) in archive" msgid_plural "Unaligned block (%lu bytes) in archive" -msgstr[0] "保存檔中未排列的區塊 (%lu 位元組)" +msgstr[0] "封存中未排列的區塊 (%lu 位元組)" -#: src/buffer.c:990 +#: src/buffer.c:991 msgid "Cannot backspace archive file; it may be unreadable without -i" -msgstr "無法倒退保存檔檔案;沒有 -i 也許會無法讀取" +msgstr "無法倒退封存檔案;沒有 -i 也許會無法讀取" -#: src/buffer.c:1022 +#: src/buffer.c:1023 msgid "rmtlseek not stopped at a record boundary" msgstr "rmtlseek 無法在記錄分界處停止" -#: src/buffer.c:1073 +#: src/buffer.c:1074 #, c-format msgid "%s: contains invalid volume number" msgstr "%s:包含無效的卷冊號碼" -#: src/buffer.c:1108 +#: src/buffer.c:1109 msgid "Volume number overflow" msgstr "卷冊號碼已滿" -#: src/buffer.c:1123 +#: src/buffer.c:1124 #, c-format msgid "Prepare volume #%d for %s and hit return: " msgstr "準備好卷冊 #%d 以完成 %s 並按下 return: " -#: src/buffer.c:1129 +#: src/buffer.c:1130 msgid "EOF where user reply was expected" msgstr "到達期待使用者回答的檔案末端" -#: src/buffer.c:1134 src/buffer.c:1166 +#: src/buffer.c:1135 src/buffer.c:1167 msgid "WARNING: Archive is incomplete" -msgstr "警告:保存檔不完整" +msgstr "警告:封存不完整" -#: src/buffer.c:1148 +#: src/buffer.c:1149 #, c-format msgid "" " n name Give a new file name for the next (and subsequent) volume(s)\n" @@ -726,626 +723,662 @@ msgstr "" " q 放棄打包\n" " y 或 newline 繼續作業\n" -#: src/buffer.c:1153 +#: src/buffer.c:1154 #, c-format msgid " ! Spawn a subshell\n" msgstr " ! 衍生一個子命令殼\n" -#: src/buffer.c:1154 +#: src/buffer.c:1155 #, c-format msgid " ? Print this list\n" msgstr " ? 列印這個清單\n" -#: src/buffer.c:1161 +#: src/buffer.c:1162 msgid "No new volume; exiting.\n" msgstr "沒有新卷冊;離開。\n" -#: src/buffer.c:1194 +#: src/buffer.c:1195 msgid "File name not specified. Try again.\n" msgstr "檔案名稱尚未指定。再次嘗試。\n" -#: src/buffer.c:1207 +#: src/buffer.c:1208 #, c-format msgid "Invalid input. Type ? for help.\n" msgstr "無效的輸入。按下 ? 以獲得說明。\n" -#: src/buffer.c:1258 +#: src/buffer.c:1259 #, c-format msgid "%s command failed" msgstr "%s 命令失敗" -#: src/buffer.c:1439 +#: src/buffer.c:1440 #, c-format msgid "%s is possibly continued on this volume: header contains truncated name" msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱" -#: src/buffer.c:1443 +#: src/buffer.c:1444 #, c-format msgid "%s is not continued on this volume" msgstr "%s 在本卷冊中並不連續" -#: src/buffer.c:1457 +#: src/buffer.c:1458 #, c-format msgid "%s is the wrong size (%s != %s + %s)" msgstr "%s 的大小有錯 (%s != %s + %s)" -#: src/buffer.c:1472 +#: src/buffer.c:1473 #, c-format msgid "This volume is out of sequence (%s - %s != %s)" msgstr "本卷冊已超出序列 (%s - %s !=%s)" -#: src/buffer.c:1550 src/buffer.c:1576 +#: src/buffer.c:1551 src/buffer.c:1577 #, c-format msgid "Archive not labeled to match %s" -msgstr "保存檔未標誌為符合 %s" +msgstr "封存未標誌為符合 %s" -#: src/buffer.c:1580 +#: src/buffer.c:1581 #, c-format msgid "Volume %s does not match %s" msgstr "卷冊 %s 不符合 %s" -#: src/buffer.c:1674 +#: src/buffer.c:1675 #, c-format msgid "" "%s: file name too long to be stored in a GNU multivolume header, truncated" msgstr "%s:檔名太長,無法儲存於 GNU 多重卷冊標頭之中,已截斷" -#: src/buffer.c:1865 +#: src/buffer.c:1866 msgid "write did not end on a block boundary" msgstr "並未於區段界限結束寫入" -#: src/compare.c:95 +#: src/compare.c:96 #, c-format msgid "Could only read %lu of %lu byte" msgid_plural "Could only read %lu of %lu bytes" msgstr[0] "只能讀取 %2$lu 位元組中的 %1$lu 個" -#: src/compare.c:105 src/compare.c:383 +#: src/compare.c:106 src/compare.c:388 msgid "Contents differ" msgstr "內容不同" -#: src/compare.c:131 src/extract.c:984 src/incremen.c:1456 src/list.c:456 -#: src/list.c:1388 src/xheader.c:711 +#: src/compare.c:132 src/extract.c:1132 src/incremen.c:1503 src/list.c:458 +#: src/list.c:1394 src/xheader.c:836 msgid "Unexpected EOF in archive" -msgstr "未預期的保存檔結尾" +msgstr "未預期的封存結尾" -#: src/compare.c:179 src/compare.c:195 src/compare.c:309 src/compare.c:407 +#: src/compare.c:180 src/compare.c:196 src/compare.c:310 src/compare.c:412 msgid "File type differs" msgstr "檔案類型不同" -#: src/compare.c:182 src/compare.c:202 src/compare.c:323 +#: src/compare.c:183 src/compare.c:203 src/compare.c:324 msgid "Mode differs" msgstr "模式不同" -#: src/compare.c:205 +#: src/compare.c:206 msgid "Uid differs" msgstr "Uid 號碼不同" -#: src/compare.c:207 +#: src/compare.c:208 msgid "Gid differs" msgstr "Gid 號碼不同" -#: src/compare.c:211 +#: src/compare.c:212 msgid "Mod time differs" msgstr "修改時間不同" -#: src/compare.c:215 src/compare.c:415 +#: src/compare.c:216 src/compare.c:422 msgid "Size differs" msgstr "大小不同" -#: src/compare.c:264 +#: src/compare.c:265 #, c-format msgid "Not linked to %s" msgstr "並未鏈結至 %s" -#: src/compare.c:288 +#: src/compare.c:289 msgid "Symlink differs" msgstr "符號連結不同" -#: src/compare.c:317 +#: src/compare.c:318 msgid "Device number differs" msgstr "裝置編號不同" -#: src/compare.c:457 +#: src/compare.c:464 #, c-format msgid "Verify " msgstr "驗證 " -#: src/compare.c:464 -#, c-format -msgid "%s: Unknown file type `%c', diffed as normal file" -msgstr "%s:不明檔案類型「%c」,會以普通檔案的方式作比較" +#: src/compare.c:471 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', diffed as normal file" +msgstr "%s:不明檔案類型 %c,會以普通檔案的方式作比較" -#: src/compare.c:520 +#: src/compare.c:527 msgid "Archive contains file names with leading prefixes removed." -msgstr "保存檔包含前置文字被移除的檔案名稱。" +msgstr "封存包含前置文字被移除的檔案名稱。" -#: src/compare.c:526 -#, fuzzy +#: src/compare.c:533 msgid "Archive contains transformed file names." -msgstr "保存檔含有過時的 base-64 標頭" +msgstr "封存含有變換過的檔案名稱。" -#: src/compare.c:531 +#: src/compare.c:538 msgid "Verification may fail to locate original files." msgstr "查核動作可能無法找到原始檔案" -#: src/compare.c:603 +#: src/compare.c:612 #, c-format msgid "VERIFY FAILURE: %d invalid header detected" msgid_plural "VERIFY FAILURE: %d invalid headers detected" msgstr[0] "驗證失敗:%d 偵測到無效的標頭" -#: src/compare.c:621 src/list.c:222 +#: src/compare.c:630 src/list.c:221 #, c-format msgid "A lone zero block at %s" msgstr "位於 %s 的孤立零值區塊" -#: src/create.c:72 +#: src/create.c:73 #, c-format msgid "%s: contains a cache directory tag %s; %s" msgstr "%s:包含一個快取目錄標記 %s; %s" -#: src/create.c:261 +#: src/create.c:262 #, c-format msgid "value %s out of %s range %s..%s; substituting %s" msgstr "數值 %s 已超出 %s 的範圍 %s..%s;以 %s 替代中" -#: src/create.c:267 +#: src/create.c:268 #, c-format msgid "value %s out of %s range %s..%s" msgstr "數值 %s 已超出 %s 的範圍 %s..%s" -#: src/create.c:327 +#: src/create.c:328 msgid "Generating negative octal headers" msgstr "正在產生負數的八進位標頭" -#: src/create.c:612 src/create.c:675 +#: src/create.c:601 src/create.c:664 #, c-format msgid "%s: file name is too long (max %d); not dumped" msgstr "%s:檔名太長 (最大 %d);未傾印" -#: src/create.c:622 +#: src/create.c:611 #, c-format msgid "%s: file name is too long (cannot be split); not dumped" msgstr "%s:檔名太長 (無法分割);未傾印" -#: src/create.c:649 +#: src/create.c:638 #, c-format msgid "%s: link name is too long; not dumped" msgstr "%s:鏈結名稱太長;未傾印" -#: src/create.c:1064 +#: src/create.c:1084 #, c-format msgid "%s: File shrank by %s byte; padding with zeros" msgid_plural "%s: File shrank by %s bytes; padding with zeros" msgstr[0] "%s:檔案縮小了 %s 位元組;以零值填補" -#: src/create.c:1160 +#: src/create.c:1180 #, c-format msgid "%s: file is on a different filesystem; not dumped" msgstr "%s:檔案位於不同的檔案系統;未傾印" -#: src/create.c:1203 src/create.c:1214 src/incremen.c:578 src/incremen.c:584 +#: src/create.c:1223 src/create.c:1234 src/incremen.c:610 src/incremen.c:617 msgid "contents not dumped" msgstr "內容無法傾印" -#: src/create.c:1418 +#: src/create.c:1438 #, c-format msgid "%s: Unknown file type; file ignored" msgstr "%s:不明檔案類型;忽略該檔案" -#: src/create.c:1529 -#, fuzzy, c-format +#: src/create.c:1549 +#, c-format msgid "Missing links to %s." -msgstr "失去至 %s 的連結。\n" +msgstr "缺少連結到 %s。" -#: src/create.c:1690 +#: src/create.c:1710 #, c-format msgid "%s: file is unchanged; not dumped" msgstr "%s:檔案沒有變更;未傾印" -#: src/create.c:1699 +#: src/create.c:1719 #, c-format msgid "%s: file is the archive; not dumped" -msgstr "%s:檔案是保存檔;未傾印" +msgstr "%s:檔案是封存;未傾印" -#: src/create.c:1723 src/incremen.c:571 +#: src/create.c:1747 src/incremen.c:603 msgid "directory not dumped" msgstr "目錄未傾印" -#: src/create.c:1795 +#: src/create.c:1819 #, c-format msgid "%s: file changed as we read it" msgstr "%s:檔案在讀取時已變更" -#: src/create.c:1858 +#: src/create.c:1900 #, c-format msgid "%s: socket ignored" msgstr "%s:忽略通訊端" -#: src/create.c:1864 +#: src/create.c:1906 #, c-format msgid "%s: door ignored" msgstr "%s:忽略匣門" -#: src/delete.c:217 src/list.c:259 src/update.c:205 +#: src/delete.c:218 src/list.c:258 src/update.c:193 msgid "Skipping to next header" msgstr "跳至下一個標頭" -#: src/delete.c:283 +#: src/delete.c:284 msgid "Deleting non-header from archive" -msgstr "從保存檔中刪除無標頭者" +msgstr "從封存中刪除無標頭者" -#: src/extract.c:277 +#: src/extract.c:302 #, c-format msgid "%s: implausibly old time stamp %s" msgstr "%s:難以確信的舊時間戳記 %s" -#: src/extract.c:295 +#: src/extract.c:320 #, c-format msgid "%s: time stamp %s is %s s in the future" msgstr "%s:時間戳記 %s 代表未來的 %s 秒" -#: src/extract.c:475 +#: src/extract.c:536 #, c-format msgid "%s: Unexpected inconsistency when making directory" msgstr "%s:產生目錄時有未預期的不一致" -#: src/extract.c:721 +#: src/extract.c:705 +#, c-format +msgid "%s: skipping existing file" +msgstr "" + +#: src/extract.c:821 #, c-format msgid "%s: Directory renamed before its status could be extracted" msgstr "%s:解開目錄狀態之前已更改了名稱" -#: src/extract.c:875 +#: src/extract.c:1010 msgid "Extracting contiguous files as regular files" msgstr "正在解開連續檔案為正常檔案" -#: src/extract.c:1209 +#: src/extract.c:1365 msgid "Attempting extraction of symbolic links as hard links" msgstr "嘗試解開符號連結為硬式連結" -#: src/extract.c:1365 +#: src/extract.c:1528 #, c-format msgid "%s: Cannot extract -- file is continued from another volume" msgstr "%s:無法解開 -- 檔案延續自其他卷冊" -#: src/extract.c:1372 src/list.c:1121 +#: src/extract.c:1535 src/list.c:1135 msgid "Unexpected long name header" msgstr "未預期的長名稱標頭" -#: src/extract.c:1379 -#, c-format -msgid "%s: Unknown file type `%c', extracted as normal file" -msgstr "%s:不明檔案類型「%c」,會以普通檔案的方式解開資料" +#: src/extract.c:1542 +#, fuzzy, c-format +msgid "%s: Unknown file type '%c', extracted as normal file" +msgstr "%s:不明檔案類型 %c,會以普通檔案的方式解開資料" -#: src/extract.c:1405 +#: src/extract.c:1568 #, c-format msgid "Current %s is newer or same age" msgstr "目前的 %s 較新或相同" -#: src/extract.c:1457 +#: src/extract.c:1620 #, c-format msgid "%s: Was unable to backup this file" msgstr "%s:之前無法備份這個檔案" -#: src/extract.c:1594 +#: src/extract.c:1767 #, c-format msgid "Cannot rename %s to %s" msgstr "無法將 %s 重新命名為 %s" -#: src/incremen.c:473 src/incremen.c:517 +#: src/incremen.c:494 src/incremen.c:536 #, c-format msgid "%s: Directory has been renamed from %s" msgstr "%s:目錄已從 %s 重新命名" -#: src/incremen.c:485 -#, c-format -msgid "%s: Directory has been renamed" -msgstr "%s:目錄已被重新命名" - -#: src/incremen.c:530 +#: src/incremen.c:549 #, c-format msgid "%s: Directory is new" msgstr "%s:目錄是新的" -#: src/incremen.c:951 src/incremen.c:968 +#: src/incremen.c:566 +#, fuzzy, c-format +msgid "%s: directory is on a different filesystem; not dumped" +msgstr "%s:檔案位於不同的檔案系統;未傾印" + +#: src/incremen.c:587 +#, c-format +msgid "%s: Directory has been renamed" +msgstr "%s:目錄已被重新命名" + +#: src/incremen.c:1001 src/incremen.c:1016 msgid "Invalid time stamp" msgstr "無效的時間戳記" -#: src/incremen.c:1007 -msgid "Invalid modification time (seconds)" +#: src/incremen.c:1045 +#, fuzzy +msgid "Invalid modification time" msgstr "無效的修改時間 (秒)" -#: src/incremen.c:1022 +#: src/incremen.c:1055 msgid "Invalid modification time (nanoseconds)" msgstr "無效的修改時間 (奈秒)" -#: src/incremen.c:1042 +#: src/incremen.c:1071 msgid "Invalid device number" msgstr "無效的裝置號碼" -#: src/incremen.c:1057 +#: src/incremen.c:1079 msgid "Invalid inode number" msgstr "無效的 inode 號碼" -#: src/incremen.c:1108 src/incremen.c:1145 -msgid "Field too long while reading snapshot file" -msgstr "讀取快照檔時欄位太長" - -#: src/incremen.c:1115 src/incremen.c:1153 -msgid "Read error in snapshot file" -msgstr "讀取快照檔時發生錯誤" +#: src/incremen.c:1135 +#, c-format +msgid "%s: byte %s: %s %.*s... too long" +msgstr "" -#: src/incremen.c:1117 src/incremen.c:1157 src/incremen.c:1209 -#: src/incremen.c:1267 +#: src/incremen.c:1151 src/incremen.c:1206 src/incremen.c:1268 msgid "Unexpected EOF in snapshot file" msgstr "未預期的快照檔結尾" -#: src/incremen.c:1124 src/incremen.c:1164 -msgid "Unexpected field value in snapshot file" -msgstr "未預期的快照檔欄位值" +#: src/incremen.c:1157 +#, c-format +msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x" +msgstr "" + +#: src/incremen.c:1169 +#, c-format +msgid "" +"%s: byte %s: (valid range %s..%s)\n" +"\t%s %s" +msgstr "" + +#: src/incremen.c:1176 +#, c-format +msgid "%s: byte %s: %s %s" +msgstr "" -#: src/incremen.c:1259 +#: src/incremen.c:1257 +#, c-format +msgid "%s: byte %s: %s" +msgstr "" + +#: src/incremen.c:1260 msgid "Missing record terminator" msgstr "缺少記錄終止符號" -#: src/incremen.c:1320 src/incremen.c:1323 +#: src/incremen.c:1366 src/incremen.c:1369 msgid "Bad incremental file format" msgstr "不當的遞增檔案格式" -#: src/incremen.c:1342 +#: src/incremen.c:1388 #, c-format msgid "Unsupported incremental format version: %" msgstr "不受支援的遞增格式版本:%" -#: src/incremen.c:1496 +#: src/incremen.c:1543 #, c-format msgid "Malformed dumpdir: expected '%c' but found %#3o" -msgstr "異常的傾印目錄:預期「%c」但是找到 %#3o" +msgstr "異常的傾印目錄:預期 %c 但是找到 %#3o" -#: src/incremen.c:1506 +#: src/incremen.c:1553 msgid "Malformed dumpdir: 'X' duplicated" -msgstr "異常的傾印目錄:「X」重製" +msgstr "異常的傾印目錄:X 重製" -#: src/incremen.c:1519 +#: src/incremen.c:1566 msgid "Malformed dumpdir: empty name in 'R'" -msgstr "異常的傾印目錄:在「R」中有空的名稱" +msgstr "異常的傾印目錄:在 R 中有空的名稱" -#: src/incremen.c:1532 +#: src/incremen.c:1579 msgid "Malformed dumpdir: 'T' not preceeded by 'R'" -msgstr "異常的傾印目錄:「R」未在「T」之前" +msgstr "異常的傾印目錄:R 未在 T 之前" -#: src/incremen.c:1538 +#: src/incremen.c:1585 msgid "Malformed dumpdir: empty name in 'T'" -msgstr "異常的傾印目錄:在「T」中有空的名稱" +msgstr "異常的傾印目錄:在 T 中有空的名稱" -#: src/incremen.c:1558 +#: src/incremen.c:1605 #, c-format msgid "Malformed dumpdir: expected '%c' but found end of data" -msgstr "異常的傾印目錄:預期「%c」但是發現資料的結束" +msgstr "異常的傾印目錄:預期 %c 但是發現資料的結束" -#: src/incremen.c:1565 +#: src/incremen.c:1612 msgid "Malformed dumpdir: 'X' never used" -msgstr "異常的傾印目錄:「X」永不使用" +msgstr "異常的傾印目錄:X 永不使用" -#: src/incremen.c:1609 +#: src/incremen.c:1656 #, c-format msgid "Cannot create temporary directory using template %s" msgstr "無法使用模板 %s 建立暫存目錄" -#: src/incremen.c:1670 +#: src/incremen.c:1717 #, c-format msgid "%s: Not purging directory: unable to stat" msgstr "%s:未能清空目錄;無法顯示狀態" -#: src/incremen.c:1683 +#: src/incremen.c:1730 #, c-format msgid "%s: directory is on a different device: not purging" msgstr "%s:目錄位於不同的裝置;無法清空" -#: src/incremen.c:1691 +#: src/incremen.c:1738 #, c-format msgid "%s: Deleting %s\n" msgstr "%s:正在刪除 %s\n" -#: src/incremen.c:1696 +#: src/incremen.c:1743 #, c-format msgid "%s: Cannot remove" msgstr "%s:無法移除" -#: src/list.c:190 +#: src/list.c:189 #, c-format msgid "%s: Omitting" msgstr "%s:省略中" -#: src/list.c:207 +#: src/list.c:206 #, c-format msgid "block %s: ** Block of NULs **\n" msgstr "區塊 %s:** 空值區塊 **\n" -#: src/list.c:233 +#: src/list.c:232 #, c-format msgid "block %s: ** End of File **\n" msgstr "區塊 %s:** 檔案結尾 **\n" -#: src/list.c:256 src/list.c:1093 src/list.c:1356 +#: src/list.c:255 src/list.c:1107 src/list.c:1362 #, c-format msgid "block %s: " msgstr "區塊 %s:" #. TRANSLATORS: %s is type of the value (gid_t, uid_t, #. etc.) -#: src/list.c:708 +#: src/list.c:722 #, c-format msgid "Blanks in header where numeric %s value expected" msgstr "空白出現在標頭中預期為數值 %s 的地方" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:763 +#: src/list.c:777 #, c-format msgid "Archive octal value %.*s is out of %s range; assuming two's complement" -msgstr "保存檔八進位數值 %.*s 超出 %s 範圍;假定為二的補數" +msgstr "封存八進位數值 %.*s 超出 %s 範圍;假定為二的補數" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:774 +#: src/list.c:788 #, c-format msgid "Archive octal value %.*s is out of %s range" -msgstr "保存檔八進位數值 %.*s 超出 %s 範圍" +msgstr "封存八進位數值 %.*s 超出 %s 範圍" -#: src/list.c:795 +#: src/list.c:809 msgid "Archive contains obsolescent base-64 headers" -msgstr "保存檔含有過時的 base-64 標頭" +msgstr "封存含有過時的 base-64 標頭" -#: src/list.c:809 +#: src/list.c:823 #, c-format msgid "Archive signed base-64 string %s is out of %s range" -msgstr "保存檔有號 base-64 字串 %s 超出 %s 範圍" +msgstr "封存有號 base-64 字串 %s 超出 %s 範圍" -#: src/list.c:840 +#: src/list.c:854 #, c-format msgid "Archive base-256 value is out of %s range" -msgstr "保存檔 base-256 值超出 %s 範圍" +msgstr "封存 base-256 值超出 %s 範圍" #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) -#: src/list.c:869 +#: src/list.c:883 #, c-format msgid "Archive contains %.*s where numeric %s value expected" -msgstr "保存檔包含 %.*s 於預期為數值 %s 的地方" +msgstr "封存包含 %.*s 於預期為數值 %s 的地方" #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.) -#: src/list.c:891 +#: src/list.c:905 #, c-format msgid "Archive value %s is out of %s range %s..%s" -msgstr "保存檔值 %s 已超出 %s 的範圍 %s..%s" +msgstr "封存值 %s 已超出 %s 的範圍 %s..%s" -#: src/list.c:1257 +#: src/list.c:1262 #, c-format msgid " link to %s\n" msgstr " 連結到 %s\n" -#: src/list.c:1265 +#: src/list.c:1270 #, c-format msgid " unknown file type %s\n" msgstr " 不明檔案類型 %s\n" -#: src/list.c:1283 +#: src/list.c:1288 #, c-format msgid "--Long Link--\n" msgstr "--長 連 結--\n" -#: src/list.c:1287 +#: src/list.c:1292 #, c-format msgid "--Long Name--\n" msgstr "--長 名 稱--\n" -#: src/list.c:1291 +#: src/list.c:1296 #, c-format msgid "--Volume Header--\n" msgstr "--卷 冊 標 é ­--\n" -#: src/list.c:1299 +#: src/list.c:1304 #, c-format msgid "--Continued at byte %s--\n" msgstr "--於第 %s 位元組繼續--\n" -#: src/list.c:1361 +#: src/list.c:1367 msgid "Creating directory:" msgstr "正在建立目錄:" -#: src/misc.c:297 -#, fuzzy -msgid "Cannot get working directory" -msgstr "無法變更工作目錄" - -#: src/misc.c:570 +#: src/misc.c:721 #, c-format msgid "Renaming %s to %s\n" msgstr "正在將 %s 重新命名為 %s\n" -#: src/misc.c:579 src/misc.c:598 +#: src/misc.c:730 src/misc.c:749 #, c-format msgid "%s: Cannot rename to %s" msgstr "%s:無法重新命名為 %s" -#: src/misc.c:603 +#: src/misc.c:754 #, c-format msgid "Renaming %s back to %s\n" msgstr "將 %s 的名稱還原為 %s\n" -#: src/misc.c:850 +#: src/misc.c:1093 #, c-format msgid "%s: File removed before we read it" msgstr "%s:讀取檔案之前已被移除" -#: src/misc.c:871 +#: src/misc.c:1114 msgid "child process" -msgstr "子進程" +msgstr "子行程" -#: src/misc.c:880 +#: src/misc.c:1123 msgid "interprocess channel" -msgstr "進程間通道" +msgstr "行程間通道" -#: src/names.c:590 +#: src/names.c:360 #, fuzzy +msgid "command line" +msgstr "%s 命令失敗" + +#: src/names.c:378 +#, fuzzy, c-format +msgid "%s: file list requested from %s already read from %s" +msgstr "%s:已經讀取檔案清單" + +#: src/names.c:448 +#, fuzzy, c-format +msgid "cannot split string '%s': %s" +msgstr "無法設定時間為 %s" + +#: src/names.c:490 +#, c-format +msgid "%s: file name read contains nul character" +msgstr "%s:所讀檔案名稱含有空值字元" + +#: src/names.c:821 msgid "Pattern matching characters used in file names" -msgstr "在檔案名稱中使用的式樣匹配字元。請," +msgstr "用於檔案名稱的胚騰匹配字元" -#: src/names.c:592 -#, fuzzy +#: src/names.c:823 msgid "" "Use --wildcards to enable pattern matching, or --no-wildcards to suppress " "this warning" -msgstr "使用 --wildcards 以啟用式樣匹配,或 --no-wildcards 來" +msgstr "使用 --wildcards 以啟用胚騰匹配,或 --no-wildcards 以抑制這個警告" -#: src/names.c:610 src/names.c:626 +#: src/names.c:841 src/names.c:857 #, c-format msgid "%s: Not found in archive" -msgstr "%s:在保存檔中找不到" +msgstr "%s:在封存中找不到" -#: src/names.c:611 +#: src/names.c:842 #, c-format msgid "%s: Required occurrence not found in archive" -msgstr "%s:要求項目在保存檔中找不到" +msgstr "%s:要求項目在封存中找不到" -#: src/names.c:645 -#, fuzzy, c-format +#: src/names.c:876 +#, c-format msgid "Archive label mismatch" -msgstr "保存檔未標誌為符合 %s" +msgstr "封存標貼不匹配" -#: src/names.c:949 -#, fuzzy +#: src/names.c:1180 msgid "" "Using -C option inside file list is not allowed with --listed-incremental" -msgstr "--preserve-order 與 --listed-incremental 不相容" +msgstr "於檔案清單內部使用 -C 選項是不允許與 --listed-incremental 共用" -#: src/names.c:955 -#, fuzzy +#: src/names.c:1186 msgid "Only one -C option is allowed with --listed-incremental" -msgstr "--preserve-order 與 --listed-incremental 不相容" +msgstr "只有一個 -C 選項是允許與 --listed-incremental 共用" -#: src/tar.c:81 -#, c-format -msgid "Options `-%s' and `-%s' both want standard input" -msgstr "選項「-%s」和「-%s」兩者都需要標準輸入" +#: src/tar.c:86 +#, fuzzy, c-format +msgid "Options '-%s' and '-%s' both want standard input" +msgstr "選項 -%s 和 -%s 兩者都需要標準輸入" -#: src/tar.c:158 +#: src/tar.c:163 #, c-format msgid "%s: Invalid archive format" -msgstr "%s:無效的保存檔格式" +msgstr "%s:無效的封存格式" -#: src/tar.c:182 +#: src/tar.c:187 msgid "GNU features wanted on incompatible archive format" -msgstr "不能在不兼容的保存檔格式中使用 GNU 功能" +msgstr "不能在不兼容的封存格式中使用 GNU 功能" -#: src/tar.c:250 -#, c-format +#: src/tar.c:255 +#, fuzzy, c-format msgid "" -"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list." -msgstr "不明引號樣式「%s」。嘗試「%s --quoting-style=help」以取得清單。" +"Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list." +msgstr "不明引號樣式 %s 。嘗試 %s --quoting-style=help 以取得清單。" -#: src/tar.c:348 +#: src/tar.c:364 +#, fuzzy msgid "" -"GNU `tar' saves many files together into a single tape or disk archive, and " +"GNU 'tar' saves many files together into a single tape or disk archive, and " "can restore individual files from the archive.\n" "\n" "Examples:\n" @@ -1353,17 +1386,18 @@ msgid "" " tar -tvf archive.tar # List all files in archive.tar verbosely.\n" " tar -xf archive.tar # Extract all files from archive.tar.\n" msgstr "" -"GNU「tar」將許多檔案一起儲存進單一磁帶或磁碟保存檔,而且可以從保存檔還原個別" -"檔案。\n" +"GNU tar 將許多檔案一起儲存進單一磁帶或磁碟封存,而且可以從封存還原個別檔" +"案。\n" "\n" "範例:\n" " tar -cf archive.tar foo bar # 建立包括 foo 及 bar 檔案的 archive.tar。\n" " tar -tvf archive.tar # 詳細列出 archive.tar 中的所有檔案。\n" " tar -xf archive.tar # 解開 archive.tar 中的所有檔案。\n" -#: src/tar.c:357 +#: src/tar.c:373 +#, fuzzy msgid "" -"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" +"The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control may be set with --backup or VERSION_CONTROL, values " "are:\n" "\n" @@ -1380,780 +1414,828 @@ msgstr "" " nil, existing 若有數字的備份檔已經存在則使用數字,否則使用普通方式備份\n" " never, simple 永遠使用普通方式備份\n" -#: src/tar.c:387 +#: src/tar.c:403 msgid "Main operation mode:" msgstr "主要操作模式:" -#: src/tar.c:390 +#: src/tar.c:406 msgid "list the contents of an archive" -msgstr "列出保存檔的內容" +msgstr "列出封存的內容" -#: src/tar.c:392 +#: src/tar.c:408 msgid "extract files from an archive" -msgstr "從保存檔中解開檔案" +msgstr "從封存中解開檔案" -#: src/tar.c:395 +#: src/tar.c:411 msgid "create a new archive" -msgstr "建立新的保存檔" +msgstr "建立新的封存" -#: src/tar.c:397 +#: src/tar.c:413 msgid "find differences between archive and file system" -msgstr "在保存檔與檔案系統之間找出差異" +msgstr "在封存與檔案系統之間找出差異" -#: src/tar.c:400 +#: src/tar.c:416 msgid "append files to the end of an archive" -msgstr "加入檔案到保存檔末端" +msgstr "加入檔案到封存末端" -#: src/tar.c:402 +#: src/tar.c:418 msgid "only append files newer than copy in archive" -msgstr "只加入比保存檔中複本還新的檔案" +msgstr "只加入比封存中複本還新的檔案" -#: src/tar.c:404 +#: src/tar.c:420 msgid "append tar files to an archive" -msgstr "加入 tar 檔案到保存檔中" +msgstr "加入 tar 檔案到封存中" -#: src/tar.c:407 +#: src/tar.c:423 msgid "delete from the archive (not on mag tapes!)" -msgstr "從保存檔中刪除 (並非在磁帶上!)" +msgstr "從封存中刪除 (並非在磁帶上!)" -#: src/tar.c:409 +#: src/tar.c:425 msgid "test the archive volume label and exit" -msgstr "測試保存檔卷冊標籤然後離開" +msgstr "測試封存卷冊標籤然後離開" -#: src/tar.c:414 +#: src/tar.c:430 msgid "Operation modifiers:" msgstr "運算變更項:" -#: src/tar.c:417 +#: src/tar.c:433 msgid "handle sparse files efficiently" msgstr "有效率地處理稀疏檔案" -#: src/tar.c:418 +#: src/tar.c:434 msgid "MAJOR[.MINOR]" msgstr "MAJOR[.MINOR]" -#: src/tar.c:419 +#: src/tar.c:435 msgid "set version of the sparse format to use (implies --sparse)" msgstr "設定稀疏格式版本以使用 (意味著 --sparse)" -#: src/tar.c:421 +#: src/tar.c:437 msgid "handle old GNU-format incremental backup" msgstr "處理舊型 GNU-格式之遞增備份" -#: src/tar.c:423 +#: src/tar.c:439 msgid "handle new GNU-format incremental backup" msgstr "處理新型 GNU-格式之遞增備份" -#: src/tar.c:425 +#: src/tar.c:441 msgid "dump level for created listed-incremental archive" -msgstr "" +msgstr "用於建立 listed-incremental 封存的傾印等級" -#: src/tar.c:427 +#: src/tar.c:443 msgid "do not exit with nonzero on unreadable files" msgstr "離開無法讀取的檔案時不要回傳非零的值" -#: src/tar.c:429 +#: src/tar.c:445 msgid "" "process only the NUMBERth occurrence of each file in the archive; this " "option is valid only in conjunction with one of the subcommands --delete, --" "diff, --extract or --list and when a list of files is given either on the " "command line or via the -T option; NUMBER defaults to 1" msgstr "" -"只有對於每一個在保存檔中第 NUM 個出現的檔案才會處理。此選項只有與 --" -"delete、--diff、--extract 或 --list 等次命令之一合併使用時才有效,而且要經由" -"命令列或是 -T 選項來提供一個檔案序列。預設的數目是 1。" +"只有對於每一個在封存中第 NUM 個出現的檔案才會處理。此選項只有與 --delete、--" +"diff、--extract 或 --list 等次命令之一合併使用時才有效,而且要經由命令列或是 " +"-T 選項來提供一個檔案序列。預設的數目是 1。" -#: src/tar.c:435 +#: src/tar.c:451 msgid "archive is seekable" -msgstr "保存檔是可尋指的" +msgstr "封存是可尋指的" -#: src/tar.c:437 -#, fuzzy +#: src/tar.c:453 msgid "archive is not seekable" -msgstr "保存檔是可尋指的" +msgstr "封存不是可尋指的" -#: src/tar.c:439 +#: src/tar.c:455 msgid "do not check device numbers when creating incremental archives" msgstr "不檢查裝置數量時建立遞增檔案" -#: src/tar.c:442 +#: src/tar.c:458 msgid "check device numbers when creating incremental archives (default)" msgstr "檢查裝置數量時建立遞增檔案 (預設)" -#: src/tar.c:448 +#: src/tar.c:464 msgid "Overwrite control:" msgstr "覆寫控制:" -#: src/tar.c:451 +#: src/tar.c:467 msgid "attempt to verify the archive after writing it" -msgstr "嘗試在寫入之後驗證保存檔" +msgstr "嘗試在寫入之後驗證封存" -#: src/tar.c:453 +#: src/tar.c:469 msgid "remove files after adding them to the archive" -msgstr "在加入檔案至保存檔之後移除它們" +msgstr "在加入檔案至封存之後移除它們" -#: src/tar.c:455 -msgid "don't replace existing files when extracting" +#: src/tar.c:471 +#, fuzzy +msgid "don't replace existing files when extracting, treat them as errors" msgstr "解開時不要替換既有的檔案" -#: src/tar.c:457 +#: src/tar.c:474 +#, fuzzy +msgid "don't replace existing files when extracting, silently skip over them" +msgstr "解開時不要替換既有的檔案" + +#: src/tar.c:477 msgid "don't replace existing files that are newer than their archive copies" -msgstr "不要替換既有且比它們在保存檔中複本還新的檔案" +msgstr "不要替換既有且比它們在封存中複本還新的檔案" -#: src/tar.c:459 +#: src/tar.c:479 msgid "overwrite existing files when extracting" msgstr "解開時覆寫既有檔案" -#: src/tar.c:461 +#: src/tar.c:481 msgid "remove each file prior to extracting over it" msgstr "在解開並覆寫檔案之前先移除它" -#: src/tar.c:463 +#: src/tar.c:483 msgid "empty hierarchies prior to extracting directory" msgstr "在解開目錄之前先清空階層結構" -#: src/tar.c:465 +#: src/tar.c:485 msgid "preserve metadata of existing directories" msgstr "保留既有目錄的後設資料" -#: src/tar.c:467 +#: src/tar.c:487 msgid "overwrite metadata of existing directories when extracting (default)" msgstr "解開時覆寫既有目錄的後設資料 (預設)" -#: src/tar.c:473 +#: src/tar.c:490 +#, fuzzy +msgid "preserve existing symlinks to directories when extracting" +msgstr "解開時覆寫既有檔案" + +#: src/tar.c:496 msgid "Select output stream:" msgstr "選取輸出串流:" -#: src/tar.c:476 +#: src/tar.c:499 msgid "extract files to standard output" msgstr "解開檔案到標準輸出" -#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190 +#: src/tar.c:500 src/tar.c:582 src/tar.c:584 tests/genfile.c:190 msgid "COMMAND" msgstr "命令" -#: src/tar.c:478 +#: src/tar.c:501 msgid "pipe extracted files to another program" msgstr "將解開的檔案管線引導到另外的程式" -#: src/tar.c:480 +#: src/tar.c:503 msgid "ignore exit codes of children" -msgstr "忽略子進程的離開代碼" +msgstr "忽略子行程的離開代碼" -#: src/tar.c:482 +#: src/tar.c:505 msgid "treat non-zero exit codes of children as error" -msgstr "將子進程的非零離開代碼視為錯誤" +msgstr "將子行程的非零離開代碼視為錯誤" -#: src/tar.c:487 +#: src/tar.c:510 msgid "Handling of file attributes:" msgstr "檔案屬性的處理:" -#: src/tar.c:490 +#: src/tar.c:513 msgid "force NAME as owner for added files" msgstr "強制以 NAME 做為加入檔案的擁有者" -#: src/tar.c:492 +#: src/tar.c:515 msgid "force NAME as group for added files" msgstr "強制以 NAME 做為加入檔案的群組" -#: src/tar.c:493 src/tar.c:690 +#: src/tar.c:516 src/tar.c:736 msgid "DATE-OR-FILE" msgstr "檔案的日期" -#: src/tar.c:494 +#: src/tar.c:517 msgid "set mtime for added files from DATE-OR-FILE" msgstr "將加入檔案的 mtime 設定為 DATE-OR-FILE" -#: src/tar.c:495 +#: src/tar.c:518 msgid "CHANGES" msgstr "變更" -#: src/tar.c:496 +#: src/tar.c:519 msgid "force (symbolic) mode CHANGES for added files" msgstr "強制將 (符號) 模式 CHANGES 用於已加入檔案" -#: src/tar.c:498 +#: src/tar.c:521 msgid "METHOD" msgstr "方法" -#: src/tar.c:499 +#: src/tar.c:522 msgid "" "preserve access times on dumped files, either by restoring the times after " "reading (METHOD='replace'; default) or by not setting the times in the first " "place (METHOD='system')" msgstr "" -"保留傾印檔案的存取時間,若非由讀取之後的回復時間(方法=「replace」;預設),就" -"是藉由原本不設定時間 (方法=「system」)" +"保留傾印檔案的存取時間,若非由讀取之後的回復時間(方法='replace';預設),就是" +"藉由原本不設定時間 (方法='system')" -#: src/tar.c:503 +#: src/tar.c:526 msgid "don't extract file modified time" msgstr "不要解開檔案的修改時間" -#: src/tar.c:505 -#, fuzzy +#: src/tar.c:528 msgid "" "try extracting files with the same ownership as exists in the archive " "(default for superuser)" -msgstr "嘗試以相同的擁有身分去解開檔案" +msgstr "嘗試以與存在於封存中的相同擁有屬性來抽出檔案 (預設用於系統管理者)" -#: src/tar.c:507 -#, fuzzy +#: src/tar.c:530 msgid "extract files as yourself (default for ordinary users)" -msgstr "以自己的身分解開檔案" +msgstr "以您自己擁有的屬性來抽出檔案 (預設用於一般使用者)" -#: src/tar.c:509 +#: src/tar.c:532 msgid "always use numbers for user/group names" msgstr "總是使用數字做為使用者/群組名稱" -#: src/tar.c:511 +#: src/tar.c:534 msgid "extract information about file permissions (default for superuser)" msgstr "解開檔案權限相關資訊 (預設用於超級使用者)" -#: src/tar.c:515 +#: src/tar.c:538 msgid "" "apply the user's umask when extracting permissions from the archive (default " "for ordinary users)" -msgstr "從保存檔解開權限時套用使用者 umask (預設用於一般使用者)" +msgstr "從封存解開權限時套用使用者 umask (預設用於一般使用者)" -#: src/tar.c:517 -msgid "sort names to extract to match archive" -msgstr "解開時依名稱排序以符合保存檔" +#: src/tar.c:540 +msgid "" +"member arguments are listed in the same order as the files in the archive" +msgstr "" -#: src/tar.c:520 +#: src/tar.c:544 msgid "same as both -p and -s" msgstr "等同於指定 -p 與 -s" -#: src/tar.c:522 +#: src/tar.c:546 msgid "" "delay setting modification times and permissions of extracted directories " "until the end of extraction" msgstr "延遲設定解開目錄的修改時間和權限,直到解開結束" -#: src/tar.c:525 +#: src/tar.c:549 msgid "cancel the effect of --delay-directory-restore option" msgstr "取消 --delay-directory-restore 選項的效果" -#: src/tar.c:530 +#: src/tar.c:554 +#, fuzzy +msgid "Handling of extended file attributes:" +msgstr "檔案屬性的處理:" + +#: src/tar.c:557 +msgid "Enable extended attributes support" +msgstr "" + +#: src/tar.c:559 +msgid "Disable extended attributes support" +msgstr "" + +#: src/tar.c:560 src/tar.c:562 +msgid "MASK" +msgstr "" + +#: src/tar.c:561 +msgid "specify the include pattern for xattr keys" +msgstr "" + +#: src/tar.c:563 +msgid "specify the exclude pattern for xattr keys" +msgstr "" + +#: src/tar.c:565 +msgid "Enable the SELinux context support" +msgstr "" + +#: src/tar.c:567 +msgid "Disable the SELinux context support" +msgstr "" + +#: src/tar.c:569 +msgid "Enable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:571 +msgid "Disable the POSIX ACLs support" +msgstr "" + +#: src/tar.c:576 msgid "Device selection and switching:" msgstr "裝置選擇與切換:" -#: src/tar.c:532 +#: src/tar.c:578 msgid "ARCHIVE" -msgstr "保存檔" +msgstr "封存" -#: src/tar.c:533 +#: src/tar.c:579 msgid "use archive file or device ARCHIVE" msgstr "使用 ARCHIVE 檔案或 ARCHIVE 裝置" -#: src/tar.c:535 +#: src/tar.c:581 msgid "archive file is local even if it has a colon" -msgstr "即使具有冒號,保存檔檔案仍位於本地端" +msgstr "即使具有冒號,封存檔案仍位於本地端" -#: src/tar.c:537 +#: src/tar.c:583 msgid "use given rmt COMMAND instead of rmt" msgstr "使用給定的 rmt COMMAND 以代替 rmt" -#: src/tar.c:539 +#: src/tar.c:585 msgid "use remote COMMAND instead of rsh" msgstr "使用遠端 COMMAND 以代替 rsh" -#: src/tar.c:543 +#: src/tar.c:589 msgid "specify drive and density" msgstr "指定磁碟機與記錄密度" -#: src/tar.c:557 +#: src/tar.c:603 msgid "create/list/extract multi-volume archive" -msgstr "建立/列表/解開 多重卷冊的保存檔" +msgstr "建立/列表/解開 多重卷冊的封存" -#: src/tar.c:559 +#: src/tar.c:605 msgid "change tape after writing NUMBER x 1024 bytes" msgstr "在寫入 NUMBER x 1024 位元組之後更換磁帶" -#: src/tar.c:561 +#: src/tar.c:607 msgid "run script at end of each tape (implies -M)" msgstr "在每卷磁帶末端執行命令稿 (意指 -M)" -#: src/tar.c:564 +#: src/tar.c:610 msgid "use/update the volume number in FILE" msgstr "使用/更新 FILE 中的卷冊號碼" -#: src/tar.c:569 +#: src/tar.c:615 msgid "Device blocking:" msgstr "裝置分區:" -#: src/tar.c:571 +#: src/tar.c:617 msgid "BLOCKS" msgstr "區塊" -#: src/tar.c:572 +#: src/tar.c:618 msgid "BLOCKS x 512 bytes per record" msgstr "每筆記錄含有 BLOCKS x 512 位元組" -#: src/tar.c:574 +#: src/tar.c:620 msgid "NUMBER of bytes per record, multiple of 512" msgstr "每筆記錄 SIZE 位元組,為 512 的倍數" -#: src/tar.c:576 +#: src/tar.c:622 msgid "ignore zeroed blocks in archive (means EOF)" -msgstr "忽略保存檔中零值的區塊 (意指 EOF)" +msgstr "忽略封存中零值的區塊 (意指 EOF)" -#: src/tar.c:578 +#: src/tar.c:624 msgid "reblock as we read (for 4.2BSD pipes)" msgstr "讀取時重新分區 (用於 4.2BSD 管線)" -#: src/tar.c:583 +#: src/tar.c:629 msgid "Archive format selection:" -msgstr "保存檔格式選擇:" +msgstr "封存格式選擇:" -#: src/tar.c:585 tests/genfile.c:153 +#: src/tar.c:631 tests/genfile.c:153 msgid "FORMAT" msgstr "格式" -#: src/tar.c:586 +#: src/tar.c:632 msgid "create archive of the given format" -msgstr "以給定格式建立保存檔" +msgstr "以給定格式建立封存" -#: src/tar.c:588 +#: src/tar.c:634 msgid "FORMAT is one of the following:" msgstr "符合下列任一 FORMAT:" -#: src/tar.c:589 +#: src/tar.c:635 msgid "old V7 tar format" msgstr "舊式 V7 tar 格式" -#: src/tar.c:592 +#: src/tar.c:638 msgid "GNU format as per tar <= 1.12" msgstr "tar <= 1.12 之 GNU 格式" -#: src/tar.c:594 +#: src/tar.c:640 msgid "GNU tar 1.13.x format" msgstr "GNU tar 1.13.x 格式" -#: src/tar.c:596 +#: src/tar.c:642 msgid "POSIX 1003.1-1988 (ustar) format" msgstr "POSIX 1003.1-1988 (ustar) 格式" -#: src/tar.c:598 +#: src/tar.c:644 msgid "POSIX 1003.1-2001 (pax) format" msgstr "POSIX 1003.1-2001 (pax) 格式" -#: src/tar.c:599 +#: src/tar.c:645 msgid "same as pax" msgstr "等同 pax" -#: src/tar.c:602 +#: src/tar.c:648 msgid "same as --format=v7" msgstr "等同 --format=v7" -#: src/tar.c:605 +#: src/tar.c:651 msgid "same as --format=posix" msgstr "等同 --format=posix" -#: src/tar.c:606 +#: src/tar.c:652 msgid "keyword[[:]=value][,keyword[[:]=value]]..." msgstr "關鍵字[[:]=值][,關鍵字[[:]=值]…]" -#: src/tar.c:607 +#: src/tar.c:653 msgid "control pax keywords" msgstr "控制 pax 的關鍵字" -#: src/tar.c:608 +#: src/tar.c:654 msgid "TEXT" msgstr "文字" -#: src/tar.c:609 +#: src/tar.c:655 msgid "" "create archive with volume name TEXT; at list/extract time, use TEXT as a " "globbing pattern for volume name" msgstr "" -"以卷冊名稱 NAME 來建立保存檔。在列表/解開時,使用 TEXT 做為卷冊名稱的萬用比對" -"式樣" +"以卷冊名稱 NAME 來建立封存。在列表/解開時,使用 TEXT 做為卷冊名稱的萬用比對胚" +"騰" -#: src/tar.c:614 +#: src/tar.c:660 msgid "Compression options:" msgstr "壓縮選項:" -#: src/tar.c:616 +#: src/tar.c:662 msgid "use archive suffix to determine the compression program" -msgstr "利用保存檔字尾決定壓縮程式" +msgstr "利用封存字尾決定壓縮程式" -#: src/tar.c:618 +#: src/tar.c:664 msgid "do not use archive suffix to determine the compression program" -msgstr "不利用保存檔字尾決定壓縮程式" +msgstr "不利用封存字尾決定壓縮程式" -#: src/tar.c:620 +#: src/tar.c:666 msgid "PROG" msgstr "程式" -#: src/tar.c:621 +#: src/tar.c:667 msgid "filter through PROG (must accept -d)" msgstr "以 PROG 過濾處理 (必須接受 -d)" -#: src/tar.c:637 +#: src/tar.c:683 msgid "Local file selection:" msgstr "本機檔案選擇:" -#: src/tar.c:640 +#: src/tar.c:686 msgid "add given FILE to the archive (useful if its name starts with a dash)" -msgstr "將給定的 FILE 加入保存檔 (如果它的名稱以減號開始時就很有用)" +msgstr "將給定的 FILE 加入封存 (如果它的名稱以減號開始時就很有用)" -#: src/tar.c:641 +#: src/tar.c:687 msgid "DIR" msgstr "目錄" -#: src/tar.c:642 +#: src/tar.c:688 msgid "change to directory DIR" msgstr "更改至目錄 DIR" -#: src/tar.c:644 +#: src/tar.c:690 msgid "get names to extract or create from FILE" msgstr "從 FILE 中取得要解開或建立的名稱" -#: src/tar.c:646 +#: src/tar.c:692 msgid "-T reads null-terminated names, disable -C" msgstr "-T 讀取零值終結的名稱,停用 -C" -#: src/tar.c:648 +#: src/tar.c:694 msgid "disable the effect of the previous --null option" msgstr "停用先前 --null 選項的效果" -#: src/tar.c:650 +#: src/tar.c:696 msgid "unquote filenames read with -T (default)" msgstr "去除以 -T 讀取的檔名引號 (預設)" -#: src/tar.c:652 +#: src/tar.c:698 msgid "do not unquote filenames read with -T" msgstr "不去除以 -T 讀取的檔名引號" -#: src/tar.c:653 tests/genfile.c:136 +#: src/tar.c:699 tests/genfile.c:136 msgid "PATTERN" -msgstr "式樣" +msgstr "胚騰" -#: src/tar.c:654 +#: src/tar.c:700 msgid "exclude files, given as a PATTERN" -msgstr "排除給定式樣的檔案" +msgstr "排除給定胚騰的檔案" -#: src/tar.c:656 +#: src/tar.c:702 msgid "exclude patterns listed in FILE" -msgstr "排除 FILE 中所列出的式樣" +msgstr "排除 FILE 中所列出的胚騰" -#: src/tar.c:658 +#: src/tar.c:704 msgid "" "exclude contents of directories containing CACHEDIR.TAG, except for the tag " "file itself" msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身" -#: src/tar.c:661 +#: src/tar.c:707 msgid "exclude everything under directories containing CACHEDIR.TAG" msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西" -#: src/tar.c:664 +#: src/tar.c:710 msgid "exclude directories containing CACHEDIR.TAG" msgstr "排除包含 CACHEDIR.TAG 的目錄" -#: src/tar.c:666 +#: src/tar.c:712 msgid "exclude contents of directories containing FILE, except for FILE itself" msgstr "排除包含 FILE 的目錄內容,除了該檔案本身" -#: src/tar.c:669 +#: src/tar.c:715 msgid "exclude everything under directories containing FILE" msgstr "排除包含 FILE 的目錄之下所有東西" -#: src/tar.c:671 +#: src/tar.c:717 msgid "exclude directories containing FILE" msgstr "排除包含 FILE 的目錄" -#: src/tar.c:673 +#: src/tar.c:719 msgid "exclude version control system directories" msgstr "排除版本控制系統目錄" -#: src/tar.c:675 +#: src/tar.c:721 msgid "exclude backup and lock files" -msgstr "" +msgstr "排除備份和鎖定檔案" -#: src/tar.c:677 +#: src/tar.c:723 msgid "avoid descending automatically in directories" msgstr "避免自動在目錄中遞降" -#: src/tar.c:679 +#: src/tar.c:725 msgid "stay in local file system when creating archive" -msgstr "建立保存檔時保持在本地檔案系統中" +msgstr "建立封存時保持在本地檔案系統中" -#: src/tar.c:681 +#: src/tar.c:727 msgid "recurse into directories (default)" msgstr "遞迴進入目錄 (預設)" -#: src/tar.c:683 -msgid "don't strip leading `/'s from file names" +#: src/tar.c:729 +#, fuzzy +msgid "don't strip leading '/'s from file names" msgstr "不要從檔案名稱中截去前導的 '/'" -#: src/tar.c:685 +#: src/tar.c:731 msgid "follow symlinks; archive and dump the files they point to" -msgstr "跟隨符號連結;保存和傾印它們所指涉的檔案" +msgstr "跟隨符號連結;封存和傾印它們所指涉的檔案" -#: src/tar.c:687 +#: src/tar.c:733 msgid "follow hard links; archive and dump the files they refer to" -msgstr "跟隨硬式連結;保存和傾印它們所參考的檔案" +msgstr "跟隨硬式連結;封存和傾印它們所參考的檔案" -#: src/tar.c:688 +#: src/tar.c:734 msgid "MEMBER-NAME" msgstr "成員-名稱" -#: src/tar.c:689 -msgid "begin at member MEMBER-NAME in the archive" -msgstr "從保存檔中名為 MEMBER-NAME 的成員開始" +#: src/tar.c:735 +#, fuzzy +msgid "begin at member MEMBER-NAME when reading the archive" +msgstr "從封存中名為 MEMBER-NAME 的成員開始" -#: src/tar.c:691 +#: src/tar.c:737 msgid "only store files newer than DATE-OR-FILE" msgstr "只儲存比 DATE-OF-FILE 還新的檔案" -#: src/tar.c:693 +#: src/tar.c:739 msgid "DATE" msgstr "日期" -#: src/tar.c:694 +#: src/tar.c:740 msgid "compare date and time when data changed only" msgstr "只有當資料變更時才比較日期和時間" -#: src/tar.c:695 +#: src/tar.c:741 msgid "CONTROL" msgstr "控制" -#: src/tar.c:696 +#: src/tar.c:742 msgid "backup before removal, choose version CONTROL" msgstr "移除之前先備份,選擇版本 CONTROL" -#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169 +#: src/tar.c:743 src/tar.c:824 src/tar.c:826 tests/genfile.c:169 msgid "STRING" msgstr "字串" -#: src/tar.c:698 +#: src/tar.c:744 msgid "" "backup before removal, override usual suffix ('~' unless overridden by " "environment variable SIMPLE_BACKUP_SUFFIX)" msgstr "" -"移除之前先備份並覆寫常用後置文字 (「~」除非被環境變數 SIMPLE_BACKUP_SUFFIX 所" -"蓋過)" +"移除之前先備份並覆寫常用後置文字 ( ~ 除非被環境變數 SIMPLE_BACKUP_SUFFIX 所蓋" +"過)" -#: src/tar.c:703 +#: src/tar.c:749 msgid "File name transformations:" msgstr "檔案名稱變換:" -#: src/tar.c:705 +#: src/tar.c:751 msgid "strip NUMBER leading components from file names on extraction" msgstr "從檔案名稱中截去以 NUMBER 為首的成分" -#: src/tar.c:707 +#: src/tar.c:753 msgid "EXPRESSION" msgstr "表示式" -#: src/tar.c:708 +#: src/tar.c:754 msgid "use sed replace EXPRESSION to transform file names" msgstr "利用 sed 將 EXPRESSION 替代為變換檔案名稱" -#: src/tar.c:714 +#: src/tar.c:760 msgid "File name matching options (affect both exclude and include patterns):" -msgstr "檔案名稱吻合選項 (同時影響排除和包含式樣同者):" +msgstr "檔案名稱吻合選項 (同時影響排除和包含胚騰同者):" -#: src/tar.c:717 +#: src/tar.c:763 msgid "ignore case" msgstr "忽略大小寫" -#: src/tar.c:719 +#: src/tar.c:765 msgid "patterns match file name start" -msgstr "吻合檔案名稱開頭的式樣" +msgstr "吻合檔案名稱開頭的胚騰" -#: src/tar.c:721 -msgid "patterns match after any `/' (default for exclusion)" -msgstr "式樣吻合任何「/」之後的式樣 (預設排除)" +#: src/tar.c:767 +#, fuzzy +msgid "patterns match after any '/' (default for exclusion)" +msgstr "胚騰吻合任何 / 之後的胚騰 (預設排除)" -#: src/tar.c:723 +#: src/tar.c:769 msgid "case sensitive matching (default)" msgstr "大小寫需相符的吻合 (預設)" -#: src/tar.c:725 +#: src/tar.c:771 msgid "use wildcards (default for exclusion)" msgstr "使用萬用字元 (預設排除)" -#: src/tar.c:727 +#: src/tar.c:773 msgid "verbatim string matching" msgstr "逐字進行吻合" -#: src/tar.c:729 -msgid "wildcards do not match `/'" -msgstr "萬用字元不會吻合「/」" +#: src/tar.c:775 +#, fuzzy +msgid "wildcards do not match '/'" +msgstr "萬用字元不會吻合 /" -#: src/tar.c:731 -msgid "wildcards match `/' (default for exclusion)" -msgstr "萬用字元會吻合「/」(預設排除)" +#: src/tar.c:777 +#, fuzzy +msgid "wildcards match '/' (default for exclusion)" +msgstr "萬用字元會吻合 / (預設排除)" -#: src/tar.c:736 +#: src/tar.c:782 msgid "Informative output:" msgstr "富含資訊的輸出:" -#: src/tar.c:739 +#: src/tar.c:785 msgid "verbosely list files processed" msgstr "詳細列出處理過的檔案" -#: src/tar.c:740 +#: src/tar.c:786 msgid "KEYWORD" -msgstr "" +msgstr "關鍵字" -#: src/tar.c:741 -#, fuzzy +#: src/tar.c:787 msgid "warning control" -msgstr "覆寫控制:" +msgstr "警告控制" -#: src/tar.c:743 +#: src/tar.c:789 msgid "display progress messages every NUMBERth record (default 10)" msgstr "每幾項記錄顯示一次進度訊息 (預設 10)" -#: src/tar.c:745 +#: src/tar.c:791 msgid "ACTION" msgstr "動作" -#: src/tar.c:746 +#: src/tar.c:792 msgid "execute ACTION on each checkpoint" msgstr "於每個查核點執行 ACTION" -#: src/tar.c:749 +#: src/tar.c:795 msgid "print a message if not all links are dumped" msgstr "如果並非所有連結都被傾印則印出訊息" -#: src/tar.c:750 +#: src/tar.c:796 msgid "SIGNAL" msgstr "信號" -#: src/tar.c:751 +#: src/tar.c:797 msgid "" "print total bytes after processing the archive; with an argument - print " "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, " "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also " "accepted" msgstr "" -"處理保存檔之後列印位元組總計;當此信號被投遞時,利用引數 - 列印位元組總計;允" -"許的信號是:SIGHUP、SIGQUIT、SIGINT、SIGUSR1 和 SIGUSR2;不具 SIG 前綴的名稱" -"也是可接受的" +"處理封存之後列印位元組總計;當此信號被投遞時,利用引數 - 列印位元組總計;允許" +"的信號是:SIGHUP、SIGQUIT、SIGINT、SIGUSR1 和 SIGUSR2;不具 SIG 前綴的名稱也" +"是可接受的" -#: src/tar.c:756 -#, fuzzy +#: src/tar.c:802 msgid "print file modification times in UTC" -msgstr "以 UTC 格式印出檔案修改日期" +msgstr "以 UTC 印出檔案修改時間" -#: src/tar.c:758 +#: src/tar.c:804 msgid "print file time to its full resolution" -msgstr "" +msgstr "以完整精度印出檔案時間" -#: src/tar.c:760 +#: src/tar.c:806 msgid "send verbose output to FILE" msgstr "將詳細輸出送至 FILE" -#: src/tar.c:762 +#: src/tar.c:808 msgid "show block number within archive with each message" -msgstr "每則訊息附帶顯示在保存檔中的區塊號碼" +msgstr "每則訊息附帶顯示在封存中的區塊號碼" -#: src/tar.c:764 +#: src/tar.c:810 msgid "ask for confirmation for every action" msgstr "任何動作都要求確認" -#: src/tar.c:767 +#: src/tar.c:813 msgid "show tar defaults" msgstr "顯示 tar 預設值" -#: src/tar.c:769 +#: src/tar.c:815 +msgid "show valid ranges for snapshot-file fields" +msgstr "" + +#: src/tar.c:817 msgid "" "when listing or extracting, list each directory that does not match search " "criteria" msgstr "當表列或解開時,列出每一個不符合搜尋條件的目錄" -#: src/tar.c:771 +#: src/tar.c:819 msgid "show file or archive names after transformation" -msgstr "顯示變換之後的檔案或保存檔名稱" +msgstr "顯示變換之後的檔案或封存名稱" -#: src/tar.c:774 +#: src/tar.c:822 msgid "STYLE" msgstr "樣式" -#: src/tar.c:775 +#: src/tar.c:823 msgid "set name quoting style; see below for valid STYLE values" msgstr "設定名稱引號樣式;參看下列的有效樣式值" -#: src/tar.c:777 +#: src/tar.c:825 msgid "additionally quote characters from STRING" msgstr "來自 STRING 的額外引號字元" -#: src/tar.c:779 +#: src/tar.c:827 msgid "disable quoting for characters from STRING" msgstr "停用來自字串的引號字元" -#: src/tar.c:784 +#: src/tar.c:832 msgid "Compatibility options:" msgstr "相容選項:" -#: src/tar.c:787 +#: src/tar.c:835 msgid "" "when creating, same as --old-archive; when extracting, same as --no-same-" "owner" msgstr "當建立時,等同於 --old-archive。當解開時,等同於 --no-same-owner" -#: src/tar.c:792 +#: src/tar.c:840 msgid "Other options:" msgstr "其他選項:" -#: src/tar.c:795 +#: src/tar.c:843 msgid "disable use of some potentially harmful options" msgstr "停用某些潛在有害的選項" -#: src/tar.c:930 +#: src/tar.c:978 #, fuzzy -msgid "You may not specify more than one `-Acdtrux' or `--test-label' option" -msgstr "不可指定「-Acdtrux」當中多於一個的選項" +msgid "" +"You may not specify more than one '-Acdtrux', '--delete' or '--test-label' " +"option" +msgstr "您不可以指定超過一個 -Acdtrux 或 --test-label 選項" -#: src/tar.c:940 +#: src/tar.c:988 msgid "Conflicting compression options" msgstr "互相抵觸的壓縮選項" -#: src/tar.c:996 +#: src/tar.c:1047 #, c-format msgid "Unknown signal name: %s" msgstr "不明的信號名稱:%s" -#: src/tar.c:1020 +#: src/tar.c:1071 msgid "Date sample file not found" msgstr "找不到日期範例檔案" -#: src/tar.c:1028 +#: src/tar.c:1079 #, c-format msgid "Substituting %s for unknown date format %s" msgstr "以 %s 代替不明的日期格式 %s" -#: src/tar.c:1057 -#, c-format -msgid "Option %s: Treating date `%s' as %s" -msgstr "選項 %1$s: 以 %3$s 格式來處理日期「%2$s」" - -#: src/tar.c:1135 -#, c-format -msgid "%s: file list already read" -msgstr "%s:已經讀取檔案清單" +#: src/tar.c:1108 +#, fuzzy, c-format +msgid "Option %s: Treating date '%s' as %s" +msgstr "選項 %1$s: 以 %3$s 格式來處理日期 %2$s" -#: src/tar.c:1201 +#: src/tar.c:1151 src/tar.c:1155 src/tar.c:1159 src/tar.c:1163 src/tar.c:1167 +#: src/tar.c:1171 #, c-format -msgid "%s: file name read contains nul character" -msgstr "%s:所讀檔案名稱含有空值字元" - -#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284 -#: src/tar.c:1288 -#, fuzzy, c-format msgid "filter the archive through %s" -msgstr "保存檔以 xz 過濾處理" +msgstr "將封存透過 %s 篩選" -#: src/tar.c:1296 -#, fuzzy +#: src/tar.c:1179 msgid "Valid arguments for the --quoting-style option are:" -msgstr "用於 --quoting-style 選項的有效引數為:" +msgstr "用於 --quoting-style 的有效引數選項是:" -#: src/tar.c:1300 +#: src/tar.c:1183 msgid "" "\n" "*This* tar defaults to:\n" @@ -2161,53 +2243,48 @@ msgstr "" "\n" "*這個* tar 預設為:\n" -#: src/tar.c:1402 +#: src/tar.c:1295 +#, fuzzy +msgid "Invalid owner or group ID" +msgstr "無效的擁有者" + +#: src/tar.c:1339 msgid "Invalid blocking factor" msgstr "無效的分區因子" -#: src/tar.c:1515 +#: src/tar.c:1452 msgid "Invalid tape length" msgstr "無效的磁帶長度" -#: src/tar.c:1529 -#, fuzzy +#: src/tar.c:1466 msgid "Invalid incremental level value" -msgstr "不當的遞增檔案格式" +msgstr "無效的遞增等級值" -#: src/tar.c:1575 +#: src/tar.c:1512 msgid "More than one threshold date" msgstr "一個以上的限定日期" -#: src/tar.c:1630 src/tar.c:1633 +#: src/tar.c:1571 src/tar.c:1574 msgid "Invalid sparse version value" msgstr "無效的稀疏版本值" -#: src/tar.c:1718 +#: src/tar.c:1659 msgid "--atime-preserve='system' is not supported on this platform" -msgstr "--atime-preserve='system' 於這個平台未被支援" +msgstr "--atime-preserve='system' 於這個平臺未被支援" -#: src/tar.c:1743 +#: src/tar.c:1684 msgid "--checkpoint value is not an integer" msgstr "--checkpoint 值不是整數" -#: src/tar.c:1848 -#, fuzzy -msgid "Invalid group" -msgstr "%s:無效的群組" - -#: src/tar.c:1855 +#: src/tar.c:1801 msgid "Invalid mode given on option" msgstr "選項中的模式無效" -#: src/tar.c:1912 +#: src/tar.c:1858 msgid "Invalid number" msgstr "無效的號碼" -#: src/tar.c:1934 -msgid "Invalid owner" -msgstr "無效的擁有者" - -#: src/tar.c:1964 +#: src/tar.c:1915 msgid "" "The --preserve option is deprecated, use --preserve-permissions --preserve-" "order instead" @@ -2215,121 +2292,149 @@ msgstr "" "--preserve 選項不宜再用,請以 --preserve-permissions --preserve-order 做為替" "代" -#: src/tar.c:1975 +#: src/tar.c:1926 msgid "Invalid record size" msgstr "無效的記錄大小" -#: src/tar.c:1978 +#: src/tar.c:1929 #, c-format msgid "Record size must be a multiple of %d." msgstr "記錄大小必須是 %d 的倍數。" -#: src/tar.c:2019 +#: src/tar.c:1975 msgid "Invalid number of elements" msgstr "無效的元素號碼" -#: src/tar.c:2039 +#: src/tar.c:1995 msgid "Only one --to-command option allowed" msgstr "只允許一個 --to-command 選項" -#: src/tar.c:2119 +#: src/tar.c:2107 #, c-format msgid "Malformed density argument: %s" msgstr "異常的密度引數:%s" -#: src/tar.c:2145 -#, c-format -msgid "Unknown density: `%c'" -msgstr "不明的密度:「%c」" +#: src/tar.c:2133 +#, fuzzy, c-format +msgid "Unknown density: '%c'" +msgstr "不明的密度:%c" -#: src/tar.c:2162 -#, c-format -msgid "Options `-[0-7][lmh]' not supported by *this* tar" -msgstr "此版本的 tar 不支援「-[0-7][ lmh]」選項" +#: src/tar.c:2150 +#, fuzzy, c-format +msgid "Options '-[0-7][lmh]' not supported by *this* tar" +msgstr "此版本的 tar 不支援 -[0-7][lmh] 選項" -#: src/tar.c:2175 +#: src/tar.c:2163 msgid "[FILE]..." msgstr "[FILE]…" -#: src/tar.c:2293 -#, c-format -msgid "Old option `%c' requires an argument." -msgstr "舊的選項「%c」需要一個引數。" +#: src/tar.c:2306 +#, fuzzy, c-format +msgid "Old option '%c' requires an argument." +msgstr "舊的選項 %c 需要一個引數。" -#: src/tar.c:2374 +#: src/tar.c:2386 msgid "--occurrence is meaningless without a file list" msgstr "若無檔案列表,--occurrence 便不具意義" -#: src/tar.c:2380 -msgid "--occurrence cannot be used in the requested operation mode" +#: src/tar.c:2389 +#, fuzzy, c-format +msgid "--occurrence cannot be used with %s" msgstr "--occurrence 無法於要求的作業模式中使用" -#: src/tar.c:2398 -msgid "Multiple archive files require `-M' option" -msgstr "指定多個保存檔時需要「-M」選項" +#: src/tar.c:2408 +#, fuzzy +msgid "Multiple archive files require '-M' option" +msgstr "指定多個封存時需要 -M 選項" -#: src/tar.c:2403 +#: src/tar.c:2413 msgid "Cannot combine --listed-incremental with --newer" msgstr "無法同時使用 --listed-incremental 及 --newer" -#: src/tar.c:2406 -#, fuzzy +#: src/tar.c:2416 msgid "--level is meaningless without --listed-incremental" -msgstr "--preserve-order 與 --listed-incremental 不相容" +msgstr "--level 不與 --listed-incremental 共用是無意義的" -#: src/tar.c:2423 +#: src/tar.c:2433 #, c-format msgid "%s: Volume label is too long (limit is %lu byte)" msgid_plural "%s: Volume label is too long (limit is %lu bytes)" msgstr[0] "%s:卷冊標籤太長 (限制為 %lu 位元組)" -#: src/tar.c:2436 +#: src/tar.c:2446 msgid "Cannot verify multi-volume archives" -msgstr "無法驗證多重卷冊的保存檔" +msgstr "無法驗證多重卷冊的封存" -#: src/tar.c:2438 +#: src/tar.c:2448 msgid "Cannot verify compressed archives" -msgstr "無法驗證壓縮過的保存檔" +msgstr "無法驗證壓縮過的封存" + +#: src/tar.c:2450 +#, fuzzy, c-format +msgid "--verify cannot be used with %s" +msgstr "胚騰 %s 無法使用" -#: src/tar.c:2444 +#: src/tar.c:2457 msgid "Cannot use multi-volume compressed archives" -msgstr "無法使用多重卷冊的壓縮保存檔" +msgstr "無法使用多重卷冊的壓縮封存" -#: src/tar.c:2450 +#: src/tar.c:2461 msgid "Cannot concatenate compressed archives" msgstr "無法串接壓縮過的檔案" -#: src/tar.c:2462 +#: src/tar.c:2471 msgid "--pax-option can be used only on POSIX archives" -msgstr "--pax-option 只能用於 POSIX 保存檔" +msgstr "--pax-option 只能用於 POSIX 封存" + +#: src/tar.c:2478 +#, fuzzy +msgid "--acls can be used only on POSIX archives" +msgstr "--pax-option 只能用於 POSIX 封存" + +#: src/tar.c:2483 +#, fuzzy +msgid "--selinux can be used only on POSIX archives" +msgstr "--pax-option 只能用於 POSIX 封存" + +#: src/tar.c:2488 +#, fuzzy +msgid "--xattrs can be used only on POSIX archives" +msgstr "--pax-option 只能用於 POSIX 封存" + +#: src/tar.c:2493 +#, fuzzy, c-format +msgid "--%s option cannot be used with %s" +msgstr "胚騰 %s 無法使用" -#: src/tar.c:2492 +#: src/tar.c:2525 msgid "Volume length cannot be less than record size" msgstr "卷冊長度無法少於記錄大小" -#: src/tar.c:2495 +#: src/tar.c:2528 msgid "--preserve-order is not compatible with --listed-incremental" msgstr "--preserve-order 與 --listed-incremental 不相容" -#: src/tar.c:2506 +#: src/tar.c:2539 msgid "Cowardly refusing to create an empty archive" -msgstr "低調拒絕建立空白的保存檔" +msgstr "低調拒絕建立空白的封存" -#: src/tar.c:2532 -msgid "Options `-Aru' are incompatible with `-f -'" -msgstr "「-Aru」與「-f -」選項不相容" +#: src/tar.c:2565 +#, fuzzy +msgid "Options '-Aru' are incompatible with '-f -'" +msgstr " -Aru 與 -f - 選項不相容" -#: src/tar.c:2621 +#: src/tar.c:2660 #, fuzzy -msgid "You must specify one of the `-Acdtrux' or `--test-label' options" -msgstr "必須指定「-Acdtrux」選項的其中一個" +msgid "" +"You must specify one of the '-Acdtrux', '--delete' or '--test-label' options" +msgstr "您必須指定 -Acdtrux 或 --test-label 選項之一" -#: src/tar.c:2675 +#: src/tar.c:2715 #, c-format msgid "Exiting with failure status due to previous errors" msgstr "由於先前錯誤而以失敗狀態離開" -#: src/update.c:86 +#: src/update.c:87 #, c-format msgid "%s: File shrank by %s byte" msgid_plural "%s: File shrank by %s bytes" @@ -2340,115 +2445,110 @@ msgstr[0] "%s:檔案縮減了 %s 位元組" msgid "Keyword %s is unknown or not yet implemented" msgstr "關鍵字 %s 為未知或尚未實作" -#: src/xheader.c:174 -#, fuzzy +#: src/xheader.c:173 msgid "Time stamp is out of allowed range" -msgstr "號碼超出允許的範圍:%s" +msgstr "時間戳記超出了允許範圍" -#: src/xheader.c:205 +#: src/xheader.c:204 #, c-format msgid "Pattern %s cannot be used" -msgstr "式樣 %s 無法使用" +msgstr "胚騰 %s 無法使用" -#: src/xheader.c:219 +#: src/xheader.c:218 #, c-format msgid "Keyword %s cannot be overridden" msgstr "關鍵字 %s 無法被蓋過" -#: src/xheader.c:542 +#: src/xheader.c:667 msgid "Malformed extended header: missing length" msgstr "異常的擴充標頭:長度缺少" -#: src/xheader.c:550 -msgid "Extended header length is out of allowed range" -msgstr "擴充標頭長度超出允許範圍" - -#: src/xheader.c:557 +#: src/xheader.c:676 #, c-format msgid "Extended header length %*s is out of range" msgstr "擴充標頭長度 %*s 超出範圍" -#: src/xheader.c:569 +#: src/xheader.c:688 msgid "Malformed extended header: missing blank after length" msgstr "異常的擴充標頭:在長度之後缺少空白" -#: src/xheader.c:577 +#: src/xheader.c:696 msgid "Malformed extended header: missing equal sign" msgstr "異常的擴充標頭:缺少等號" -#: src/xheader.c:583 +#: src/xheader.c:702 msgid "Malformed extended header: missing newline" msgstr "異常的擴充標頭:缺少新列" -#: src/xheader.c:621 -#, c-format -msgid "Ignoring unknown extended header keyword `%s'" -msgstr "忽略不明擴充標頭關鍵字「%s」" +#: src/xheader.c:740 +#, fuzzy, c-format +msgid "Ignoring unknown extended header keyword '%s'" +msgstr "忽略不明擴充標頭關鍵字 %s" -#: src/xheader.c:831 +#: src/xheader.c:1012 #, c-format msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)" msgstr "產生的關鍵字/值對太長 (關鍵字=%s,長度=%s)" #. TRANSLATORS: The first %s is the pax extended header keyword #. (atime, gid, etc.). -#: src/xheader.c:863 +#: src/xheader.c:1042 #, c-format msgid "Extended header %s=%s is out of range %s..%s" msgstr "擴充標頭 %s=%s 超出範圍 %s..%s" -#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338 +#: src/xheader.c:1093 src/xheader.c:1126 src/xheader.c:1455 #, c-format msgid "Malformed extended header: invalid %s=%s" msgstr "異常的擴充標頭:無效的 %s=%s" -#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366 +#: src/xheader.c:1408 src/xheader.c:1433 src/xheader.c:1488 #, c-format msgid "Malformed extended header: excess %s=%s" msgstr "異常的擴充標頭:過剩的 %s=%s" -#: src/xheader.c:1379 +#: src/xheader.c:1501 #, c-format msgid "Malformed extended header: invalid %s: unexpected delimiter %c" msgstr "異常的擴充標頭:無效的 %s:未預期的分隔符號 %c" -#: src/xheader.c:1389 +#: src/xheader.c:1511 #, c-format msgid "Malformed extended header: invalid %s: odd number of values" msgstr "異常的擴充標頭:無效的 %s:奇怪的數值數量" -#: src/checkpoint.c:107 +#: src/checkpoint.c:109 #, c-format msgid "%s: not a valid timeout" msgstr "%s:不是有效的時間限制" -#: src/checkpoint.c:112 +#: src/checkpoint.c:114 #, c-format msgid "%s: unknown checkpoint action" msgstr "%s:不明查核點動作" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "write" msgstr "寫入" -#: src/checkpoint.c:132 +#: src/checkpoint.c:134 msgid "read" msgstr "讀取" -#. TRANSLATORS: This is a ``checkpoint of write operation'', -#. *not* ``Writing a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'', -#. *not* ``Escribiendo un punto de comprobaci@'on'' -#: src/checkpoint.c:222 +#. TRANSLATORS: This is a "checkpoint of write operation", +#. *not* "Writing a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de escritura", +#. *not* "Escribiendo un punto de comprobaci@'on" +#: src/checkpoint.c:224 #, c-format msgid "Write checkpoint %u" msgstr "寫入的查核點 %u" -#. TRANSLATORS: This is a ``checkpoint of read operation'', -#. *not* ``Reading a checkpoint''. -#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'', -#. *not* ``Leyendo un punto de comprobaci@'on'' -#: src/checkpoint.c:228 +#. TRANSLATORS: This is a "checkpoint of read operation", +#. *not* "Reading a checkpoint". +#. E.g. in Spanish "Punto de comprobaci@'on de lectura", +#. *not* "Leyendo un punto de comprobaci@'on" +#: src/checkpoint.c:230 #, c-format msgid "Read checkpoint %u" msgstr "讀取的查核點 %u" @@ -2487,7 +2587,7 @@ msgstr "-T 讀取零值終結的名稱" #: tests/genfile.c:137 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'" -msgstr "以給定 PATTERN 填充檔案。PATTERN 是「default」或「zeros」" +msgstr "以給定 PATTERN 填充檔案。PATTERN 是 default 或 zeros" #: tests/genfile.c:140 msgid "Size of a block for sparse file" @@ -2495,7 +2595,7 @@ msgstr "用於稀疏檔案的區塊大小" #: tests/genfile.c:142 msgid "Generate sparse file. Rest of the command line gives the file map." -msgstr "產生稀疏檔案。命令列的其餘部份給出檔案對映。" +msgstr "產生稀疏檔案。命令列的其餘部分給出檔案對映。" #: tests/genfile.c:144 msgid "OFFSET" @@ -2518,18 +2618,16 @@ msgid "Synchronous execution options:" msgstr "同步的執行選項:" #: tests/genfile.c:163 -#, fuzzy msgid "OPTION" -msgstr " [選項…]" +msgstr "選項" #: tests/genfile.c:164 -#, fuzzy msgid "" "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, " "--unlink" msgstr "" -"執行給定的 COMMAND。同時與 --checkpoint 和 --cut, --append, --touch 之一使用" -"會有作用" +"執行引數。適合與 --checkpoint 以及 --cut, --append, --touch, --unlink 之一共" +"用" #: tests/genfile.c:167 msgid "Perform given action (see below) upon reaching checkpoint NUMBER" @@ -2571,7 +2669,7 @@ msgstr "執行 COMMAND" #: tests/genfile.c:194 msgid "Unlink FILE" -msgstr "" +msgstr "取消連結檔案" #: tests/genfile.c:244 #, c-format @@ -2588,7 +2686,7 @@ msgstr "號碼超出允許的範圍:%s" msgid "Negative size: %s" msgstr "負值大小:%s" -#: tests/genfile.c:265 tests/genfile.c:567 +#: tests/genfile.c:265 tests/genfile.c:569 #, c-format msgid "stat(%s) failed" msgstr "狀態(%s) 失敗" @@ -2606,7 +2704,7 @@ msgstr "建立的不是稀疏檔案" #: tests/genfile.c:361 #, c-format msgid "Error parsing number near `%s'" -msgstr "剖析數字接近「%s」時發生錯誤" +msgstr "剖析數字接近 %s 時發生錯誤" #: tests/genfile.c:367 #, c-format @@ -2617,11 +2715,11 @@ msgstr "不明的日期格式" msgid "[ARGS...]" msgstr "[引數…]" -#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521 -#: tests/genfile.c:671 tests/genfile.c:685 +#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:523 +#: tests/genfile.c:673 tests/genfile.c:687 #, c-format msgid "cannot open `%s'" -msgstr "無法開啟「%s」" +msgstr "無法開啟 %s" #: tests/genfile.c:434 msgid "cannot seek" @@ -2632,142 +2730,93 @@ msgstr "無法尋指" msgid "file name contains null character" msgstr "檔案名稱含有空字元" -#: tests/genfile.c:516 +#: tests/genfile.c:518 #, c-format msgid "cannot generate sparse files on standard output, use --file option" msgstr "無法於標準輸出產生稀疏檔案,使用 --file 選項" -#: tests/genfile.c:594 +#: tests/genfile.c:596 #, c-format msgid "incorrect mask (near `%s')" -msgstr "不正確遮罩 (接近「%s」)" +msgstr "不正確遮罩 (接近 %s)" -#: tests/genfile.c:600 tests/genfile.c:633 +#: tests/genfile.c:602 tests/genfile.c:635 #, c-format msgid "Unknown field `%s'" -msgstr "不明的欄位「%s」" +msgstr "不明的欄位 %s" -#: tests/genfile.c:660 +#: tests/genfile.c:662 #, c-format msgid "cannot set time on `%s'" -msgstr "無法設定時間為「%s」" +msgstr "無法設定時間為 %s" + +#: tests/genfile.c:692 +#, fuzzy, c-format +msgid "cannot truncate `%s'" +msgstr "無法取消連結 %s" -#: tests/genfile.c:699 +#: tests/genfile.c:701 #, fuzzy, c-format +msgid "command failed: %s" +msgstr "%s 命令失敗" + +#: tests/genfile.c:706 +#, c-format msgid "cannot unlink `%s'" -msgstr "無法開啟「%s」" +msgstr "無法取消連結 %s" -#: tests/genfile.c:825 +#: tests/genfile.c:833 #, c-format msgid "Command exited successfully\n" msgstr "成功離開命令\n" -#: tests/genfile.c:827 +#: tests/genfile.c:835 #, c-format msgid "Command failed with status %d\n" msgstr "命令以狀態 %d 失敗\n" -#: tests/genfile.c:831 +#: tests/genfile.c:839 #, c-format msgid "Command terminated on signal %d\n" msgstr "命令於信號 %d 終止\n" -#: tests/genfile.c:833 +#: tests/genfile.c:841 #, c-format msgid "Command stopped on signal %d\n" msgstr "命令於信號 %d 停止\n" -#: tests/genfile.c:836 +#: tests/genfile.c:844 #, c-format msgid "Command dumped core\n" msgstr "命令傾印核心\n" -#: tests/genfile.c:839 +#: tests/genfile.c:847 #, c-format msgid "Command terminated\n" msgstr "命令終止\n" -#: tests/genfile.c:871 +#: tests/genfile.c:879 #, c-format msgid "--stat requires file names" msgstr "--stat 需要檔案名稱" -#, fuzzy -#~ msgid "%s: Directory removed before we read it" -#~ msgstr "%s:讀取檔案之前已被移除" - -#, fuzzy -#~ msgid "Cannot restore working directory" -#~ msgstr "無法儲存工作目錄" - -#, fuzzy -#~ msgid "Cannot resolve hostname %s" -#~ msgstr "無法將 %s 重新命名為 %s" - -#~ msgid "suppress this warning." -#~ msgstr "抑制這個警告。" - -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s:不合法的選項 -- %c\n" - -#~ msgid "Reading %s\n" -#~ msgstr "正在讀取 %s\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to <%s>.\n" -#~ msgstr "" -#~ "\n" -#~ "將錯誤回報給 <%s>。\n" - -#~ msgid "filter the archive through bzip2" -#~ msgstr "保存檔以 bzip2 過濾處理" - -#~ msgid "filter the archive through gzip" -#~ msgstr "保存檔以 gzip 過濾處理" - -#~ msgid "filter the archive through compress" -#~ msgstr "保存檔以 compress 過濾處理" - -#~ msgid "filter the archive through lzma" -#~ msgstr "保存檔以 lzma 過濾處理" - -#~ msgid "filter the archive through lzop" -#~ msgstr "保存檔以 lzop 過濾處理" - -#~ msgid "Input string too long" -#~ msgstr "輸入字串太長" - -#~ msgid "Number syntax error" -#~ msgstr "數字語法錯誤" - -#~ msgid "rmtd: Cannot allocate buffer space\n" -#~ msgstr "rmtd:無法配置緩衝區空間\n" +#~ msgid "Cannot get working directory" +#~ msgstr "無法提取工作目錄" -#~ msgid "Cannot allocate buffer space" -#~ msgstr "無法配置緩衝區空間" +#~ msgid "sort names to extract to match archive" +#~ msgstr "解開時依名稱排序以符合封存" -#~ msgid "Try `%s --help' for more information.\n" -#~ msgstr "請嘗試「%s --help」以獲得更多資訊。\n" +#~ msgid "Field too long while reading snapshot file" +#~ msgstr "讀取快照檔時欄位太長" -#~ msgid "" -#~ "Usage: %s [OPTION]\n" -#~ "Manipulate a tape drive, accepting commands from a remote process.\n" -#~ "\n" -#~ " --version Output version info.\n" -#~ " --help Output this help.\n" -#~ msgstr "" -#~ "用法: %s [選項]\n" -#~ "操控磁帶機,接收來自遠端行程的命令。\n" -#~ "\n" -#~ " --version 輸出版本資訊。\n" -#~ " --help 輸出本輔助說明。\n" +#~ msgid "Read error in snapshot file" +#~ msgstr "讀取快照檔時發生錯誤" -#~ msgid "Seek offset error" -#~ msgstr "尋覓偏移值錯誤" +#~ msgid "Unexpected field value in snapshot file" +#~ msgstr "未預期的快照檔欄位值" -#~ msgid "Premature end of file" -#~ msgstr "檔案突然結束" +#~ msgid "Invalid group" +#~ msgstr "無效的群組" -#~ msgid "Error is not recoverable: exiting now" -#~ msgstr "發生無法復原的錯誤:立刻離開" +#~ msgid "Extended header length is out of allowed range" +#~ msgstr "擴充標頭長度超出允許範圍" diff --git a/rmt/Makefile.am b/rmt/Makefile.am index 37f621a1..e1db6858 100644 --- a/rmt/Makefile.am +++ b/rmt/Makefile.am @@ -4,7 +4,7 @@ EXTRA_PROGRAMS = rmt rmt_SOURCES = rmt.c -INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib +AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib LDADD = ../gnu/libgnu.a $(LIBINTL) diff --git a/rmt/Makefile.in b/rmt/Makefile.in index 0a78e945..8bd42abe 100644 --- a/rmt/Makefile.in +++ b/rmt/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,6 +15,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -35,31 +51,36 @@ build_triplet = @build@ host_triplet = @host@ EXTRA_PROGRAMS = rmt$(EXEEXT) subdir = rmt -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -67,50 +88,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -118,22 +149,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -155,28 +187,41 @@ rmt_OBJECTS = $(am_rmt_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = ../gnu/libgnu.a $(am__DEPENDENCIES_1) rmt_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(rmt_SOURCES) DIST_SOURCES = $(rmt_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -187,6 +232,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -238,12 +285,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -252,17 +303,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -270,6 +331,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -284,15 +347,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -333,25 +400,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -359,14 +436,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -393,12 +479,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -410,10 +497,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -458,9 +548,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -479,6 +571,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -494,17 +587,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -520,6 +619,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -552,28 +652,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -581,6 +699,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -588,6 +707,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -600,6 +720,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -639,12 +760,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -667,7 +790,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -689,6 +814,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -699,6 +827,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -710,6 +839,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -720,6 +852,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -730,6 +863,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -751,9 +885,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -766,6 +902,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -775,11 +912,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -809,8 +949,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -819,13 +965,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -835,10 +984,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -859,10 +1012,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -876,9 +1032,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -944,7 +1105,7 @@ top_srcdir = @top_srcdir@ rmtdir = $(DEFAULT_RMT_DIR) rmt_PROGRAMS = @PU_RMT_PROG@ rmt_SOURCES = rmt.c -INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib +AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib LDADD = ../gnu/libgnu.a $(LIBINTL) rmt_LDADD = $(LDADD) $(LIB_SETSOCKOPT) all: all-am @@ -983,8 +1144,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-rmtPROGRAMS: $(rmt_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(rmtdir)" || $(MKDIR_P) "$(DESTDIR)$(rmtdir)" @list='$(rmt_PROGRAMS)'; test -n "$(rmtdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(rmtdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(rmtdir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ @@ -1034,7 +1198,7 @@ installcheck-rmtPROGRAMS: $(rmt_PROGRAMS) else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \ done; \ done; rm -f c$${pid}_.???; exit $$bad -rmt$(EXEEXT): $(rmt_OBJECTS) $(rmt_DEPENDENCIES) +rmt$(EXEEXT): $(rmt_OBJECTS) $(rmt_DEPENDENCIES) $(EXTRA_rmt_DEPENDENCIES) @rm -f rmt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(rmt_OBJECTS) $(rmt_LDADD) $(LIBS) @@ -1049,18 +1213,16 @@ distclean-compile: .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1111,6 +1273,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1161,10 +1337,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1248,7 +1429,7 @@ uninstall-am: uninstall-rmtPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-rmtPROGRAMS ctags distclean distclean-compile \ + clean-rmtPROGRAMS cscopelist ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 7576c173..bff8dbe8 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,19 +1,21 @@ -# Copyright (C) 2004, 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 3, or (at your option) -## any later version. - -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -## 02110-1301, USA. +# Make GNU tar scripts. + +# Copyright 2004, 2006, 2007, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . BACKUP_LIBEXEC_SCRIPTS_LIST=backup.sh dump-remind BACKUP_SBIN_SCRIPTS_LIST=backup restore diff --git a/scripts/Makefile.in b/scripts/Makefile.in index f40ec213..86fa7845 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,9 +14,43 @@ @SET_MAKE@ -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Make GNU tar scripts. + +# Copyright 2004, 2006, 2007, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -39,28 +72,32 @@ subdir = scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -68,50 +105,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -119,22 +166,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -170,16 +218,33 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(sbindir)" SCRIPTS = $(libexec_SCRIPTS) $(sbin_SCRIPTS) -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ @@ -188,6 +253,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -239,12 +306,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -253,17 +324,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -271,6 +352,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -285,15 +368,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -334,25 +421,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -360,14 +457,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -394,12 +500,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -411,10 +518,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -459,9 +569,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -480,6 +592,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -495,17 +608,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -521,6 +640,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -553,28 +673,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -582,6 +720,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -589,6 +728,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -601,6 +741,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -640,12 +781,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -668,7 +811,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -690,6 +835,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -700,6 +848,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -711,6 +860,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -721,6 +873,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -731,6 +884,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -752,9 +906,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -767,6 +923,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -776,11 +933,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -810,8 +970,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -820,13 +986,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -836,10 +1005,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -860,10 +1033,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -877,9 +1053,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -998,8 +1179,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-libexecSCRIPTS: $(libexec_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)" @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ @@ -1027,9 +1211,7 @@ uninstall-libexecSCRIPTS: @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(libexecdir)" && rm -f $$files + dir='$(DESTDIR)$(libexecdir)'; $(am__uninstall_files_from_dir) installcheck-libexecSCRIPTS: $(libexec_SCRIPTS) bad=0; pid=$$$$; list="$(libexec_SCRIPTS)"; for p in $$list; do \ @@ -1047,8 +1229,11 @@ installcheck-libexecSCRIPTS: $(libexec_SCRIPTS) done; rm -f c$${pid}_.???; exit $$bad install-sbinSCRIPTS: $(sbin_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ @@ -1076,9 +1261,7 @@ uninstall-sbinSCRIPTS: @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(sbindir)" && rm -f $$files + dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir) installcheck-sbinSCRIPTS: $(sbin_SCRIPTS) bad=0; pid=$$$$; list="$(sbin_SCRIPTS)"; for p in $$list; do \ @@ -1100,6 +1283,8 @@ TAGS: ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -1148,10 +1333,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: diff --git a/scripts/backup-specs b/scripts/backup-specs index ae8df8a0..fb252aa9 100644 --- a/scripts/backup-specs +++ b/scripts/backup-specs @@ -82,19 +82,19 @@ SLEEP_MESSAGE="`awk ' }' /dev/null`" -# Copyright (C) 2004, 2007 Free Software Foundation, Inc. - -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3, or (at your option) -## any later version. - -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -## 02110-1301, USA. +# Copyright 2004, 2007, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . diff --git a/scripts/backup.in b/scripts/backup.in index 37bfed36..087ab2c1 100644 --- a/scripts/backup.in +++ b/scripts/backup.in @@ -1,21 +1,22 @@ #! /bin/sh -# This program is part of GNU tar -# Copyright (C) 2004, 2005, 2006 Free Software Foundation -# -# This program is free software; you can redistribute it and/or modify +# Make backups. + +# Copyright 2004-2006, 2013 Free Software Foundation + +# This file is part of GNU tar. + +# GNU tar 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 1, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar 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. +# along with this program. If not, see . # Load library routines SYSCONFDIR=${SYSCONFDIR-@sysconfdir@} @@ -149,7 +150,7 @@ message 20 "BACKUP_DIRS=$BACKUP_DIRS" message 20 "BACKUP_FILES=$BACKUP_FILES" # The buch of commands below is run in a subshell for which all output is -# piped through `tee' to the logfile. Doing this, instead of having +# piped through 'tee' to the logfile. Doing this, instead of having # multiple pipelines all over the place, is cleaner and allows access to # the exit value from various commands more easily. ( @@ -187,7 +188,7 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" "--label='`print_level` backup of ${fs} on ${remotehost} at ${NOW}'" \ -C ${fs} . - # `rsh' doesn't exit with the exit status of the remote command. What + # 'rsh' doesn't exit with the exit status of the remote command. What # stupid lossage. TODO: think of a reliable workaround. if [ $? -ne 0 ] ; then echo "Backup of ${1} failed." 1>&2 diff --git a/scripts/backup.sh.in b/scripts/backup.sh.in index adcdfe2d..e0d1c681 100644 --- a/scripts/backup.sh.in +++ b/scripts/backup.sh.in @@ -1,21 +1,22 @@ #! /bin/sh -# This program is part of GNU tar -# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify +# Make backups. + +# Copyright 2004-2006, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar 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 1, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar 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. +# along with this program. If not, see . PROGNAME=`basename $0` CONFIGPATH="$SYSCONFDIR/backup" @@ -48,7 +49,7 @@ MT_REWIND=mt_rewind MT_OFFLINE=mt_offline MT_STATUS=mt_status -# Insure `mail' is in PATH. +# Insure 'mail' is in PATH. PATH="/usr/ucb:${PATH}" export PATH # Put startdate in the subject line of mailed report, since if it happens @@ -211,8 +212,8 @@ init_backup() { TAR_PART1="${TAR_PART1} --info-script='${DUMP_REMIND_SCRIPT}'" fi # Set logfile name - # Logfile name should be in the form ``log-1993-03-18-level-0'' - # They go in the directory `@sysconfdir@/log'. + # Logfile name should be in the form 'log-1993-03-18-level-0' + # They go in the directory '@sysconfdir@/log'. # i.e. year-month-date. This format is useful for sorting by name, since # logfiles are intentionally kept online for future reference. LOGFILE="${LOGPATH}/log-`now`-level-${DUMP_LEVEL}" @@ -305,7 +306,7 @@ backup_host() { if [ "z${localhost}" != "z$rhost" ] ; then $RSH "$rhost" ${TAR_PART1} -f "${localhost}:${TAPE_FILE}" $@ else - # Using `sh -c exec' causes nested quoting and shell substitution + # Using 'sh -c exec' causes nested quoting and shell substitution # to be handled here in the same way rsh handles it. CMD="exec ${TAR_PART1} -f \"${TAPE_FILE}\" $@" message 10 "CMD: $CMD" @@ -339,9 +340,9 @@ remote_run() { license() { cat - <. +Copyright (C) 2013 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . +This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF } diff --git a/scripts/dump-remind.in b/scripts/dump-remind.in index a3f013fe..415026e8 100644 --- a/scripts/dump-remind.in +++ b/scripts/dump-remind.in @@ -7,9 +7,25 @@ # This script should be run by tar with --info-script (-F) to inform # interested parties that a tape for the next volume of the backup needs to # be put in the tape drive. -# -# Include location of `sendmail' and GNU finger. +# Copyright 2004-2005, 2010, 2012-2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Include location of 'sendmail' and GNU finger. PATH="/usr/lib:/usr/local/gnubin:${PATH}" export PATH @@ -25,8 +41,8 @@ MT_OFFLINE # which users are logged into consoles (and thus in the office and capable # of changing tapes). # -# Certain users (like `root') aren't real users, and shouldn't be notified. -# Neither should `zippy', `elvis', etc. (on the GNU machines) since they're +# Certain users (like 'root') aren't real users, and shouldn't be notified. +# Neither should 'zippy', 'elvis', etc. (on the GNU machines) since they're # just test accounts. recipients="` finger .clients 2> /dev/null \ diff --git a/scripts/restore.in b/scripts/restore.in index 2f86bacf..5014ead7 100644 --- a/scripts/restore.in +++ b/scripts/restore.in @@ -1,21 +1,22 @@ #! /bin/sh -# This program is part of GNU tar -# Copyright (C) 2004, 2006 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify +# Restore backups. + +# Copyright 2004, 2006, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar 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 1, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar 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. +# along with this program. If not, see . # Load library routines SYSCONFDIR=${SYSCONFDIR-@sysconfdir@} diff --git a/src/Makefile.am b/src/Makefile.am index de310f43..07c117d3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,26 +1,26 @@ # Makefile for GNU tar sources. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006, -# 2007, 2009 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013 Free +# Software Foundation, Inc. -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3, or (at your option) -## any later version. +# This file is part of GNU tar. -## 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. +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -## 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. +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . bin_PROGRAMS = tar -noinst_HEADERS = arith.h common.h tar.h +noinst_HEADERS = arith.h common.h tar.h xattrs.h tar_SOURCES = \ buffer.c\ checkpoint.c\ @@ -42,10 +42,12 @@ tar_SOURCES = \ unlink.c\ update.c\ utf8.c\ - warning.c + warning.c\ + xattrs.c -INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib +AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib +AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV) -tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) +tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX) diff --git a/src/Makefile.in b/src/Makefile.in index 1e6fbd21..eb3d8fbd 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -17,11 +16,43 @@ # Makefile for GNU tar sources. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006, -# 2007, 2009 Free Software Foundation, Inc. +# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013 Free +# Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -42,31 +73,35 @@ host_triplet = @host@ bin_PROGRAMS = tar$(EXEEXT) subdir = src DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in + $(srcdir)/Makefile.in $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -74,50 +109,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -125,22 +170,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -164,34 +210,48 @@ am_tar_OBJECTS = buffer.$(OBJEXT) checkpoint.$(OBJEXT) \ names.$(OBJEXT) sparse.$(OBJEXT) suffix.$(OBJEXT) \ system.$(OBJEXT) tar.$(OBJEXT) transform.$(OBJEXT) \ unlink.$(OBJEXT) update.$(OBJEXT) utf8.$(OBJEXT) \ - warning.$(OBJEXT) + warning.$(OBJEXT) xattrs.$(OBJEXT) tar_OBJECTS = $(am_tar_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = ../lib/libtar.a ../gnu/libgnu.a \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -tar_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +tar_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(tar_SOURCES) DIST_SOURCES = $(tar_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags @@ -203,6 +263,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -254,12 +316,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -268,17 +334,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -286,6 +362,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -300,15 +378,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -349,25 +431,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -375,14 +467,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -409,12 +510,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -426,10 +528,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -474,9 +579,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -495,6 +602,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -510,17 +618,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -536,6 +650,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -568,28 +683,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -597,6 +730,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -604,6 +738,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -616,6 +751,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -655,12 +791,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -683,7 +821,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -705,6 +845,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -715,6 +858,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -726,6 +870,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -736,6 +883,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -746,6 +894,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -767,9 +916,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -782,6 +933,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -791,11 +943,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -825,8 +980,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -835,13 +996,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -851,10 +1015,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -875,10 +1043,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -892,9 +1063,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -957,7 +1133,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -noinst_HEADERS = arith.h common.h tar.h +noinst_HEADERS = arith.h common.h tar.h xattrs.h tar_SOURCES = \ buffer.c\ checkpoint.c\ @@ -979,11 +1155,13 @@ tar_SOURCES = \ unlink.c\ update.c\ utf8.c\ - warning.c + warning.c\ + xattrs.c -INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib +AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib +AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV) -tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) +tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX) all: all-am .SUFFIXES: @@ -1020,8 +1198,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ @@ -1071,7 +1252,7 @@ installcheck-binPROGRAMS: $(bin_PROGRAMS) else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \ done; \ done; rm -f c$${pid}_.???; exit $$bad -tar$(EXEEXT): $(tar_OBJECTS) $(tar_DEPENDENCIES) +tar$(EXEEXT): $(tar_OBJECTS) $(tar_DEPENDENCIES) $(EXTRA_tar_DEPENDENCIES) @rm -f tar$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tar_OBJECTS) $(tar_LDADD) $(LIBS) @@ -1101,23 +1282,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/update.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/warning.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattrs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xheader.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1168,6 +1348,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1218,10 +1412,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1305,7 +1504,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic ctags distclean distclean-compile \ + clean-generic cscopelist ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ diff --git a/src/arith.h b/src/arith.h index a2abfe82..1bc1547f 100644 --- a/src/arith.h +++ b/src/arith.h @@ -1,19 +1,20 @@ /* Long integers, for GNU tar. - Copyright 1999, 2007 Free Software Foundation, Inc. + Copyright 1999, 2007, 2013 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This file is part of GNU tar. + + GNU tar is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, + GNU tar 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. */ + along with this program. If not, see . */ /* Handle large integers for calculating big tape lengths and the like. In practice, double precision does for now. On the vast diff --git a/src/buffer.c b/src/buffer.c index e52b1b10..4b44eaf1 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1,24 +1,24 @@ /* Buffer management for tar. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software + Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013 Free Software Foundation, Inc. - Written by John Gilmore, on 1985-08-25. + This file is part of GNU tar. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. + GNU tar 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. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by John Gilmore, on 1985-08-25. */ #include #include @@ -41,7 +41,7 @@ static tarlong prev_written; /* bytes written on previous volumes */ static tarlong bytes_written; /* bytes written on this volume */ static void *record_buffer[2]; /* allocated memory */ -union block *record_buffer_aligned[2]; +static union block *record_buffer_aligned[2]; static int record_index; /* FIXME: The following variables should ideally be static to this @@ -83,8 +83,8 @@ extern bool time_to_start_writing; bool write_archive_to_stdout; -void (*flush_write_ptr) (size_t); -void (*flush_read_ptr) (void); +static void (*flush_write_ptr) (size_t); +static void (*flush_read_ptr) (void); char *volume_label; @@ -103,7 +103,7 @@ bool write_archive_to_stdout; /* Multi-volume tracking support */ -/* When creating a multi-volume archive, each `bufmap' represents +/* When creating a multi-volume archive, each 'bufmap' represents a member stored (perhaps partly) in the current record buffer. After flushing the record to the output media, all bufmaps that represent fully written members are removed from the list, then @@ -193,7 +193,7 @@ bufmap_reset (struct bufmap *map, ssize_t fixup) static struct tar_stat_info dummy; void -buffer_write_global_xheader () +buffer_write_global_xheader (void) { xheader_write_global (&dummy.xhdr); } @@ -205,7 +205,7 @@ mv_begin_read (struct tar_stat_info *st) } void -mv_end () +mv_end (void) { if (multi_volume_option) bufmap_free (NULL); @@ -230,10 +230,10 @@ clear_read_error_count (void) /* Time-related functions */ -double duration; +static double duration; void -set_start_time () +set_start_time (void) { gettime (&start_time); volume_start_time = start_time; @@ -248,7 +248,7 @@ set_volume_start_time (void) } void -compute_duration () +compute_duration (void) { struct timespec now; gettime (&now); @@ -289,8 +289,8 @@ struct zip_program }; static struct zip_magic const magic[] = { - { ct_none, }, - { ct_tar }, + { ct_none, 0, 0 }, + { ct_tar, 0, 0 }, { ct_compress, 2, "\037\235" }, { ct_gzip, 2, "\037\213" }, { ct_bzip2, 3, "BZh" }, @@ -337,23 +337,23 @@ const char * first_decompress_program (int *pstate) { struct zip_program const *zp; - + if (use_compress_program_option) return use_compress_program_option; if (archive_compression_type == ct_none) return NULL; - *pstate = 0; + *pstate = 0; zp = find_zip_program (archive_compression_type, pstate); return zp ? zp->program : NULL; } - + const char * next_decompress_program (int *pstate) { struct zip_program const *zp; - + if (use_compress_program_option) return NULL; zp = find_zip_program (archive_compression_type, pstate); @@ -509,7 +509,7 @@ print_stats (FILE *fp, const char *text, tarlong numbytes) } void -print_total_stats () +print_total_stats (void) { switch (subcommand_option) { @@ -722,9 +722,6 @@ _open_archive (enum access_mode wanted_access) break; } } - else if (verify_option) - archive = rmtopen (archive_name_array[0], O_RDWR | O_CREAT | O_BINARY, - MODE_RW, rsh_command_option); else switch (wanted_access) { @@ -740,8 +737,12 @@ _open_archive (enum access_mode wanted_access) maybe_backup_file (archive_name_array[0], 1); backed_up_flag = 1; } - archive = rmtcreat (archive_name_array[0], MODE_RW, - rsh_command_option); + if (verify_option) + archive = rmtopen (archive_name_array[0], O_RDWR | O_CREAT | O_BINARY, + MODE_RW, rsh_command_option); + else + archive = rmtcreat (archive_name_array[0], MODE_RW, + rsh_command_option); break; case ACCESS_UPDATE: @@ -883,16 +884,16 @@ short_read (size_t status) left = record_size - status; if (left && left % BLOCKSIZE == 0 - && verbose_option + && (warning_option & WARN_RECORD_SIZE) && record_start_block == 0 && status != 0 && archive_is_dev ()) { unsigned long rsize = status / BLOCKSIZE; WARN ((0, 0, - ngettext ("Record size = %lu block", - "Record size = %lu blocks", - rsize), - rsize)); + ngettext ("Record size = %lu block", + "Record size = %lu blocks", + rsize), + rsize)); } while (left % BLOCKSIZE != 0 @@ -1928,13 +1929,13 @@ gnu_flush_write (size_t buffer_level) } void -flush_read () +flush_read (void) { flush_read_ptr (); } void -flush_write () +flush_write (void) { flush_write_ptr (record_size); } diff --git a/src/checkpoint.c b/src/checkpoint.c index a2896ab3..54c2cd60 100644 --- a/src/checkpoint.c +++ b/src/checkpoint.c @@ -1,19 +1,21 @@ /* Checkpoint management for tar. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright 2007, 2013 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - You should have received a copy of the GNU General Public License along - with this program. If not, see . */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include "common.h" @@ -113,7 +115,7 @@ checkpoint_compile_action (const char *str) } void -checkpoint_finish_compile () +checkpoint_finish_compile (void) { if (checkpoint_option) { @@ -215,16 +217,16 @@ run_checkpoint_actions (bool do_write) if (!str) { if (do_write) - /* TRANSLATORS: This is a ``checkpoint of write operation'', - *not* ``Writing a checkpoint''. - E.g. in Spanish ``Punto de comprobaci@'on de escritura'', - *not* ``Escribiendo un punto de comprobaci@'on'' */ + /* TRANSLATORS: This is a "checkpoint of write operation", + *not* "Writing a checkpoint". + E.g. in Spanish "Punto de comprobaci@'on de escritura", + *not* "Escribiendo un punto de comprobaci@'on" */ str = gettext ("Write checkpoint %u"); else - /* TRANSLATORS: This is a ``checkpoint of read operation'', - *not* ``Reading a checkpoint''. - E.g. in Spanish ``Punto de comprobaci@'on de lectura'', - *not* ``Leyendo un punto de comprobaci@'on'' */ + /* TRANSLATORS: This is a "checkpoint of read operation", + *not* "Reading a checkpoint". + E.g. in Spanish "Punto de comprobaci@'on de lectura", + *not* "Leyendo un punto de comprobaci@'on" */ str = gettext ("Read checkpoint %u"); } tmp = expand_checkpoint_string (str, do_write, checkpoint); diff --git a/src/common.h b/src/common.h index 0b9bd7a1..eb801bb3 100644 --- a/src/common.h +++ b/src/common.h @@ -1,22 +1,22 @@ /* Common declarations for the tar program. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, - Inc. + Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2012-2013 Free + Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - 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. */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ /* Declare the GNU tar archive format. */ #include "tar.h" @@ -70,6 +70,11 @@ #define LG_8 3 #define LG_64 6 #define LG_256 8 + +_GL_INLINE_HEADER_BEGIN +#ifndef COMMON_INLINE +# define COMMON_INLINE _GL_INLINE +#endif /* Information gleaned from the command line. */ @@ -138,9 +143,6 @@ GLOBAL const char *use_compress_program_option; GLOBAL bool dereference_option; GLOBAL bool hard_dereference_option; -/* Print a message if not all links are dumped */ -GLOBAL int check_links_option; - /* Patterns that match file names to be excluded. */ GLOBAL struct exclude *excluded; @@ -158,7 +160,8 @@ enum exclusion_tag_type }; /* Specified value to be put into tar file in place of stat () results, or - just -1 if such an override should not take place. */ + just null and -1 if such an override should not take place. */ +GLOBAL char const *group_name_option; GLOBAL gid_t group_option; GLOBAL bool ignore_failed_read_option; @@ -182,10 +185,13 @@ enum old_files OVERWRITE_OLD_FILES, /* --overwrite */ UNLINK_FIRST_OLD_FILES, /* --unlink-first */ KEEP_OLD_FILES, /* --keep-old-files */ + SKIP_OLD_FILES, /* --skip-old-files */ KEEP_NEWER_FILES /* --keep-newer-files */ }; GLOBAL enum old_files old_files_option; +GLOBAL bool keep_directory_symlink_option; + /* Specified file name for incremental list. */ GLOBAL const char *listed_incremental_option; /* Incremental dump level */ @@ -230,7 +236,8 @@ GLOBAL bool numeric_owner_option; GLOBAL bool one_file_system_option; /* Specified value to be put into tar file in place of stat () results, or - just -1 if such an override should not take place. */ + just null and -1 if such an override should not take place. */ +GLOBAL char const *owner_name_option; GLOBAL uid_t owner_option; GLOBAL bool recursive_unlink_option; @@ -239,9 +246,6 @@ GLOBAL bool read_full_records_option; GLOBAL bool remove_files_option; -/* Specified rmt command. */ -GLOBAL const char *rmt_command_option; - /* Specified remote shell command. */ GLOBAL const char *rsh_command_option; @@ -253,6 +257,15 @@ GLOBAL int same_owner_option; /* If positive, preserve permissions when extracting. */ GLOBAL int same_permissions_option; +/* If positive, save the SELinux context. */ +GLOBAL int selinux_context_option; + +/* If positive, save the ACLs. */ +GLOBAL int acls_option; + +/* If positive, save the user and root xattrs. */ +GLOBAL int xattrs_option; + /* When set, strip the given number of file name components from the file name before extracting */ GLOBAL size_t strip_name_components; @@ -313,11 +326,10 @@ GLOBAL struct timespec last_stat_time; /* when the statistics was last GLOBAL struct tar_stat_info current_stat_info; -/* List of tape drive names, number of such tape drives, allocated number, +/* List of tape drive names, number of such tape drives, and current cursor in list. */ GLOBAL const char **archive_name_array; GLOBAL size_t archive_names; -GLOBAL size_t allocated_archive_names; GLOBAL const char **archive_name_cursor; /* Output index file name. */ @@ -514,6 +526,7 @@ void rebase_directory (struct directory *dir, const char *repl, size_t rlen); void append_incremental_renames (struct directory *dir); +void show_snapshot_field_ranges (void); void read_directory_file (void); void write_directory_file (void); void purge_directory (char const *directory_name); @@ -522,6 +535,7 @@ void update_parent_directory (struct tar_stat_info *st); size_t dumpdir_size (const char *p); bool is_dumpdir (struct tar_stat_info *stat_info); +void clear_directory_table (void); /* Module list.c. */ @@ -577,23 +591,63 @@ void skip_member (void); /* Module misc.c. */ +#define min(a, b) ((a) < (b) ? (a) : (b)) +#define max(a, b) ((a) < (b) ? (b) : (a)) void assign_string (char **dest, const char *src); int unquote_string (char *str); char *zap_slashes (char *name); -char *normalize_filename (const char *name); +char *normalize_filename (int cdidx, const char *name); +void normalize_filename_x (char *name); void replace_prefix (char **pname, const char *samp, size_t slen, const char *repl, size_t rlen); +char *tar_savedir (const char *name, int must_exist); typedef struct namebuf *namebuf_t; namebuf_t namebuf_create (const char *dir); void namebuf_free (namebuf_t buf); char *namebuf_name (namebuf_t buf, const char *name); +void namebuf_add_dir (namebuf_t buf, const char *name); +char *namebuf_finish (namebuf_t buf); +const char *tar_getcdpath (int); +const char *tar_dirname (void); + +/* Represent N using a signed integer I such that (uintmax_t) I == N. + With a good optimizing compiler, this is equivalent to (intmax_t) i + and requires zero machine instructions. */ +#if ! (UINTMAX_MAX / 2 <= INTMAX_MAX) +# error "represent_uintmax returns intmax_t to represent uintmax_t" +#endif +COMMON_INLINE intmax_t +represent_uintmax (uintmax_t n) +{ + if (n <= INTMAX_MAX) + return n; + else + { + /* Avoid signed integer overflow on picky platforms. */ + intmax_t nd = n - INTMAX_MIN; + return nd + INTMAX_MIN; + } +} + +enum { SYSINT_BUFSIZE = + max (UINTMAX_STRSIZE_BOUND, INT_BUFSIZE_BOUND (intmax_t)) }; +char *sysinttostr (uintmax_t, intmax_t, uintmax_t, char buf[SYSINT_BUFSIZE]); +intmax_t strtosysint (char const *, char **, intmax_t, uintmax_t); void code_ns_fraction (int ns, char *p); char const *code_timespec (struct timespec ts, char *sbuf); enum { BILLION = 1000000000, LOG10_BILLION = 9 }; enum { TIMESPEC_STRSIZE_BOUND = UINTMAX_STRSIZE_BOUND + LOG10_BILLION + sizeof "-." - 1 }; +struct timespec decode_timespec (char const *, char **, bool); + +/* Return true if T does not represent an out-of-range or invalid value. */ +COMMON_INLINE bool +valid_timespec (struct timespec t) +{ + return 0 <= t.tv_nsec; +} bool must_be_dot_or_slash (char const *); @@ -617,6 +671,9 @@ void undo_last_backup (void); int deref_stat (char const *name, struct stat *buf); +size_t blocking_read (int fd, void *buf, size_t count); +size_t blocking_write (int fd, void const *buf, size_t count); + extern int chdir_current; extern int chdir_fd; int chdir_arg (char const *dir); @@ -657,6 +714,7 @@ int uname_to_uid (char const *uname, uid_t *puid); void name_init (void); void name_add_name (const char *name, int matching_flags); void name_add_dir (const char *name); +void name_add_file (const char *name, int term); void name_term (void); const char *name_next (int change_dirs); void name_gather (void); @@ -701,19 +759,25 @@ const char *archive_format_string (enum archive_format fmt); const char *subcommand_string (enum subcommand c); void set_exit_status (int val); +void request_stdin (const char *option); +void more_options (int argc, char **argv); + /* Module update.c. */ extern char *output_start; void update_archive (void); +/* Module attrs.c. */ +#include "xattrs.h" + /* Module xheader.c. */ void xheader_decode (struct tar_stat_info *stat); void xheader_decode_global (struct xheader *xhdr); void xheader_store (char const *keyword, struct tar_stat_info *st, void const *data); -void xheader_read (struct xheader *xhdr, union block *header, size_t size); +void xheader_read (struct xheader *xhdr, union block *header, off_t size); void xheader_write (char type, char *name, time_t t, struct xheader *xhdr); void xheader_write_global (struct xheader *xhdr); void xheader_finish (struct xheader *hdr); @@ -727,6 +791,12 @@ bool xheader_string_end (struct xheader *xhdr, char const *keyword); bool xheader_keyword_deleted_p (const char *kw); char *xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n); +void xheader_xattr_init (struct tar_stat_info *st); +void xheader_xattr_free (struct xattr_array *vals, size_t sz); +void xheader_xattr_copy (const struct tar_stat_info *st, + struct xattr_array **vals, size_t *sz); +void xheader_xattr_add (struct tar_stat_info *st, + const char *key, const char *val, size_t len); /* Module system.c */ @@ -751,7 +821,8 @@ void sys_exec_checkpoint_script (const char *script_name, int checkpoint_number); /* Module compare.c */ -void report_difference (struct tar_stat_info *st, const char *message, ...); +void report_difference (struct tar_stat_info *st, const char *message, ...) + __attribute__ ((format (printf, 2, 3))); /* Module sparse.c */ bool sparse_member_p (struct tar_stat_info *st); @@ -807,11 +878,14 @@ void checkpoint_run (bool do_write); #define WARN_UNKNOWN_KEYWORD 0x00020000 #define WARN_XDEV 0x00040000 #define WARN_DECOMPRESS_PROGRAM 0x00080000 +#define WARN_EXISTING_FILE 0x00100000 +#define WARN_XATTR_WRITE 0x00200000 +#define WARN_RECORD_SIZE 0x00400000 -/* The warnings composing WARN_VERBOSE_WARNINGS are enabled by default - in verbose mode */ +/* These warnings are enabled by default in verbose mode: */ #define WARN_VERBOSE_WARNINGS (WARN_RENAME_DIRECTORY|WARN_NEW_DIRECTORY|\ - WARN_DECOMPRESS_PROGRAM) + WARN_DECOMPRESS_PROGRAM|WARN_EXISTING_FILE|\ + WARN_RECORD_SIZE) #define WARN_ALL (~WARN_VERBOSE_WARNINGS) void set_warning_option (const char *arg); @@ -832,3 +906,5 @@ void finish_deferred_unlinks (void); /* Module exit.c */ extern void (*fatal_exit_hook) (void); + +_GL_INLINE_HEADER_END diff --git a/src/compare.c b/src/compare.c index 273269a1..407fd401 100644 --- a/src/compare.c +++ b/src/compare.c @@ -1,23 +1,24 @@ /* Diff files from a tar archive. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2007, + 2009-2010, 2012-2013 Free Software Foundation, Inc. - Written by John Gilmore, on 1987-04-30. + This file is part of GNU tar. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. + GNU tar 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. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by John Gilmore, on 1987-04-30. */ #include #include @@ -80,7 +81,7 @@ process_noop (size_t size __attribute__ ((unused)), static int process_rawdata (size_t bytes, char *buffer) { - size_t status = safe_read (diff_handle, diff_buffer, bytes); + size_t status = blocking_read (diff_handle, diff_buffer, bytes); if (status != bytes) { @@ -359,31 +360,35 @@ dumpdir_cmp (const char *a, const char *b) } static void -diff_dumpdir (void) +diff_dumpdir (struct tar_stat_info *dir) { const char *dumpdir_buffer; - dev_t dev = 0; - struct stat stat_data; - if (deref_stat (current_stat_info.file_name, &stat_data) != 0) + if (dir->fd == 0) { - if (errno == ENOENT) - stat_warn (current_stat_info.file_name); + void (*diag) (char const *) = NULL; + int fd = subfile_open (dir->parent, dir->orig_file_name, open_read_flags); + if (fd < 0) + diag = open_diag; + else if (fstat (fd, &dir->stat)) + diag = stat_diag; else - stat_error (current_stat_info.file_name); + dir->fd = fd; + if (diag) + { + file_removed_diag (dir->orig_file_name, false, diag); + return; + } } - else - dev = stat_data.st_dev; - - dumpdir_buffer = directory_contents (scan_directory (¤t_stat_info)); + dumpdir_buffer = directory_contents (scan_directory (dir)); if (dumpdir_buffer) { - if (dumpdir_cmp (current_stat_info.dumpdir, dumpdir_buffer)) - report_difference (¤t_stat_info, _("Contents differ")); + if (dumpdir_cmp (dir->dumpdir, dumpdir_buffer)) + report_difference (dir, _("Contents differ")); } else - read_and_process (¤t_stat_info, process_noop); + read_and_process (dir, process_noop); } static void @@ -410,7 +415,9 @@ diff_multivol (void) } offset = OFF_FROM_HEADER (current_header->oldgnu_header.offset); - if (stat_data.st_size != current_stat_info.stat.st_size + offset) + if (offset < 0 + || INT_ADD_OVERFLOW (current_stat_info.stat.st_size, offset) + || stat_data.st_size != current_stat_info.stat.st_size + offset) { report_difference (¤t_stat_info, _("Size differs")); skip_member (); @@ -461,7 +468,7 @@ diff_archive (void) switch (current_header->header.typeflag) { default: - ERROR ((0, 0, _("%s: Unknown file type `%c', diffed as normal file"), + ERROR ((0, 0, _("%s: Unknown file type '%c', diffed as normal file"), quotearg_colon (current_stat_info.file_name), current_header->header.typeflag)); /* Fall through. */ @@ -498,7 +505,7 @@ diff_archive (void) case GNUTYPE_DUMPDIR: case DIRTYPE: if (is_dumpdir (¤t_stat_info)) - diff_dumpdir (); + diff_dumpdir (¤t_stat_info); diff_dir (); break; @@ -530,6 +537,8 @@ verify_volume (void) WARN((0, 0, _("Verification may fail to locate original files."))); + clear_directory_table (); + if (!diff_buffer) diff_init (); diff --git a/src/create.c b/src/create.c index 43b5a4c2..e14e13d0 100644 --- a/src/create.c +++ b/src/create.c @@ -1,23 +1,24 @@ /* Create a tar archive. - Copyright (C) 1985, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright 1985, 1992-1994, 1996-1997, 1999-2001, 2003-2007, + 2009-2010, 2012-2013 Free Software Foundation, Inc. - Written by John Gilmore, on 1985-08-25. + This file is part of GNU tar. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. + GNU tar 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. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by John Gilmore, on 1985-08-25. */ #include @@ -511,12 +512,11 @@ start_private_header (const char *name, size_t size, time_t t) tar_name_copy_str (header->header.name, name, NAME_FIELD_SIZE); OFF_TO_CHARS (size, header->header.size); - TIME_TO_CHARS (t, header->header.mtime); + TIME_TO_CHARS (t < 0 ? 0 : min (t, MAX_OCTAL_VAL (header->header.mtime)), + header->header.mtime); MODE_TO_CHARS (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, header->header.mode); - UID_TO_CHARS (getuid (), header->header.uid); - GID_TO_CHARS (getgid (), header->header.gid); - MAJOR_TO_CHARS (0, header->header.devmajor); - MINOR_TO_CHARS (0, header->header.devminor); + UID_TO_CHARS (0, header->header.uid); + GID_TO_CHARS (0, header->header.gid); strncpy (header->header.magic, TMAGIC, TMAGLEN); strncpy (header->header.version, TVERSION, TVERSLEN); return header; @@ -534,11 +534,6 @@ write_short_name (struct tar_stat_info *st) return header; } -#define FILL(field,byte) do { \ - memset(field, byte, sizeof(field)-1); \ - (field)[sizeof(field)-1] = 0; \ -} while (0) - /* Write a GNUTYPE_LONGLINK or GNUTYPE_LONGNAME block. */ static void write_gnu_long_link (struct tar_stat_info *st, const char *p, char type) @@ -548,13 +543,7 @@ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type) union block *header; char *tmpname; - header = start_private_header ("././@LongLink", size, time (NULL)); - FILL (header->header.mtime, '0'); - FILL (header->header.mode, '0'); - FILL (header->header.uid, '0'); - FILL (header->header.gid, '0'); - FILL (header->header.devmajor, 0); - FILL (header->header.devminor, 0); + header = start_private_header ("././@LongLink", size, start_time.tv_sec); uid_to_uname (0, &tmpname); UNAME_TO_CHARS (tmpname, header->header.uname); free (tmpname); @@ -711,7 +700,7 @@ write_extended (bool global, struct tar_stat_info *st, union block *old_header) { type = XGLTYPE; p = xheader_ghdr_name (); - time (&t); + t = start_time.tv_sec; } else { @@ -785,9 +774,9 @@ start_header (struct tar_stat_info *st) . . . . . . . . . 9 = Omron UNIOS-B 4.3BSD 1.60Beta . = works - # = ``impossible file type'' + # = "impossible file type" - The following mask for old archive removes the `#'s in column 4 + The following mask for old archive removes the '#'s in column 4 above, thus making GNU tar both a universal donor and a universal acceptor for Paul's test. */ @@ -920,8 +909,15 @@ start_header (struct tar_stat_info *st) } else { - uid_to_uname (st->stat.st_uid, &st->uname); - gid_to_gname (st->stat.st_gid, &st->gname); + if (owner_name_option) + st->uname = xstrdup (owner_name_option); + else + uid_to_uname (st->stat.st_uid, &st->uname); + + if (group_name_option) + st->gname = xstrdup (group_name_option); + else + gid_to_gname (st->stat.st_gid, &st->gname); if (archive_format == POSIX_FORMAT && (strlen (st->uname) > UNAME_FIELD_SIZE @@ -936,6 +932,30 @@ start_header (struct tar_stat_info *st) GNAME_TO_CHARS (st->gname, header->header.gname); } + if (archive_format == POSIX_FORMAT) + { + if (acls_option > 0) + { + if (st->acls_a_ptr) + xheader_store ("SCHILY.acl.access", st, NULL); + if (st->acls_d_ptr) + xheader_store ("SCHILY.acl.default", st, NULL); + } + if ((selinux_context_option > 0) && st->cntx_name) + xheader_store ("RHT.security.selinux", st, NULL); + if (xattrs_option > 0) + { + size_t scan_xattr = 0; + struct xattr_array *xattr_map = st->xattr_map; + + while (scan_xattr < st->xattr_map_size) + { + xheader_store (xattr_map[scan_xattr].xkey, st, &scan_xattr); + ++scan_xattr; + } + } + } + return header; } @@ -1044,7 +1064,7 @@ dump_regular_file (int fd, struct tar_stat_info *st) memset (blk->buffer + size_left, 0, BLOCKSIZE - count); } - count = (fd <= 0) ? bufsize : safe_read (fd, blk->buffer, bufsize); + count = (fd <= 0) ? bufsize : blocking_read (fd, blk->buffer, bufsize); if (count == SAFE_READ_ERROR) { read_diag_details (st->orig_file_name, @@ -1711,6 +1731,10 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p) bool ok; struct stat final_stat; + xattrs_acls_get (parentfd, name, st, 0, !is_dir); + xattrs_selinux_get (parentfd, name, st, fd); + xattrs_xattrs_get (parentfd, name, st, fd); + if (is_dir) { const char *tag_file_name; @@ -1829,6 +1853,9 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p) if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) < size) write_long_link (st); + xattrs_selinux_get (parentfd, name, st, 0); + xattrs_xattrs_get (parentfd, name, st, 0); + block_ordinal = current_block_ordinal (); st->stat.st_size = 0; /* force 0 size on symlink */ header = start_header (st); @@ -1847,11 +1874,26 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p) } #endif else if (S_ISCHR (st->stat.st_mode)) - type = CHRTYPE; + { + type = CHRTYPE; + xattrs_acls_get (parentfd, name, st, 0, true); + xattrs_selinux_get (parentfd, name, st, 0); + xattrs_xattrs_get (parentfd, name, st, 0); + } else if (S_ISBLK (st->stat.st_mode)) - type = BLKTYPE; + { + type = BLKTYPE; + xattrs_acls_get (parentfd, name, st, 0, true); + xattrs_selinux_get (parentfd, name, st, 0); + xattrs_xattrs_get (parentfd, name, st, 0); + } else if (S_ISFIFO (st->stat.st_mode)) - type = FIFOTYPE; + { + type = FIFOTYPE; + xattrs_acls_get (parentfd, name, st, 0, true); + xattrs_selinux_get (parentfd, name, st, 0); + xattrs_xattrs_get (parentfd, name, st, 0); + } else if (S_ISSOCK (st->stat.st_mode)) { WARNOPT (WARN_FILE_IGNORED, diff --git a/src/delete.c b/src/delete.c index a0a6d67c..d17dd250 100644 --- a/src/delete.c +++ b/src/delete.c @@ -1,21 +1,22 @@ /* Delete entries from a tar archive. - Copyright (C) 1988, 1992, 1994, 1996, 1997, 2000, 2001, 2003, 2004, - 2005, 2006, 2010 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Copyright 1988, 1992, 1994, 1996-1997, 2000-2001, 2003-2006, 2010, + 2013 Free Software Foundation, Inc. + + This file is part of GNU tar. + + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include diff --git a/src/exit.c b/src/exit.c index d1ddaf92..74b13a42 100644 --- a/src/exit.c +++ b/src/exit.c @@ -1,19 +1,21 @@ -/* This file is part of GNU tar. - Copyright (C) 2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Exit from GNU tar. + + Copyright 2009, 2013 Free Software Foundation, Inc. + + This file is part of GNU tar. + + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include "common.h" diff --git a/src/extract.c b/src/extract.c index aaea56ed..9b6b7f97 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1,28 +1,30 @@ /* Extract files from a tar archive. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, - 2001, 2003, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc. + Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2013 + Free Software Foundation, Inc. - Written by John Gilmore, on 1985-11-19. + This file is part of GNU tar. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. + GNU tar 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. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by John Gilmore, on 1985-11-19. */ #include #include #include #include +#include #include #include "common.h" @@ -97,6 +99,14 @@ struct delayed_set_stat /* Directory that the name is relative to. */ int change_dir; + /* extended attributes*/ + char *cntx_name; + char *acls_a_ptr; + size_t acls_a_len; + char *acls_d_ptr; + size_t acls_d_len; + size_t xattr_map_size; + struct xattr_array *xattr_map; /* Length and contents of name. */ size_t file_name_len; char file_name[1]; @@ -110,12 +120,15 @@ struct delayed_link /* The next delayed link in the list. */ struct delayed_link *next; - /* The device, inode number and ctime of the placeholder. Use - ctime, not mtime, to make false matches less likely if some - other process removes the placeholder. */ + /* The device, inode number and birthtime of the placeholder. + birthtime.tv_nsec is negative if the birthtime is not available. + Don't use mtime as this would allow for false matches if some + other process removes the placeholder. Don't use ctime as + this would cause race conditions and other screwups, e.g., + when restoring hard-linked symlinks. */ dev_t dev; ino_t ino; - struct timespec ctime; + struct timespec birthtime; /* True if the link is symbolic. */ bool is_symlink; @@ -134,6 +147,18 @@ struct delayed_link hard-linked together. */ struct string_list *sources; + /* SELinux context */ + char *cntx_name; + + /* ACLs */ + char *acls_a_ptr; + size_t acls_a_len; + char *acls_d_ptr; + size_t acls_d_len; + + size_t xattr_map_size; + struct xattr_array *xattr_map; + /* The desired target of the desired link. */ char target[1]; }; @@ -150,7 +175,7 @@ struct string_list void extr_init (void) { - we_are_root = geteuid () == 0; + we_are_root = geteuid () == ROOT_UID; same_permissions_option += we_are_root; same_owner_option += we_are_root; @@ -272,7 +297,7 @@ set_mode (char const *file_name, static void check_time (char const *file_name, struct timespec t) { - if (t.tv_sec <= 0) + if (t.tv_sec < 0) WARNOPT (WARN_TIMESTAMP, (0, 0, _("%s: implausibly old time stamp %s"), file_name, tartime (t, true))); @@ -360,6 +385,12 @@ set_stat (char const *file_name, st->stat.st_mode & ~ current_umask, 0 < same_permissions_option && ! interdir ? MODE_ALL : MODE_RWX, fd, current_mode, current_mode_mask, typeflag, atflag); + + /* these three calls must be done *after* fd_chown() call because fd_chown + causes that linux capabilities becomes cleared. */ + xattrs_xattrs_set (st, file_name, typeflag, 1); + xattrs_acls_set (st, file_name, typeflag); + xattrs_selinux_set (st, file_name, typeflag); } /* For each entry H in the leading prefix of entries in HEAD that do @@ -431,6 +462,36 @@ delay_set_stat (char const *file_name, struct tar_stat_info const *st, data->atflag = atflag; data->after_links = 0; data->change_dir = chdir_current; + data->cntx_name = NULL; + if (st) + assign_string (&data->cntx_name, st->cntx_name); + if (st && st->acls_a_ptr) + { + data->acls_a_ptr = xmemdup (st->acls_a_ptr, st->acls_a_len + 1); + data->acls_a_len = st->acls_a_len; + } + else + { + data->acls_a_ptr = NULL; + data->acls_a_len = 0; + } + if (st && st->acls_d_ptr) + { + data->acls_d_ptr = xmemdup (st->acls_d_ptr, st->acls_d_len + 1); + data->acls_d_len = st->acls_d_len; + } + else + { + data->acls_d_ptr = NULL; + data->acls_d_len = 0; + } + if (st) + xheader_xattr_copy (st, &data->xattr_map, &data->xattr_map_size); + else + { + data->xattr_map = NULL; + data->xattr_map_size = 0; + } strcpy (data->file_name, file_name); delayed_set_stat_head = data; if (must_be_dot_or_slash (file_name)) @@ -639,9 +700,14 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made) switch (old_files_option) { - case KEEP_OLD_FILES: + case SKIP_OLD_FILES: + WARNOPT (WARN_EXISTING_FILE, + (0, 0, _("%s: skipping existing file"), file_name)); return RECOVER_SKIP; + case KEEP_OLD_FILES: + return RECOVER_NO; + case KEEP_NEWER_FILES: if (file_newer_p (file_name, stp, ¤t_stat_info)) break; @@ -673,6 +739,40 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made) return RECOVER_NO; } +/* Restore stat extended attributes (xattr) for FILE_NAME, using information + given in *ST. Restore before extraction because they may affect file layout + (e.g. on Lustre distributed parallel filesystem - setting info about how many + servers is this file striped over, stripe size, mirror copies, etc. + in advance dramatically improves the following performance of reading and + writing a file). If not restoring permissions, invert the INVERT_PERMISSIONS + bits from the file's current permissions. TYPEFLAG specifies the type of the + file. FILE_CREATED indicates set_xattr has created the file */ +static int +set_xattr (char const *file_name, struct tar_stat_info const *st, + mode_t invert_permissions, char typeflag, int *file_created) +{ + int status = 0; + +#ifdef HAVE_XATTRS + bool interdir_made = false; + + if ((xattrs_option > 0) && st->xattr_map_size) + { + mode_t mode = current_stat_info.stat.st_mode & MODE_RWX & ~ current_umask; + + do + status = mknodat (chdir_fd, file_name, mode ^ invert_permissions, 0); + while (status && maybe_recoverable ((char *)file_name, false, + &interdir_made)); + + xattrs_xattrs_set (st, file_name, typeflag, 0); + *file_created = 1; + } +#endif + + return(status); +} + /* Fix the statuses of all directories whose statuses need fixing, and which are not ancestors of FILE_NAME. If AFTER_LINKS is nonzero, do this for all such directories; otherwise, stop at the @@ -733,18 +833,43 @@ apply_nonancestor_delayed_set_stat (char const *file_name, bool after_links) sb.stat.st_gid = data->gid; sb.atime = data->atime; sb.mtime = data->mtime; + sb.cntx_name = data->cntx_name; + sb.acls_a_ptr = data->acls_a_ptr; + sb.acls_a_len = data->acls_a_len; + sb.acls_d_ptr = data->acls_d_ptr; + sb.acls_d_len = data->acls_d_len; + sb.xattr_map = data->xattr_map; + sb.xattr_map_size = data->xattr_map_size; set_stat (data->file_name, &sb, -1, current_mode, current_mode_mask, DIRTYPE, data->interdir, data->atflag); } delayed_set_stat_head = data->next; + xheader_xattr_free (data->xattr_map, data->xattr_map_size); + free (data->cntx_name); + free (data->acls_a_ptr); + free (data->acls_d_ptr); free (data); } } - +static bool +is_directory_link (const char *file_name) +{ + struct stat st; + int e = errno; + int res; + + res = (fstatat (chdir_fd, file_name, &st, AT_SYMLINK_NOFOLLOW) == 0 && + S_ISLNK (st.st_mode) && + fstatat (chdir_fd, file_name, &st, 0) == 0 && + S_ISDIR (st.st_mode)); + errno = e; + return res; +} + /* Extractor functions for various member types */ static int @@ -800,10 +925,15 @@ extract_dir (char *file_name, int typeflag) if (errno == EEXIST && (interdir_made + || keep_directory_symlink_option || old_files_option == DEFAULT_OLD_FILES || old_files_option == OVERWRITE_OLD_FILES)) { struct stat st; + + if (keep_directory_symlink_option && is_directory_link (file_name)) + return 0; + if (deref_stat (file_name, &st) == 0) { current_mode = st.st_mode; @@ -854,7 +984,8 @@ extract_dir (char *file_name, int typeflag) static int open_output_file (char const *file_name, int typeflag, mode_t mode, - mode_t *current_mode, mode_t *current_mode_mask) + int file_created, mode_t *current_mode, + mode_t *current_mode_mask) { int fd; bool overwriting_old_files = old_files_option == OVERWRITE_OLD_FILES; @@ -864,6 +995,10 @@ open_output_file (char const *file_name, int typeflag, mode_t mode, ? O_TRUNC | (dereference_option ? 0 : O_NOFOLLOW) : O_EXCL)); + /* File might be created in set_xattr. So clear O_EXCL to avoid open() fail */ + if (file_created) + openflag = openflag & ~O_EXCL; + if (typeflag == CONTTYPE) { static int conttype_diagnosed; @@ -879,7 +1014,8 @@ open_output_file (char const *file_name, int typeflag, mode_t mode, /* If O_NOFOLLOW is needed but does not work, check for a symlink separately. There's a race condition, but that cannot be avoided on hosts lacking O_NOFOLLOW. */ - if (! O_NOFOLLOW && overwriting_old_files && ! dereference_option) + if (! HAVE_WORKING_O_NOFOLLOW + && overwriting_old_files && ! dereference_option) { struct stat st; if (fstatat (chdir_fd, file_name, &st, AT_SYMLINK_NOFOLLOW) == 0 @@ -934,6 +1070,8 @@ extract_file (char *file_name, int typeflag) bool interdir_made = false; mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX & ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0)); + mode_t invert_permissions = 0 < same_owner_option ? mode & (S_IRWXG | S_IRWXO) + : 0; mode_t current_mode = 0; mode_t current_mode_mask = 0; @@ -950,8 +1088,18 @@ extract_file (char *file_name, int typeflag) } else { + int file_created = 0; + if (set_xattr (file_name, ¤t_stat_info, invert_permissions, + typeflag, &file_created)) + { + skip_member (); + open_error (file_name); + return 1; + } + while ((fd = open_output_file (file_name, typeflag, mode, - ¤t_mode, ¤t_mode_mask)) + file_created, ¤t_mode, + ¤t_mode_mask)) < 0) { int recover = maybe_recoverable (file_name, true, &interdir_made); @@ -990,7 +1138,7 @@ extract_file (char *file_name, int typeflag) if (written > size) written = size; errno = 0; - count = full_write (fd, data_block->buffer, written); + count = blocking_write (fd, data_block->buffer, written); size -= written; set_next_block_after ((union block *) @@ -1076,7 +1224,7 @@ create_placeholder_file (char *file_name, bool is_symlink, bool *interdir_made) delayed_link_head = p; p->dev = st.st_dev; p->ino = st.st_ino; - p->ctime = get_stat_ctime (&st); + p->birthtime = get_stat_birthtime (&st); p->is_symlink = is_symlink; if (is_symlink) { @@ -1091,6 +1239,13 @@ create_placeholder_file (char *file_name, bool is_symlink, bool *interdir_made) + strlen (file_name) + 1); p->sources->next = 0; strcpy (p->sources->string, file_name); + p->cntx_name = NULL; + assign_string (&p->cntx_name, current_stat_info.cntx_name); + p->acls_a_ptr = NULL; + p->acls_a_len = 0; + p->acls_d_ptr = NULL; + p->acls_d_len = 0; + xheader_xattr_copy (¤t_stat_info, &p->xattr_map, &p->xattr_map_size); strcpy (p->target, current_stat_info.link_name); h = delayed_set_stat_head; @@ -1134,7 +1289,8 @@ extract_link (char *file_name, int typeflag) if (ds->change_dir == chdir_current && ds->dev == st1.st_dev && ds->ino == st1.st_ino - && timespec_cmp (ds->ctime, get_stat_ctime (&st1)) == 0) + && (timespec_cmp (ds->birthtime, get_stat_birthtime (&st1)) + == 0)) { struct string_list *p = xmalloc (offsetof (struct string_list, string) + strlen (file_name) + 1); @@ -1204,7 +1360,7 @@ extract_symlink (char *file_name, int typeflag) if (!warned_once) { warned_once = 1; - WARNOPT (WARN_SYMBOLIC_CAST, + WARNOPT (WARN_SYMLINK_CAST, (0, 0, _("Attempting extraction of symbolic links as hard links"))); } @@ -1284,6 +1440,13 @@ extract_failure (char *file_name, int typeflag) return 1; } +static int +extract_skip (char *file_name, int typeflag) +{ + skip_member (); + return 0; +} + typedef int (*tar_extractor_t) (char *file_name, int typeflag); @@ -1364,7 +1527,7 @@ prepare_to_extract (char const *file_name, int typeflag, tar_extractor_t *fun) ERROR ((0, 0, _("%s: Cannot extract -- file is continued from another volume"), quotearg_colon (current_stat_info.file_name))); - *fun = extract_failure; + *fun = extract_skip; break; case GNUTYPE_LONGNAME: @@ -1376,7 +1539,7 @@ prepare_to_extract (char const *file_name, int typeflag, tar_extractor_t *fun) default: WARNOPT (WARN_UNKNOWN_CAST, (0, 0, - _("%s: Unknown file type `%c', extracted as normal file"), + _("%s: Unknown file type '%c', extracted as normal file"), quotearg_colon (file_name), typeflag)); *fun = extract_file; } @@ -1500,7 +1663,7 @@ apply_delayed_links (void) if (fstatat (chdir_fd, source, &st, AT_SYMLINK_NOFOLLOW) == 0 && st.st_dev == ds->dev && st.st_ino == ds->ino - && timespec_cmp (get_stat_ctime (&st), ds->ctime) == 0) + && timespec_cmp (get_stat_birthtime (&st), ds->birthtime) == 0) { /* Unlink the placeholder, then create a hard link if possible, a symbolic link otherwise. */ @@ -1525,6 +1688,13 @@ apply_delayed_links (void) st1.stat.st_gid = ds->gid; st1.atime = ds->atime; st1.mtime = ds->mtime; + st1.cntx_name = ds->cntx_name; + st1.acls_a_ptr = ds->acls_a_ptr; + st1.acls_a_len = ds->acls_a_len; + st1.acls_d_ptr = ds->acls_d_ptr; + st1.acls_d_len = ds->acls_d_len; + st1.xattr_map = ds->xattr_map; + st1.xattr_map_size = ds->xattr_map_size; set_stat (source, &st1, -1, 0, 0, SYMTYPE, false, AT_SYMLINK_NOFOLLOW); valid_source = source; @@ -1539,6 +1709,9 @@ apply_delayed_links (void) sources = next; } + xheader_xattr_free (ds->xattr_map, ds->xattr_map_size); + free (ds->cntx_name); + { struct delayed_link *next = ds->next; free (ds); diff --git a/src/incremen.c b/src/incremen.c index b2ab5bf0..f6b311ef 100644 --- a/src/incremen.c +++ b/src/incremen.c @@ -1,21 +1,22 @@ /* GNU dump extensions to tar. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009, 2013 + Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - 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. */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include @@ -279,7 +280,7 @@ free_directory (struct directory *dir) static struct directory * attach_directory (const char *name) { - char *cname = normalize_filename (name); + char *cname = normalize_filename (chdir_current, name); struct directory *dir = make_directory (name, cname); if (dirtail) dirtail->next = dir; @@ -300,6 +301,24 @@ dirlist_replace_prefix (const char *pref, const char *repl) replace_prefix (&dp->name, pref, pref_len, repl, repl_len); } +void +clear_directory_table (void) +{ + struct directory *dp; + + if (directory_table) + hash_clear (directory_table); + if (directory_meta_table) + hash_clear (directory_meta_table); + for (dp = dirhead; dp; ) + { + struct directory *next = dp->next; + free_directory (dp); + dp = next; + } + dirhead = dirtail = NULL; +} + /* Create and link a new directory entry for directory NAME, having a device number DEV and an inode number INO, with NFS indicating whether it is an NFS device and FOUND indicating whether we have @@ -327,7 +346,8 @@ note_directory (char const *name, struct timespec mtime, if (! ((directory_table || (directory_table = hash_initialize (0, 0, hash_directory_canonical_name, - compare_directory_canonical_names, 0))) + compare_directory_canonical_names, + 0))) && hash_insert (directory_table, directory))) xalloc_die (); @@ -350,7 +370,7 @@ find_directory (const char *name) return 0; else { - char *caname = normalize_filename (name); + char *caname = normalize_filename (chdir_current, name); struct directory *dir = make_directory (name, caname); struct directory *ret = hash_lookup (directory_table, dir); free_directory (dir); @@ -427,6 +447,7 @@ procdir (const char *name_buffer, struct tar_stat_info *st, struct directory *directory; struct stat *stat_data = &st->stat; bool nfs = NFS_FILE_STAT (*stat_data); + bool perhaps_renamed = false; if ((directory = find_directory (name_buffer)) != NULL) { @@ -481,9 +502,7 @@ procdir (const char *name_buffer, struct tar_stat_info *st, } else { - WARNOPT (WARN_RENAME_DIRECTORY, - (0, 0, _("%s: Directory has been renamed"), - quotearg_colon (name_buffer))); + perhaps_renamed = true; directory->children = ALL_CHILDREN; directory->device_number = stat_data->st_dev; directory->inode_number = stat_data->st_ino; @@ -502,7 +521,7 @@ procdir (const char *name_buffer, struct tar_stat_info *st, stat_data->st_ino); directory = note_directory (name_buffer, - get_stat_mtime(stat_data), + get_stat_mtime (stat_data), stat_data->st_dev, stat_data->st_ino, nfs, @@ -541,13 +560,21 @@ procdir (const char *name_buffer, struct tar_stat_info *st, if (one_file_system_option && st->parent && stat_data->st_dev != st->parent->stat.st_dev) - /* FIXME: - WARNOPT (WARN_XDEV, - (0, 0, - _("%s: directory is on a different filesystem; not dumped"), - quotearg_colon (directory->name))); - */ - directory->children = NO_CHILDREN; + { + WARNOPT (WARN_XDEV, + (0, 0, + _("%s: directory is on a different filesystem; not dumped"), + quotearg_colon (directory->name))); + directory->children = NO_CHILDREN; + /* If there is any dumpdir info in that directory, remove it */ + if (directory->dump) + { + dumpdir_free (directory->dump); + directory->dump = NULL; + } + perhaps_renamed = false; + } + else if (flag & PD_FORCE_CHILDREN) { directory->children = PD_CHILDREN(flag); @@ -555,6 +582,11 @@ procdir (const char *name_buffer, struct tar_stat_info *st, *entry = 'N'; } + if (perhaps_renamed) + WARNOPT (WARN_RENAME_DIRECTORY, + (0, 0, _("%s: Directory has been renamed"), + quotearg_colon (name_buffer))); + DIR_SET_FLAG (directory, DIRF_INIT); if (directory->children != NO_CHILDREN) @@ -577,6 +609,7 @@ procdir (const char *name_buffer, struct tar_stat_info *st, exclusion_tag_warning (name_buffer, tag_file_name, _("contents not dumped")); directory->children = NO_CHILDREN; + directory->tagfile = tag_file_name; break; case exclusion_tag_under: @@ -648,15 +681,13 @@ makedumpdir (struct directory *directory, const char *dir) if (loc) { if (directory->tagfile) - *new_dump_ptr = strcmp (directory->tagfile, array[i]) == 0 ? - ' ' : 'I'; + *new_dump_ptr = 'I'; else *new_dump_ptr = ' '; new_dump_ptr++; } else if (directory->tagfile) - *new_dump_ptr++ = strcmp (directory->tagfile, array[i]) == 0 ? - ' ' : 'I'; + *new_dump_ptr++ = 'I'; else *new_dump_ptr++ = 'Y'; /* New entry */ @@ -667,9 +698,26 @@ makedumpdir (struct directory *directory, const char *dir) *new_dump_ptr = 0; directory->idump = directory->dump; directory->dump = dumpdir_create0 (new_dump, NULL); + free (new_dump); free (array); } +/* Create a dumpdir containing only one entry: that for the + tagfile. */ +static void +maketagdumpdir (struct directory *directory) +{ + size_t len = strlen (directory->tagfile) + 1; + char *new_dump = xmalloc (len + 2); + new_dump[0] = 'Y'; + memcpy (new_dump + 1, directory->tagfile, len); + new_dump[len + 1] = 0; + + directory->idump = directory->dump; + directory->dump = dumpdir_create0 (new_dump, NULL); + free (new_dump); +} + /* Recursively scan the directory identified by ST. */ struct directory * scan_directory (struct tar_stat_info *st) @@ -697,86 +745,94 @@ scan_directory (struct tar_stat_info *st) nbuf = namebuf_create (dir); - if (dirp && directory->children != NO_CHILDREN) + if (dirp) { - char *entry; /* directory entry being scanned */ - struct dumpdir_iter *itr; - - makedumpdir (directory, dirp); - - for (entry = dumpdir_first (directory->dump, 1, &itr); - entry; - entry = dumpdir_next (itr)) + if (directory->children != NO_CHILDREN) { - char *full_name = namebuf_name (nbuf, entry + 1); - - if (*entry == 'I') /* Ignored entry */ - *entry = 'N'; - else if (excluded_name (full_name)) - *entry = 'N'; - else - { - int fd = st->fd; - void (*diag) (char const *) = 0; - struct tar_stat_info stsub; - tar_stat_init (&stsub); + char *entry; /* directory entry being scanned */ + struct dumpdir_iter *itr; - if (fd < 0) - { - errno = - fd; - diag = open_diag; - } - else if (fstatat (fd, entry + 1, &stsub.stat, fstatat_flags) != 0) - diag = stat_diag; - else if (S_ISDIR (stsub.stat.st_mode)) - { - int subfd = subfile_open (st, entry + 1, open_read_flags); - if (subfd < 0) - diag = open_diag; - else - { - stsub.fd = subfd; - if (fstat (subfd, &stsub.stat) != 0) - diag = stat_diag; - } - } + makedumpdir (directory, dirp); - if (diag) - { - file_removed_diag (full_name, false, diag); - *entry = 'N'; - } - else if (S_ISDIR (stsub.stat.st_mode)) - { - int pd_flag = 0; - if (!recursion_option) - pd_flag |= PD_FORCE_CHILDREN | NO_CHILDREN; - else if (directory->children == ALL_CHILDREN) - pd_flag |= PD_FORCE_CHILDREN | ALL_CHILDREN; - *entry = 'D'; - - stsub.parent = st; - procdir (full_name, &stsub, pd_flag, entry); - restore_parent_fd (&stsub); - } - else if (one_file_system_option && device != stsub.stat.st_dev) + for (entry = dumpdir_first (directory->dump, 1, &itr); + entry; + entry = dumpdir_next (itr)) + { + char *full_name = namebuf_name (nbuf, entry + 1); + + if (*entry == 'I') /* Ignored entry */ *entry = 'N'; - else if (*entry == 'Y') - /* New entry, skip further checks */; - /* FIXME: if (S_ISHIDDEN (stat_data.st_mode))?? */ - else if (OLDER_STAT_TIME (stsub.stat, m) - && (!after_date_option - || OLDER_STAT_TIME (stsub.stat, c))) + else if (excluded_name (full_name)) *entry = 'N'; else - *entry = 'Y'; + { + int fd = st->fd; + void (*diag) (char const *) = 0; + struct tar_stat_info stsub; + tar_stat_init (&stsub); - tar_stat_destroy (&stsub); + if (fd < 0) + { + errno = - fd; + diag = open_diag; + } + else if (fstatat (fd, entry + 1, &stsub.stat, + fstatat_flags) != 0) + diag = stat_diag; + else if (S_ISDIR (stsub.stat.st_mode)) + { + int subfd = subfile_open (st, entry + 1, + open_read_flags); + if (subfd < 0) + diag = open_diag; + else + { + stsub.fd = subfd; + if (fstat (subfd, &stsub.stat) != 0) + diag = stat_diag; + } + } + + if (diag) + { + file_removed_diag (full_name, false, diag); + *entry = 'N'; + } + else if (S_ISDIR (stsub.stat.st_mode)) + { + int pd_flag = 0; + if (!recursion_option) + pd_flag |= PD_FORCE_CHILDREN | NO_CHILDREN; + else if (directory->children == ALL_CHILDREN) + pd_flag |= PD_FORCE_CHILDREN | ALL_CHILDREN; + *entry = 'D'; + + stsub.parent = st; + procdir (full_name, &stsub, pd_flag, entry); + restore_parent_fd (&stsub); + } + else if (one_file_system_option && + device != stsub.stat.st_dev) + *entry = 'N'; + else if (*entry == 'Y') + /* New entry, skip further checks */; + /* FIXME: if (S_ISHIDDEN (stat_data.st_mode))?? */ + else if (OLDER_STAT_TIME (stsub.stat, m) + && (!after_date_option + || OLDER_STAT_TIME (stsub.stat, c))) + *entry = 'N'; + else + *entry = 'Y'; + + tar_stat_destroy (&stsub); + } } + free (itr); } - free (itr); + else if (directory->tagfile) + maketagdumpdir (directory); } - + namebuf_free (nbuf); free (dirp); @@ -829,7 +885,7 @@ store_rename (struct directory *dir, struct obstack *stk) are ignored when hit by this function next time. If the chain forms a cycle, prev points to the entry DIR is renamed from. In this case it still retains DIRF_RENAMED flag, which will be - cleared in the `else' branch below */ + cleared in the 'else' branch below */ for (prev = dir; prev && prev->orig != dir; prev = prev->orig) DIR_CLEAR_FLAG (prev, DIRF_RENAMED); @@ -915,8 +971,6 @@ read_incr_db_01 (int version, const char *initbuf) { int n; uintmax_t u; - time_t sec; - long int nsec; char *buf = NULL; size_t bufsize = 0; char *ebuf; @@ -938,21 +992,15 @@ read_incr_db_01 (int version, const char *initbuf) bufsize = strlen (buf) + 1; } - sec = TYPE_MINIMUM (time_t); - nsec = -1; - errno = 0; - u = strtoumax (buf, &ebuf, 10); - if (!errno && TYPE_MAXIMUM (time_t) < u) - errno = ERANGE; - if (errno || buf == ebuf) + newer_mtime_option = decode_timespec (buf, &ebuf, false); + + if (! valid_timespec (newer_mtime_option)) ERROR ((0, errno, "%s:%ld: %s", quotearg_colon (listed_incremental_option), lineno, _("Invalid time stamp"))); else { - sec = u; - if (version == 1 && *ebuf) { char const *buf_ns = ebuf + 1; @@ -966,20 +1014,13 @@ read_incr_db_01 (int version, const char *initbuf) quotearg_colon (listed_incremental_option), lineno, _("Invalid time stamp"))); - sec = TYPE_MINIMUM (time_t); + newer_mtime_option.tv_sec = TYPE_MINIMUM (time_t); + newer_mtime_option.tv_nsec = -1; } else - nsec = u; - } - else - { - /* pre-1 incremental format does not contain nanoseconds */ - nsec = 0; + newer_mtime_option.tv_nsec = u; } } - newer_mtime_option.tv_sec = sec; - newer_mtime_option.tv_nsec = nsec; - while (0 < (n = getline (&buf, &bufsize, listed_incremental_stream))) { @@ -996,20 +1037,12 @@ read_incr_db_01 (int version, const char *initbuf) if (version == 1) { - errno = 0; - u = strtoumax (strp, &ebuf, 10); - if (!errno && TYPE_MAXIMUM (time_t) < u) - errno = ERANGE; - if (errno || strp == ebuf || *ebuf != ' ') - { - ERROR ((0, errno, "%s:%ld: %s", - quotearg_colon (listed_incremental_option), lineno, - _("Invalid modification time (seconds)"))); - sec = (time_t) -1; - } - else - sec = u; + mtime = decode_timespec (strp, &ebuf, false); strp = ebuf; + if (!valid_timespec (mtime) || *strp != ' ') + ERROR ((0, errno, "%s:%ld: %s", + quotearg_colon (listed_incremental_option), lineno, + _("Invalid modification time"))); errno = 0; u = strtoumax (strp, &ebuf, 10); @@ -1020,46 +1053,30 @@ read_incr_db_01 (int version, const char *initbuf) ERROR ((0, errno, "%s:%ld: %s", quotearg_colon (listed_incremental_option), lineno, _("Invalid modification time (nanoseconds)"))); - nsec = -1; + mtime.tv_nsec = -1; } else - nsec = u; - mtime.tv_sec = sec; - mtime.tv_nsec = nsec; + mtime.tv_nsec = u; strp = ebuf; } else - memset (&mtime, 0, sizeof mtime); + mtime.tv_sec = mtime.tv_nsec = 0; - errno = 0; - u = strtoumax (strp, &ebuf, 10); - if (!errno && TYPE_MAXIMUM (dev_t) < u) - errno = ERANGE; - if (errno || strp == ebuf || *ebuf != ' ') - { - ERROR ((0, errno, "%s:%ld: %s", - quotearg_colon (listed_incremental_option), lineno, - _("Invalid device number"))); - dev = (dev_t) -1; - } - else - dev = u; + dev = strtosysint (strp, &ebuf, + TYPE_MINIMUM (dev_t), TYPE_MAXIMUM (dev_t)); strp = ebuf; + if (errno || *strp != ' ') + ERROR ((0, errno, "%s:%ld: %s", + quotearg_colon (listed_incremental_option), lineno, + _("Invalid device number"))); - errno = 0; - u = strtoumax (strp, &ebuf, 10); - if (!errno && TYPE_MAXIMUM (ino_t) < u) - errno = ERANGE; - if (errno || strp == ebuf || *ebuf != ' ') - { - ERROR ((0, errno, "%s:%ld: %s", - quotearg_colon (listed_incremental_option), lineno, - _("Invalid inode number"))); - ino = (ino_t) -1; - } - else - ino = u; + ino = strtosysint (strp, &ebuf, + TYPE_MINIMUM (ino_t), TYPE_MAXIMUM (ino_t)); strp = ebuf; + if (errno || *strp != ' ') + ERROR ((0, errno, "%s:%ld: %s", + quotearg_colon (listed_incremental_option), lineno, + _("Invalid inode number"))); strp++; unquote_string (strp); @@ -1086,97 +1103,84 @@ read_obstack (FILE *fp, struct obstack *stk, size_t *pcount) return c; } -/* Read from file FP a nul-terminated string and convert it to - intmax_t. Return the resulting value in PVAL. Assume '-' has - already been read. +/* Read from file FP a null-terminated string and convert it to an + integer. FIELDNAME is the intended use of the integer, useful for + diagnostics. MIN_VAL and MAX_VAL are its minimum and maximum + permissible values; MIN_VAL must be nonpositive and MAX_VAL positive. + Store into *PVAL the resulting value, converted to intmax_t. Throw a fatal error if the string cannot be converted or if the - converted value is less than MIN_VAL. */ + converted value is out of range. -static void -read_negative_num (FILE *fp, intmax_t min_val, intmax_t *pval) + Return true if successful, false if end of file. */ + +static bool +read_num (FILE *fp, char const *fieldname, + intmax_t min_val, uintmax_t max_val, intmax_t *pval) { - int c; - size_t i; + int i; char buf[INT_BUFSIZE_BOUND (intmax_t)]; - char *ep; - buf[0] = '-'; + char offbuf[INT_BUFSIZE_BOUND (off_t)]; + char minbuf[INT_BUFSIZE_BOUND (intmax_t)]; + char maxbuf[INT_BUFSIZE_BOUND (intmax_t)]; + int conversion_errno; + int c = getc (fp); + bool negative = c == '-'; - for (i = 1; ISDIGIT (c = getc (fp)); i++) + for (i = 0; (i == 0 && negative) || ISDIGIT (c); i++) { - if (i == sizeof buf - 1) - FATAL_ERROR ((0, 0, _("Field too long while reading snapshot file"))); buf[i] = c; - } - - if (c < 0) - { - if (ferror (fp)) - FATAL_ERROR ((0, errno, _("Read error in snapshot file"))); - else - FATAL_ERROR ((0, 0, _("Unexpected EOF in snapshot file"))); - } - - buf[i] = 0; - errno = 0; - *pval = strtoimax (buf, &ep, 10); - if (c || errno || *pval < min_val) - FATAL_ERROR ((0, errno, _("Unexpected field value in snapshot file"))); -} - -/* Read from file FP a nul-terminated string and convert it to - uintmax_t. Return the resulting value in PVAL. Assume C has - already been read. - - Throw a fatal error if the string cannot be converted or if the - converted value exceeds MAX_VAL. - - Return the last character read or EOF on end of file. */ - -static int -read_unsigned_num (int c, FILE *fp, uintmax_t max_val, uintmax_t *pval) -{ - size_t i; - char buf[UINTMAX_STRSIZE_BOUND], *ep; - - for (i = 0; ISDIGIT (c); i++) - { if (i == sizeof buf - 1) - FATAL_ERROR ((0, 0, _("Field too long while reading snapshot file"))); - buf[i] = c; + FATAL_ERROR ((0, 0, + _("%s: byte %s: %s %.*s... too long"), + quotearg_colon (listed_incremental_option), + offtostr (ftello (fp), offbuf), + fieldname, i + 1, buf)); c = getc (fp); } + buf[i] = 0; + if (c < 0) { if (ferror (fp)) - FATAL_ERROR ((0, errno, _("Read error in snapshot file"))); - else if (i == 0) - return c; - else - FATAL_ERROR ((0, 0, _("Unexpected EOF in snapshot file"))); + read_fatal (listed_incremental_option); + if (i != 0) + FATAL_ERROR ((0, 0, "%s: %s", + quotearg_colon (listed_incremental_option), + _("Unexpected EOF in snapshot file"))); + return false; } - buf[i] = 0; - errno = 0; - *pval = strtoumax (buf, &ep, 10); - if (c || errno || max_val < *pval) - FATAL_ERROR ((0, errno, _("Unexpected field value in snapshot file"))); - return c; -} - -/* Read from file FP a nul-terminated string and convert it to - uintmax_t. Return the resulting value in PVAL. + if (c) + FATAL_ERROR ((0, 0, + _("%s: byte %s: %s %s followed by invalid byte 0x%02x"), + quotearg_colon (listed_incremental_option), + offtostr (ftello (fp), offbuf), + fieldname, buf, c)); - Throw a fatal error if the string cannot be converted or if the - converted value exceeds MAX_VAL. + *pval = strtosysint (buf, NULL, min_val, max_val); + conversion_errno = errno; - Return the last character read or EOF on end of file. */ + switch (conversion_errno) + { + case ERANGE: + FATAL_ERROR ((0, conversion_errno, + _("%s: byte %s: (valid range %s..%s)\n\t%s %s"), + quotearg_colon (listed_incremental_option), + offtostr (ftello (fp), offbuf), + imaxtostr (min_val, minbuf), + umaxtostr (max_val, maxbuf), fieldname, buf)); + default: + FATAL_ERROR ((0, conversion_errno, + _("%s: byte %s: %s %s"), + quotearg_colon (listed_incremental_option), + offtostr (ftello (fp), offbuf), fieldname, buf)); + case 0: + break; + } -static int -read_num (FILE *fp, uintmax_t max_val, uintmax_t *pval) -{ - return read_unsigned_num (getc (fp), fp, max_val, pval); + return true; } /* Read from FP two NUL-terminated strings representing a struct @@ -1187,35 +1191,28 @@ read_num (FILE *fp, uintmax_t max_val, uintmax_t *pval) static void read_timespec (FILE *fp, struct timespec *pval) { - int c = getc (fp); - intmax_t i; - uintmax_t u; + intmax_t s, ns; - if (c == '-') + if (read_num (fp, "sec", TYPE_MINIMUM (time_t), TYPE_MAXIMUM (time_t), &s) + && read_num (fp, "nsec", 0, BILLION - 1, &ns)) { - read_negative_num (fp, TYPE_MINIMUM (time_t), &i); - c = 0; - pval->tv_sec = i; + pval->tv_sec = s; + pval->tv_nsec = ns; } else { - c = read_unsigned_num (c, fp, TYPE_MAXIMUM (time_t), &u); - pval->tv_sec = u; + FATAL_ERROR ((0, 0, "%s: %s", + quotearg_colon (listed_incremental_option), + _("Unexpected EOF in snapshot file"))); } - - if (c || read_num (fp, BILLION - 1, &u)) - FATAL_ERROR ((0, 0, "%s: %s", - quotearg_colon (listed_incremental_option), - _("Unexpected EOF in snapshot file"))); - pval->tv_nsec = u; } /* Read incremental snapshot format 2 */ static void read_incr_db_2 (void) { - uintmax_t u; struct obstack stk; + char offbuf[INT_BUFSIZE_BOUND (off_t)]; obstack_init (&stk); @@ -1223,6 +1220,7 @@ read_incr_db_2 (void) for (;;) { + intmax_t i; struct timespec mtime; dev_t dev; ino_t ino; @@ -1231,20 +1229,22 @@ read_incr_db_2 (void) char *content; size_t s; - if (read_num (listed_incremental_stream, 1, &u)) + if (! read_num (listed_incremental_stream, "nfs", 0, 1, &i)) return; /* Normal return */ - nfs = u; + nfs = i; read_timespec (listed_incremental_stream, &mtime); - if (read_num (listed_incremental_stream, TYPE_MAXIMUM (dev_t), &u)) + if (! read_num (listed_incremental_stream, "dev", + TYPE_MINIMUM (dev_t), TYPE_MAXIMUM (dev_t), &i)) break; - dev = u; + dev = i; - if (read_num (listed_incremental_stream, TYPE_MAXIMUM (ino_t), &u)) + if (! read_num (listed_incremental_stream, "ino", + TYPE_MINIMUM (ino_t), TYPE_MAXIMUM (ino_t), &i)) break; - ino = u; + ino = i; if (read_obstack (listed_incremental_stream, &stk, &s)) break; @@ -1254,8 +1254,9 @@ read_incr_db_2 (void) while (read_obstack (listed_incremental_stream, &stk, &s) == 0 && s > 1) ; if (getc (listed_incremental_stream) != 0) - FATAL_ERROR ((0, 0, "%s: %s", + FATAL_ERROR ((0, 0, _("%s: byte %s: %s"), quotearg_colon (listed_incremental_option), + offtostr (ftello (listed_incremental_stream), offbuf), _("Missing record terminator"))); content = obstack_finish (&stk); @@ -1267,6 +1268,51 @@ read_incr_db_2 (void) _("Unexpected EOF in snapshot file"))); } +/* Display (to stdout) the range of allowed values for each field + in the snapshot file. The array below should be kept in sync + with any changes made to the read_num() calls in the parsing + loop inside read_incr_db_2(). + + (This function is invoked via the --show-snapshot-field-ranges + command line option.) */ + +struct field_range +{ + char const *fieldname; + intmax_t min_val; + uintmax_t max_val; +}; + +static struct field_range const field_ranges[] = { + { "nfs", 0, 1 }, + { "timestamp_sec", TYPE_MINIMUM (time_t), TYPE_MAXIMUM (time_t) }, + { "timestamp_nsec", 0, BILLION - 1 }, + { "dev", TYPE_MINIMUM (dev_t), TYPE_MAXIMUM (dev_t) }, + { "ino", TYPE_MINIMUM (ino_t), TYPE_MAXIMUM (ino_t) }, + { NULL, 0, 0 } +}; + +void +show_snapshot_field_ranges (void) +{ + struct field_range const *p; + char minbuf[max (SYSINT_BUFSIZE, INT_BUFSIZE_BOUND (intmax_t))]; + char maxbuf[max (SYSINT_BUFSIZE, INT_BUFSIZE_BOUND (uintmax_t))]; + + printf("This tar's snapshot file field ranges are\n"); + printf (" (%-15s => [ %s, %s ]):\n\n", "field name", "min", "max"); + + for (p=field_ranges; p->fieldname != NULL; p++) + { + printf (" %-15s => [ %s, %s ],\n", p->fieldname, + sysinttostr (p->min_val, p->min_val, p->max_val, minbuf), + sysinttostr (p->max_val, p->min_val, p->max_val, maxbuf)); + + } + + printf("\n"); +} + /* Read incremental snapshot file (directory file). If the file has older incremental version, make sure that it is processed correctly and that tar will use the most conservative backup method among @@ -1360,20 +1406,21 @@ write_directory_file_entry (void *entry, void *data) if (DIR_IS_FOUND (directory)) { - char buf[UINTMAX_STRSIZE_BOUND]; + char buf[max (SYSINT_BUFSIZE, INT_BUFSIZE_BOUND (intmax_t))]; char const *s; s = DIR_IS_NFS (directory) ? "1" : "0"; fwrite (s, 2, 1, fp); - s = (TYPE_SIGNED (time_t) - ? imaxtostr (directory->mtime.tv_sec, buf) - : umaxtostr (directory->mtime.tv_sec, buf)); + s = sysinttostr (directory->mtime.tv_sec, TYPE_MINIMUM (time_t), + TYPE_MAXIMUM (time_t), buf); fwrite (s, strlen (s) + 1, 1, fp); - s = umaxtostr (directory->mtime.tv_nsec, buf); + s = imaxtostr (directory->mtime.tv_nsec, buf); fwrite (s, strlen (s) + 1, 1, fp); - s = umaxtostr (directory->device_number, buf); + s = sysinttostr (directory->device_number, + TYPE_MINIMUM (dev_t), TYPE_MAXIMUM (dev_t), buf); fwrite (s, strlen (s) + 1, 1, fp); - s = umaxtostr (directory->inode_number, buf); + s = sysinttostr (directory->inode_number, + TYPE_MINIMUM (ino_t), TYPE_MAXIMUM (ino_t), buf); fwrite (s, strlen (s) + 1, 1, fp); fwrite (directory->name, strlen (directory->name) + 1, 1, fp); @@ -1580,7 +1627,7 @@ try_purge_directory (char const *directory_name) if (!is_dumpdir (¤t_stat_info)) return false; - current_dir = savedir (directory_name); + current_dir = tar_savedir (directory_name, 0); if (!current_dir) /* The directory doesn't exist now. It'll be created. In any diff --git a/src/list.c b/src/list.c index cf2de096..858aa739 100644 --- a/src/list.c +++ b/src/list.c @@ -1,23 +1,24 @@ /* List a tar archive, with support routines for reading a tar archive. - Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, - 2001, 2003, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc. + Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2013 + Free Software Foundation, Inc. - Written by John Gilmore, on 1985-08-26. + This file is part of GNU tar. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. + GNU tar 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. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by John Gilmore, on 1985-08-26. */ #include #include @@ -25,15 +26,13 @@ #include "common.h" -#define max(a, b) ((a) < (b) ? (b) : (a)) - union block *current_header; /* points to current archive header */ enum archive_format current_format; /* recognized format */ union block *recent_long_name; /* recent long name header and contents */ union block *recent_long_link; /* likewise, for long link */ size_t recent_long_name_blocks; /* number of blocks in recent_long_name */ size_t recent_long_link_blocks; /* likewise, for long link */ -union block *recent_global_header; /* Recent global header block */ +static union block *recent_global_header; /* Recent global header block */ #define GID_FROM_HEADER(where) gid_from_header (where, sizeof (where)) #define MAJOR_FROM_HEADER(where) major_from_header (where, sizeof (where)) @@ -46,11 +45,11 @@ union block *recent_global_header; /* Recent global header block */ static gid_t gid_from_header (const char *buf, size_t size); static major_t major_from_header (const char *buf, size_t size); static minor_t minor_from_header (const char *buf, size_t size); -static mode_t mode_from_header (const char *buf, size_t size, unsigned *hbits); +static mode_t mode_from_header (const char *buf, size_t size, bool *hbits); static time_t time_from_header (const char *buf, size_t size); static uid_t uid_from_header (const char *buf, size_t size); -static uintmax_t from_header (const char *, size_t, const char *, - uintmax_t, uintmax_t, bool, bool); +static intmax_t from_header (const char *, size_t, const char *, + intmax_t, uintmax_t, bool, bool); /* Base 64 digits; see Internet RFC 2045 Table 1. */ static char const base_64_digits[64] = @@ -317,7 +316,7 @@ tar_checksum (union block *header, bool silent) int unsigned_sum = 0; /* the POSIX one :-) */ int signed_sum = 0; /* the Sun one :-( */ int recorded_sum; - uintmax_t parsed_sum; + int parsed_sum; char *p; p = header->buffer; @@ -342,9 +341,8 @@ tar_checksum (union block *header, bool silent) parsed_sum = from_header (header->header.chksum, sizeof header->header.chksum, 0, - (uintmax_t) 0, - (uintmax_t) TYPE_MAXIMUM (int), true, silent); - if (parsed_sum == (uintmax_t) -1) + 0, INT_MAX, true, silent); + if (parsed_sum < 0) return HEADER_FAILURE; recorded_sum = parsed_sum; @@ -407,7 +405,11 @@ read_header (union block **return_block, struct tar_stat_info *info, if (header->header.typeflag == LNKTYPE) info->stat.st_size = 0; /* links 0 size on tape */ else - info->stat.st_size = OFF_FROM_HEADER (header->header.size); + { + info->stat.st_size = OFF_FROM_HEADER (header->header.size); + if (info->stat.st_size < 0) + return HEADER_FAILURE; + } if (header->header.typeflag == GNUTYPE_LONGNAME || header->header.typeflag == GNUTYPE_LONGLINK @@ -572,7 +574,7 @@ decode_header (union block *header, struct tar_stat_info *stat_info, enum archive_format *format_pointer, int do_user_group) { enum archive_format format; - unsigned hbits; /* high bits of the file mode. */ + bool hbits; mode_t mode = MODE_FROM_HEADER (header->header.mode, &hbits); if (strcmp (header->header.magic, TMAGIC) == 0) @@ -604,6 +606,8 @@ decode_header (union block *header, struct tar_stat_info *stat_info, assign_string (&stat_info->gname, header->header.gname[0] ? header->header.gname : NULL); + xheader_xattr_init (stat_info); + if (format == OLDGNU_FORMAT && incremental_option) { stat_info->atime.tv_sec = TIME_FROM_HEADER (header->oldgnu_header.atime); @@ -677,20 +681,30 @@ decode_header (union block *header, struct tar_stat_info *stat_info, /* Convert buffer at WHERE0 of size DIGS from external format to - uintmax_t. DIGS must be positive. If TYPE is nonnull, the data - are of type TYPE. The buffer must represent a value in the range - -MINUS_MINVAL through MAXVAL. If OCTAL_ONLY, allow only octal + intmax_t. DIGS must be positive. If TYPE is nonnull, the data are + of type TYPE. The buffer must represent a value in the range + MINVAL through MAXVAL; if the mathematically correct result V would + be greater than INTMAX_MAX, return a negative integer V such that + (uintmax_t) V yields the correct result. If OCTAL_ONLY, allow only octal numbers instead of the other GNU extensions. Return -1 on error, diagnosing the error if TYPE is nonnull and if !SILENT. */ -static uintmax_t +#if ! (INTMAX_MAX <= UINTMAX_MAX && - (INTMAX_MIN + 1) <= UINTMAX_MAX) +# error "from_header internally represents intmax_t as uintmax_t + sign" +#endif +#if ! (UINTMAX_MAX / 2 <= INTMAX_MAX) +# error "from_header returns intmax_t to represent uintmax_t" +#endif +static intmax_t from_header (char const *where0, size_t digs, char const *type, - uintmax_t minus_minval, uintmax_t maxval, + intmax_t minval, uintmax_t maxval, bool octal_only, bool silent) { uintmax_t value; + uintmax_t uminval = minval; + uintmax_t minus_minval = - uminval; char const *where = where0; char const *lim = where + digs; - int negative = 0; + bool negative = false; /* Accommodate buggy tar of unknown vintage, which outputs leading NUL if the previous field overflows. */ @@ -718,14 +732,14 @@ from_header (char const *where0, size_t digs, char const *type, if (ISODIGIT (*where)) { char const *where1 = where; - uintmax_t overflow = 0; + bool overflow = false; for (;;) { value += *where++ - '0'; if (where == lim || ! ISODIGIT (*where)) break; - overflow |= value ^ (value << LG_8 >> LG_8); + overflow |= value != (value << LG_8 >> LG_8); value <<= LG_8; } @@ -749,7 +763,7 @@ from_header (char const *where0, size_t digs, char const *type, if (where == lim || ! ISODIGIT (*where)) break; digit = *where - '0'; - overflow |= value ^ (value << LG_8 >> LG_8); + overflow |= value != (value << LG_8 >> LG_8); value <<= LG_8; } value++; @@ -762,7 +776,7 @@ from_header (char const *where0, size_t digs, char const *type, /* TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) */ _("Archive octal value %.*s is out of %s range; assuming two's complement"), (int) (where - where1), where1, type)); - negative = 1; + negative = true; } } @@ -842,7 +856,7 @@ from_header (char const *where0, size_t digs, char const *type, return -1; } } - negative = signbit; + negative = signbit != 0; if (negative) value = -value; } @@ -862,7 +876,7 @@ from_header (char const *where0, size_t digs, char const *type, while (where0 != lim && ! lim[-1]) lim--; - quotearg_buffer (buf, sizeof buf, where0, lim - where, o); + quotearg_buffer (buf, sizeof buf, where0, lim - where0, o); if (!silent) ERROR ((0, 0, /* TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.) */ @@ -874,7 +888,7 @@ from_header (char const *where0, size_t digs, char const *type, } if (value <= (negative ? minus_minval : maxval)) - return negative ? -value : value; + return represent_uintmax (negative ? -value : value); if (type && !silent) { @@ -900,8 +914,7 @@ static gid_t gid_from_header (const char *p, size_t s) { return from_header (p, s, "gid_t", - - (uintmax_t) TYPE_MINIMUM (gid_t), - (uintmax_t) TYPE_MAXIMUM (gid_t), + TYPE_MINIMUM (gid_t), TYPE_MAXIMUM (gid_t), false, false); } @@ -909,26 +922,26 @@ static major_t major_from_header (const char *p, size_t s) { return from_header (p, s, "major_t", - - (uintmax_t) TYPE_MINIMUM (major_t), - (uintmax_t) TYPE_MAXIMUM (major_t), false, false); + TYPE_MINIMUM (major_t), TYPE_MAXIMUM (major_t), + false, false); } static minor_t minor_from_header (const char *p, size_t s) { return from_header (p, s, "minor_t", - - (uintmax_t) TYPE_MINIMUM (minor_t), - (uintmax_t) TYPE_MAXIMUM (minor_t), false, false); + TYPE_MINIMUM (minor_t), TYPE_MAXIMUM (minor_t), + false, false); } /* Convert P to the file mode, as understood by tar. - Store unrecognized mode bits (from 10th up) in HBITS. */ + Set *HBITS if there are any unrecognized bits. */ static mode_t -mode_from_header (const char *p, size_t s, unsigned *hbits) +mode_from_header (const char *p, size_t s, bool *hbits) { - unsigned u = from_header (p, s, "mode_t", - - (uintmax_t) TYPE_MINIMUM (mode_t), - TYPE_MAXIMUM (uintmax_t), false, false); + intmax_t u = from_header (p, s, "mode_t", + INTMAX_MIN, UINTMAX_MAX, + false, false); mode_t mode = ((u & TSUID ? S_ISUID : 0) | (u & TSGID ? S_ISGID : 0) | (u & TSVTX ? S_ISVTX : 0) @@ -941,7 +954,7 @@ mode_from_header (const char *p, size_t s, unsigned *hbits) | (u & TOREAD ? S_IROTH : 0) | (u & TOWRITE ? S_IWOTH : 0) | (u & TOEXEC ? S_IXOTH : 0)); - *hbits = mode ^ u; + *hbits = (u & ~07777) != 0; return mode; } @@ -950,31 +963,31 @@ off_from_header (const char *p, size_t s) { /* Negative offsets are not allowed in tar files, so invoke from_header with minimum value 0, not TYPE_MINIMUM (off_t). */ - return from_header (p, s, "off_t", (uintmax_t) 0, - (uintmax_t) TYPE_MAXIMUM (off_t), false, false); + return from_header (p, s, "off_t", + 0, TYPE_MAXIMUM (off_t), + false, false); } static time_t time_from_header (const char *p, size_t s) { return from_header (p, s, "time_t", - - (uintmax_t) TYPE_MINIMUM (time_t), - (uintmax_t) TYPE_MAXIMUM (time_t), false, false); + TYPE_MINIMUM (time_t), TYPE_MAXIMUM (time_t), + false, false); } static uid_t uid_from_header (const char *p, size_t s) { return from_header (p, s, "uid_t", - - (uintmax_t) TYPE_MINIMUM (uid_t), - (uintmax_t) TYPE_MAXIMUM (uid_t), false, false); + TYPE_MINIMUM (uid_t), TYPE_MAXIMUM (uid_t), + false, false); } uintmax_t uintmax_from_header (const char *p, size_t s) { - return from_header (p, s, "uintmax_t", (uintmax_t) 0, - TYPE_MAXIMUM (uintmax_t), false, false); + return from_header (p, s, "uintmax_t", 0, UINTMAX_MAX, false, false); } @@ -1064,13 +1077,14 @@ static void simple_print_header (struct tar_stat_info *st, union block *blk, off_t block_ordinal) { - char modes[11]; + char modes[12]; char const *time_stamp; int time_stamp_len; char *temp_name; /* These hold formatted ints. */ - char uform[UINTMAX_STRSIZE_BOUND], gform[UINTMAX_STRSIZE_BOUND]; + char uform[max (INT_BUFSIZE_BOUND (intmax_t), UINTMAX_STRSIZE_BOUND)]; + char gform[sizeof uform]; char *user, *group; char size[2 * UINTMAX_STRSIZE_BOUND]; /* holds formatted size or major,minor */ @@ -1156,6 +1170,9 @@ simple_print_header (struct tar_stat_info *st, union block *blk, pax_decode_mode (st->stat.st_mode, modes + 1); + /* extended attributes: GNU `ls -l'-like preview */ + xattrs_print_char (st, modes + 10); + /* Time stamp. */ time_stamp = tartime (st->mtime, full_time_option); @@ -1177,17 +1194,11 @@ simple_print_header (struct tar_stat_info *st, union block *blk, ids that are too large to fit in a uid_t. */ uintmax_t u = from_header (blk->header.uid, sizeof blk->header.uid, 0, - (uintmax_t) 0, - (uintmax_t) TYPE_MAXIMUM (uintmax_t), + 0, UINTMAX_MAX, false, false); - if (u != -1) - user = STRINGIFY_BIGINT (u, uform); - else - { - sprintf (uform, "%ld", - (long) UID_FROM_HEADER (blk->header.uid)); - user = uform; - } + user = (u != -1 + ? STRINGIFY_BIGINT (u, uform) + : imaxtostr (UID_FROM_HEADER (blk->header.uid), uform)); } if (st->gname @@ -1202,17 +1213,11 @@ simple_print_header (struct tar_stat_info *st, union block *blk, ids that are too large to fit in a gid_t. */ uintmax_t g = from_header (blk->header.gid, sizeof blk->header.gid, 0, - (uintmax_t) 0, - (uintmax_t) TYPE_MAXIMUM (uintmax_t), + 0, UINTMAX_MAX, false, false); - if (g != -1) - group = STRINGIFY_BIGINT (g, gform); - else - { - sprintf (gform, "%ld", - (long) GID_FROM_HEADER (blk->header.gid)); - group = gform; - } + group = (g != -1 + ? STRINGIFY_BIGINT (g, gform) + : imaxtostr (GID_FROM_HEADER (blk->header.gid), gform)); } /* Format the file size or major/minor device numbers. */ @@ -1301,6 +1306,7 @@ simple_print_header (struct tar_stat_info *st, union block *blk, } } fflush (stdlis); + xattrs_print (st); } @@ -1357,8 +1363,8 @@ print_for_mkdir (char *dirname, int length, mode_t mode) STRINGIFY_BIGINT (current_block_ordinal (), buf)); } - fprintf (stdlis, "%s %*s %.*s\n", modes, ugswidth + 1 + datewidth, - _("Creating directory:"), length, quotearg (dirname)); + fprintf (stdlis, "%s %*s %s\n", modes, ugswidth + 1 + datewidth, + _("Creating directory:"), quotearg (dirname)); } } @@ -1415,7 +1421,7 @@ skip_member (void) } void -test_archive_label () +test_archive_label (void) { base64_init (); name_gather (); diff --git a/src/misc.c b/src/misc.c index b75f2ab4..0424ea7c 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1,7 +1,7 @@ /* Miscellaneous functions, not really specific to GNU tar. - Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright 1988, 1992, 1994-1997, 1999-2001, 2003-2007, 2009-2010, + 2012-2013 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 @@ -14,9 +14,9 @@ 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. */ + with this program. If not, see . */ +#define COMMON_INLINE _GL_EXTERN_INLINE #include #include #include "common.h" @@ -105,7 +105,7 @@ quote_copy_string (const char *string) completes the unquoting anyway. This is used for reading the saved directory file in incremental - dumps. It is used for decoding old `N' records (demangling names). + dumps. It is used for decoding old 'N' records (demangling names). But also, it is used for decoding file arguments, would they come from the shell or a -T file, and for decoding the --exclude argument. */ @@ -229,11 +229,12 @@ zap_slashes (char *name) } /* Normalize FILE_NAME by removing redundant slashes and "." - components, including redundant trailing slashes. Leave ".." - alone, as it may be significant in the presence of symlinks and on - platforms where "/.." != "/". Destructive version: modifies its - argument. */ -static void + components, including redundant trailing slashes. + Leave ".." alone, as it may be significant in the presence + of symlinks and on platforms where "/.." != "/". + + Destructive version: modifies its argument. */ +void normalize_filename_x (char *file_name) { char *name = file_name + FILE_SYSTEM_PREFIX_LEN (file_name); @@ -267,37 +268,39 @@ normalize_filename_x (char *file_name) } /* Normalize NAME by removing redundant slashes and "." components, - including redundant trailing slashes. Return a normalized - newly-allocated copy. */ + including redundant trailing slashes. + + Return a normalized newly-allocated copy. */ char * -normalize_filename (const char *name) +normalize_filename (int cdidx, const char *name) { char *copy = NULL; if (IS_RELATIVE_FILE_NAME (name)) { - /* Set COPY to the absolute file name if possible. + /* Set COPY to the absolute path for this name. FIXME: There should be no need to get the absolute file name. - getcwd is slow, it might fail, and it does not necessarily - return a canonical name even when it succeeds. Perhaps we - can use dev+ino pairs instead of names? */ - copy = xgetcwd (); - if (copy) - { - size_t copylen = strlen (copy); - bool need_separator = ! (DOUBLE_SLASH_IS_DISTINCT_ROOT - && copylen == 2 && ISSLASH (copy[1])); - copy = xrealloc (copy, copylen + need_separator + strlen (name) + 1); - copy[copylen] = DIRECTORY_SEPARATOR; - strcpy (copy + copylen + need_separator, name); - } - else - WARN ((0, errno, _("Cannot get working directory"))); + tar_getcdpath does not return a true "canonical" path, so + this following approach may lead to situations where the same + file or directory is processed twice under different absolute + paths without that duplication being detected. Perhaps we + should use dev+ino pairs instead of names? */ + const char *cdpath = tar_getcdpath (cdidx); + size_t copylen; + bool need_separator; + + copylen = strlen (cdpath); + need_separator = ! (DOUBLE_SLASH_IS_DISTINCT_ROOT + && copylen == 2 && ISSLASH (cdpath[1])); + copy = xmalloc (copylen + need_separator + strlen (name) + 1); + strcpy (copy, cdpath); + copy[copylen] = DIRECTORY_SEPARATOR; + strcpy (copy + copylen + need_separator, name); } - if (! copy) + if (!copy) copy = xstrdup (name); normalize_filename_x (copy); return copy; @@ -325,6 +328,76 @@ replace_prefix (char **pname, const char *samp, size_t slen, /* Handling numbers. */ +/* Convert VALUE, which is converted from a system integer type whose + minimum value is MINVAL and maximum MINVAL, to an decimal + integer string. Use the storage in BUF and return a pointer to the + converted string. If VALUE is converted from a negative integer in + the range MINVAL .. -1, represent it with a string representation + of the negative integer, using leading '-'. */ +#if ! (INTMAX_MAX <= UINTMAX_MAX / 2) +# error "sysinttostr: uintmax_t cannot represent all intmax_t values" +#endif +char * +sysinttostr (uintmax_t value, intmax_t minval, uintmax_t maxval, + char buf[SYSINT_BUFSIZE]) +{ + if (value <= maxval) + return umaxtostr (value, buf); + else + { + intmax_t i = value - minval; + return imaxtostr (i + minval, buf); + } +} + +/* Convert a prefix of the string ARG to a system integer type whose + minimum value is MINVAL and maximum MAXVAL. If MINVAL is negative, + negative integers MINVAL .. -1 are assumed to be represented using + leading '-' in the usual way. If the represented value exceeds + INTMAX_MAX, return a negative integer V such that (uintmax_t) V + yields the represented value. If ARGLIM is nonnull, store into + *ARGLIM a pointer to the first character after the prefix. + + This is the inverse of sysinttostr. + + On a normal return, set errno = 0. + On conversion error, return 0 and set errno = EINVAL. + On overflow, return an extreme value and set errno = ERANGE. */ +#if ! (INTMAX_MAX <= UINTMAX_MAX) +# error "strtosysint: nonnegative intmax_t does not fit in uintmax_t" +#endif +intmax_t +strtosysint (char const *arg, char **arglim, intmax_t minval, uintmax_t maxval) +{ + errno = 0; + if (maxval <= INTMAX_MAX) + { + if (ISDIGIT (arg[*arg == '-'])) + { + intmax_t i = strtoimax (arg, arglim, 10); + intmax_t imaxval = maxval; + if (minval <= i && i <= imaxval) + return i; + errno = ERANGE; + return i < minval ? minval : maxval; + } + } + else + { + if (ISDIGIT (*arg)) + { + uintmax_t i = strtoumax (arg, arglim, 10); + if (i <= maxval) + return represent_uintmax (i); + errno = ERANGE; + return maxval; + } + } + + errno = EINVAL; + return 0; +} + /* Output fraction and trailing digits appropriate for a nanoseconds count equal to NS, but don't output unnecessary '.' or trailing zeros. */ @@ -381,6 +454,84 @@ code_timespec (struct timespec t, char sbuf[TIMESPEC_STRSIZE_BOUND]) code_ns_fraction (ns, sbuf + UINTMAX_STRSIZE_BOUND); return np; } + +struct timespec +decode_timespec (char const *arg, char **arg_lim, bool parse_fraction) +{ + time_t s = TYPE_MINIMUM (time_t); + int ns = -1; + char const *p = arg; + bool negative = *arg == '-'; + struct timespec r; + + if (! ISDIGIT (arg[negative])) + errno = EINVAL; + else + { + errno = 0; + + if (negative) + { + intmax_t i = strtoimax (arg, arg_lim, 10); + if (TYPE_SIGNED (time_t) ? TYPE_MINIMUM (time_t) <= i : 0 <= i) + s = i; + else + errno = ERANGE; + } + else + { + uintmax_t i = strtoumax (arg, arg_lim, 10); + if (i <= TYPE_MAXIMUM (time_t)) + s = i; + else + errno = ERANGE; + } + + p = *arg_lim; + ns = 0; + + if (parse_fraction && *p == '.') + { + int digits = 0; + bool trailing_nonzero = false; + + while (ISDIGIT (*++p)) + if (digits < LOG10_BILLION) + digits++, ns = 10 * ns + (*p - '0'); + else + trailing_nonzero |= *p != '0'; + + while (digits < LOG10_BILLION) + digits++, ns *= 10; + + if (negative) + { + /* Convert "-1.10000000000001" to s == -2, ns == 89999999. + I.e., truncate time stamps towards minus infinity while + converting them to internal form. */ + ns += trailing_nonzero; + if (ns != 0) + { + if (s == TYPE_MINIMUM (time_t)) + ns = -1; + else + { + s--; + ns = BILLION - ns; + } + } + } + } + + if (errno == ERANGE) + ns = -1; + } + + *arg_lim = (char *) p; + r.tv_sec = s; + r.tv_nsec = ns; + return r; +} /* File handling. */ @@ -483,7 +634,7 @@ remove_any_file (const char *file_name, enum remove_option option) case RECURSIVE_REMOVE_OPTION: { - char *directory = savedir (file_name); + char *directory = tar_savedir (file_name, 0); char const *entry; size_t entrylen; @@ -616,6 +767,57 @@ deref_stat (char const *name, struct stat *buf) return fstatat (chdir_fd, name, buf, fstatat_flags); } +/* Read from FD into the buffer BUF with COUNT bytes. Attempt to fill + BUF. Wait until input is available; this matters because files are + opened O_NONBLOCK for security reasons, and on some file systems + this can cause read to fail with errno == EAGAIN. Return the + actual number of bytes read, zero for EOF, or + SAFE_READ_ERROR upon error. */ +size_t +blocking_read (int fd, void *buf, size_t count) +{ + size_t bytes = safe_read (fd, buf, count); + +#if defined F_SETFL && O_NONBLOCK + if (bytes == SAFE_READ_ERROR && errno == EAGAIN) + { + int flags = fcntl (fd, F_GETFL); + if (0 <= flags && flags & O_NONBLOCK + && fcntl (fd, F_SETFL, flags & ~O_NONBLOCK) != -1) + bytes = safe_read (fd, buf, count); + } +#endif + + return bytes; +} + +/* Write to FD from the buffer BUF with COUNT bytes. Do a full write. + Wait until an output buffer is available; this matters because + files are opened O_NONBLOCK for security reasons, and on some file + systems this can cause write to fail with errno == EAGAIN. Return + the actual number of bytes written, setting errno if that is less + than COUNT. */ +size_t +blocking_write (int fd, void const *buf, size_t count) +{ + size_t bytes = full_write (fd, buf, count); + +#if defined F_SETFL && O_NONBLOCK + if (bytes < count && errno == EAGAIN) + { + int flags = fcntl (fd, F_GETFL); + if (0 <= flags && flags & O_NONBLOCK + && fcntl (fd, F_SETFL, flags & ~O_NONBLOCK) != -1) + { + char const *buffer = buf; + bytes += full_write (fd, buffer + bytes, count - bytes); + } + } +#endif + + return bytes; +} + /* Set FD's (i.e., assuming the working directory is PARENTFD, FILE's) access time to ATIME. */ int @@ -632,7 +834,10 @@ struct wd { /* The directory's name. */ char const *name; - + /* "absolute" path representing this directory; in the contrast to + the real absolute pathname, it can contain /../ components (see + normalize_filename_x for the reason of it). */ + char *abspath; /* If nonzero, the file descriptor of the directory, or AT_FDCWD if the working directory. If zero, the directory needs to be opened to be used. */ @@ -662,7 +867,7 @@ static int wdcache[CHDIR_CACHE_SIZE]; static size_t wdcache_count; int -chdir_count () +chdir_count (void) { if (wd_count == 0) return wd_count; @@ -687,6 +892,7 @@ chdir_arg (char const *dir) if (! wd_count) { wd[wd_count].name = "."; + wd[wd_count].abspath = xgetcwd (); wd[wd_count].fd = AT_FDCWD; wd_count++; } @@ -704,6 +910,17 @@ chdir_arg (char const *dir) } wd[wd_count].name = dir; + /* if the given name is an absolute path, then use that path + to represent this working directory; otherwise, construct + a path based on the previous -C option's absolute path */ + if (IS_ABSOLUTE_FILE_NAME (wd[wd_count].name)) + wd[wd_count].abspath = xstrdup (wd[wd_count].name); + else + { + namebuf_t nbuf = namebuf_create (wd[wd_count - 1].abspath); + namebuf_add_dir (nbuf, wd[wd_count].name); + wd[wd_count].abspath = namebuf_finish (nbuf); + } wd[wd_count].fd = 0; return wd_count++; } @@ -763,11 +980,11 @@ chdir_do (int i) int prev = wdcache[0]; for (ci = 1; prev != i; ci++) { - int curr = wdcache[ci]; + int cur = wdcache[ci]; wdcache[ci] = prev; - if (curr == i) + if (cur == i) break; - prev = curr; + prev = cur; } wdcache[0] = i; } @@ -777,6 +994,32 @@ chdir_do (int i) } } +const char * +tar_dirname (void) +{ + return wd[chdir_current].name; +} + +/* Return the absolute path that represents the working + directory referenced by IDX. + + If wd is empty, then there were no -C options given, and + chdir_args() has never been called, so we simply return the + process's actual cwd. (Note that in this case IDX is ignored, + since it should always be 0.) */ +const char * +tar_getcdpath (int idx) +{ + if (!wd) + { + static char *cwd; + if (!cwd) + cwd = xgetcwd (); + return cwd; + } + return wd[idx].abspath; +} + void close_diag (char const *name) { @@ -911,7 +1154,7 @@ page_aligned_alloc (void **ptr, size_t size) struct namebuf { - char *buffer; /* directory, `/', and directory member */ + char *buffer; /* directory, '/', and directory member */ size_t buffer_size; /* allocated size of name_buffer */ size_t dir_length; /* length of directory part in buffer */ }; @@ -945,3 +1188,55 @@ namebuf_name (namebuf_t buf, const char *name) strcpy (buf->buffer + buf->dir_length, name); return buf->buffer; } + +void +namebuf_add_dir (namebuf_t buf, const char *name) +{ + static char dirsep[] = { DIRECTORY_SEPARATOR, 0 }; + if (!ISSLASH (buf->buffer[buf->dir_length - 1])) + { + namebuf_name (buf, dirsep); + buf->dir_length++; + } + namebuf_name (buf, name); + buf->dir_length += strlen (name); +} + +char * +namebuf_finish (namebuf_t buf) +{ + char *res = buf->buffer; + + if (ISSLASH (buf->buffer[buf->dir_length - 1])) + buf->buffer[buf->dir_length] = 0; + free (buf); + return res; +} + +/* Return the filenames in directory NAME, relative to the chdir_fd. + If the directory does not exist, report error if MUST_EXIST is + true. + + Return NULL on errors. +*/ +char * +tar_savedir (const char *name, int must_exist) +{ + char *ret = NULL; + DIR *dir = NULL; + int fd = openat (chdir_fd, name, open_read_flags | O_DIRECTORY); + if (fd < 0) + { + if (!must_exist && errno == ENOENT) + return NULL; + open_error (name); + } + else if (! ((dir = fdopendir (fd)) + && (ret = streamsavedir (dir)))) + savedir_error (name); + + if (dir ? closedir (dir) != 0 : 0 <= fd && close (fd) != 0) + savedir_error (name); + + return ret; +} diff --git a/src/names.c b/src/names.c index ba4d509e..eecb9b07 100644 --- a/src/names.c +++ b/src/names.c @@ -1,7 +1,7 @@ /* Various processing of names. - Copyright (C) 1988, 1992, 1994, 1996, 1997, 1998, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. + Copyright 1988, 1992, 1994, 1996-2001, 2003-2007, 2009, 2013 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 @@ -14,14 +14,15 @@ 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. */ + with this program. If not, see . */ #include #include #include #include +#include +#include #include "common.h" @@ -197,7 +198,7 @@ static struct name *namelist; /* first name in list, if any */ static struct name *nametail; /* end of name list */ /* File name arguments are processed in two stages: first a - name_array (see below) is filled, then the names from it + name element list (see below) is filled, then the names from it are moved into the namelist. This awkward process is needed only to implement --same-order option, @@ -207,39 +208,72 @@ static struct name *nametail; /* end of name list */ However, I very much doubt if we still need this -- Sergey */ -/* A name_array element contains entries of three types: */ +/* A name_list element contains entries of three types: */ #define NELT_NAME 0 /* File name */ #define NELT_CHDIR 1 /* Change directory request */ #define NELT_FMASK 2 /* Change fnmatch options request */ +#define NELT_FILE 3 /* Read file names from that file */ +#define NELT_NOOP 4 /* No operation */ struct name_elt /* A name_array element. */ { + struct name_elt *next, *prev; char type; /* Element type, see NELT_* constants above */ union { const char *name; /* File or directory name */ int matching_flags;/* fnmatch options if type == NELT_FMASK */ + struct /* File, if type == NELT_FILE */ + { + const char *name;/* File name */ + int term; /* File name terminator in the list */ + FILE *fp; + } file; } v; }; -static struct name_elt *name_array; /* store an array of names */ -static size_t allocated_entries; /* how big is the array? */ -static size_t entries; /* how many entries does it have? */ -static size_t scanned; /* how many of the entries have we scanned? */ -size_t name_count; /* how many of the entries are names? */ +static struct name_elt *name_head; /* store a list of names */ +size_t name_count; /* how many of the entries are names? */ -/* Check the size of name_array, reallocating it as necessary. */ -static void -check_name_alloc (void) +static struct name_elt * +name_elt_alloc (void) { - if (entries == allocated_entries) + struct name_elt *elt; + + elt = xmalloc (sizeof (*elt)); + if (!name_head) { - if (allocated_entries == 0) - allocated_entries = 10; /* Set initial allocation */ - name_array = x2nrealloc (name_array, &allocated_entries, - sizeof (name_array[0])); + name_head = elt; + name_head->prev = name_head->next = NULL; + name_head->type = NELT_NOOP; + elt = xmalloc (sizeof (*elt)); } + + elt->prev = name_head->prev; + if (name_head->prev) + name_head->prev->next = elt; + elt->next = name_head; + name_head->prev = elt; + return elt; +} + +static void +name_list_adjust (void) +{ + if (name_head) + while (name_head->prev) + name_head = name_head->prev; +} + +static void +name_list_advance (void) +{ + struct name_elt *elt = name_head; + name_head = elt->next; + if (name_head) + name_head->prev = NULL; + free (elt); } /* Add to name_array the file NAME with fnmatch options MATCHING_FLAGS */ @@ -247,17 +281,14 @@ void name_add_name (const char *name, int matching_flags) { static int prev_flags = 0; /* FIXME: Or EXCLUDE_ANCHORED? */ - struct name_elt *ep; + struct name_elt *ep = name_elt_alloc (); - check_name_alloc (); - ep = &name_array[entries++]; if (prev_flags != matching_flags) { ep->type = NELT_FMASK; ep->v.matching_flags = matching_flags; prev_flags = matching_flags; - check_name_alloc (); - ep = &name_array[entries++]; + ep = name_elt_alloc (); } ep->type = NELT_NAME; ep->v.name = name; @@ -268,13 +299,20 @@ name_add_name (const char *name, int matching_flags) void name_add_dir (const char *name) { - struct name_elt *ep; - check_name_alloc (); - ep = &name_array[entries++]; + struct name_elt *ep = name_elt_alloc (); ep->type = NELT_CHDIR; ep->v.name = name; } +void +name_add_file (const char *name, int term) +{ + struct name_elt *ep = name_elt_alloc (); + ep->type = NELT_FILE; + ep->v.file.name = name; + ep->v.file.term = term; + ep->v.file.fp = NULL; +} /* Names from external name file. */ @@ -288,15 +326,222 @@ name_init (void) { name_buffer = xmalloc (NAME_FIELD_SIZE + 2); name_buffer_length = NAME_FIELD_SIZE; + name_list_adjust (); } void name_term (void) { free (name_buffer); - free (name_array); +} + +/* Prevent recursive inclusion of the same file */ +struct file_id_list +{ + struct file_id_list *next; + ino_t ino; + dev_t dev; + const char *from_file; +}; + +static struct file_id_list *file_id_list; + +/* Return the name of the file from which the file names and options + are being read. +*/ +static const char * +file_list_name (void) +{ + struct name_elt *elt; + + for (elt = name_head; elt; elt = elt->next) + if (elt->type == NELT_FILE && elt->v.file.fp) + return elt->v.file.name; + return _("command line"); } +static int +add_file_id (const char *filename) +{ + struct file_id_list *p; + struct stat st; + const char *reading_from; + + if (stat (filename, &st)) + stat_fatal (filename); + reading_from = file_list_name (); + for (p = file_id_list; p; p = p->next) + if (p->ino == st.st_ino && p->dev == st.st_dev) + { + int oldc = set_char_quoting (NULL, ':', 1); + ERROR ((0, 0, + _("%s: file list requested from %s already read from %s"), + quotearg_n (0, filename), + reading_from, p->from_file)); + set_char_quoting (NULL, ':', oldc); + return 1; + } + p = xmalloc (sizeof *p); + p->next = file_id_list; + p->ino = st.st_ino; + p->dev = st.st_dev; + p->from_file = reading_from; + file_id_list = p; + return 0; +} + +enum read_file_list_state /* Result of reading file name from the list file */ + { + file_list_success, /* OK, name read successfully */ + file_list_end, /* End of list file */ + file_list_zero, /* Zero separator encountered where it should not */ + file_list_skip /* Empty (zero-length) entry encountered, skip it */ + }; + +/* Read from FP a sequence of characters up to TERM and put them + into STK. + */ +static enum read_file_list_state +read_name_from_file (struct name_elt *ent) +{ + int c; + size_t counter = 0; + FILE *fp = ent->v.file.fp; + int term = ent->v.file.term; + + for (c = getc (fp); c != EOF && c != term; c = getc (fp)) + { + if (counter == name_buffer_length) + name_buffer = x2realloc (name_buffer, &name_buffer_length); + name_buffer[counter++] = c; + if (c == 0) + { + /* We have read a zero separator. The file possibly is + zero-separated */ + return file_list_zero; + } + } + + if (counter == 0 && c != EOF) + return file_list_skip; + + if (counter == name_buffer_length) + name_buffer = x2realloc (name_buffer, &name_buffer_length); + name_buffer[counter] = 0; + + return (counter == 0 && c == EOF) ? file_list_end : file_list_success; +} + +static int +handle_option (const char *str) +{ + struct wordsplit ws; + int i; + + while (*str && isspace (*str)) + ; + if (*str != '-') + return 1; + + ws.ws_offs = 1; + if (wordsplit (str, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS)) + FATAL_ERROR ((0, 0, _("cannot split string '%s': %s"), + str, wordsplit_strerror (&ws))); + ws.ws_wordv[0] = program_invocation_short_name; + more_options (ws.ws_wordc+ws.ws_offs, ws.ws_wordv); + for (i = 0; i < ws.ws_wordc+ws.ws_offs; i++) + ws.ws_wordv[i] = NULL; + + wordsplit_free (&ws); + return 0; +} + +static int +read_next_name (struct name_elt *ent, struct name_elt *ret) +{ + if (!ent->v.file.fp) + { + if (!strcmp (ent->v.file.name, "-")) + { + request_stdin ("-T"); + ent->v.file.fp = stdin; + } + else + { + if (add_file_id (ent->v.file.name)) + { + name_list_advance (); + return 1; + } + if ((ent->v.file.fp = fopen (ent->v.file.name, "r")) == NULL) + open_fatal (ent->v.file.name); + } + } + + while (1) + { + switch (read_name_from_file (ent)) + { + case file_list_skip: + continue; + + case file_list_zero: + WARNOPT (WARN_FILENAME_WITH_NULS, + (0, 0, N_("%s: file name read contains nul character"), + quotearg_colon (ent->v.file.name))); + ent->v.file.term = 0; + /* fall through */ + case file_list_success: + if (handle_option (name_buffer) == 0) + { + name_list_adjust (); + return 1; + } + ret->type = NELT_NAME; + ret->v.name = name_buffer; + return 0; + + case file_list_end: + if (strcmp (ent->v.file.name, "-")) + fclose (ent->v.file.fp); + ent->v.file.fp = NULL; + name_list_advance (); + return 1; + } + } +} + +static void +copy_name (struct name_elt *ep) +{ + const char *source; + size_t source_len; + char *cursor; + + source = ep->v.name; + source_len = strlen (source); + if (name_buffer_length < source_len) + { + do + { + name_buffer_length *= 2; + if (! name_buffer_length) + xalloc_die (); + } + while (name_buffer_length < source_len); + + free (name_buffer); + name_buffer = xmalloc(name_buffer_length + 2); + } + strcpy (name_buffer, source); + + /* Zap trailing slashes. */ + cursor = name_buffer + strlen (name_buffer) - 1; + while (cursor > name_buffer && ISSLASH (*cursor)) + *cursor-- = '\0'; +} + + static int matching_flags; /* exclude_fnmatch options */ /* Get the next NELT_NAME element from name_array. Result is in @@ -311,55 +556,41 @@ static struct name_elt * name_next_elt (int change_dirs) { static struct name_elt entry; - const char *source; - char *cursor; + struct name_elt *ep; - while (scanned != entries) + while ((ep = name_head) != NULL) { - struct name_elt *ep; - size_t source_len; - - ep = &name_array[scanned++]; - if (ep->type == NELT_FMASK) + switch (ep->type) { + case NELT_NOOP: + name_list_advance (); + break; + + case NELT_FMASK: matching_flags = ep->v.matching_flags; + name_list_advance (); continue; - } - source = ep->v.name; - source_len = strlen (source); - if (name_buffer_length < source_len) - { - do + case NELT_FILE: + if (read_next_name (ep, &entry) == 0) + return &entry; + continue; + + case NELT_CHDIR: + if (change_dirs) { - name_buffer_length *= 2; - if (! name_buffer_length) - xalloc_die (); + chdir_do (chdir_arg (xstrdup (ep->v.name))); + name_list_advance (); + break; } - while (name_buffer_length < source_len); - - free (name_buffer); - name_buffer = xmalloc (name_buffer_length + 2); - } - strcpy (name_buffer, source); - - /* Zap trailing slashes. */ - - cursor = name_buffer + strlen (name_buffer) - 1; - while (cursor > name_buffer && ISSLASH (*cursor)) - *cursor-- = '\0'; - - if (change_dirs && ep->type == NELT_CHDIR) - { - if (chdir (name_buffer) < 0) - chdir_fatal (name_buffer); - } - else - { + /* fall through */ + case NELT_NAME: + copy_name (ep); if (unquote_option) unquote_string (name_buffer); entry.type = ep->type; entry.v.name = name_buffer; + name_list_advance (); return &entry; } } @@ -669,9 +900,9 @@ label_notfound (void) /* Sort *singly* linked LIST of names, of given LENGTH, using COMPARE to order names. Return the sorted list. Note that after calling - this function, the `prev' links in list elements are messed up. + this function, the 'prev' links in list elements are messed up. - Apart from the type `struct name' and the definition of SUCCESSOR, + Apart from the type 'struct name' and the definition of SUCCESSOR, this is a generic list-sorting function, but it's too painful to make it both generic and portable in C. */ @@ -894,7 +1125,7 @@ name_compare (void const *entry1, void const *entry2) } -/* Rebase `name' member of CHILD and all its siblings to +/* Rebase 'name' member of CHILD and all its siblings to the new PARENT. */ static void rebase_child_list (struct name *child, struct name *parent) @@ -1008,13 +1239,11 @@ collect_and_sort_names (void) namelist = merge_sort (namelist, num_names, compare_names); num_names = 0; - nametab = hash_initialize (0, 0, - name_hash, - name_compare, NULL); + nametab = hash_initialize (0, 0, name_hash, name_compare, NULL); for (name = namelist; name; name = next_name) { next_name = name->next; - name->caname = normalize_filename (name->name); + name->caname = normalize_filename (name->change_dir, name->name); if (prev_name) { struct name *p = hash_lookup (nametab, name); @@ -1100,7 +1329,7 @@ name_scan (const char *file_name) struct name *gnu_list_name; struct name const * -name_from_list () +name_from_list (void) { if (!gnu_list_name) gnu_list_name = namelist; diff --git a/src/sparse.c b/src/sparse.c index 4b2f982a..417d4ff0 100644 --- a/src/sparse.c +++ b/src/sparse.c @@ -1,7 +1,6 @@ /* Functions for dealing with sparse files - Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010 Free Software - Foundation, Inc. + Copyright 2003-2007, 2010, 2013 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 @@ -14,8 +13,7 @@ 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. */ + with this program. If not, see . */ #include #include @@ -230,7 +228,7 @@ sparse_scan_file (struct tar_sparse_file *file) if (!tar_sparse_scan (file, scan_begin, NULL)) return false; - while ((count = safe_read (fd, buffer, sizeof buffer)) != 0 + while ((count = blocking_read (fd, buffer, sizeof buffer)) != 0 && count != SAFE_READ_ERROR) { /* Analyze the block. */ @@ -360,7 +358,7 @@ sparse_extract_region (struct tar_sparse_file *file, size_t i) return false; } set_next_block_after (blk); - count = full_write (file->fd, blk->buffer, wrbytes); + count = blocking_write (file->fd, blk->buffer, wrbytes); write_size -= count; file->dumped_size += count; mv_size_left (file->stat_info->archive_file_size - file->dumped_size); @@ -591,18 +589,18 @@ sparse_diff_file (int fd, struct tar_stat_info *st) /* Old GNU Format. The sparse file information is stored in the oldgnu_header in the following manner: - The header is marked with type 'S'. Its `size' field contains + The header is marked with type 'S'. Its 'size' field contains the cumulative size of all non-empty blocks of the file. The - actual file size is stored in `realsize' member of oldgnu_header. + actual file size is stored in 'realsize' member of oldgnu_header. - The map of the file is stored in a list of `struct sparse'. + The map of the file is stored in a list of 'struct sparse'. Each struct contains offset to the block of data and its size (both as octal numbers). The first file header contains at most 4 such structs (SPARSES_IN_OLDGNU_HEADER). If the map - contains more structs, then the field `isextended' of the main - header is set to 1 (binary) and the `struct sparse_header' + contains more structs, then the field 'isextended' of the main + header is set to 1 (binary) and the 'struct sparse_header' header follows, containing at most 21 following structs - (SPARSES_IN_SPARSE_HEADER). If more structs follow, `isextended' + (SPARSES_IN_SPARSE_HEADER). If more structs follow, 'isextended' field of the extended header is set and next next extension header follows, etc... */ @@ -629,8 +627,8 @@ oldgnu_add_sparse (struct tar_sparse_file *file, struct sparse *s) return add_finish; sp.offset = OFF_FROM_HEADER (s->offset); sp.numbytes = OFF_FROM_HEADER (s->numbytes); - if (sp.offset < 0 - || sp.offset + sp.numbytes < 0 + if (sp.offset < 0 || sp.numbytes < 0 + || INT_ADD_OVERFLOW (sp.offset, sp.numbytes) || file->stat_info->stat.st_size < sp.offset + sp.numbytes || file->stat_info->archive_file_size < 0) return add_fail; @@ -644,10 +642,10 @@ oldgnu_fixup_header (struct tar_sparse_file *file) { /* NOTE! st_size was initialized from the header which actually contains archived size. The following fixes it */ + off_t realsize = OFF_FROM_HEADER (current_header->oldgnu_header.realsize); file->stat_info->archive_file_size = file->stat_info->stat.st_size; - file->stat_info->stat.st_size = - OFF_FROM_HEADER (current_header->oldgnu_header.realsize); - return true; + file->stat_info->stat.st_size = max (0, realsize); + return 0 <= realsize; } /* Convert old GNU format sparse data to internal representation */ @@ -768,10 +766,10 @@ star_fixup_header (struct tar_sparse_file *file) { /* NOTE! st_size was initialized from the header which actually contains archived size. The following fixes it */ + off_t realsize = OFF_FROM_HEADER (current_header->star_in_header.realsize); file->stat_info->archive_file_size = file->stat_info->stat.st_size; - file->stat_info->stat.st_size = - OFF_FROM_HEADER (current_header->star_in_header.realsize); - return true; + file->stat_info->stat.st_size = max (0, realsize); + return 0 <= realsize; } /* Convert STAR format sparse data to internal representation */ @@ -919,6 +917,18 @@ pax_sparse_member_p (struct tar_sparse_file *file) || file->stat_info->sparse_major > 0; } +/* Start a header that uses the effective (shrunken) file size. */ +static union block * +pax_start_header (struct tar_stat_info *st) +{ + off_t realsize = st->stat.st_size; + union block *blk; + st->stat.st_size = st->archive_file_size; + blk = start_header (st); + st->stat.st_size = realsize; + return blk; +} + static bool pax_dump_header_0 (struct tar_sparse_file *file) { @@ -968,9 +978,7 @@ pax_dump_header_0 (struct tar_sparse_file *file) return false; } } - blk = start_header (file->stat_info); - /* Store the effective (shrunken) file size */ - OFF_TO_CHARS (file->stat_info->archive_file_size, blk->header.size); + blk = pax_start_header (file->stat_info); finish_header (file->stat_info, blk, block_ordinal); if (save_file_name) { @@ -991,7 +999,7 @@ pax_dump_header_1 (struct tar_sparse_file *file) off_t size = 0; struct sp_array *map = file->stat_info->sparse_map; char *save_file_name = file->stat_info->file_name; - + #define COPY_STRING(b,dst,src) do \ { \ char *endp = b->buffer + BLOCKSIZE; \ @@ -1035,9 +1043,7 @@ pax_dump_header_1 (struct tar_sparse_file *file) if (strlen (file->stat_info->file_name) > NAME_FIELD_SIZE) file->stat_info->file_name[NAME_FIELD_SIZE] = 0; - blk = start_header (file->stat_info); - /* Store the effective (shrunken) file size */ - OFF_TO_CHARS (file->stat_info->archive_file_size, blk->header.size); + blk = pax_start_header (file->stat_info); finish_header (file->stat_info, blk, block_ordinal); free (file->stat_info->file_name); file->stat_info->file_name = save_file_name; @@ -1080,6 +1086,7 @@ decode_num (uintmax_t *num, char const *arg, uintmax_t maxval) if (!ISDIGIT (*arg)) return false; + errno = 0; u = strtoumax (arg, &arg_lim, 10); if (! (u <= maxval && errno != ERANGE) || *arg_lim) diff --git a/src/suffix.c b/src/suffix.c index 046cf2bb..cf8056cf 100644 --- a/src/suffix.c +++ b/src/suffix.c @@ -1,5 +1,5 @@ /* This file is part of GNU tar. - Copyright (C) 2007, 2009 Free Software Foundation, Inc. + Copyright 2007, 2009, 2013 Free Software Foundation, Inc. Written by Sergey Poznyakoff. @@ -43,6 +43,7 @@ static struct compression_suffix compression_suffixes[] = { { S(tlz, LZMA) }, { S(lzo, LZOP) }, { S(xz, XZ) }, + { S(txz, XZ) }, /* Slackware */ #undef S #undef __CAT2__ }; diff --git a/src/system.c b/src/system.c index ba4ac2d3..e1fd263c 100644 --- a/src/system.c +++ b/src/system.c @@ -1,7 +1,6 @@ /* System-dependent calls for tar. - Copyright (C) 2003, 2004, 2005, 2006, 2007, - 2008, 2010 Free Software Foundation, Inc. + Copyright 2003-2008, 2010, 2013 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 @@ -14,8 +13,7 @@ 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. */ + with this program. If not, see . */ #include @@ -23,6 +21,20 @@ #include #include #include +#include + +static _Noreturn void +xexec (const char *cmd) +{ + struct wordsplit ws; + + ws.ws_env = (const char **) environ; + if (wordsplit (cmd, &ws, (WRDSF_DEFFLAGS | WRDSF_ENV) & ~WRDSF_NOVAR)) + FATAL_ERROR ((0, 0, _("cannot split string '%s': %s"), + cmd, wordsplit_strerror (&ws))); + execvp (ws.ws_wordv[0], ws.ws_wordv); + exec_fatal (cmd); +} #if MSDOS @@ -194,7 +206,7 @@ sys_spawn_shell (void) if (child == 0) { priv_set_restore_linkdir (); - execlp (shell, "-sh", "-i", (char *) 0); + execlp (shell, "-sh", "-i", NULL); exec_fatal (shell); } else @@ -365,8 +377,7 @@ sys_child_open_for_compress (void) xdup2 (archive, STDOUT_FILENO); } priv_set_restore_linkdir (); - execlp (use_compress_program_option, use_compress_program_option, NULL); - exec_fatal (use_compress_program_option); + xexec (use_compress_program_option); } /* We do need a grandchild tar. */ @@ -383,9 +394,7 @@ sys_child_open_for_compress (void) xdup2 (child_pipe[PWRITE], STDOUT_FILENO); xclose (child_pipe[PREAD]); priv_set_restore_linkdir (); - execlp (use_compress_program_option, use_compress_program_option, - (char *) 0); - exec_fatal (use_compress_program_option); + xexec (use_compress_program_option); } /* The child tar is still here! */ @@ -460,6 +469,11 @@ run_decompress_program (void) { int i; const char *p, *prog = NULL; + struct wordsplit ws; + int wsflags = (WRDSF_DEFFLAGS | WRDSF_ENV | WRDSF_DOOFFS) & ~WRDSF_NOVAR; + + ws.ws_env = (const char **) environ; + ws.ws_offs = 1; for (p = first_decompress_program (&i); p; p = next_decompress_program (&i)) { @@ -470,8 +484,16 @@ run_decompress_program (void) WARNOPT (WARN_DECOMPRESS_PROGRAM, (0, 0, _("trying %s"), p)); } + if (wordsplit (p, &ws, wsflags)) + FATAL_ERROR ((0, 0, _("cannot split string '%s': %s"), + p, wordsplit_strerror (&ws))); + wsflags |= WRDSF_REUSE; + memmove(ws.ws_wordv, ws.ws_wordv + ws.ws_offs, + sizeof(ws.ws_wordv[0])*ws.ws_wordc); + ws.ws_wordv[ws.ws_wordc] = (char *) "-d"; prog = p; - execlp (p, p, "-d", NULL); + execvp (ws.ws_wordv[0], ws.ws_wordv); + ws.ws_wordv[ws.ws_wordc] = NULL; } if (!prog) FATAL_ERROR ((0, 0, _("unable to run decompression program"))); @@ -704,7 +726,6 @@ int sys_exec_command (char *file_name, int typechar, struct tar_stat_info *st) { int p[2]; - char *argv[4]; xpipe (p); pipe_handler = signal (SIGPIPE, SIG_IGN); @@ -722,15 +743,8 @@ sys_exec_command (char *file_name, int typechar, struct tar_stat_info *st) stat_to_env (file_name, typechar, st); - argv[0] = "/bin/sh"; - argv[1] = "-c"; - argv[2] = to_command_option; - argv[3] = NULL; - priv_set_restore_linkdir (); - execv ("/bin/sh", argv); - - exec_fatal (file_name); + xexec (to_command_option); } void @@ -772,7 +786,6 @@ int sys_exec_info_script (const char **archive_name, int volume_number) { pid_t pid; - char *argv[4]; char uintbuf[UINTMAX_STRSIZE_BOUND]; int p[2]; static RETSIGTYPE (*saved_handler) (int sig); @@ -837,15 +850,8 @@ sys_exec_info_script (const char **archive_name, int volume_number) xclose (p[PREAD]); - argv[0] = "/bin/sh"; - argv[1] = "-c"; - argv[2] = (char *) info_script_option; - argv[3] = NULL; - priv_set_restore_linkdir (); - execv (argv[0], argv); - - exec_fatal (info_script_option); + xexec (info_script_option); } void @@ -854,7 +860,6 @@ sys_exec_checkpoint_script (const char *script_name, int checkpoint_number) { pid_t pid; - char *argv[4]; char uintbuf[UINTMAX_STRSIZE_BOUND]; pid = xfork (); @@ -885,15 +890,8 @@ sys_exec_checkpoint_script (const char *script_name, setenv ("TAR_FORMAT", archive_format_string (current_format == DEFAULT_FORMAT ? archive_format : current_format), 1); - argv[0] = "/bin/sh"; - argv[1] = "-c"; - argv[2] = (char *) script_name; - argv[3] = NULL; - priv_set_restore_linkdir (); - execv (argv[0], argv); - - exec_fatal (script_name); + xexec (script_name); } #endif /* not MSDOS */ diff --git a/src/tar.c b/src/tar.c index 928cfddd..4f5017d0 100644 --- a/src/tar.c +++ b/src/tar.c @@ -1,7 +1,7 @@ /* A tar (tape archiver) program. - Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, - 2001, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. + Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2013 Free + Software Foundation, Inc. Written by John Gilmore, starting 1985-08-25. @@ -16,8 +16,7 @@ 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. */ + with this program. If not, see . */ #include @@ -67,6 +66,12 @@ # define DEFAULT_BLOCKING 20 #endif +/* Print a message if not all links are dumped */ +static int check_links_option; + +/* Number of allocated tape drive names. */ +static size_t allocated_archive_names; + /* Miscellaneous. */ @@ -74,11 +79,11 @@ static const char *stdin_used_by; /* Doesn't return if stdin already requested. */ -static void +void request_stdin (const char *option) { if (stdin_used_by) - USAGE_ERROR ((0, 0, _("Options `-%s' and `-%s' both want standard input"), + USAGE_ERROR ((0, 0, _("Options '-%s' and '-%s' both want standard input"), stdin_used_by, option)); stdin_used_by = option; @@ -247,7 +252,7 @@ tar_set_quoting_style (char *arg) return; } FATAL_ERROR ((0, 0, - _("Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."), arg, program_invocation_short_name)); + _("Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."), arg, program_invocation_short_name)); } @@ -255,7 +260,8 @@ tar_set_quoting_style (char *arg) enum { - ANCHORED_OPTION = CHAR_MAX + 1, + ACLS_OPTION = CHAR_MAX + 1, + ANCHORED_OPTION, ATIME_PRESERVE_OPTION, BACKUP_OPTION, CHECK_DEVICE_OPTION, @@ -280,6 +286,7 @@ enum IGNORE_COMMAND_ERROR_OPTION, IGNORE_FAILED_READ_OPTION, INDEX_FILE_OPTION, + KEEP_DIRECTORY_SYMLINK_OPTION, KEEP_NEWER_FILES_OPTION, LEVEL_OPTION, LZIP_OPTION, @@ -288,6 +295,7 @@ enum MODE_OPTION, MTIME_OPTION, NEWER_MTIME_OPTION, + NO_ACLS_OPTION, NO_ANCHORED_OPTION, NO_AUTO_COMPRESS_OPTION, NO_CHECK_DEVICE_OPTION, @@ -301,9 +309,11 @@ enum NO_SAME_OWNER_OPTION, NO_SAME_PERMISSIONS_OPTION, NO_SEEK_OPTION, + NO_SELINUX_CONTEXT_OPTION, NO_UNQUOTE_OPTION, NO_WILDCARDS_MATCH_SLASH_OPTION, NO_WILDCARDS_OPTION, + NO_XATTR_OPTION, NULL_OPTION, NUMERIC_OWNER_OPTION, OCCURRENCE_OPTION, @@ -325,9 +335,12 @@ enum RMT_COMMAND_OPTION, RSH_COMMAND_OPTION, SAME_OWNER_OPTION, + SELINUX_CONTEXT_OPTION, SHOW_DEFAULTS_OPTION, SHOW_OMITTED_DIRS_OPTION, + SHOW_SNAPSHOT_FIELD_RANGES_OPTION, SHOW_TRANSFORMED_NAMES_OPTION, + SKIP_OLD_FILES_OPTION, SPARSE_VERSION_OPTION, STRIP_COMPONENTS_OPTION, SUFFIX_OPTION, @@ -340,13 +353,16 @@ enum VOLNO_FILE_OPTION, WARNING_OPTION, WILDCARDS_MATCH_SLASH_OPTION, - WILDCARDS_OPTION + WILDCARDS_OPTION, + XATTR_OPTION, + XATTR_EXCLUDE, + XATTR_INCLUDE }; const char *argp_program_version = "tar (" PACKAGE_NAME ") " VERSION; const char *argp_program_bug_address = "<" PACKAGE_BUGREPORT ">"; static char const doc[] = N_("\ -GNU `tar' saves many files together into a single tape or disk archive, \ +GNU 'tar' saves many files together into a single tape or disk archive, \ and can restore individual files from the archive.\n\ \n\ Examples:\n\ @@ -354,7 +370,7 @@ Examples:\n\ tar -tvf archive.tar # List all files in archive.tar verbosely.\n\ tar -xf archive.tar # Extract all files from archive.tar.\n") "\v" -N_("The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\ +N_("The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\ The version control may be set with --backup or VERSION_CONTROL, values are:\n\n\ none, off never make backups\n\ t, numbered make numbered backups\n\ @@ -452,7 +468,11 @@ static struct argp_option options[] = { {"remove-files", REMOVE_FILES_OPTION, 0, 0, N_("remove files after adding them to the archive"), GRID+1 }, {"keep-old-files", 'k', 0, 0, - N_("don't replace existing files when extracting"), GRID+1 }, + N_("don't replace existing files when extracting, " + "treat them as errors"), GRID+1 }, + {"skip-old-files", SKIP_OLD_FILES_OPTION, 0, 0, + N_("don't replace existing files when extracting, silently skip over them"), + GRID+1 }, {"keep-newer-files", KEEP_NEWER_FILES_OPTION, 0, 0, N_("don't replace existing files that are newer than their archive copies"), GRID+1 }, {"overwrite", OVERWRITE_OPTION, 0, 0, @@ -466,6 +486,9 @@ static struct argp_option options[] = { {"overwrite-dir", OVERWRITE_DIR_OPTION, 0, 0, N_("overwrite metadata of existing directories when extracting (default)"), GRID+1 }, + {"keep-directory-symlink", KEEP_DIRECTORY_SYMLINK_OPTION, 0, 0, + N_("preserve existing symlinks to directories when extracting"), + GRID+1 }, #undef GRID #define GRID 40 @@ -514,7 +537,8 @@ static struct argp_option options[] = { {"no-same-permissions", NO_SAME_PERMISSIONS_OPTION, 0, 0, N_("apply the user's umask when extracting permissions from the archive (default for ordinary users)"), GRID+1 }, {"preserve-order", 's', 0, 0, - N_("sort names to extract to match archive"), GRID+1 }, + N_("member arguments are listed in the same order as the " + "files in the archive"), GRID+1 }, {"same-order", 0, 0, OPTION_ALIAS, NULL, GRID+1 }, {"preserve", PRESERVE_OPTION, 0, 0, N_("same as both -p and -s"), GRID+1 }, @@ -525,6 +549,28 @@ static struct argp_option options[] = { N_("cancel the effect of --delay-directory-restore option"), GRID+1 }, #undef GRID +#define GRID 55 + {NULL, 0, NULL, 0, + N_("Handling of extended file attributes:"), GRID }, + + {"xattrs", XATTR_OPTION, 0, 0, + N_("Enable extended attributes support"), GRID+1 }, + {"no-xattrs", NO_XATTR_OPTION, 0, 0, + N_("Disable extended attributes support"), GRID+1 }, + {"xattrs-include", XATTR_INCLUDE, N_("MASK"), 0, + N_("specify the include pattern for xattr keys"), GRID+1 }, + {"xattrs-exclude", XATTR_EXCLUDE, N_("MASK"), 0, + N_("specify the exclude pattern for xattr keys"), GRID+1 }, + {"selinux", SELINUX_CONTEXT_OPTION, 0, 0, + N_("Enable the SELinux context support"), GRID+1 }, + {"no-selinux", NO_SELINUX_CONTEXT_OPTION, 0, 0, + N_("Disable the SELinux context support"), GRID+1 }, + {"acls", ACLS_OPTION, 0, 0, + N_("Enable the POSIX ACLs support"), GRID+1 }, + {"no-acls", NO_ACLS_OPTION, 0, 0, + N_("Disable the POSIX ACLs support"), GRID+1 }, +#undef GRID + #define GRID 60 {NULL, 0, NULL, 0, N_("Device selection and switching:"), GRID }, @@ -538,7 +584,7 @@ static struct argp_option options[] = { {"rsh-command", RSH_COMMAND_OPTION, N_("COMMAND"), 0, N_("use remote COMMAND instead of rsh"), GRID+1 }, #ifdef DEVICE_PREFIX - {"-[0-7][lmh]", 0, NULL, OPTION_DOC, /* It is OK, since `name' will never be + {"-[0-7][lmh]", 0, NULL, OPTION_DOC, /* It is OK, since 'name' will never be translated */ N_("specify drive and density"), GRID+1 }, #endif @@ -680,13 +726,13 @@ static struct argp_option options[] = { {"recursion", RECURSION_OPTION, 0, 0, N_("recurse into directories (default)"), GRID+1 }, {"absolute-names", 'P', 0, 0, - N_("don't strip leading `/'s from file names"), GRID+1 }, + N_("don't strip leading '/'s from file names"), GRID+1 }, {"dereference", 'h', 0, 0, N_("follow symlinks; archive and dump the files they point to"), GRID+1 }, {"hard-dereference", HARD_DEREFERENCE_OPTION, 0, 0, N_("follow hard links; archive and dump the files they refer to"), GRID+1 }, {"starting-file", 'K', N_("MEMBER-NAME"), 0, - N_("begin at member MEMBER-NAME in the archive"), GRID+1 }, + N_("begin at member MEMBER-NAME when reading the archive"), GRID+1 }, {"newer", 'N', N_("DATE-OR-FILE"), 0, N_("only store files newer than DATE-OR-FILE"), GRID+1 }, {"after-date", 0, 0, OPTION_ALIAS, NULL, GRID+1 }, @@ -718,7 +764,7 @@ static struct argp_option options[] = { {"anchored", ANCHORED_OPTION, 0, 0, N_("patterns match file name start"), GRID+1 }, {"no-anchored", NO_ANCHORED_OPTION, 0, 0, - N_("patterns match after any `/' (default for exclusion)"), GRID+1 }, + N_("patterns match after any '/' (default for exclusion)"), GRID+1 }, {"no-ignore-case", NO_IGNORE_CASE_OPTION, 0, 0, N_("case sensitive matching (default)"), GRID+1 }, {"wildcards", WILDCARDS_OPTION, 0, 0, @@ -726,9 +772,9 @@ static struct argp_option options[] = { {"no-wildcards", NO_WILDCARDS_OPTION, 0, 0, N_("verbatim string matching"), GRID+1 }, {"no-wildcards-match-slash", NO_WILDCARDS_MATCH_SLASH_OPTION, 0, 0, - N_("wildcards do not match `/'"), GRID+1 }, + N_("wildcards do not match '/'"), GRID+1 }, {"wildcards-match-slash", WILDCARDS_MATCH_SLASH_OPTION, 0, 0, - N_("wildcards match `/' (default for exclusion)"), GRID+1 }, + N_("wildcards match '/' (default for exclusion)"), GRID+1 }, #undef GRID #define GRID 130 @@ -765,6 +811,8 @@ static struct argp_option options[] = { {"confirmation", 0, 0, OPTION_ALIAS, NULL, GRID+1 }, {"show-defaults", SHOW_DEFAULTS_OPTION, 0, 0, N_("show tar defaults"), GRID+1 }, + {"show-snapshot-field-ranges", SHOW_SNAPSHOT_FIELD_RANGES_OPTION, 0, 0, + N_("show valid ranges for snapshot-file fields"), GRID+1 }, {"show-omitted-dirs", SHOW_OMITTED_DIRS_OPTION, 0, 0, N_("when listing or extracting, list each directory that does not match search criteria"), GRID+1 }, {"show-transformed-names", SHOW_TRANSFORMED_NAMES_OPTION, 0, 0, @@ -892,12 +940,12 @@ static char const * const backup_file_table[] = { }; static void -add_exclude_array (char const * const * fv) +add_exclude_array (char const * const * fv, int opts) { int i; for (i = 0; fv[i]; i++) - add_exclude (excluded, fv[i], 0); + add_exclude (excluded, fv[i], opts); } @@ -927,7 +975,7 @@ set_subcommand_option (enum subcommand subcommand) if (subcommand_option != UNKNOWN_SUBCOMMAND && subcommand_option != subcommand) USAGE_ERROR ((0, 0, - _("You may not specify more than one `-Acdtrux' or `--test-label' option"))); + _("You may not specify more than one '-Acdtrux', '--delete' or '--test-label' option"))); subcommand_option = subcommand; } @@ -956,10 +1004,13 @@ static void stat_on_signal (int signo) { #ifdef HAVE_SIGACTION +# ifndef SA_RESTART +# define SA_RESTART 0 +# endif struct sigaction act; act.sa_handler = sigstat; sigemptyset (&act.sa_mask); - act.sa_flags = 0; + act.sa_flags = SA_RESTART; sigaction (signo, &act, NULL); #else signal (signo, sigstat); @@ -1054,7 +1105,7 @@ report_textual_dates (struct tar_args *args) { char const *treated_as = tartime (p->ts, true); if (strcmp (p->date, treated_as) != 0) - WARN ((0, 0, _("Option %s: Treating date `%s' as %s"), + WARN ((0, 0, _("Option %s: Treating date '%s' as %s"), p->option, p->date, treated_as)); } free (p->date); @@ -1063,194 +1114,26 @@ report_textual_dates (struct tar_args *args) } } - - -/* Either NL or NUL, as decided by the --null option. */ -static char filename_terminator; - -enum read_file_list_state /* Result of reading file name from the list file */ - { - file_list_success, /* OK, name read successfully */ - file_list_end, /* End of list file */ - file_list_zero, /* Zero separator encountered where it should not */ - file_list_skip /* Empty (zero-length) entry encountered, skip it */ - }; - -/* Read from FP a sequence of characters up to TERM and put them - into STK. - */ -static enum read_file_list_state -read_name_from_file (FILE *fp, struct obstack *stk, int term) -{ - int c; - size_t counter = 0; - - for (c = getc (fp); c != EOF && c != term; c = getc (fp)) - { - if (c == 0) - { - /* We have read a zero separator. The file possibly is - zero-separated */ - return file_list_zero; - } - obstack_1grow (stk, c); - counter++; - } - - if (counter == 0 && c != EOF) - return file_list_skip; - - obstack_1grow (stk, 0); - - return (counter == 0 && c == EOF) ? file_list_end : file_list_success; -} - static bool files_from_option; /* When set, tar will not refuse to create empty archives */ -static struct obstack argv_stk; /* Storage for additional command line options - read using -T option */ - -/* Prevent recursive inclusion of the same file */ -struct file_id_list -{ - struct file_id_list *next; - ino_t ino; - dev_t dev; -}; - -static struct file_id_list *file_id_list; - -static void -add_file_id (const char *filename) -{ - struct file_id_list *p; - struct stat st; - - if (stat (filename, &st)) - stat_fatal (filename); - for (p = file_id_list; p; p = p->next) - if (p->ino == st.st_ino && p->dev == st.st_dev) - { - FATAL_ERROR ((0, 0, _("%s: file list already read"), - quotearg_colon (filename))); - } - p = xmalloc (sizeof *p); - p->next = file_id_list; - p->ino = st.st_ino; - p->dev = st.st_dev; - file_id_list = p; -} /* Default density numbers for [0-9][lmh] device specifications */ -#ifndef LOW_DENSITY_NUM -# define LOW_DENSITY_NUM 0 -#endif +#if defined DEVICE_PREFIX && !defined DENSITY_LETTER +# ifndef LOW_DENSITY_NUM +# define LOW_DENSITY_NUM 0 +# endif -#ifndef MID_DENSITY_NUM -# define MID_DENSITY_NUM 8 -#endif +# ifndef MID_DENSITY_NUM +# define MID_DENSITY_NUM 8 +# endif -#ifndef HIGH_DENSITY_NUM -# define HIGH_DENSITY_NUM 16 +# ifndef HIGH_DENSITY_NUM +# define HIGH_DENSITY_NUM 16 +# endif #endif -static void -update_argv (const char *filename, struct argp_state *state) -{ - FILE *fp; - size_t count = 0, i; - char *start, *p; - char **new_argv; - size_t new_argc; - bool is_stdin = false; - enum read_file_list_state read_state; - int term = filename_terminator; - - if (!strcmp (filename, "-")) - { - is_stdin = true; - request_stdin ("-T"); - fp = stdin; - } - else - { - add_file_id (filename); - if ((fp = fopen (filename, "r")) == NULL) - open_fatal (filename); - } - - while ((read_state = read_name_from_file (fp, &argv_stk, term)) - != file_list_end) - { - switch (read_state) - { - case file_list_success: - count++; - break; - - case file_list_end: /* won't happen, just to pacify gcc */ - break; - - case file_list_zero: - { - size_t size; - - WARNOPT (WARN_FILENAME_WITH_NULS, - (0, 0, N_("%s: file name read contains nul character"), - quotearg_colon (filename))); - - /* Prepare new stack contents */ - size = obstack_object_size (&argv_stk); - p = obstack_finish (&argv_stk); - for (; size > 0; size--, p++) - if (*p) - obstack_1grow (&argv_stk, *p); - else - obstack_1grow (&argv_stk, '\n'); - obstack_1grow (&argv_stk, 0); - count = 1; - /* Read rest of files using new filename terminator */ - term = 0; - break; - } - - case file_list_skip: - break; - } - } - - if (!is_stdin) - fclose (fp); - - if (count == 0) - return; - - start = obstack_finish (&argv_stk); - - if (term == 0) - for (p = start; *p; p += strlen (p) + 1) - if (p[0] == '-') - count++; - - new_argc = state->argc + count; - new_argv = xmalloc (sizeof (state->argv[0]) * (new_argc + 1)); - memcpy (new_argv, state->argv, sizeof (state->argv[0]) * (state->argc + 1)); - state->argv = new_argv; - memmove (&state->argv[state->next + count], &state->argv[state->next], - (state->argc - state->next + 1) * sizeof (state->argv[0])); - - state->argc = new_argc; - - for (i = state->next, p = start; *p; p += strlen (p) + 1, i++) - { - if (term == 0 && p[0] == '-') - state->argv[i++] = "--add-file"; - state->argv[i] = p; - } -} - static char * tar_help_filter (int key, const char *text, void *input) @@ -1336,8 +1219,8 @@ expand_pax_option (struct tar_args *targs, const char *arg) tmp[len-2] = 0; if (get_date_or_file (targs, "--pax-option", tmp, &ts) == 0) { - char buf[UINTMAX_STRSIZE_BOUND], *s; - s = umaxtostr (ts.tv_sec, buf); + char buf[TIMESPEC_STRSIZE_BOUND]; + char const *s = code_timespec (ts, buf); obstack_grow (&stk, s, strlen (s)); } else @@ -1364,8 +1247,62 @@ expand_pax_option (struct tar_args *targs, const char *arg) } +static uintmax_t +parse_owner_group (char *arg, uintmax_t field_max, char const **name_option) +{ + uintmax_t u = UINTMAX_MAX; + char *end; + char const *name = 0; + char const *invalid_num = 0; + char *colon = strchr (arg, ':'); + + if (colon) + { + char const *num = colon + 1; + *colon = '\0'; + if (*arg) + name = arg; + if (num && (! (xstrtoumax (num, &end, 10, &u, "") == LONGINT_OK + && u <= field_max))) + invalid_num = num; + } + else + { + uintmax_t u1; + switch ('0' <= *arg && *arg <= '9' + ? xstrtoumax (arg, &end, 10, &u1, "") + : LONGINT_INVALID) + { + default: + name = arg; + break; + + case LONGINT_OK: + if (u1 <= field_max) + { + u = u1; + break; + } + /* Fall through. */ + case LONGINT_OVERFLOW: + invalid_num = arg; + break; + } + } + + if (invalid_num) + FATAL_ERROR ((0, 0, "%s: %s", quotearg_colon (invalid_num), + _("Invalid owner or group ID"))); + if (name) + *name_option = name; + return u; +} + #define TAR_SIZE_SUFFIXES "bBcGgkKMmPTtw" +/* Either NL or NUL, as decided by the --null option. */ +static char filename_terminator; + static error_t parse_opt (int key, char *arg, struct argp_state *state) { @@ -1619,6 +1556,10 @@ parse_opt (int key, char *arg, struct argp_state *state) sparse_option = true; break; + case SKIP_OLD_FILES_OPTION: + old_files_option = SKIP_OLD_FILES; + break; + case SPARSE_VERSION_OPTION: sparse_option = true; { @@ -1645,7 +1586,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case 'T': - update_argv (arg, state); + name_add_file (arg, filename_terminator); /* Indicate we've been given -T option. This is for backward compatibility only, so that `tar cfT archive /dev/null will succeed */ @@ -1769,7 +1710,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case EXCLUDE_BACKUPS_OPTION: - add_exclude_array (backup_file_table); + add_exclude_array (backup_file_table, EXCLUDE_WILDCARDS); break; case EXCLUDE_OPTION: @@ -1804,7 +1745,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case EXCLUDE_VCS_OPTION: - add_exclude_array (vcs_file_table); + add_exclude_array (vcs_file_table, 0); break; case FORCE_LOCAL_OPTION: @@ -1831,22 +1772,27 @@ parse_opt (int key, char *arg, struct argp_state *state) ignore_failed_read_option = true; break; + case KEEP_DIRECTORY_SYMLINK_OPTION: + keep_directory_symlink_option = true; + break; + case KEEP_NEWER_FILES_OPTION: old_files_option = KEEP_NEWER_FILES; break; case GROUP_OPTION: - if (! (strlen (arg) < GNAME_FIELD_SIZE - && gname_to_gid (arg, &group_option))) - { - uintmax_t g; - if (xstrtoumax (arg, 0, 10, &g, "") == LONGINT_OK - && g == (gid_t) g) - group_option = g; - else - FATAL_ERROR ((0, 0, "%s: %s", quotearg_colon (arg), - _("Invalid group"))); - } + { + uintmax_t u = parse_owner_group (arg, TYPE_MAXIMUM (gid_t), + &group_name_option); + if (u == UINTMAX_MAX) + { + group_option = -1; + if (group_name_option) + gname_to_gid (group_name_option, &group_option); + } + else + group_option = u; + } break; case MODE_OPTION: @@ -1913,6 +1859,10 @@ parse_opt (int key, char *arg, struct argp_state *state) } break; + case OLD_ARCHIVE_OPTION: + set_archive_format ("v7"); + break; + case OVERWRITE_DIR_OPTION: old_files_option = DEFAULT_OLD_FILES; break; @@ -1922,17 +1872,18 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case OWNER_OPTION: - if (! (strlen (arg) < UNAME_FIELD_SIZE - && uname_to_uid (arg, &owner_option))) - { - uintmax_t u; - if (xstrtoumax (arg, 0, 10, &u, "") == LONGINT_OK - && u == (uid_t) u) - owner_option = u; - else - FATAL_ERROR ((0, 0, "%s: %s", quotearg_colon (arg), - _("Invalid owner"))); - } + { + uintmax_t u = parse_owner_group (arg, TYPE_MAXIMUM (uid_t), + &owner_name_option); + if (u == UINTMAX_MAX) + { + owner_option = -1; + if (owner_name_option) + uname_to_uid (owner_name_option, &owner_option); + } + else + owner_option = u; + } break; case QUOTE_CHARS_OPTION: @@ -2010,6 +1961,11 @@ parse_opt (int key, char *arg, struct argp_state *state) exit (0); } + case SHOW_SNAPSHOT_FIELD_RANGES_OPTION: + show_snapshot_field_ranges (); + close_stdout (); + exit (0); + case STRIP_COMPONENTS_OPTION: { uintmax_t u; @@ -2079,6 +2035,38 @@ parse_opt (int key, char *arg, struct argp_state *state) same_permissions_option = -1; break; + case ACLS_OPTION: + set_archive_format ("posix"); + acls_option = 1; + break; + + case NO_ACLS_OPTION: + acls_option = -1; + break; + + case SELINUX_CONTEXT_OPTION: + set_archive_format ("posix"); + selinux_context_option = 1; + break; + + case NO_SELINUX_CONTEXT_OPTION: + selinux_context_option = -1; + break; + + case XATTR_OPTION: + set_archive_format ("posix"); + xattrs_option = 1; + break; + + case NO_XATTR_OPTION: + xattrs_option = -1; + break; + + case XATTR_INCLUDE: + case XATTR_EXCLUDE: + xattrs_mask_add (arg, (key == XATTR_INCLUDE)); + break; + case RECURSION_OPTION: recursion_option = FNM_LEADING_DIR; break; @@ -2142,7 +2130,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; default: - argp_error (state, _("Unknown density: `%c'"), arg[0]); + argp_error (state, _("Unknown density: '%c'"), arg[0]); } sprintf (cursor, "%d", device); @@ -2159,7 +2147,7 @@ parse_opt (int key, char *arg, struct argp_state *state) #else /* not DEVICE_PREFIX */ argp_error (state, - _("Options `-[0-7][lmh]' not supported by *this* tar")); + _("Options '-[0-7][lmh]' not supported by *this* tar")); #endif /* not DEVICE_PREFIX */ @@ -2208,12 +2196,37 @@ static const char *tar_authors[] = { "Jay Fenlason", NULL }; + +/* Subcommand classes */ +#define SUBCL_READ 0x01 /* subcommand reads from the archive */ +#define SUBCL_WRITE 0x02 /* subcommand writes to the archive */ +#define SUBCL_UPDATE 0x04 /* subcommand updates existing archive */ +#define SUBCL_TEST 0x08 /* subcommand tests archive header or meta-info */ +#define SUBCL_OCCUR 0x10 /* subcommand allows the use of the occurrence + option */ + +static int subcommand_class[] = { + /* UNKNOWN_SUBCOMMAND */ 0, + /* APPEND_SUBCOMMAND */ SUBCL_WRITE|SUBCL_UPDATE, + /* CAT_SUBCOMMAND */ SUBCL_WRITE, + /* CREATE_SUBCOMMAND */ SUBCL_WRITE, + /* DELETE_SUBCOMMAND */ SUBCL_WRITE|SUBCL_UPDATE|SUBCL_OCCUR, + /* DIFF_SUBCOMMAND */ SUBCL_READ|SUBCL_OCCUR, + /* EXTRACT_SUBCOMMAND */ SUBCL_READ|SUBCL_OCCUR, + /* LIST_SUBCOMMAND */ SUBCL_READ|SUBCL_OCCUR, + /* UPDATE_SUBCOMMAND */ SUBCL_WRITE|SUBCL_UPDATE, + /* TEST_LABEL_SUBCOMMAND */ SUBCL_TEST +}; + +/* Return t if the subcommand_option is in class(es) f */ +#define IS_SUBCOMMAND_CLASS(f) (subcommand_class[subcommand_option] & (f)) + +static struct tar_args args; static void decode_options (int argc, char **argv) { int idx; - struct tar_args args; argp_version_setup ("tar", tar_authors); @@ -2241,8 +2254,8 @@ decode_options (int argc, char **argv) tar_sparse_major = 1; tar_sparse_minor = 0; - owner_option = -1; - group_option = -1; + owner_option = -1; owner_name_option = NULL; + group_option = -1; group_name_option = NULL; check_device_option = true; @@ -2290,7 +2303,7 @@ decode_options (int argc, char **argv) if (in < argv + argc) *out++ = *in++; else - USAGE_ERROR ((0, 0, _("Old option `%c' requires an argument."), + USAGE_ERROR ((0, 0, _("Old option '%c' requires an argument."), *letter)); } } @@ -2314,7 +2327,6 @@ decode_options (int argc, char **argv) if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, &idx, &args)) exit (TAREXIT_FAILURE); - /* Special handling for 'o' option: GNU tar used to say "output old format". @@ -2372,12 +2384,10 @@ decode_options (int argc, char **argv) if (!args.input_files) USAGE_ERROR ((0, 0, _("--occurrence is meaningless without a file list"))); - if (subcommand_option != DELETE_SUBCOMMAND - && subcommand_option != DIFF_SUBCOMMAND - && subcommand_option != EXTRACT_SUBCOMMAND - && subcommand_option != LIST_SUBCOMMAND) - USAGE_ERROR ((0, 0, - _("--occurrence cannot be used in the requested operation mode"))); + if (!IS_SUBCOMMAND_CLASS (SUBCL_OCCUR)) + USAGE_ERROR ((0, 0, + _("--occurrence cannot be used with %s"), + subcommand_string (subcommand_option))); } if (archive_names == 0) @@ -2391,11 +2401,11 @@ decode_options (int argc, char **argv) archive_name_array[0] = DEFAULT_ARCHIVE; } - /* Allow multiple archives only with `-M'. */ + /* Allow multiple archives only with '-M'. */ if (archive_names > 1 && !multi_volume_option) USAGE_ERROR ((0, 0, - _("Multiple archive files require `-M' option"))); + _("Multiple archive files require '-M' option"))); if (listed_incremental_option && NEWER_OPTION_INITIALIZED (newer_mtime_option)) @@ -2436,15 +2446,16 @@ decode_options (int argc, char **argv) USAGE_ERROR ((0, 0, _("Cannot verify multi-volume archives"))); if (use_compress_program_option) USAGE_ERROR ((0, 0, _("Cannot verify compressed archives"))); + if (!IS_SUBCOMMAND_CLASS (SUBCL_WRITE)) + USAGE_ERROR ((0, 0, _("--verify cannot be used with %s"), + subcommand_string (subcommand_option))); } if (use_compress_program_option) { if (multi_volume_option) USAGE_ERROR ((0, 0, _("Cannot use multi-volume compressed archives"))); - if (subcommand_option == UPDATE_SUBCOMMAND - || subcommand_option == APPEND_SUBCOMMAND - || subcommand_option == DELETE_SUBCOMMAND) + if (IS_SUBCOMMAND_CLASS (SUBCL_UPDATE)) USAGE_ERROR ((0, 0, _("Cannot update compressed archives"))); if (subcommand_option == CAT_SUBCOMMAND) USAGE_ERROR ((0, 0, _("Cannot concatenate compressed archives"))); @@ -2456,11 +2467,33 @@ decode_options (int argc, char **argv) --gray */ if (args.pax_option && archive_format != POSIX_FORMAT - && (subcommand_option != EXTRACT_SUBCOMMAND - || subcommand_option != DIFF_SUBCOMMAND - || subcommand_option != LIST_SUBCOMMAND)) + && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) USAGE_ERROR ((0, 0, _("--pax-option can be used only on POSIX archives"))); + /* star creates non-POSIX typed archives with xattr support, so allow the + extra headers when reading */ + if ((acls_option > 0) + && archive_format != POSIX_FORMAT + && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) + USAGE_ERROR ((0, 0, _("--acls can be used only on POSIX archives"))); + + if ((selinux_context_option > 0) + && archive_format != POSIX_FORMAT + && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) + USAGE_ERROR ((0, 0, _("--selinux can be used only on POSIX archives"))); + + if ((xattrs_option > 0) + && archive_format != POSIX_FORMAT + && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) + USAGE_ERROR ((0, 0, _("--xattrs can be used only on POSIX archives"))); + + if ((starting_file_option || same_order_option) + && !IS_SUBCOMMAND_CLASS (SUBCL_READ)) + USAGE_ERROR ((0, 0, + _("--%s option cannot be used with %s"), + starting_file_option ? "starting-file" : "same-order", + subcommand_string (subcommand_option))); + /* If ready to unlink hierarchies, so we are for simpler files. */ if (recursive_unlink_option) old_files_option = UNLINK_FIRST_OLD_FILES; @@ -2495,7 +2528,7 @@ decode_options (int argc, char **argv) USAGE_ERROR ((0, 0, _("--preserve-order is not compatible with " "--listed-incremental"))); - /* Forbid using -c with no input files whatsoever. Check that `-f -', + /* Forbid using -c with no input files whatsoever. Check that '-f -', explicit or implied, is used correctly. */ switch (subcommand_option) @@ -2529,7 +2562,7 @@ decode_options (int argc, char **argv) archive_name_cursor++) if (!strcmp (*archive_name_cursor, "-")) USAGE_ERROR ((0, 0, - _("Options `-Aru' are incompatible with `-f -'"))); + _("Options '-Aru' are incompatible with '-f -'"))); default: break; @@ -2540,7 +2573,7 @@ decode_options (int argc, char **argv) { stdlis = fopen (index_file_name, "w"); if (! stdlis) - open_error (index_file_name); + open_fatal (index_file_name); } else stdlis = to_stdout_option ? stderr : stdout; @@ -2566,6 +2599,14 @@ decode_options (int argc, char **argv) report_textual_dates (&args); } +void +more_options (int argc, char **argv) +{ + int idx; + if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, + &idx, &args)) + exit (TAREXIT_FAILURE); +} /* Tar proper. */ @@ -2595,8 +2636,6 @@ main (int argc, char **argv) xmalloc (sizeof (const char *) * allocated_archive_names); archive_names = 0; - obstack_init (&argv_stk); - /* System V fork+wait does not work if SIGCHLD is ignored. */ signal (SIGCHLD, SIG_DFL); @@ -2618,7 +2657,7 @@ main (int argc, char **argv) { case UNKNOWN_SUBCOMMAND: USAGE_ERROR ((0, 0, - _("You must specify one of the `-Acdtrux' or `--test-label' options"))); + _("You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"))); case CAT_SUBCOMMAND: case UPDATE_SUBCOMMAND: @@ -2669,6 +2708,7 @@ main (int argc, char **argv) /* Dispose of allocated memory, and return. */ free (archive_name_array); + xattrs_clear_setup (); name_term (); if (exit_status == TAREXIT_FAILURE) @@ -2713,11 +2753,15 @@ void tar_stat_destroy (struct tar_stat_info *st) { tar_stat_close (st); + xheader_xattr_free (st->xattr_map, st->xattr_map_size); free (st->orig_file_name); free (st->file_name); free (st->link_name); free (st->uname); free (st->gname); + free (st->cntx_name); + free (st->acls_a_ptr); + free (st->acls_d_ptr); free (st->sparse_map); free (st->dumpdir); xheader_destroy (&st->xhdr); diff --git a/src/tar.h b/src/tar.h index ce9850c9..70055af2 100644 --- a/src/tar.h +++ b/src/tar.h @@ -1,21 +1,22 @@ /* GNU tar Archive Format description. - Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2013 + Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - 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. */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ /* tar Header Block, from POSIX 1003.1-1990. */ @@ -80,9 +81,9 @@ struct posix_header /* tar Header Block, GNU extensions. */ /* In GNU tar, SYMTYPE is for to symbolic links, and CONTTYPE is for - contiguous files, so maybe disobeying the `reserved' comment in POSIX + contiguous files, so maybe disobeying the "reserved" comment in POSIX header description. I suspect these were meant to be used this way, and - should not have really been `reserved' in the published standards. */ + should not have really been "reserved" in the published standards. */ /* *BEWARE* *BEWARE* *BEWARE* that the following information is still boiling, and may change. Even if the OLDGNU format description should be @@ -276,6 +277,14 @@ struct xheader uintmax_t string_length; }; +/* Information about xattrs for a file. */ +struct xattr_array + { + char *xkey; + char *xval_ptr; + size_t xval_len; + }; + struct tar_stat_info { char *orig_file_name; /* name of file read from the archive header */ @@ -287,6 +296,15 @@ struct tar_stat_info char *uname; /* user name of owner */ char *gname; /* group name of owner */ + + char *cntx_name; /* SELinux context for the current archive entry. */ + + char *acls_a_ptr; /* Access ACLs for the current archive entry. */ + size_t acls_a_len; /* Access ACLs for the current archive entry. */ + + char *acls_d_ptr; /* Default ACLs for the current archive entry. */ + size_t acls_d_len; /* Default ACLs for the current archive entry. */ + struct stat stat; /* regular filesystem stat */ /* STAT doesn't always have access, data modification, and status @@ -309,6 +327,9 @@ struct tar_stat_info size_t sparse_map_size; /* Size of the sparse map */ struct sp_array *sparse_map; + size_t xattr_map_size; /* Size of the xattr map */ + struct xattr_array *xattr_map; + /* Extended headers */ struct xheader xhdr; diff --git a/src/transform.c b/src/transform.c index 77aa0a29..cf0189cc 100644 --- a/src/transform.c +++ b/src/transform.c @@ -1,5 +1,5 @@ /* This file is part of GNU tar. - Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright 2006-2008, 2013 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 @@ -12,8 +12,7 @@ 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. */ + with this program. If not, see . */ #include #include @@ -71,7 +70,7 @@ struct transform -int transform_flags = XFORM_ALL; +static int transform_flags = XFORM_ALL; static struct transform *transform_head, *transform_tail; static struct transform * @@ -347,7 +346,7 @@ parse_transform_expr (const char *expr) break; case 'L': - /* Turn the replacement to lowercase until a `\U' or `\E' + /* Turn the replacement to lowercase until a '\U' or '\E' is found, */ add_case_ctl_segment (tf, ctl_locase); cur++; @@ -360,7 +359,7 @@ parse_transform_expr (const char *expr) break; case 'U': - /* Turn the replacement to uppercase until a `\L' or `\E' + /* Turn the replacement to uppercase until a '\L' or '\E' is found, */ add_case_ctl_segment (tf, ctl_upcase); cur++; @@ -373,7 +372,7 @@ parse_transform_expr (const char *expr) break; case 'E': - /* Stop case conversion started by `\L' or `\U'. */ + /* Stop case conversion started by '\L' or '\U'. */ add_case_ctl_segment (tf, ctl_stop); cur++; break; diff --git a/src/unlink.c b/src/unlink.c index b2816368..6677148e 100644 --- a/src/unlink.c +++ b/src/unlink.c @@ -1,19 +1,21 @@ -/* This file is part of GNU tar. - Copyright (C) 2009 Free Software Foundation, Inc. +/* Unlink files. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + Copyright 2009, 2013 Free Software Foundation, Inc. - 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. + This file is part of GNU tar. - 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. */ + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include "common.h" @@ -22,7 +24,9 @@ struct deferred_unlink { struct deferred_unlink *next; /* Next unlink in the queue */ - char *file_name; /* Absolute name of the file to unlink */ + int dir_idx; /* Directory index in wd */ + char *file_name; /* Name of the file to unlink, relative + to dir_idx */ bool is_dir; /* True if file_name is a directory */ off_t records_written; /* Number of records written when this entry got added to the queue */ @@ -39,7 +43,7 @@ static struct deferred_unlink *dunlink_avail; /* Delay (number of records written) between adding entry to the list and its actual removal. */ -size_t deferred_unlink_delay = 0; +static size_t deferred_unlink_delay = 0; static struct deferred_unlink * dunlink_alloc (void) @@ -68,16 +72,30 @@ static void flush_deferred_unlinks (bool force) { struct deferred_unlink *p, *prev = NULL; - + int saved_chdir = chdir_current; + for (p = dunlink_head; p; ) { struct deferred_unlink *next = p->next; + if (force || records_written > p->records_written + deferred_unlink_delay) { + chdir_do (p->dir_idx); if (p->is_dir) { - if (unlinkat (chdir_fd, p->file_name, AT_REMOVEDIR) != 0) + const char *fname; + + if (p->file_name[0] == 0 || + strcmp (p->file_name, ".") == 0) + { + fname = tar_dirname (); + chdir_do (p->dir_idx - 1); + } + else + fname = p->file_name; + + if (unlinkat (chdir_fd, fname, AT_REMOVEDIR) != 0) { switch (errno) { @@ -95,7 +113,7 @@ flush_deferred_unlinks (bool force) } /* fall through */ default: - rmdir_error (p->file_name); + rmdir_error (fname); } } } @@ -120,10 +138,11 @@ flush_deferred_unlinks (bool force) } if (!dunlink_head) dunlink_tail = NULL; + chdir_do (saved_chdir); } void -finish_deferred_unlinks () +finish_deferred_unlinks (void) { flush_deferred_unlinks (true); while (dunlink_avail) @@ -145,7 +164,9 @@ queue_deferred_unlink (const char *name, bool is_dir) p = dunlink_alloc (); p->next = NULL; - p->file_name = normalize_filename (name); + p->dir_idx = chdir_current; + p->file_name = xstrdup (name); + normalize_filename_x (p->file_name); p->is_dir = is_dir; p->records_written = records_written; diff --git a/src/update.c b/src/update.c index e3228d42..72141b21 100644 --- a/src/update.c +++ b/src/update.c @@ -1,21 +1,22 @@ /* Update a tar archive. - Copyright (C) 1988, 1992, 1994, 1996, 1997, 1999, 2000, 2001, 2003, - 2004, 2005, 2007, 2010 Free Software Foundation, Inc. + Copyright 1988, 1992, 1994, 1996-1997, 1999-2001, 2003-2005, 2007, 2010, + 2013 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - 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. */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ /* Implement the 'r', 'u' and 'A' options for tar. 'A' means that the file names are tar files, and they should simply be appended to the end @@ -144,16 +145,8 @@ update_archive (void) { if (S_ISDIR (s.st_mode)) { - char *p, *dirp; - DIR *stream; - int fd = openat (chdir_fd, name->name, - open_read_flags | O_DIRECTORY); - if (fd < 0) - open_error (name->name); - else if (! ((stream = fdopendir (fd)) - && (dirp = streamsavedir (stream)))) - savedir_error (name->name); - else + char *p, *dirp = tar_savedir (name->name, 1); + if (dirp) { namebuf_t nbuf = namebuf_create (name->name); @@ -166,11 +159,6 @@ update_archive (void) remname (name); } - - if (stream - ? closedir (stream) != 0 - : 0 <= fd && close (fd) != 0) - savedir_error (name->name); } else if (tar_timespec_cmp (get_stat_mtime (&s), current_stat_info.mtime) diff --git a/src/utf8.c b/src/utf8.c index c9836d62..5af8456d 100644 --- a/src/utf8.c +++ b/src/utf8.c @@ -1,20 +1,21 @@ /* Charset handling for GNU tar. - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - 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. */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include diff --git a/src/warning.c b/src/warning.c index 5d1bcabc..d58a575d 100644 --- a/src/warning.c +++ b/src/warning.c @@ -1,19 +1,21 @@ -/* This file is part of GNU tar. +/* Warnings for GNU tar. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright 2009, 2012-2013 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - You should have received a copy of the GNU General Public License along - with this program. If not, see . */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include #include @@ -42,6 +44,9 @@ static char const *const warning_args[] = { "unknown-keyword", "xdev", "decompress-program", + "existing-file", + "xattr-write", + "record-size", NULL }; @@ -66,7 +71,10 @@ static int warning_types[] = { WARN_UNKNOWN_CAST, WARN_UNKNOWN_KEYWORD, WARN_XDEV, - WARN_DECOMPRESS_PROGRAM + WARN_DECOMPRESS_PROGRAM, + WARN_EXISTING_FILE, + WARN_XATTR_WRITE, + WARN_RECORD_SIZE }; ARGMATCH_VERIFY (warning_args, warning_types); diff --git a/src/xattrs.c b/src/xattrs.c new file mode 100644 index 00000000..dac15f38 --- /dev/null +++ b/src/xattrs.c @@ -0,0 +1,734 @@ +/* Support for extended attributes. + + Copyright (C) 2006-2013 Free Software Foundation, Inc. + + This file is part of GNU tar. + + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by James Antill, on 2006-07-27. */ + +#include +#include + +#include +#include + +#include "common.h" + +#include "xattr-at.h" +#include "selinux-at.h" + +struct xattrs_mask_map +{ + const char **masks; + size_t size; + size_t used; +}; + +/* list of fnmatch patterns */ +static struct +{ + /* lists of fnmatch patterns */ + struct xattrs_mask_map incl; + struct xattrs_mask_map excl; +} xattrs_setup; + +/* disable posix acls when problem found in gnulib script m4/acl.m4 */ +#if ! USE_ACL +# undef HAVE_POSIX_ACLS +#endif + +#ifdef HAVE_POSIX_ACLS +# include "acl.h" +# include +#endif + +#ifdef HAVE_POSIX_ACLS + +/* acl-at wrappers, TODO: move to gnulib in future? */ +static acl_t acl_get_file_at (int, const char *, acl_type_t); +static int acl_set_file_at (int, const char *, acl_type_t, acl_t); +static int file_has_acl_at (int, char const *, struct stat const *); + +/* acl_get_file_at */ +#define AT_FUNC_NAME acl_get_file_at +#define AT_FUNC_RESULT acl_t +#define AT_FUNC_FAIL (acl_t)NULL +#define AT_FUNC_F1 acl_get_file +#define AT_FUNC_POST_FILE_PARAM_DECLS , acl_type_t type +#define AT_FUNC_POST_FILE_ARGS , type +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_RESULT +#undef AT_FUNC_FAIL +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* acl_set_file_at */ +#define AT_FUNC_NAME acl_set_file_at +#define AT_FUNC_F1 acl_set_file +#define AT_FUNC_POST_FILE_PARAM_DECLS , acl_type_t type, acl_t acl +#define AT_FUNC_POST_FILE_ARGS , type, acl +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* gnulib file_has_acl_at */ +#define AT_FUNC_NAME file_has_acl_at +#define AT_FUNC_F1 file_has_acl +#define AT_FUNC_POST_FILE_PARAM_DECLS , struct stat const *st +#define AT_FUNC_POST_FILE_ARGS , st +#include "at-func.c" +#undef AT_FUNC_NAME +#undef AT_FUNC_F1 +#undef AT_FUNC_POST_FILE_PARAM_DECLS +#undef AT_FUNC_POST_FILE_ARGS + +/* convert unix permissions into an ACL ... needed due to "default" ACLs */ +static acl_t +perms2acl (int perms) +{ + char val[] = "user::---,group::---,other::---"; + /* 0123456789 123456789 123456789 123456789 */ + + /* user */ + if (perms & 0400) + val[6] = 'r'; + if (perms & 0200) + val[7] = 'w'; + if (perms & 0100) + val[8] = 'x'; + + /* group */ + if (perms & 0040) + val[17] = 'r'; + if (perms & 0020) + val[18] = 'w'; + if (perms & 0010) + val[19] = 'x'; + + /* other */ + if (perms & 0004) + val[28] = 'r'; + if (perms & 0002) + val[29] = 'w'; + if (perms & 0001) + val[30] = 'x'; + + return acl_from_text (val); +} + +static char * +skip_to_ext_fields (char *ptr) +{ + /* skip tag name (user/group/default/mask) */ + ptr += strcspn (ptr, ":,\n"); + + if (*ptr != ':') + return ptr; + ++ptr; + + ptr += strcspn (ptr, ":,\n"); /* skip user/group name */ + + if (*ptr != ':') + return ptr; + ++ptr; + + ptr += strcspn (ptr, ":,\n"); /* skip perms */ + + return ptr; +} + +/* The POSIX draft allows extra fields after the three main ones. Star + uses this to add a fourth field for user/group which is the numeric ID. + This function removes such extra fields by overwriting them with the + characters that follow. */ +static char * +fixup_extra_acl_fields (char *ptr) +{ + char *src = ptr; + char *dst = ptr; + + while (*src) + { + const char *old = src; + size_t len = 0; + + src = skip_to_ext_fields (src); + len = src - old; + if (old != dst) + memmove (dst, old, len); + dst += len; + + if (*src == ':') /* We have extra fields, skip them all */ + src += strcspn (src, "\n,"); + + if ((*src == '\n') || (*src == ',')) + *dst++ = *src++; /* also done when dst == src, but that's ok */ + } + if (src != dst) + *dst = 0; + + return ptr; +} + +/* "system.posix_acl_access" */ +static void +xattrs__acls_set (struct tar_stat_info const *st, + char const *file_name, int type, + char *ptr, size_t len, bool def) +{ + acl_t acl; + + if (ptr) + { + /* assert (strlen (ptr) == len); */ + ptr = fixup_extra_acl_fields (ptr); + + acl = acl_from_text (ptr); + acls_option = 1; + } + else if (acls_option > 0) + acl = perms2acl (st->stat.st_mode); + else + return; /* don't call acl functions unless we first hit an ACL, or + --acls was passed explicitly */ + + if (!acl) + { + call_arg_warn ("acl_from_text", file_name); + return; + } + + if (acl_set_file_at (chdir_fd, file_name, type, acl) == -1) + /* warn even if filesystem does not support acls */ + WARNOPT (WARN_XATTR_WRITE, + (0, errno, + _ ("acl_set_file_at: Cannot set POSIX ACLs for file '%s'"), + file_name)); + + acl_free (acl); +} + +static void +xattrs__acls_get_a (int parentfd, const char *file_name, + struct tar_stat_info *st, + char **ret_ptr, size_t * ret_len) +{ + char *val = NULL; + ssize_t len; + acl_t acl; + + if (!(acl = acl_get_file_at (parentfd, file_name, ACL_TYPE_ACCESS))) + { + if (errno != ENOTSUP) + call_arg_warn ("acl_get_file_at", file_name); + return; + } + + val = acl_to_text (acl, &len); + acl_free (acl); + + if (!val) + { + call_arg_warn ("acl_to_text", file_name); + return; + } + + *ret_ptr = xstrdup (val); + *ret_len = len; + + acl_free (val); +} + +/* "system.posix_acl_default" */ +static void +xattrs__acls_get_d (int parentfd, char const *file_name, + struct tar_stat_info *st, + char **ret_ptr, size_t * ret_len) +{ + char *val = NULL; + ssize_t len; + acl_t acl; + + if (!(acl = acl_get_file_at (parentfd, file_name, ACL_TYPE_DEFAULT))) + { + if (errno != ENOTSUP) + call_arg_warn ("acl_get_file_at", file_name); + return; + } + + val = acl_to_text (acl, &len); + acl_free (acl); + + if (!val) + { + call_arg_warn ("acl_to_text", file_name); + return; + } + + *ret_ptr = xstrdup (val); + *ret_len = len; + + acl_free (val); +} +#endif /* HAVE_POSIX_ACLS */ + +static void +acls_one_line (const char *prefix, char delim, + const char *aclstring, size_t len) +{ + /* support both long and short text representation of posix acls */ + struct obstack stk; + int pref_len = strlen (prefix); + const char *oldstring = aclstring; + int pos = 0; + + if (!aclstring || !len) + return; + + obstack_init (&stk); + while (pos <= len) + { + int move = strcspn (aclstring, ",\n"); + if (!move) + break; + + if (oldstring != aclstring) + obstack_1grow (&stk, delim); + + obstack_grow (&stk, prefix, pref_len); + obstack_grow (&stk, aclstring, move); + + aclstring += move + 1; + } + + obstack_1grow (&stk, '\0'); + + fprintf (stdlis, "%s", (char *) obstack_finish (&stk)); + + obstack_free (&stk, NULL); +} + +void +xattrs_acls_get (int parentfd, char const *file_name, + struct tar_stat_info *st, int fd, int xisfile) +{ + if (acls_option > 0) + { +#ifndef HAVE_POSIX_ACLS + static int done = 0; + if (!done) + WARN ((0, 0, _("POSIX ACL support is not available"))); + done = 1; +#else + int err = file_has_acl_at (parentfd, file_name, &st->stat); + if (err == 0) + return; + if (err == -1) + { + call_arg_warn ("file_has_acl_at", file_name); + return; + } + + xattrs__acls_get_a (parentfd, file_name, st, + &st->acls_a_ptr, &st->acls_a_len); + if (!xisfile) + xattrs__acls_get_d (parentfd, file_name, st, + &st->acls_d_ptr, &st->acls_d_len); +#endif + } +} + +void +xattrs_acls_set (struct tar_stat_info const *st, + char const *file_name, char typeflag) +{ + if (acls_option > 0 && typeflag != SYMTYPE) + { +#ifndef HAVE_POSIX_ACLS + static int done = 0; + if (!done) + WARN ((0, 0, _("POSIX ACL support is not available"))); + done = 1; +#else + xattrs__acls_set (st, file_name, ACL_TYPE_ACCESS, + st->acls_a_ptr, st->acls_a_len, false); + if (typeflag == DIRTYPE || typeflag == GNUTYPE_DUMPDIR) + xattrs__acls_set (st, file_name, ACL_TYPE_DEFAULT, + st->acls_d_ptr, st->acls_d_len, true); +#endif + } +} + +static void +mask_map_realloc (struct xattrs_mask_map *map) +{ + if (map->used == map->size) + { + if (map->size == 0) + map->size = 4; + map->masks = x2nrealloc (map->masks, &map->size, sizeof (map->masks[0])); + } +} + +void +xattrs_mask_add (const char *mask, bool incl) +{ + struct xattrs_mask_map *mask_map = + incl ? &xattrs_setup.incl : &xattrs_setup.excl; + /* ensure there is enough space */ + mask_map_realloc (mask_map); + /* just assign pointers -- we silently expect that pointer "mask" is valid + through the whole program (pointer to argv array) */ + mask_map->masks[mask_map->used++] = mask; +} + +static void +clear_mask_map (struct xattrs_mask_map *mask_map) +{ + if (mask_map->size) + free (mask_map->masks); +} + +void +xattrs_clear_setup (void) +{ + clear_mask_map (&xattrs_setup.incl); + clear_mask_map (&xattrs_setup.excl); +} + +/* get all xattrs from file given by FILE_NAME or FD (when non-zero). This + includes all the user.*, security.*, system.*, etc. available domains */ +void +xattrs_xattrs_get (int parentfd, char const *file_name, + struct tar_stat_info *st, int fd) +{ + if (xattrs_option > 0) + { +#ifndef HAVE_XATTRS + static int done = 0; + if (!done) + WARN ((0, 0, _("XATTR support is not available"))); + done = 1; +#else + static size_t xsz = 1024; + static char *xatrs = NULL; + ssize_t xret = -1; + + if (!xatrs) + xatrs = x2nrealloc (xatrs, &xsz, 1); + + while (((fd == 0) ? + ((xret = + llistxattrat (parentfd, file_name, xatrs, xsz)) == -1) : + ((xret = flistxattr (fd, xatrs, xsz)) == -1)) + && (errno == ERANGE)) + { + xatrs = x2nrealloc (xatrs, &xsz, 1); + } + + if (xret == -1) + call_arg_warn ((fd == 0) ? "llistxattrat" : "flistxattr", file_name); + else + { + const char *attr = xatrs; + static size_t asz = 1024; + static char *val = NULL; + + if (!val) + val = x2nrealloc (val, &asz, 1); + + while (xret > 0) + { + size_t len = strlen (attr); + ssize_t aret = 0; + + /* Archive all xattrs during creation, decide at extraction time + * which ones are of interest/use for the target filesystem. */ + while (((fd == 0) + ? ((aret = lgetxattrat (parentfd, file_name, attr, + val, asz)) == -1) + : ((aret = fgetxattr (fd, attr, val, asz)) == -1)) + && (errno == ERANGE)) + { + val = x2nrealloc (val, &asz, 1); + } + + if (aret != -1) + xheader_xattr_add (st, attr, val, aret); + else if (errno != ENOATTR) + call_arg_warn ((fd == 0) ? "lgetxattrat" + : "fgetxattr", file_name); + + attr += len + 1; + xret -= len + 1; + } + } +#endif + } +} + +#ifdef HAVE_XATTRS +static void +xattrs__fd_set (struct tar_stat_info const *st, + char const *file_name, char typeflag, + const char *attr, const char *ptr, size_t len) +{ + if (ptr) + { + const char *sysname = "setxattrat"; + int ret = -1; + + if (typeflag != SYMTYPE) + ret = setxattrat (chdir_fd, file_name, attr, ptr, len, 0); + else + { + sysname = "lsetxattr"; + ret = lsetxattrat (chdir_fd, file_name, attr, ptr, len, 0); + } + + if (ret == -1) + WARNOPT (WARN_XATTR_WRITE, + (0, errno, + _("%s: Cannot set '%s' extended attribute for file '%s'"), + sysname, attr, file_name)); + } +} +#endif + +/* lgetfileconat is called against FILE_NAME iff the FD parameter is set to + zero, otherwise the fgetfileconat is used against correct file descriptor */ +void +xattrs_selinux_get (int parentfd, char const *file_name, + struct tar_stat_info *st, int fd) +{ + if (selinux_context_option > 0) + { +#if HAVE_SELINUX_SELINUX_H != 1 + static int done = 0; + if (!done) + WARN ((0, 0, _("SELinux support is not available"))); + done = 1; +#else + int result = fd ? + fgetfilecon (fd, &st->cntx_name) + : lgetfileconat (parentfd, file_name, &st->cntx_name); + + if (result == -1 && errno != ENODATA && errno != ENOTSUP) + call_arg_warn (fd ? "fgetfilecon" : "lgetfileconat", file_name); +#endif + } +} + +void +xattrs_selinux_set (struct tar_stat_info const *st, + char const *file_name, char typeflag) +{ + if (selinux_context_option > 0) + { +#if HAVE_SELINUX_SELINUX_H != 1 + static int done = 0; + if (!done) + WARN ((0, 0, _("SELinux support is not available"))); + done = 1; +#else + const char *sysname = "setfilecon"; + int ret; + + if (!st->cntx_name) + return; + + if (typeflag != SYMTYPE) + { + ret = setfileconat (chdir_fd, file_name, st->cntx_name); + sysname = "setfileconat"; + } + else + { + ret = lsetfileconat (chdir_fd, file_name, st->cntx_name); + sysname = "lsetfileconat"; + } + + if (ret == -1) + WARNOPT (WARN_XATTR_WRITE, + (0, errno, + _("%s: Cannot set SELinux context for file '%s'"), + sysname, file_name)); +#endif + } +} + +static bool +xattrs_matches_mask (const char *kw, struct xattrs_mask_map *mm) +{ + int i; + + if (!mm->size) + return false; + + for (i = 0; i < mm->used; i++) + if (fnmatch (mm->masks[i], kw, 0) == 0) + return true; + + return false; +} + +#define USER_DOT_PFX "user." + +static bool +xattrs_kw_included (const char *kw, bool archiving) +{ + if (xattrs_setup.incl.size) + return xattrs_matches_mask (kw, &xattrs_setup.incl); + else if (archiving) + return true; + else + return strncmp (kw, USER_DOT_PFX, sizeof (USER_DOT_PFX) - 1) == 0; +} + +static bool +xattrs_kw_excluded (const char *kw, bool archiving) +{ + return xattrs_setup.excl.size ? + xattrs_matches_mask (kw, &xattrs_setup.excl) : false; +} + +/* Check whether the xattr with keyword KW should be discarded from list of + attributes that are going to be archived/excluded (set ARCHIVING=true for + archiving, false for excluding) */ +static bool +xattrs_masked_out (const char *kw, bool archiving) +{ + return xattrs_kw_included (kw, archiving) ? + xattrs_kw_excluded (kw, archiving) : true; +} + +void +xattrs_xattrs_set (struct tar_stat_info const *st, + char const *file_name, char typeflag, int later_run) +{ + if (xattrs_option > 0) + { +#ifndef HAVE_XATTRS + static int done = 0; + if (!done) + WARN ((0, 0, _("XATTR support is not available"))); + done = 1; +#else + size_t scan = 0; + + if (!st->xattr_map_size) + return; + + for (; scan < st->xattr_map_size; ++scan) + { + char *keyword = st->xattr_map[scan].xkey; + keyword += strlen ("SCHILY.xattr."); + + /* TODO: this 'later_run' workaround is temporary solution -> once + capabilities should become fully supported by it's API and there + should exist something like xattrs_capabilities_set() call. + For a regular files: all extended attributes are restored during + the first run except 'security.capability' which is restored in + 'later_run == 1'. */ + if (typeflag == REGTYPE + && later_run == !!strcmp (keyword, "security.capability")) + continue; + + if (xattrs_masked_out (keyword, false /* extracting */ )) + /* we don't want to restore this keyword */ + continue; + + xattrs__fd_set (st, file_name, typeflag, keyword, + st->xattr_map[scan].xval_ptr, + st->xattr_map[scan].xval_len); + } +#endif + } +} + +void +xattrs_print_char (struct tar_stat_info const *st, char *output) +{ + int i; + + if (verbose_option < 2) + { + *output = 0; + return; + } + + if (xattrs_option > 0 || selinux_context_option > 0 || acls_option > 0) + { + /* placeholders */ + *output = ' '; + output[1] = 0; + } + + if (xattrs_option > 0 && st->xattr_map_size) + for (i = 0; i < st->xattr_map_size; ++i) + { + char *keyword = st->xattr_map[i].xkey + strlen ("SCHILY.xattr."); + if (!xattrs_masked_out (keyword, false /* like extracting */ )) + { + *output = '*'; + break; + } + } + + if (selinux_context_option > 0 && st->cntx_name) + *output = '.'; + + if (acls_option && (st->acls_a_len || st->acls_d_len)) + *output = '+'; +} + +void +xattrs_print (struct tar_stat_info const *st) +{ + if (verbose_option < 3) + return; + + /* selinux */ + if (selinux_context_option && st->cntx_name) + fprintf (stdlis, " s: %s\n", st->cntx_name); + + /* acls */ + if (acls_option && (st->acls_a_len || st->acls_d_len)) + { + fprintf (stdlis, " a: "); + acls_one_line ("", ',', st->acls_a_ptr, st->acls_a_len); + acls_one_line ("default:", ',', st->acls_d_ptr, st->acls_d_len); + fprintf (stdlis, "\n"); + } + + /* xattrs */ + if (xattrs_option && st->xattr_map_size) + { + int i; + + for (i = 0; i < st->xattr_map_size; ++i) + { + char *keyword = st->xattr_map[i].xkey + strlen ("SCHILY.xattr."); + if (!xattrs_masked_out (keyword, false /* like extracting */ )) + fprintf (stdlis, " x: %lu %s\n", + (unsigned long) st->xattr_map[i].xval_len, keyword); + } + } +} diff --git a/src/xattrs.h b/src/xattrs.h new file mode 100644 index 00000000..fc73c552 --- /dev/null +++ b/src/xattrs.h @@ -0,0 +1,50 @@ +/* Support for extended attributes. + + Copyright (C) 2006-2013 Free Software Foundation, Inc. + + This file is part of GNU tar. + + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Written by James Antill, on 2006-07-27. */ + +#ifndef GUARD_XATTTRS_H +#define GUARD_XATTTRS_H + +/* Add include/exclude fnmatch pattern for xattr key domain. Set INCL parameter + to true/false if you want to add include/exclude pattern */ +extern void xattrs_mask_add (const char *mask, bool incl); + +/* clear helping structures when tar finishes */ +extern void xattrs_clear_setup (void); + +extern void xattrs_acls_get (int parentfd, char const *file_name, + struct tar_stat_info *st, int fd, int xisfile); +extern void xattrs_selinux_get (int parentfd, char const *file_name, + struct tar_stat_info *st, int fd); +extern void xattrs_xattrs_get (int parentfd, char const *file_name, + struct tar_stat_info *st, int fd); + +extern void xattrs_acls_set (struct tar_stat_info const *st, + char const *file_name, char typeflag); +extern void xattrs_selinux_set (struct tar_stat_info const *st, + char const *file_name, char typeflag); +extern void xattrs_xattrs_set (struct tar_stat_info const *st, + char const *file_name, char typeflag, + int later_run); + +extern void xattrs_print_char (struct tar_stat_info const *st, char *output); +extern void xattrs_print (struct tar_stat_info const *st); + +#endif /* GUARD_XATTTRS_H */ diff --git a/src/xheader.c b/src/xheader.c index 2284e97b..c8c54b6b 100644 --- a/src/xheader.c +++ b/src/xheader.c @@ -1,21 +1,21 @@ /* POSIX extended headers for tar. - Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software - Foundation, Inc. + Copyright (C) 2003-2007, 2009-2010, 2012-2013 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any later - version. + This file is part of GNU tar. - 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. + GNU tar is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - 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. */ + GNU tar is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ #include @@ -86,10 +86,10 @@ struct keyword_list /* List of keyword patterns set by delete= option */ static struct keyword_list *keyword_pattern_list; -/* List of keyword/value pairs set by `keyword=value' option */ +/* List of keyword/value pairs set by 'keyword=value' option */ static struct keyword_list *keyword_global_override_list; -/* List of keyword/value pairs set by `keyword:=value' option */ +/* List of keyword/value pairs set by 'keyword:=value' option */ static struct keyword_list *keyword_override_list; /* List of keyword/value pairs decoded from the last 'g' type header */ @@ -167,14 +167,13 @@ xheader_set_single_keyword (char *kw) static void assign_time_option (char **sval, time_t *tval, const char *input) { - uintmax_t u; char *p; - time_t t = u = strtoumax (input, &p, 10); - if (t != u || *p || errno == ERANGE) + struct timespec t = decode_timespec (input, &p, false); + if (! valid_timespec (t) || *p) ERROR ((0, 0, _("Time stamp is out of allowed range"))); else { - *tval = t; + *tval = t.tv_sec; assign_string (sval, input); } } @@ -262,7 +261,7 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n) char *dir = NULL; char *base = NULL; char pidbuf[UINTMAX_STRSIZE_BOUND]; - char const *pptr; + char const *pptr = NULL; char nbuf[UINTMAX_STRSIZE_BOUND]; char const *nptr = NULL; @@ -335,13 +334,10 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n) break; case 'n': - if (nptr) - { - q = stpcpy (q, nptr); - p += 2; - break; - } - /* else fall through */ + q = stpcpy (q, nptr); + p += 2; + break; + default: *q++ = *p++; @@ -455,11 +451,129 @@ xheader_write_global (struct xheader *xhdr) char *name; xheader_finish (xhdr); - xheader_write (XGLTYPE, name = xheader_ghdr_name (), time (NULL), xhdr); + name = xheader_ghdr_name (); + xheader_write (XGLTYPE, name, start_time.tv_sec, xhdr); free (name); } } +void +xheader_xattr_init (struct tar_stat_info *st) +{ + st->xattr_map = NULL; + st->xattr_map_size = 0; + + st->acls_a_ptr = NULL; + st->acls_a_len = 0; + st->acls_d_ptr = NULL; + st->acls_d_len = 0; + st->cntx_name = NULL; +} + +void +xheader_xattr_free (struct xattr_array *xattr_map, size_t xattr_map_size) +{ + size_t scan = 0; + + while (scan < xattr_map_size) + { + free (xattr_map[scan].xkey); + free (xattr_map[scan].xval_ptr); + + ++scan; + } + free (xattr_map); +} + +static void +xheader_xattr__add (struct xattr_array **xattr_map, + size_t *xattr_map_size, + const char *key, const char *val, size_t len) +{ + size_t pos = (*xattr_map_size)++; + + *xattr_map = xrealloc (*xattr_map, + *xattr_map_size * sizeof(struct xattr_array)); + (*xattr_map)[pos].xkey = xstrdup (key); + (*xattr_map)[pos].xval_ptr = xmemdup (val, len + 1); + (*xattr_map)[pos].xval_len = len; +} + +/* This is reversal function for xattr_encode_keyword. See comment for + xattr_encode_keyword() for more info. */ +static void +xattr_decode_keyword (char *keyword) +{ + char *kpr, *kpl; /* keyword pointer left/right */ + kpr = kpl = keyword; + + for (;;) + { + if (*kpr == '%') + { + if (kpr[1] == '3' && kpr[2] == 'D') + { + *kpl = '='; + kpr += 3; + kpl ++; + continue; + } + else if (kpr[1] == '2' && kpr[2] == '5') + { + *kpl = '%'; + kpr += 3; + kpl ++; + continue; + } + } + + *kpl = *kpr; + + if (*kpr == 0) + break; + + kpr++; + kpl++; + } +} + +void +xheader_xattr_add (struct tar_stat_info *st, + const char *key, const char *val, size_t len) +{ + size_t klen = strlen (key); + char *xkey = xmalloc (strlen("SCHILY.xattr.") + klen + 1); + char *tmp = xkey; + + tmp = stpcpy (tmp, "SCHILY.xattr."); + stpcpy (tmp, key); + + xheader_xattr__add (&st->xattr_map, &st->xattr_map_size, xkey, val, len); + + free (xkey); +} + +void +xheader_xattr_copy (const struct tar_stat_info *st, + struct xattr_array **xattr_map, size_t *xattr_map_size) +{ + size_t scan = 0; + + *xattr_map = NULL; + *xattr_map_size = 0; + + while (scan < st->xattr_map_size) + { + char *key = st->xattr_map[scan].xkey; + char *val = st->xattr_map[scan].xval_ptr; + size_t len = st->xattr_map[scan].xval_len; + + xheader_xattr__add(xattr_map, xattr_map_size, key, val, len); + + ++scan; + } +} + /* General Interface */ @@ -473,6 +587,7 @@ struct xhdr_tab struct xheader *, void const *data); void (*decoder) (struct tar_stat_info *, char const *, char const *, size_t); int flags; + bool prefix; /* select handler comparing prefix only */ }; /* This declaration must be extern, because ISO C99 section 6.9.2 @@ -489,8 +604,17 @@ locate_handler (char const *keyword) struct xhdr_tab const *p; for (p = xhdr_tab; p->keyword; p++) - if (strcmp (p->keyword, keyword) == 0) - return p; + if (p->prefix) + { + if (strncmp (p->keyword, keyword, strlen(p->keyword)) == 0) + return p; + } + else + { + if (strcmp (p->keyword, keyword) == 0) + return p; + } + return NULL; } @@ -500,7 +624,8 @@ xheader_protected_pattern_p (const char *pattern) struct xhdr_tab const *p; for (p = xhdr_tab; p->keyword; p++) - if ((p->flags & XHDR_PROTECTED) && fnmatch (pattern, p->keyword, 0) == 0) + if (!p->prefix && (p->flags & XHDR_PROTECTED) + && fnmatch (pattern, p->keyword, 0) == 0) return true; return false; } @@ -511,7 +636,8 @@ xheader_protected_keyword_p (const char *keyword) struct xhdr_tab const *p; for (p = xhdr_tab; p->keyword; p++) - if ((p->flags & XHDR_PROTECTED) && strcmp (p->keyword, keyword) == 0) + if (!p->prefix && (p->flags & XHDR_PROTECTED) + && strcmp (p->keyword, keyword) == 0) return true; return false; } @@ -526,7 +652,6 @@ decode_record (struct xheader *xhdr, { char *start = *ptr; char *p = start; - uintmax_t u; size_t len; char *len_lim; char const *keyword; @@ -543,13 +668,7 @@ decode_record (struct xheader *xhdr, return false; } - errno = 0; - len = u = strtoumax (p, &len_lim, 10); - if (len != u || errno == ERANGE) - { - ERROR ((0, 0, _("Extended header length is out of allowed range"))); - return false; - } + len = strtoumax (p, &len_lim, 10); if (len_max < len) { @@ -618,7 +737,7 @@ decx (void *data, char const *keyword, char const *value, size_t size) t->decoder (st, keyword, value, size); else WARNOPT (WARN_UNKNOWN_KEYWORD, - (0, 0, _("Ignoring unknown extended header keyword `%s'"), + (0, 0, _("Ignoring unknown extended header keyword '%s'"), keyword)); } @@ -691,10 +810,16 @@ xheader_store (char const *keyword, struct tar_stat_info *st, } void -xheader_read (struct xheader *xhdr, union block *p, size_t size) +xheader_read (struct xheader *xhdr, union block *p, off_t size) { size_t j = 0; + if (size < 0) + size = 0; /* Already diagnosed. */ + + if (SIZE_MAX - BLOCKSIZE <= size) + xalloc_die (); + size += BLOCKSIZE; xhdr->size = size; xhdr->buffer = xmalloc (size + 1); @@ -721,15 +846,71 @@ xheader_read (struct xheader *xhdr, union block *p, size_t size) while (size > 0); } +/* xattr_encode_keyword() substitutes '=' ~~> '%3D' and '%' ~~> '%25' + in extended attribute keywords. This is needed because the '=' character + has special purpose in extended attribute header - it splits keyword and + value part of header. If there was the '=' occurrence allowed inside + keyword, there would be no unambiguous way how to decode this extended + attribute. + + (http://lists.gnu.org/archive/html/bug-tar/2012-10/msg00017.html) + */ +static char * +xattr_encode_keyword(const char *keyword) +{ + static char *encode_buffer = NULL; + static size_t encode_buffer_size = 0; + size_t bp; /* keyword/buffer pointers */ + + if (!encode_buffer) + { + encode_buffer_size = 256; + encode_buffer = xmalloc (encode_buffer_size); + } + else + *encode_buffer = 0; + + for (bp = 0; *keyword != 0; ++bp, ++keyword) + { + char c = *keyword; + + if (bp + 2 /* enough for URL encoding also.. */ >= encode_buffer_size) + { + encode_buffer = x2realloc (encode_buffer, &encode_buffer_size); + } + + if (c == '%') + { + strcpy (encode_buffer + bp, "%25"); + bp += 2; + } + else if (c == '=') + { + strcpy (encode_buffer + bp, "%3D"); + bp += 2; + } + else + encode_buffer[bp] = c; + } + + encode_buffer[bp] = 0; + + return encode_buffer; +} + static void xheader_print_n (struct xheader *xhdr, char const *keyword, char const *value, size_t vsize) { - size_t len = strlen (keyword) + vsize + 3; /* ' ' + '=' + '\n' */ size_t p; size_t n = 0; char nbuf[UINTMAX_STRSIZE_BOUND]; char const *np; + size_t len, klen; + + keyword = xattr_encode_keyword (keyword); + klen = strlen (keyword); + len = klen + vsize + 3; /* ' ' + '=' + '\n' */ do { @@ -741,7 +922,7 @@ xheader_print_n (struct xheader *xhdr, char const *keyword, x_obstack_grow (xhdr, np, n); x_obstack_1grow (xhdr, ' '); - x_obstack_grow (xhdr, keyword, strlen (keyword)); + x_obstack_grow (xhdr, keyword, klen); x_obstack_1grow (xhdr, '='); x_obstack_grow (xhdr, value, vsize); x_obstack_1grow (xhdr, '\n'); @@ -849,14 +1030,12 @@ xheader_string_end (struct xheader *xhdr, char const *keyword) static void out_of_range_header (char const *keyword, char const *value, - uintmax_t minus_minval, uintmax_t maxval) + intmax_t minval, uintmax_t maxval) { - char minval_buf[UINTMAX_STRSIZE_BOUND + 1]; + char minval_buf[INT_BUFSIZE_BOUND (intmax_t)]; char maxval_buf[UINTMAX_STRSIZE_BOUND]; - char *minval_string = umaxtostr (minus_minval, minval_buf + 1); + char *minval_string = imaxtostr (minval, minval_buf); char *maxval_string = umaxtostr (maxval, maxval_buf); - if (minus_minval) - *--minval_string = '-'; /* TRANSLATORS: The first %s is the pax extended header keyword (atime, gid, etc.). */ @@ -899,136 +1078,59 @@ code_time (struct timespec t, char const *keyword, struct xheader *xhdr) xheader_print (xhdr, keyword, code_timespec (t, buf)); } -enum decode_time_status - { - decode_time_success, - decode_time_range, - decode_time_bad_header - }; - -static enum decode_time_status -_decode_time (struct timespec *ts, char const *arg, char const *keyword) +static bool +decode_time (struct timespec *ts, char const *arg, char const *keyword) { - time_t s; - unsigned long int ns = 0; - char *p; char *arg_lim; - bool negative = *arg == '-'; + struct timespec t = decode_timespec (arg, &arg_lim, true); - errno = 0; - - if (ISDIGIT (arg[negative])) + if (! valid_timespec (t)) { - if (negative) - { - intmax_t i = strtoimax (arg, &arg_lim, 10); - if (TYPE_SIGNED (time_t) ? i < TYPE_MINIMUM (time_t) : i < 0) - return decode_time_range; - s = i; - } + if (arg < arg_lim && !*arg_lim) + out_of_range_header (keyword, arg, TYPE_MINIMUM (time_t), + TYPE_MAXIMUM (time_t)); else - { - uintmax_t i = strtoumax (arg, &arg_lim, 10); - if (TYPE_MAXIMUM (time_t) < i) - return decode_time_range; - s = i; - } - - p = arg_lim; - - if (errno == ERANGE) - return decode_time_range; - - if (*p == '.') - { - int digits = 0; - bool trailing_nonzero = false; - - while (ISDIGIT (*++p)) - if (digits < LOG10_BILLION) - { - ns = 10 * ns + (*p - '0'); - digits++; - } - else - trailing_nonzero |= *p != '0'; - - while (digits++ < LOG10_BILLION) - ns *= 10; - - if (negative) - { - /* Convert "-1.10000000000001" to s == -2, ns == 89999999. - I.e., truncate time stamps towards minus infinity while - converting them to internal form. */ - ns += trailing_nonzero; - if (ns != 0) - { - if (s == TYPE_MINIMUM (time_t)) - return decode_time_range; - s--; - ns = BILLION - ns; - } - } - } - - if (! *p) - { - ts->tv_sec = s; - ts->tv_nsec = ns; - return decode_time_success; - } + ERROR ((0, 0, _("Malformed extended header: invalid %s=%s"), + keyword, arg)); + return false; } - return decode_time_bad_header; + *ts = t; + return true; } -static bool -decode_time (struct timespec *ts, char const *arg, char const *keyword) +static void +code_signed_num (uintmax_t value, char const *keyword, + intmax_t minval, uintmax_t maxval, struct xheader *xhdr) { - switch (_decode_time (ts, arg, keyword)) - { - case decode_time_success: - return true; - case decode_time_bad_header: - ERROR ((0, 0, _("Malformed extended header: invalid %s=%s"), - keyword, arg)); - return false; - case decode_time_range: - out_of_range_header (keyword, arg, - (uintmax_t) TYPE_MINIMUM (time_t), - TYPE_MAXIMUM (time_t)); - return false; - } - return true; + char sbuf[SYSINT_BUFSIZE]; + xheader_print (xhdr, keyword, sysinttostr (value, minval, maxval, sbuf)); } - - static void code_num (uintmax_t value, char const *keyword, struct xheader *xhdr) { - char sbuf[UINTMAX_STRSIZE_BOUND]; - xheader_print (xhdr, keyword, umaxtostr (value, sbuf)); + code_signed_num (value, keyword, 0, UINTMAX_MAX, xhdr); } static bool -decode_num (uintmax_t *num, char const *arg, uintmax_t maxval, - char const *keyword) +decode_signed_num (intmax_t *num, char const *arg, + intmax_t minval, uintmax_t maxval, + char const *keyword) { - uintmax_t u; char *arg_lim; + intmax_t u = strtosysint (arg, &arg_lim, minval, maxval); - if (! (ISDIGIT (*arg) - && (errno = 0, u = strtoumax (arg, &arg_lim, 10), !*arg_lim))) + if (errno == EINVAL || *arg_lim) { ERROR ((0, 0, _("Malformed extended header: invalid %s=%s"), keyword, arg)); return false; } - if (! (u <= maxval && errno != ERANGE)) + if (errno == ERANGE) { - out_of_range_header (keyword, arg, 0, maxval); + out_of_range_header (keyword, arg, minval, maxval); return false; } @@ -1036,6 +1138,17 @@ decode_num (uintmax_t *num, char const *arg, uintmax_t maxval, return true; } +static bool +decode_num (uintmax_t *num, char const *arg, uintmax_t maxval, + char const *keyword) +{ + intmax_t i; + if (! decode_signed_num (&i, arg, 0, maxval, keyword)) + return false; + *num = i; + return true; +} + static void dummy_coder (struct tar_stat_info const *st __attribute__ ((unused)), char const *keyword __attribute__ ((unused)), @@ -1074,7 +1187,8 @@ static void gid_coder (struct tar_stat_info const *st, char const *keyword, struct xheader *xhdr, void const *data __attribute__ ((unused))) { - code_num (st->stat.st_gid, keyword, xhdr); + code_signed_num (st->stat.st_gid, keyword, + TYPE_MINIMUM (gid_t), TYPE_MAXIMUM (gid_t), xhdr); } static void @@ -1083,8 +1197,9 @@ gid_decoder (struct tar_stat_info *st, char const *arg, size_t size __attribute__((unused))) { - uintmax_t u; - if (decode_num (&u, arg, TYPE_MAXIMUM (gid_t), keyword)) + intmax_t u; + if (decode_signed_num (&u, arg, TYPE_MINIMUM (gid_t), + TYPE_MAXIMUM (gid_t), keyword)) st->stat.st_gid = u; } @@ -1197,7 +1312,8 @@ static void uid_coder (struct tar_stat_info const *st, char const *keyword, struct xheader *xhdr, void const *data __attribute__ ((unused))) { - code_num (st->stat.st_uid, keyword, xhdr); + code_signed_num (st->stat.st_uid, keyword, + TYPE_MINIMUM (uid_t), TYPE_MAXIMUM (uid_t), xhdr); } static void @@ -1206,8 +1322,9 @@ uid_decoder (struct tar_stat_info *st, char const *arg, size_t size __attribute__((unused))) { - uintmax_t u; - if (decode_num (&u, arg, TYPE_MAXIMUM (uid_t), keyword)) + intmax_t u; + if (decode_signed_num (&u, arg, TYPE_MINIMUM (uid_t), + TYPE_MAXIMUM (uid_t), keyword)) st->stat.st_uid = u; } @@ -1329,7 +1446,7 @@ sparse_map_decoder (struct tar_stat_info *st, st->sparse_map_avail = 0; while (1) { - uintmax_t u; + intmax_t u; char *delim; struct sp_array e; @@ -1341,11 +1458,16 @@ sparse_map_decoder (struct tar_stat_info *st, } errno = 0; - u = strtoumax (arg, &delim, 10); + u = strtoimax (arg, &delim, 10); + if (TYPE_MAXIMUM (off_t) < u) + { + u = TYPE_MAXIMUM (off_t); + errno = ERANGE; + } if (offset) { e.offset = u; - if (!(u == e.offset && errno != ERANGE)) + if (errno == ERANGE) { out_of_range_header (keyword, arg, 0, TYPE_MAXIMUM (off_t)); return; @@ -1354,7 +1476,7 @@ sparse_map_decoder (struct tar_stat_info *st, else { e.numbytes = u; - if (!(u == e.numbytes && errno != ERANGE)) + if (errno == ERANGE) { out_of_range_header (keyword, arg, 0, TYPE_MAXIMUM (off_t)); return; @@ -1469,6 +1591,80 @@ volume_filename_decoder (struct tar_stat_info *st, decode_string (&continued_file_name, arg); } +static void +xattr_selinux_coder (struct tar_stat_info const *st, char const *keyword, + struct xheader *xhdr, void const *data) +{ + code_string (st->cntx_name, keyword, xhdr); +} + +static void +xattr_selinux_decoder (struct tar_stat_info *st, + char const *keyword, char const *arg, size_t size) +{ + decode_string (&st->cntx_name, arg); +} + +static void +xattr_acls_a_coder (struct tar_stat_info const *st , char const *keyword, + struct xheader *xhdr, void const *data) +{ + xheader_print_n (xhdr, keyword, st->acls_a_ptr, st->acls_a_len); +} + +static void +xattr_acls_a_decoder (struct tar_stat_info *st, + char const *keyword, char const *arg, size_t size) +{ + st->acls_a_ptr = xmemdup (arg, size + 1); + st->acls_a_len = size; +} + +static void +xattr_acls_d_coder (struct tar_stat_info const *st , char const *keyword, + struct xheader *xhdr, void const *data) +{ + xheader_print_n (xhdr, keyword, st->acls_d_ptr, st->acls_d_len); +} + +static void +xattr_acls_d_decoder (struct tar_stat_info *st, + char const *keyword, char const *arg, size_t size) +{ + st->acls_d_ptr = xmemdup (arg, size + 1); + st->acls_d_len = size; +} + +static void +xattr_coder (struct tar_stat_info const *st, char const *keyword, + struct xheader *xhdr, void const *data) +{ + struct xattr_array *xattr_map = st->xattr_map; + const size_t *off = data; + xheader_print_n (xhdr, keyword, + xattr_map[*off].xval_ptr, xattr_map[*off].xval_len); +} + +static void +xattr_decoder (struct tar_stat_info *st, + char const *keyword, char const *arg, size_t size) +{ + char *xstr, *xkey; + + /* copy keyword */ + size_t klen_raw = strlen (keyword); + xkey = alloca (klen_raw + 1); + memcpy (xkey, keyword, klen_raw + 1) /* including null-terminating */; + + /* copy value */ + xstr = alloca (size + 1); + memcpy (xstr, arg, size + 1); /* separator included, for GNU tar '\n' */; + + xattr_decode_keyword (xkey); + + xheader_xattr_add (st, xkey + strlen("SCHILY.xattr."), xstr, size); +} + static void sparse_major_coder (struct tar_stat_info const *st, char const *keyword, struct xheader *xhdr, void const *data) @@ -1506,53 +1702,53 @@ sparse_minor_decoder (struct tar_stat_info *st, } struct xhdr_tab const xhdr_tab[] = { - { "atime", atime_coder, atime_decoder, 0 }, - { "comment", dummy_coder, dummy_decoder, 0 }, - { "charset", dummy_coder, dummy_decoder, 0 }, - { "ctime", ctime_coder, ctime_decoder, 0 }, - { "gid", gid_coder, gid_decoder, 0 }, - { "gname", gname_coder, gname_decoder, 0 }, - { "linkpath", linkpath_coder, linkpath_decoder, 0 }, - { "mtime", mtime_coder, mtime_decoder, 0 }, - { "path", path_coder, path_decoder, 0 }, - { "size", size_coder, size_decoder, 0 }, - { "uid", uid_coder, uid_decoder, 0 }, - { "uname", uname_coder, uname_decoder, 0 }, + { "atime", atime_coder, atime_decoder, 0, false }, + { "comment", dummy_coder, dummy_decoder, 0, false }, + { "charset", dummy_coder, dummy_decoder, 0, false }, + { "ctime", ctime_coder, ctime_decoder, 0, false }, + { "gid", gid_coder, gid_decoder, 0, false }, + { "gname", gname_coder, gname_decoder, 0, false }, + { "linkpath", linkpath_coder, linkpath_decoder, 0, false }, + { "mtime", mtime_coder, mtime_decoder, 0, false }, + { "path", path_coder, path_decoder, 0, false }, + { "size", size_coder, size_decoder, 0, false }, + { "uid", uid_coder, uid_decoder, 0, false }, + { "uname", uname_coder, uname_decoder, 0, false }, /* Sparse file handling */ { "GNU.sparse.name", path_coder, path_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, { "GNU.sparse.major", sparse_major_coder, sparse_major_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, { "GNU.sparse.minor", sparse_minor_coder, sparse_minor_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, { "GNU.sparse.realsize", sparse_size_coder, sparse_size_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, { "GNU.sparse.numblocks", sparse_numblocks_coder, sparse_numblocks_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, /* tar 1.14 - 1.15.90 keywords. */ { "GNU.sparse.size", sparse_size_coder, sparse_size_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, /* tar 1.14 - 1.15.1 keywords. Multiple instances of these appeared in 'x' headers, and each of them was meaningful. It confilcted with POSIX specs, which requires that "when extended header records conflict, the last one given in the header shall take precedence." */ { "GNU.sparse.offset", sparse_offset_coder, sparse_offset_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, { "GNU.sparse.numbytes", sparse_numbytes_coder, sparse_numbytes_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, /* tar 1.15.90 keyword, introduced to remove the above-mentioned conflict. */ { "GNU.sparse.map", NULL /* Unused, see pax_dump_header() */, - sparse_map_decoder, 0 }, + sparse_map_decoder, 0, false }, { "GNU.dumpdir", dumpdir_coder, dumpdir_decoder, - XHDR_PROTECTED }, + XHDR_PROTECTED, false }, /* Keeps the tape/volume label. May be present only in the global headers. Equivalent to GNUTYPE_VOLHDR. */ { "GNU.volume.label", volume_label_coder, volume_label_decoder, - XHDR_PROTECTED | XHDR_GLOBAL }, + XHDR_PROTECTED | XHDR_GLOBAL, false }, /* These may be present in a first global header of the archive. They provide the same functionality as GNUTYPE_MULTIVOL header. @@ -1561,11 +1757,28 @@ struct xhdr_tab const xhdr_tab[] = { GNU.volume.offset keeps the offset of the start of this volume, otherwise kept in oldgnu_header.offset. */ { "GNU.volume.filename", volume_label_coder, volume_filename_decoder, - XHDR_PROTECTED | XHDR_GLOBAL }, + XHDR_PROTECTED | XHDR_GLOBAL, false }, { "GNU.volume.size", volume_size_coder, volume_size_decoder, - XHDR_PROTECTED | XHDR_GLOBAL }, + XHDR_PROTECTED | XHDR_GLOBAL, false }, { "GNU.volume.offset", volume_offset_coder, volume_offset_decoder, - XHDR_PROTECTED | XHDR_GLOBAL }, + XHDR_PROTECTED | XHDR_GLOBAL, false }, + + /* We get the SELinux value from filecon, so add a namespace for SELinux + instead of storing it in SCHILY.xattr.* (which would be RAW). */ + { "RHT.security.selinux", + xattr_selinux_coder, xattr_selinux_decoder, 0, false }, + + /* ACLs, use the star format... */ + { "SCHILY.acl.access", + xattr_acls_a_coder, xattr_acls_a_decoder, 0, false }, + + { "SCHILY.acl.default", + xattr_acls_d_coder, xattr_acls_d_decoder, 0, false }, + + /* We are storing all extended attributes using this rule even if some of them + were stored by some previous rule (duplicates) -- we just have to make sure + they are restored *only once* during extraction later on. */ + { "SCHILY.xattr", xattr_coder, xattr_decoder, 0, true }, - { NULL, NULL, NULL, 0 } + { NULL, NULL, NULL, 0, false } }; diff --git a/tests/Makefile.am b/tests/Makefile.am index ab7d104d..fc72c519 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,25 +1,21 @@ # Makefile for GNU tar regression tests. -# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2013 Free Software -# François Pinard , 1988. -# Sergey Poznyakoff , 2004. +# This file is part of GNU tar. -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3, or (at your option) -## any later version. +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. +# GNU tar 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. +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4 star/README star/quicktest.sh DISTCLEANFILES = atconfig $(check_SCRIPTS) @@ -46,13 +42,20 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac ## ------------ ## TESTSUITE_AT = \ + T-cd.at\ T-empty.at\ T-null.at\ + T-rec.at\ + T-zfile.at\ + T-nonl.at\ + T-mult.at\ + T-nest.at\ testsuite.at\ append.at\ append01.at\ append02.at\ append03.at\ + append04.at\ backup01.at\ chtype.at\ comprec.at\ @@ -68,6 +71,16 @@ TESTSUITE_AT = \ exclude04.at\ exclude05.at\ exclude06.at\ + exclude07.at\ + exclude08.at\ + exclude09.at\ + exclude10.at\ + exclude11.at\ + exclude12.at\ + exclude13.at\ + exclude14.at\ + exclude15.at\ + exclude16.at\ extrac01.at\ extrac02.at\ extrac03.at\ @@ -85,6 +98,8 @@ TESTSUITE_AT = \ extrac15.at\ extrac16.at\ extrac17.at\ + extrac18.at\ + extrac19.at\ filerem01.at\ filerem02.at\ gzip.at\ @@ -96,6 +111,9 @@ TESTSUITE_AT = \ incr04.at\ incr05.at\ incr06.at\ + incr07.at\ + incr08.at\ + incr09.at\ indexfile.at\ ignfail.at\ label01.at\ @@ -111,6 +129,7 @@ TESTSUITE_AT = \ listed02.at\ listed03.at\ listed04.at\ + listed05.at\ long01.at\ longv7.at\ lustar01.at\ @@ -125,8 +144,15 @@ TESTSUITE_AT = \ multiv07.at\ multiv08.at\ old.at\ + opcomp01.at\ + opcomp02.at\ + opcomp03.at\ + opcomp04.at\ + opcomp05.at\ + opcomp06.at\ options.at\ options02.at\ + owner.at\ pipe.at\ recurse.at\ rename01.at\ @@ -137,6 +163,24 @@ TESTSUITE_AT = \ remfiles01.at\ remfiles02.at\ remfiles03.at\ + remfiles04a.at\ + remfiles04b.at\ + remfiles04c.at\ + remfiles05a.at\ + remfiles05b.at\ + remfiles05c.at\ + remfiles06a.at\ + remfiles06b.at\ + remfiles06c.at\ + remfiles07a.at\ + remfiles07b.at\ + remfiles07c.at\ + remfiles08a.at\ + remfiles08b.at\ + remfiles08c.at\ + remfiles09a.at\ + remfiles09b.at\ + remfiles09c.at\ same-order01.at\ same-order02.at\ shortfile.at\ @@ -152,6 +196,7 @@ TESTSUITE_AT = \ spmvp00.at\ spmvp01.at\ spmvp10.at\ + time01.at\ truncate.at\ update.at\ update01.at\ @@ -168,7 +213,17 @@ TESTSUITE_AT = \ star/multi-fail.at\ star/ustar-big-2g.at\ star/ustar-big-8g.at\ - star/pax-big-10g.at + star/pax-big-10g.at\ + xattr01.at\ + xattr02.at\ + xattr03.at\ + xattr04.at\ + xattr05.at\ + acls01.at\ + acls02.at\ + selnx01.at\ + selacl01.at\ + capabs_raw01.at TESTSUITE = $(srcdir)/testsuite @@ -205,6 +260,11 @@ check_PROGRAMS = genfile genfile_SOURCES = genfile.c argcv.c argcv.h localedir = $(datadir)/locale -INCLUDES = -I$(top_srcdir)/gnu -I../gnu -I$(top_srcdir)/gnu -I$(top_srcdir)/lib -AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" +AM_CPPFLAGS = \ + -I$(top_srcdir)/gnu\ + -I../gnu\ + -I$(top_srcdir)/gnu\ + -I$(top_srcdir)/lib\ + -DLOCALEDIR=\"$(localedir)\" + LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) diff --git a/tests/Makefile.in b/tests/Makefile.in index 1db0c26d..c0528b2c 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -17,12 +16,40 @@ # Makefile for GNU tar regression tests. -# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2013 Free Software + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# François Pinard , 1988. -# Sergey Poznyakoff , 2004. +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -43,31 +70,35 @@ host_triplet = @host@ check_PROGRAMS = genfile$(EXEEXT) subdir = tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/atlocal.in + $(srcdir)/atlocal.in $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \ + $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/d-ino.m4 \ - $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ - $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \ + $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closeout.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/configmake.m4 \ + $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent-safer.m4 \ + $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirfd.m4 \ + $(top_srcdir)/m4/dirname.m4 \ + $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ + $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ + $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \ + $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \ + $(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \ - $(top_srcdir)/m4/futimens.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseek.m4 \ + $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \ + $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ @@ -75,50 +106,60 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \ - $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ - $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \ + $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ - $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ - $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ - $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \ + $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \ + $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \ + $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \ + $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \ + $(top_srcdir)/m4/mkdirat.m4 $(top_srcdir)/m4/mkdtemp.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mkfifoat.m4 \ $(top_srcdir)/m4/mknod.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ - $(top_srcdir)/m4/parse-datetime.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \ - $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \ + $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ + $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ + $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \ - $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \ + $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \ + $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \ + $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \ + $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \ + $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \ + $(top_srcdir)/m4/selinux-context-h.m4 \ + $(top_srcdir)/m4/selinux-selinux-h.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ + $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ + $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ @@ -126,22 +167,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \ - $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \ + $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \ $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \ - $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_stat_h.m4 \ - $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \ + $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ + $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ + $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \ $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \ - $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \ - $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \ - $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimensat.m4 \ - $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \ - $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ - $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \ + $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ + $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ + $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \ + $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ + $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ + $(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \ + $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ @@ -162,28 +204,41 @@ genfile_LDADD = $(LDADD) am__DEPENDENCIES_1 = genfile_DEPENDENCIES = ../gnu/libgnu.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(genfile_SOURCES) DIST_SOURCES = $(genfile_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -194,6 +249,8 @@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -245,12 +302,16 @@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ +GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ +GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ +GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ @@ -259,17 +320,27 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ +GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ +GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFS = @GNULIB_FFS@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ +GNULIB_FGETC = @GNULIB_FGETC@ +GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ +GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ +GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ @@ -277,6 +348,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ +GNULIB_GETC = @GNULIB_GETC@ +GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ @@ -291,15 +364,19 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ +GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ +GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ +GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ +GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -340,25 +417,35 @@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ +GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ +GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ +GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ +GNULIB_RAISE = @GNULIB_RAISE@ +GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ +GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -366,14 +453,23 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ +GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ +GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ +GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SIGACTION = @GNULIB_SIGACTION@ +GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ +GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ +GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ @@ -400,12 +496,13 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ -GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@ +GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ @@ -417,10 +514,13 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ +GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ +GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ +GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ @@ -465,9 +565,11 @@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ @@ -486,6 +588,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ +HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ @@ -501,17 +604,23 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ +HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ +HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ +HAVE_FFS = @HAVE_FFS@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -527,6 +636,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ +HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -559,28 +669,46 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ +HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ +HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ +HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ +HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_PREAD = @HAVE_PREAD@ +HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTSNAME = @HAVE_PTSNAME@ +HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ +HAVE_RAISE = @HAVE_RAISE@ +HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ +HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SIGACTION = @HAVE_SIGACTION@ +HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ +HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ @@ -588,6 +716,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ @@ -595,6 +724,7 @@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ +HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ @@ -607,6 +737,7 @@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ @@ -646,12 +777,14 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ +HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ +HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -674,7 +807,9 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_ACL = @LIB_ACL@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_SELINUX = @LIB_SELINUX@ LIB_SETSOCKOPT = @LIB_SETSOCKOPT@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ @@ -696,6 +831,9 @@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ +NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ +NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ @@ -706,6 +844,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ @@ -717,6 +856,9 @@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ +NEXT_LOCALE_H = @NEXT_LOCALE_H@ +NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ +NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ @@ -727,6 +869,7 @@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ @@ -737,6 +880,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ @@ -758,9 +902,11 @@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ +REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ @@ -773,6 +919,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ +REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ @@ -782,11 +929,14 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ +REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ @@ -816,8 +966,14 @@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ +REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ +REPLACE_PTSNAME = @REPLACE_PTSNAME@ +REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ +REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ +REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ @@ -826,13 +982,16 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ +REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ @@ -842,10 +1001,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ +REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ +REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -866,10 +1029,13 @@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +RSH = @RSH@ +SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ @@ -883,9 +1049,14 @@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ +USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WERROR_CFLAGS = @WERROR_CFLAGS@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -954,13 +1125,20 @@ MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE) # TESTSUITE_AT = \ + T-cd.at\ T-empty.at\ T-null.at\ + T-rec.at\ + T-zfile.at\ + T-nonl.at\ + T-mult.at\ + T-nest.at\ testsuite.at\ append.at\ append01.at\ append02.at\ append03.at\ + append04.at\ backup01.at\ chtype.at\ comprec.at\ @@ -976,6 +1154,16 @@ TESTSUITE_AT = \ exclude04.at\ exclude05.at\ exclude06.at\ + exclude07.at\ + exclude08.at\ + exclude09.at\ + exclude10.at\ + exclude11.at\ + exclude12.at\ + exclude13.at\ + exclude14.at\ + exclude15.at\ + exclude16.at\ extrac01.at\ extrac02.at\ extrac03.at\ @@ -993,6 +1181,8 @@ TESTSUITE_AT = \ extrac15.at\ extrac16.at\ extrac17.at\ + extrac18.at\ + extrac19.at\ filerem01.at\ filerem02.at\ gzip.at\ @@ -1004,6 +1194,9 @@ TESTSUITE_AT = \ incr04.at\ incr05.at\ incr06.at\ + incr07.at\ + incr08.at\ + incr09.at\ indexfile.at\ ignfail.at\ label01.at\ @@ -1019,6 +1212,7 @@ TESTSUITE_AT = \ listed02.at\ listed03.at\ listed04.at\ + listed05.at\ long01.at\ longv7.at\ lustar01.at\ @@ -1033,8 +1227,15 @@ TESTSUITE_AT = \ multiv07.at\ multiv08.at\ old.at\ + opcomp01.at\ + opcomp02.at\ + opcomp03.at\ + opcomp04.at\ + opcomp05.at\ + opcomp06.at\ options.at\ options02.at\ + owner.at\ pipe.at\ recurse.at\ rename01.at\ @@ -1045,6 +1246,24 @@ TESTSUITE_AT = \ remfiles01.at\ remfiles02.at\ remfiles03.at\ + remfiles04a.at\ + remfiles04b.at\ + remfiles04c.at\ + remfiles05a.at\ + remfiles05b.at\ + remfiles05c.at\ + remfiles06a.at\ + remfiles06b.at\ + remfiles06c.at\ + remfiles07a.at\ + remfiles07b.at\ + remfiles07c.at\ + remfiles08a.at\ + remfiles08b.at\ + remfiles08c.at\ + remfiles09a.at\ + remfiles09b.at\ + remfiles09c.at\ same-order01.at\ same-order02.at\ shortfile.at\ @@ -1060,6 +1279,7 @@ TESTSUITE_AT = \ spmvp00.at\ spmvp01.at\ spmvp10.at\ + time01.at\ truncate.at\ update.at\ update01.at\ @@ -1076,13 +1296,28 @@ TESTSUITE_AT = \ star/multi-fail.at\ star/ustar-big-2g.at\ star/ustar-big-8g.at\ - star/pax-big-10g.at + star/pax-big-10g.at\ + xattr01.at\ + xattr02.at\ + xattr03.at\ + xattr04.at\ + xattr05.at\ + acls01.at\ + acls02.at\ + selnx01.at\ + selacl01.at\ + capabs_raw01.at TESTSUITE = $(srcdir)/testsuite AUTOTEST = $(AUTOM4TE) --language=autotest genfile_SOURCES = genfile.c argcv.c argcv.h -INCLUDES = -I$(top_srcdir)/gnu -I../gnu -I$(top_srcdir)/gnu -I$(top_srcdir)/lib -AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" +AM_CPPFLAGS = \ + -I$(top_srcdir)/gnu\ + -I../gnu\ + -I$(top_srcdir)/gnu\ + -I$(top_srcdir)/lib\ + -DLOCALEDIR=\"$(localedir)\" + LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) all: all-am @@ -1123,7 +1358,7 @@ atlocal: $(top_builddir)/config.status $(srcdir)/atlocal.in clean-checkPROGRAMS: -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) -genfile$(EXEEXT): $(genfile_OBJECTS) $(genfile_DEPENDENCIES) +genfile$(EXEEXT): $(genfile_OBJECTS) $(genfile_DEPENDENCIES) $(EXTRA_genfile_DEPENDENCIES) @rm -f genfile$(EXEEXT) $(AM_V_CCLD)$(LINK) $(genfile_OBJECTS) $(genfile_LDADD) $(LIBS) @@ -1139,18 +1374,16 @@ distclean-compile: .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -1201,6 +1434,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1250,10 +1497,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1339,17 +1591,17 @@ uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \ - clean-checkPROGRAMS clean-generic clean-local ctags distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installcheck-local installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am + clean-checkPROGRAMS clean-generic clean-local cscopelist ctags \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installcheck-local \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am $(srcdir)/package.m4: $(top_srcdir)/configure.ac diff --git a/tests/T-cd.at b/tests/T-cd.at new file mode 100644 index 00000000..d8fcd88a --- /dev/null +++ b/tests/T-cd.at @@ -0,0 +1,44 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([-C in file lists]) +AT_KEYWORDS([files-from T-cd]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +>file1 +mkdir dir +>dir/file2 +>dir/file3 +AT_DATA([F1],[file1 +-C dir +. +]) +tar cf archive -T F1 +tar tf archive | sort +], +[0], +[./ +./file2 +./file3 +file1 +],[],[],[],[ustar]) + +AT_CLEANUP diff --git a/tests/T-empty.at b/tests/T-empty.at index 6aa0ded2..52614458 100644 --- a/tests/T-empty.at +++ b/tests/T-empty.at @@ -1,30 +1,30 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Tar 1.16 coredumped if a filelist file contained empty (zero-length) # entries # Reported by: Karl Berry # References: <200610301353.k9UDr1O30680@f7.net> -AT_SETUP([files-from: empty entries]) -AT_KEYWORDS([files-from empty]) +AT_SETUP([empty entries]) +AT_KEYWORDS([files-from empty-line]) AT_DATA([file-list], [jeden @@ -34,17 +34,16 @@ trzy ]) AT_TAR_CHECK([ -AT_SORT_PREREQ genfile --file jeden genfile --file dwa genfile --file trzy -tar cfvT archive ../file-list | sort +tar cfvT archive ../file-list ], [0], -[dwa -jeden +[jeden +dwa trzy ], [],[],[],[ustar]) # Testing one format is enough diff --git a/tests/T-mult.at b/tests/T-mult.at new file mode 100644 index 00000000..d011b837 --- /dev/null +++ b/tests/T-mult.at @@ -0,0 +1,46 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([multiple file lists]) +AT_KEYWORDS([files-from T-mult]) + +AT_TAR_CHECK([ +>file1 +>file2 +>file3 +>file4 +AT_DATA([F1],[file1 +file2 +]) +AT_DATA([F2],[file3 +file4 +]) +tar cf archive -T F1 -T F2 +tar tf archive +], +[0], +[file1 +file2 +file3 +file4 +],[],[],[],[ustar]) + +AT_CLEANUP + diff --git a/tests/T-nest.at b/tests/T-nest.at new file mode 100644 index 00000000..5c4b69d8 --- /dev/null +++ b/tests/T-nest.at @@ -0,0 +1,46 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([nested file lists]) +AT_KEYWORDS([files-from T-nest]) + +AT_TAR_CHECK([ +>file1 +>file2 +>file3 +>file4 +AT_DATA([F1],[file1 +-T F2 +file2 +]) +AT_DATA([F2],[file3 +file4 +]) +tar cf archive -T F1 +tar tf archive +], +[0], +[file1 +file3 +file4 +file2 +],[],[],[],[ustar]) + +AT_CLEANUP diff --git a/tests/T-nonl.at b/tests/T-nonl.at new file mode 100644 index 00000000..a6941551 --- /dev/null +++ b/tests/T-nonl.at @@ -0,0 +1,62 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Tar malfunctioned when given a file list with the last line not ending +# in a newline. +# +# Reported by: Michal Žejdl +# References: + +AT_SETUP([entries with missing newlines]) +AT_KEYWORDS([files-from nonewline nonl T-nonl]) + +AT_TAR_CHECK([ +genfile --length=0 --file empty +AS_ECHO_N(c) > 1.nonl +echo d > 2.nonl +AS_ECHO_N(e) >> 2.nonl +touch a b c d e +AT_DATA([filelist],[a +b +]) + +tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist +tar tf archive +echo == +tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl +tar tf archive +], +[0], +[c +d +e +a +b +== +d +e +a +b +c +], +[],[],[],[ustar]) + +AT_CLEANUP + diff --git a/tests/T-null.at b/tests/T-null.at index c45dab60..5db5cf43 100644 --- a/tests/T-null.at +++ b/tests/T-null.at @@ -1,47 +1,45 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . -AT_SETUP([files-from: 0-separated file without -0]) +AT_SETUP([0-separated file without -0]) AT_KEYWORDS([files-from null T-null]) -AT_DATA([expout],[jeden\ndwa -trzy -]) - AT_TAR_CHECK([ AT_SORT_PREREQ -echo dwa > temp +echo jeden > temp +echo dwa >> temp echo trzy >> temp -cat temp | tr '\n' '\0' > temp1 -echo jeden > file-list -cat temp1 >> file-list +cat temp | tr '\n' '\0' > file-list -genfile -f "jeden -dwa" || AT_SKIP_TEST +genfile -f jeden +genfile -f dwa genfile -f trzy -tar cfTv archive file-list | sort +tar cfTv archive file-list ], [0], -[expout], +[jeden +dwa +trzy +], [tar: file-list: file name read contains nul character ],[],[],[ustar]) # Testing one format is enough diff --git a/tests/T-rec.at b/tests/T-rec.at new file mode 100644 index 00000000..29965a3c --- /dev/null +++ b/tests/T-rec.at @@ -0,0 +1,46 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([recursive file lists]) +AT_KEYWORDS([files-from T-rec]) + +AT_TAR_CHECK([ +>file1 +>file2 +AT_DATA([F1],[file1 +-T F2 +]) +AT_DATA([F2],[file2 +-T F1 +]) +tar cf archive -T F1 +echo $? +tar tf archive +], +[0], +[2 +file1 +file2 +], +[tar: F1: file list requested from F2 already read from command line +tar: Exiting with failure status due to previous errors +],[],[],[ustar]) + +AT_CLEANUP diff --git a/tests/T-zfile.at b/tests/T-zfile.at new file mode 100644 index 00000000..8761c7c4 --- /dev/null +++ b/tests/T-zfile.at @@ -0,0 +1,52 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Tar malfunctioned when given empty file as an argument to -T. +# +# Reported by: Michal Žejdl +# References: + +AT_SETUP([empty file]) +AT_KEYWORDS([files-from empty-file]) + +AT_TAR_CHECK([ +genfile --length=0 --file empty +genfile --file a +genfile --file b +AT_DATA([valid],[a +b +]) + +tar cf archive -T empty -T valid +tar tf archive +echo "==" +tar cf archive -T valid -T empty +tar tf archive +], +[0], +[a +b +== +a +b +], +[],[],[],[ustar]) # Testing one format is enough + +AT_CLEANUP diff --git a/tests/acls01.at b/tests/acls01.at new file mode 100644 index 00000000..f737fdbd --- /dev/null +++ b/tests/acls01.at @@ -0,0 +1,55 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# This is basic test for acl support. + +AT_SETUP([acls: basic functionality]) +AT_KEYWORDS([xattrs acls acls01]) + +AT_TAR_CHECK([ +AT_XATTRS_UTILS_PREREQ +AT_ACLS_PREREQ + +mkdir dir +genfile --file dir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/file +setfacl -m u:$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test "$?" = 0 +], +[0], +[]) + +AT_CLEANUP diff --git a/tests/acls02.at b/tests/acls02.at new file mode 100644 index 00000000..244f4337 --- /dev/null +++ b/tests/acls02.at @@ -0,0 +1,61 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# This is basic test for acl support. + +AT_SETUP([acls: work with -C]) +AT_KEYWORDS([xattrs acls acls02]) + +AT_TAR_CHECK([ +AT_XATTRS_UTILS_PREREQ +AT_ACLS_PREREQ + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/subdir +setfacl -m u:$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test "$?" = 0 +], +[0], +[]) + +AT_CLEANUP diff --git a/tests/append.at b/tests/append.at index 7bf9a229..8145c9b2 100644 --- a/tests/append.at +++ b/tests/append.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([append]) AT_KEYWORDS([append append00]) diff --git a/tests/append01.at b/tests/append01.at index 2dc2108f..9cb01e55 100644 --- a/tests/append01.at +++ b/tests/append01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # When decoding a header tar was assigning 0 to oldgnu_header.isextended, # which destroyed name prefix. When updating archive, modified prefix @@ -29,7 +29,7 @@ AT_SETUP([appending files with long names]) AT_KEYWORDS([append append01]) -m4_define([PREFIX],[This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX]) +m4_pushdef([PREFIX],[This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX]) AT_TAR_CHECK([ mkdir PREFIX @@ -44,4 +44,5 @@ PREFIX/file2 ], [],[],[],[oldgnu, ustar, posix, gnu]) +m4_popdef([PREFIX]) AT_CLEANUP diff --git a/tests/append02.at b/tests/append02.at index 869f8a56..43bbb7e5 100644 --- a/tests/append02.at +++ b/tests/append02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Using tar 1.15.x the following equivalent command sets: # diff --git a/tests/append03.at b/tests/append03.at index 8fb24c6f..0aa517c6 100644 --- a/tests/append03.at +++ b/tests/append03.at @@ -1,18 +1,20 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify +# Copyright 2010, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# + # You should have received a copy of the GNU General Public License # along with this program. If not, see . diff --git a/tests/append04.at b/tests/append04.at new file mode 100644 index 00000000..43b32dd9 --- /dev/null +++ b/tests/append04.at @@ -0,0 +1,60 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU tar. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# When called with --append and --verify options, tar would rewrite the +# archive instead of appending to it. +# +# Last-Affected-Version: 1.26 +# Reported-by: Jivko Angelov +# References: <51D6983C.3060404@siteground.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-07/msg00003.html + +AT_SETUP([append with verify]) +AT_KEYWORDS([append append04 verify append-verify]) + +AT_TAR_CHECK([ +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +], +[0], +[file1 +file2 +== +file1 +file2 +file3 +]) + +AT_CLEANUP diff --git a/tests/atlocal.in b/tests/atlocal.in index 12591e32..2bef145d 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -1,6 +1,21 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for tar test suite. -# Copyright (C) 2004, 2006 Free Software Foundation, Inc. +# Copyright 2004, 2006, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . PATH=@abs_builddir@:@abs_top_builddir@/src:@abs_top_srcdir@/build-aux:$top_srcdir:$srcdir:$PATH @@ -34,3 +49,11 @@ decho() { echo $* echo >&2 $* } + +mkexcltest() { + mkdir $1 $1/subdir + genfile --file=$1/top-level-file + genfile --file=$1/subdir/excludeme + genfile --file=$1/subdir/subdir-file +} + \ No newline at end of file diff --git a/tests/backup01.at b/tests/backup01.at index cf0a9077..9c8502d4 100644 --- a/tests/backup01.at +++ b/tests/backup01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009-2010 Free Software Foundation, Inc. +# Copyright 2009-2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: # When extracting, tar (<1.22) sometimes renamed a backup back to the @@ -43,7 +43,7 @@ tar xfv test.tar --backup --warning=no-timestamp [0], [dir1/ dir1/file1 -Renaming `dir1/file1' to `dir1/file1~' +Renaming 'dir1/file1' to 'dir1/file1~' dir2/ ]) diff --git a/tests/capabs_raw01.at b/tests/capabs_raw01.at new file mode 100644 index 00000000..1b9ac228 --- /dev/null +++ b/tests/capabs_raw01.at @@ -0,0 +1,53 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2012-2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: Test if file capabilities are archived/restored correctly +# using just the default xattr support (capabilities are stored/restored in +# binary format -> system dependant). + +AT_SETUP([capabilities: binary store/restore]) +AT_KEYWORDS([xattrs capabilities capabs_raw01]) + +AT_TAR_CHECK([ +AT_PRIVILEGED_PREREQ +AT_XATTRS_PREREQ +AT_CAPABILITIES_UTILS_PREREQ + +mkdir dir +genfile --file dir/file + +setcap "= cap_chown=ei" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +], +[0], +[dir/file = cap_chown+ei +]) + +AT_CLEANUP diff --git a/tests/chtype.at b/tests/chtype.at index 1ba86b3b..e5b5876e 100644 --- a/tests/chtype.at +++ b/tests/chtype.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Incremental restore malfunctions if an archive member # changes type before restoration, e.g. from directory to file or vice @@ -25,7 +25,7 @@ # References: <200605101232.25031.bugreport@wkleff.intergenia.de> AT_SETUP([changed file types in incrementals]) -AT_KEYWORDS([incremental chtype]) +AT_KEYWORDS([incremental listed chtype]) AT_TAR_CHECK([ AT_SORT_PREREQ diff --git a/tests/comprec.at b/tests/comprec.at index f2d01413..ea16fa4b 100644 --- a/tests/comprec.at +++ b/tests/comprec.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([compressed format recognition]) diff --git a/tests/delete01.at b/tests/delete01.at index 76ee2cba..f933a429 100644 --- a/tests/delete01.at +++ b/tests/delete01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Deleting a member after a big one was destroying the archive. diff --git a/tests/delete02.at b/tests/delete02.at index ec99c674..7b4b9118 100644 --- a/tests/delete02.at +++ b/tests/delete02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Copyright 2004-2005, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Deleting a member with the archive from stdin was not working correctly. diff --git a/tests/delete03.at b/tests/delete03.at index 70fa3a94..1feed238 100644 --- a/tests/delete03.at +++ b/tests/delete03.at @@ -1,27 +1,27 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([deleting members with long names]) AT_KEYWORDS([delete delete03]) -m4_define([PREFIX],[This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX]) +m4_pushdef([PREFIX],[This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX]) AT_TAR_CHECK([ @@ -45,4 +45,5 @@ tar -cf archive ./$prefix* && ./PREFIX[]9 ],[],[],[],[gnu, oldgnu, posix]) +m4_popdef([PREFIX]) AT_CLEANUP diff --git a/tests/delete04.at b/tests/delete04.at index f1155d97..593fac83 100644 --- a/tests/delete04.at +++ b/tests/delete04.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Deleting a large last member was destroying earlier members. diff --git a/tests/delete05.at b/tests/delete05.at index 66c6367a..fbf24f3a 100644 --- a/tests/delete05.at +++ b/tests/delete05.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # When attempted to delete a non-existing member, tar used to destroy # last blocking_factor blocks. diff --git a/tests/exclude.at b/tests/exclude.at index 7fe92a46..5e3e0609 100644 --- a/tests/exclude.at +++ b/tests/exclude.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2007 Free Software Foundation, Inc. +# Copyright 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Test the functioning of --exclude-caches and --exclude-tag option families diff --git a/tests/exclude01.at b/tests/exclude01.at index 778a7fc8..b5e7be19 100644 --- a/tests/exclude01.at +++ b/tests/exclude01.at @@ -1,12 +1,14 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/exclude02.at b/tests/exclude02.at index 7996d168..3cd767bc 100644 --- a/tests/exclude02.at +++ b/tests/exclude02.at @@ -1,12 +1,14 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/exclude03.at b/tests/exclude03.at index d592109e..9cf35c96 100644 --- a/tests/exclude03.at +++ b/tests/exclude03.at @@ -1,12 +1,14 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/exclude04.at b/tests/exclude04.at index c6f03cba..ce566d10 100644 --- a/tests/exclude04.at +++ b/tests/exclude04.at @@ -1,12 +1,14 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/exclude05.at b/tests/exclude05.at index 30e922e7..147126bc 100644 --- a/tests/exclude05.at +++ b/tests/exclude05.at @@ -1,12 +1,14 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright (C) 2009, 2010 Free Software Foundation, Inc. +# Copyright 2009-2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/exclude06.at b/tests/exclude06.at index b1c0da7f..c9155e49 100644 --- a/tests/exclude06.at +++ b/tests/exclude06.at @@ -1,12 +1,14 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. @@ -24,7 +26,7 @@ AT_SETUP([exclude: long files in pax archives]) AT_KEYWORDS([exclude exclude06]) -m4_define([test_base_dir],[one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen]) +m4_pushdef([test_base_dir],[one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen]) AT_TAR_CHECK([ AT_TAR_MKHIER(test_base_dir) @@ -44,4 +46,5 @@ find out -type f [], [pax]) +m4_popdef([test_base_dir]) AT_CLEANUP diff --git a/tests/exclude07.at b/tests/exclude07.at new file mode 100644 index 00000000..7e90ee41 --- /dev/null +++ b/tests/exclude07.at @@ -0,0 +1,36 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Copyright 2010, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([exclude: --exclude-backups option]) +AT_KEYWORDS([exclude exclude07]) + +AT_TAR_CHECK([ +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file "dir/.#file" +genfile --file "dir/#file#" + +tar -v -c -f archive --exclude-backups dir +], +[0], +[dir/ +dir/file +]) + +AT_CLEANUP diff --git a/tests/exclude08.at b/tests/exclude08.at new file mode 100644 index 00000000..aa352706 --- /dev/null +++ b/tests/exclude08.at @@ -0,0 +1,54 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag option alone works +# as expected, i.e. excludes the contents of the directory containing +# the tag, but preserves the directory and the tag itself. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag option]) +AT_KEYWORDS([exclude exclude-tag exclude08]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +], +[0], +[etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file +], +[tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +]) + +AT_CLEANUP + diff --git a/tests/exclude09.at b/tests/exclude09.at new file mode 100644 index 00000000..d60bcfe1 --- /dev/null +++ b/tests/exclude09.at @@ -0,0 +1,57 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag option works +# as expected whe used together with --listed-incremental, i.e. excludes +# the contents of the directory containing the tag, but preserves the +# directory and the tag itself. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag option and --listed-incremental]) +AT_KEYWORDS([exclude exclude-tag listed incremental exclude09]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme --listed=snar -v etest | sort +], +[0], +[etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file +], +[tar: etest: Directory is new +tar: etest/subdir: Directory is new +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +],[],[],[gnu]) + +AT_CLEANUP + diff --git a/tests/exclude10.at b/tests/exclude10.at new file mode 100644 index 00000000..fadd020e --- /dev/null +++ b/tests/exclude10.at @@ -0,0 +1,73 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag option works +# as expected when used in conjunction with --listed-incremental. +# If the exclusion tag is created after the level 0 dump, the level +# 1 dump must skip the affected subdirectory and any previously-included +# files within it, but preserve the directory and the tag itself. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag option in incremental pass]) +AT_KEYWORDS([exclude exclude-tag listed incremental exclude10]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +rm etest/subdir/excludeme +decho "# Level 0" +tar -c -f etest-0.tar --exclude-tag=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho "# Level 1" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag=excludeme --listed=snar-1 -v etest | sort +], +[0], +[# Level 0 +etest/ +etest/subdir/ +etest/subdir/subdir-file +etest/top-level-file +# Level 1 +etest/ +etest/subdir/ +etest/subdir/excludeme +], +[# Level 0 +tar: etest: Directory is new +tar: etest/subdir: Directory is new +# Level 1 +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +],[],[],[gnu]) + +AT_CLEANUP + diff --git a/tests/exclude11.at b/tests/exclude11.at new file mode 100644 index 00000000..ae787433 --- /dev/null +++ b/tests/exclude11.at @@ -0,0 +1,53 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies that the --exclude-tag-under option alone works +# as expected, i.e. excludes the contents of the directory containing +# the tag and the tag itself, but preserves the directory. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag-under option]) +AT_KEYWORDS([exclude exclude-tag exclude-tag-under exclude11]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +], +[0], +[etest/ +etest/subdir/ +etest/top-level-file +], +[tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +]) + +AT_CLEANUP + diff --git a/tests/exclude12.at b/tests/exclude12.at new file mode 100644 index 00000000..b5b7824a --- /dev/null +++ b/tests/exclude12.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag-under option works +# as expected whe used together with --listed-incremental, i.e. excludes +# the contents of the directory containing the tag and the tag file, but +# preserves the directory itself. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag-under and --listed-incremental]) +AT_KEYWORDS([exclude exclude-tag exclude-tag-under listed incremental exclude12]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme --listed=snar -v etest | sort +], +[0], +[etest/ +etest/subdir/ +etest/top-level-file +], +[tar: etest: Directory is new +tar: etest/subdir: Directory is new +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +],[],[],[gnu]) + +AT_CLEANUP + diff --git a/tests/exclude13.at b/tests/exclude13.at new file mode 100644 index 00000000..34353f43 --- /dev/null +++ b/tests/exclude13.at @@ -0,0 +1,73 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag-under option works +# as expected when used in conjunction with --listed-incremental. +# If the exclusion tag is created after the level 0 dump, the level +# 1 dump must skip the affected subdirectory and any previously-included +# files within it, including the tag file, but preserve the directory +# itself. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag-under option in incremental pass]) +AT_KEYWORDS([exclude exclude-tag exclude-tag-under listed incremental exclude13]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +rm etest/subdir/excludeme +decho "# Level 0" +tar -c -f etest-0.tar --exclude-tag-under=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho "# Level 1" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort +], +[0], +[# Level 0 +etest/ +etest/subdir/ +etest/subdir/subdir-file +etest/top-level-file +# Level 1 +etest/ +etest/subdir/ +], +[# Level 0 +tar: etest: Directory is new +tar: etest/subdir: Directory is new +# Level 1 +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +],[],[],[gnu]) + +AT_CLEANUP + diff --git a/tests/exclude14.at b/tests/exclude14.at new file mode 100644 index 00000000..22aac862 --- /dev/null +++ b/tests/exclude14.at @@ -0,0 +1,52 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag-all option alone works +# as expected, i.e. excludes entire directory containing the tag, including +# any files located under it. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag-all option]) +AT_KEYWORDS([exclude exclude-tag exclude-tag-all exclude14]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +], +[0], +[etest/ +etest/top-level-file +], +[tar: etest/subdir/: contains a cache directory tag excludeme; directory not dumped +]) + +AT_CLEANUP + diff --git a/tests/exclude15.at b/tests/exclude15.at new file mode 100644 index 00000000..7c1f6c74 --- /dev/null +++ b/tests/exclude15.at @@ -0,0 +1,54 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag-all option works +# as expected whe used together with --listed-incremental, i.e. excludes +# excludes entire directory containing the tag. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag-all and --listed-incremental]) +AT_KEYWORDS([exclude exclude-tag exclude-tag-all listed incremental exclude15]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme --listed=snar -v etest | sort +], +[0], +[etest/ +etest/top-level-file +], +[tar: etest: Directory is new +tar: etest/subdir: Directory is new +tar: etest/subdir: contains a cache directory tag excludeme; directory not dumped +],[],[],[gnu]) + +AT_CLEANUP + diff --git a/tests/exclude16.at b/tests/exclude16.at new file mode 100644 index 00000000..6f7c8944 --- /dev/null +++ b/tests/exclude16.at @@ -0,0 +1,71 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# The --exclude-tag options interacted incorrectly with --listed-incremental +# since their very inception. The testcases exclude08 through exclude16 +# verify that --exclude-tag operates consistently whether or not +# --listed-incremental option is given. +# +# This testcase verifies whether the --exclude-tag-all option works +# as expected whe used together with --listed-incremental. If the +# exclusion tag is created after the level 0 dump, the level 1 dump +# must skip the entire affected subdirectory and any previously-included +# files within it. +# +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120528140419.GT2654@shire.ontko.com>, +# <20130311210006.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html + +AT_SETUP([--exclude-tag-all option in incremental pass]) +AT_KEYWORDS([exclude exclude-tag exclude-tag-all listed incremental exclude16]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkexcltest etest +rm etest/subdir/excludeme +decho "# Level 0" +tar -c -f etest-0.tar --exclude-tag-all=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho "# Level 1" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort +], +[0], +[# Level 0 +etest/ +etest/subdir/ +etest/subdir/subdir-file +etest/top-level-file +# Level 1 +etest/ +], +[# Level 0 +tar: etest: Directory is new +tar: etest/subdir: Directory is new +# Level 1 +tar: etest/subdir: contains a cache directory tag excludeme; directory not dumped +],[],[],[gnu]) + +AT_CLEANUP + diff --git a/tests/extrac01.at b/tests/extrac01.at index c84c63a5..c08177be 100644 --- a/tests/extrac01.at +++ b/tests/extrac01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # There was a diagnostic when directory already exists. diff --git a/tests/extrac02.at b/tests/extrac02.at index d5d641f7..e8b12533 100644 --- a/tests/extrac02.at +++ b/tests/extrac02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Could not extract symlinks over an existing file. diff --git a/tests/extrac03.at b/tests/extrac03.at index ad01752a..069244eb 100644 --- a/tests/extrac03.at +++ b/tests/extrac03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Paths going up and down were inducing extraction loops. diff --git a/tests/extrac04.at b/tests/extrac04.at index 05cb6587..0612a618 100644 --- a/tests/extrac04.at +++ b/tests/extrac04.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check for fnmatch problems in glibc 2.1.95. diff --git a/tests/extrac05.at b/tests/extrac05.at index 5401001c..47eb9ca6 100644 --- a/tests/extrac05.at +++ b/tests/extrac05.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Problem: when extracting selected members from a PAX archive, # tar 1.14 incorrectly deemed all members to be sparse and diff --git a/tests/extrac06.at b/tests/extrac06.at index 35cb221f..e95051c6 100644 --- a/tests/extrac06.at +++ b/tests/extrac06.at @@ -1,22 +1,23 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # The bug occurs when extracting from a tarfile a directory when the directory # already exists and the version in the tarfile has more permissive diff --git a/tests/extrac07.at b/tests/extrac07.at index d993dc36..e33bb31e 100644 --- a/tests/extrac07.at +++ b/tests/extrac07.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Tar 1.16 failed to extract archives that have symlinks # in read-only directories. diff --git a/tests/extrac08.at b/tests/extrac08.at index 432aa0b8..43df69ed 100644 --- a/tests/extrac08.at +++ b/tests/extrac08.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: # When extracting, tar (<1.22) did not restore directory permissions on diff --git a/tests/extrac09.at b/tests/extrac09.at index 8241c30a..bde656f7 100644 --- a/tests/extrac09.at +++ b/tests/extrac09.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac10.at b/tests/extrac10.at index 5a53f643..a0034778 100644 --- a/tests/extrac10.at +++ b/tests/extrac10.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac11.at b/tests/extrac11.at index 0481c275..799b7849 100644 --- a/tests/extrac11.at +++ b/tests/extrac11.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac12.at b/tests/extrac12.at index 4c5962e1..e62763d3 100644 --- a/tests/extrac12.at +++ b/tests/extrac12.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac13.at b/tests/extrac13.at index 7c03e02a..52ad6c24 100644 --- a/tests/extrac13.at +++ b/tests/extrac13.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac14.at b/tests/extrac14.at index b98c3954..66bd3fa7 100644 --- a/tests/extrac14.at +++ b/tests/extrac14.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac15.at b/tests/extrac15.at index bf8d1cf1..beaed2a0 100644 --- a/tests/extrac15.at +++ b/tests/extrac15.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac16.at b/tests/extrac16.at index 625e5793..894f2061 100644 --- a/tests/extrac16.at +++ b/tests/extrac16.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/extrac17.at b/tests/extrac17.at index 779af48c..97a156e5 100644 --- a/tests/extrac17.at +++ b/tests/extrac17.at @@ -1,18 +1,20 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify +# Copyright 2010, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# + # You should have received a copy of the GNU General Public License # along with this program. If not, see . diff --git a/tests/extrac18.at b/tests/extrac18.at new file mode 100644 index 00000000..9170f0e6 --- /dev/null +++ b/tests/extrac18.at @@ -0,0 +1,62 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: Check the functionality of the --keep-old-files option. +# It should report an error and cause tar to exit with status 2. +# +# There was a regression in versions 1.23 to 1.26 inclusive, where +# this option silently skipped such files. +# Reported by: Doug McLaren , +# Gary Partis , +# Jim Meyering +# +# References: <20111117045433.GA8245@algol.frenzied.us>, +# <4F3D824717847C4487F77228F83329A3514CBB@server.Partis.local>, +# <87wrar6zzz.fsf@rho.meyering.net> + +AT_SETUP([keep-old-files]) +AT_KEYWORDS([extract extrac18 old-files keep-old-files]) + +AT_TAR_CHECK([ +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +], +[0], +[status=2 +File a +], +[tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +]) + +AT_CLEANUP + diff --git a/tests/extrac19.at b/tests/extrac19.at new file mode 100644 index 00000000..b1bb6a5d --- /dev/null +++ b/tests/extrac19.at @@ -0,0 +1,46 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([skip-old-files]) +AT_KEYWORDS([extract extrac19 old-files skip-old-files]) + +AT_TAR_CHECK([ +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +], +[0], +[status=0 +File a +]) + +AT_CLEANUP + diff --git a/tests/filerem01.at b/tests/filerem01.at index a2561d73..1c2c519c 100644 --- a/tests/filerem01.at +++ b/tests/filerem01.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. @@ -32,7 +34,7 @@ # AT_SETUP([file removed as we read it (ca. 22 seconds)]) -AT_KEYWORDS([create incremental filechange filerem filerem01]) +AT_KEYWORDS([create incremental listed filechange filerem filerem01]) AT_TAR_CHECK([ mkdir dir diff --git a/tests/filerem02.at b/tests/filerem02.at index ed444ad7..60f55585 100644 --- a/tests/filerem02.at +++ b/tests/filerem02.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. @@ -22,7 +24,7 @@ # in the command line. AT_SETUP([toplevel file removed (ca. 24 seconds)]) -AT_KEYWORDS([create incremental filechange filerem filerem02]) +AT_KEYWORDS([create incremental listed filechange filerem filerem02]) AT_TAR_CHECK([ mkdir dir diff --git a/tests/genfile.c b/tests/genfile.c index 8541be6c..fa480ef0 100644 --- a/tests/genfile.c +++ b/tests/genfile.c @@ -485,9 +485,11 @@ generate_files_from_list () static void mkhole (int fd, off_t displ) { - if (lseek (fd, displ, SEEK_CUR) == -1) + off_t offset = lseek (fd, displ, SEEK_CUR); + if (offset < 0) error (EXIT_FAILURE, errno, "lseek"); - ftruncate (fd, lseek (fd, 0, SEEK_CUR)); + if (ftruncate (fd, offset) != 0) + error (EXIT_FAILURE, errno, "ftruncate"); } static void @@ -685,13 +687,18 @@ exec_checkpoint (struct action *p) error (0, errno, _("cannot open `%s'"), p->name); break; } - ftruncate (fd, p->size); + if (ftruncate (fd, p->size) != 0) + { + error (0, errno, _("cannot truncate `%s'"), p->name); + break; + } close (fd); } break; case OPT_EXEC: - system (p->name); + if (system (p->name) != 0) + error (0, 0, _("command failed: %s"), p->name); break; case OPT_UNLINK: @@ -761,7 +768,8 @@ exec_command (void) signal (SIGCHLD, SIG_DFL); #endif - pipe (fd); + if (pipe (fd) != 0) + error (EXIT_FAILURE, errno, "pipe"); pid = fork (); if (pid == -1) diff --git a/tests/grow.at b/tests/grow.at index 27a5fbaa..92e7cbab 100644 --- a/tests/grow.at +++ b/tests/grow.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Tar should exit with error code 1 (file differs) if any files have # changed during archiving. diff --git a/tests/gzip.at b/tests/gzip.at index 908b6ed2..f53b5e69 100644 --- a/tests/gzip.at +++ b/tests/gzip.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007, 2009, 2010 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2009-2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # tar should detect that its gzip child failed. diff --git a/tests/ignfail.at b/tests/ignfail.at index 03f90450..3f4ea56e 100644 --- a/tests/ignfail.at +++ b/tests/ignfail.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Unreadable directories yielded error despite --ignore-failed-read. diff --git a/tests/incr01.at b/tests/incr01.at index fad8d3e4..0b149089 100644 --- a/tests/incr01.at +++ b/tests/incr01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2007 Free Software Foundation, Inc. +# Copyright 2005, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: # Check if restore from incremental backups does not choke on dangling @@ -46,7 +46,7 @@ tar xvfg archive.1 /dev/null --warning=no-timestamp directory/bar separator directory/ -tar: Deleting `directory/bar' +tar: Deleting 'directory/bar' ], [],[],[],[gnu, oldgnu, posix]) diff --git a/tests/incr02.at b/tests/incr02.at index 38b78a53..5f45215a 100644 --- a/tests/incr02.at +++ b/tests/incr02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2007 Free Software Foundation, Inc. +# Copyright 2005, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: # Restoring of directory modes and timestamps works correctly only @@ -50,9 +50,9 @@ genfile --stat=mtime dir/subdir1 > ts # dir/subdir2/ # dir/subdir1/foofile # -# When restoring from this directory structure, `dir/subdir2/' used to +# When restoring from this directory structure, 'dir/subdir2/' used to # trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the # latter clobbered the directory timestamp. tar -cf archive -g db dir diff --git a/tests/incr03.at b/tests/incr03.at index 287e1ee1..5f7772cd 100644 --- a/tests/incr03.at +++ b/tests/incr03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: # Previous versions checked only mtime/ctime of directories during diff --git a/tests/incr04.at b/tests/incr04.at index 5658ac9d..0638e1b0 100644 --- a/tests/incr04.at +++ b/tests/incr04.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Rewritten incremental backup support (2006-05-08) # missed initialization of all struct directory members in make_directory, @@ -29,7 +29,7 @@ AT_SETUP([proper icontents initialization]) AT_KEYWORDS([incremental incr04 icontents]) -m4_define([NAME_PREFIX],[a/b/one_31_chars_long_file_name_]) +m4_pushdef([NAME_PREFIX],[a/b/one_31_chars_long_file_name_]) AT_TAR_CHECK([ AT_TAR_MKHIER(a/b) @@ -58,9 +58,10 @@ a/c/ ], [tar: a: Directory is new tar: a/b: Directory is new -tar: a/c: Directory has been renamed from `a/b' +tar: a/c: Directory has been renamed from 'a/b' ],[],[],[gnu, oldgnu, posix]) +m4_popdef([NAME_PREFIX]) AT_CLEANUP # End of incr04.at diff --git a/tests/incr05.at b/tests/incr05.at index 098c52e2..96853db5 100644 --- a/tests/incr05.at +++ b/tests/incr05.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/incr06.at b/tests/incr06.at index d63a260c..71d90433 100644 --- a/tests/incr06.at +++ b/tests/incr06.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/incr07.at b/tests/incr07.at new file mode 100644 index 00000000..017c51dd --- /dev/null +++ b/tests/incr07.at @@ -0,0 +1,112 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2009, 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([incremental restores with -C]) +AT_KEYWORDS([incremental extract incr07]) + +# Tar 1.26 had problems extracting from incremental restores when given +# the -C option. The code in incremen.c:try_purge_directory and +# misc.c:remove_any_file was using savedir(), which ignored eventual changes +# in the current working directory and caused the malfunctioning. +# +# The problem was reported by Piotr Rotter on 2013-03-22. +# +# This testcase is based on scripts provided by Piotr Rotter and Nathan +# Stratton Treadway. +# +# References: <514C8F56.90900@active24.pl>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00036.html, +# <20130326181922.GZ3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00042.html, +# <20130327051828.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00043.html, +# <20130327054957.GB3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00044.html + +AT_TAR_CHECK([ +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 "toplevel A exists" +exit 0 +], +[0], +[C0 +A/ +A/a +A/b +C1 +A/ +A/c +C2 +A/ +E0 +A/ +A/a +A/b +E1 +A/ +A/c +E2 +A/ +tar: Deleting 'A/a' +E3 +A/ +tar: Deleting 'A/B' +FIN +], +[C0 +tar: A: Directory is new +C1 +C2 +E0 +E1 +E2 +E3 +],[],[],[gnu, oldgnu, posix]) + +AT_CLEANUP diff --git a/tests/incr08.at b/tests/incr08.at new file mode 100644 index 00000000..863581cf --- /dev/null +++ b/tests/incr08.at @@ -0,0 +1,86 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: In tar 1.26 listed-incremental with -C and absolute path +# would malfunction under certain conditions due to buggy filename +# normalization. +# +# The value returned by normalize_filename() is used to populate the "caname" +# field in both the "directory" structure in incremen.c and the "name" +# structure in names.c, and in both cases that field is then used in the +# "hash" and "compare" functions for the related hash tables. Thus, the +# fact that the returned value doesn't reflect the operation of previous +# "-C" options means that it's possible for two different directories to +# be given the same "caname" value in the hashed structure and thus end up +# being confused with each other. +# +# The bug is triggered when dumping both relative paths after -C and +# absolute paths that match the process' current working directory. +# +# Reported by: Nathan Stratton Treadway +# References: <20130922192135.GJ32256@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-09/msg00034.html + +AT_SETUP([filename normalization]) +AT_KEYWORDS([incremental create incr08]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir tartest +cd tartest +mkdir foo +mkdir foo/subdir +mkdir foo/subdir/dir1 +mkdir subdir +mkdir subdir/dir2 +decho A +find .|sort + +decho B +DIR=`pwd` +tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR 2>../err |\ + sed "s|$DIR|ABSPATH|" +sed "s|$DIR|ABSPATH|" ../err >&2 +], +[0], +[A +. +./foo +./foo/subdir +./foo/subdir/dir1 +./subdir +./subdir/dir2 +B +./ +./subdir/ +./subdir/dir1/ +ABSPATH/ +ABSPATH/subdir/ +ABSPATH/subdir/dir2/ +], +[A +B +tar: .: Directory is new +tar: ./subdir: Directory is new +tar: ./subdir/dir1: Directory is new +tar: ABSPATH: Directory is new +tar: ABSPATH/subdir: Directory is new +tar: ABSPATH/subdir/dir2: Directory is new +tar: Removing leading `/' from member names +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/incr09.at b/tests/incr09.at new file mode 100644 index 00000000..e91fb5a1 --- /dev/null +++ b/tests/incr09.at @@ -0,0 +1,67 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: For some intermediate versions of tar 1.26.90, +# tar would fail to correctly cannonicalize archive member names +# in incremental mode if there was a -C options with an absolute path +# on the command line without any archive members specified within that +# directory. (In that case, the canonical name generated for +# members specified after later -C options wouldn't correctly reflect the +# previous absolute path.) + +AT_SETUP([incremental with alternating -C]) +AT_KEYWORDS([incremental create incr09]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo bar middle +echo foo/foo_file > foo/foo_file +echo bar/bar_file > bar/bar_file +echo middle/file > middle/middle_file +decho A +tar -cvf foo.tar --incremental -C foo . -C `pwd` middle -C bar . + +rm foo.tar +>toplevel_file +decho B +tar -cvf foo.tar --incremental -C foo . -C `pwd` toplevel_file -C bar . +], +[0], +[A +./ +./ +middle/ +./bar_file +./foo_file +middle/middle_file +B +./ +./ +toplevel_file +./bar_file +./foo_file +], +[A +tar: .: Directory is new +tar: middle: Directory is new +tar: .: Directory is new +B +tar: .: Directory is new +tar: .: Directory is new +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/incremental.at b/tests/incremental.at index 5873d83a..19e376b8 100644 --- a/tests/incremental.at +++ b/tests/incremental.at @@ -1,27 +1,27 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # A directory older than the listed entry was skipped completely. AT_SETUP([incremental]) -AT_KEYWORDS([incremental incr00]) +AT_KEYWORDS([incremental listed incr00]) AT_TAR_CHECK([ mkdir structure @@ -35,7 +35,7 @@ ls -l structure/file >/dev/null # If the time of an initial backup and the creation time of a file contained # in that backup are the same, the file will be backed up again when an # incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep +# files created "on or after" the initial backup time. Without the sleep # command, behaviour of tar becomes variable, depending whether the system # clock ticked over to the next second between creating the file and # backing it up. diff --git a/tests/indexfile.at b/tests/indexfile.at index 6d445f39..07fc4dc9 100644 --- a/tests/indexfile.at +++ b/tests/indexfile.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # tar --index-file=FILE --file=- sent the archive to FILE, and # the listing to stderr. diff --git a/tests/label01.at b/tests/label01.at index 933682b8..e2519b03 100644 --- a/tests/label01.at +++ b/tests/label01.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/label02.at b/tests/label02.at index 7d1246fe..f737e02b 100644 --- a/tests/label02.at +++ b/tests/label02.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/label03.at b/tests/label03.at index 81b0992c..d7d09e50 100644 --- a/tests/label03.at +++ b/tests/label03.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/label04.at b/tests/label04.at index fc3aa263..758a4d36 100644 --- a/tests/label04.at +++ b/tests/label04.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. @@ -43,7 +45,7 @@ tar -rf archive --label='New volume' file ], [# Create volume # Update: wrong label -tar: Volume `New volume' does not match `My volume' +tar: Volume 'New volume' does not match 'My volume' tar: Error is not recoverable: exiting now # Update: right label ],[],[],[gnu,oldgnu,posix]) diff --git a/tests/label05.at b/tests/label05.at index 5b968a17..c77a1aaf 100644 --- a/tests/label05.at +++ b/tests/label05.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. @@ -40,7 +42,7 @@ tar -rf archive file ], [# Create volume # Update: wrong label -tar: Archive not labeled to match `My volume' +tar: Archive not labeled to match 'My volume' tar: Error is not recoverable: exiting now # Update: right label ],[],[],[gnu,oldgnu,posix]) diff --git a/tests/link01.at b/tests/link01.at index e5f7d558..dfafec02 100644 --- a/tests/link01.at +++ b/tests/link01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Problem: If a member with link count > 2 was stored in the archive twice, # previous versions of tar were not able to extract it, since they diff --git a/tests/link02.at b/tests/link02.at index 320a86e4..91657fd5 100644 --- a/tests/link02.at +++ b/tests/link02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Tar 1.22 failed to recognize last hard link when creating an archive with # the --remove-files option. diff --git a/tests/link03.at b/tests/link03.at index 30272bf1..0d87ccd1 100644 --- a/tests/link03.at +++ b/tests/link03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Make sure -l option works correctly in conjunction with --remove-files # See also link02.at @@ -24,7 +24,7 @@ AT_SETUP([working -l with --remove-files]) AT_KEYWORDS([hardlinks link03]) -m4_define([create_files],[ +m4_pushdef([create_files],[ genfile -l 64 -f file1 ln file1 file2 ln file2 file3 @@ -48,7 +48,8 @@ testing archive.2 file1 file1 ], -[tar: Missing links to `file1'. +[tar: Missing links to 'file1'. ]) +m4_popdef([create_files]) AT_CLEANUP diff --git a/tests/link04.at b/tests/link04.at index 2c6045ee..92c8bf92 100644 --- a/tests/link04.at +++ b/tests/link04.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # written by Paul Eggert diff --git a/tests/listed01.at b/tests/listed01.at index cb5b841d..94aed569 100644 --- a/tests/listed01.at +++ b/tests/listed01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2004-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check if listed-incremental backups work for individual files. # Script proposed by Andreas Schuldei diff --git a/tests/listed02.at b/tests/listed02.at index 94a339cd..272d843b 100644 --- a/tests/listed02.at +++ b/tests/listed02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2004-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check if listed-incremental backups work for files moved from one directory # to another. @@ -126,8 +126,8 @@ tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 Extracting incremental archive -tar: Deleting `tart/a1' -tar: Deleting `tart/b1' +tar: Deleting 'tart/a1' +tar: Deleting 'tart/b1' tart/ tart/b2 tart/c0/ @@ -149,7 +149,7 @@ tar: tart/c0: Directory is new tar: tart/c1: Directory is new tar: tart: Directory is new Creating incremental archive -tar: tart/c2: Directory has been renamed from `tart/c1' +tar: tart/c2: Directory has been renamed from 'tart/c1' Extracting main archive ], [],[],[gnu, oldgnu]) diff --git a/tests/listed03.at b/tests/listed03.at index f3feda76..bf668014 100644 --- a/tests/listed03.at +++ b/tests/listed03.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/listed04.at b/tests/listed04.at index 239998d2..38f33dc4 100644 --- a/tests/listed04.at +++ b/tests/listed04.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/listed05.at b/tests/listed05.at new file mode 100644 index 00000000..c7b3c264 --- /dev/null +++ b/tests/listed05.at @@ -0,0 +1,78 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2010, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Tar up to 1.26 was unable to cope with directories that had once +# been part of the dumped system and became separate mount points +# afterwards. The bug has been reported by Nathan Stratton Treadway, +# who also proposed a fix and a testcase, on which the present one is +# built. +# Reported-by: Nathan Stratton Treadway +# Last-Affected-Version: 1.26 +# References: <20120527212417.GR2654@shire.ontko.com> +# http://lists.gnu.org/archive/html/bug-tar/2012-05/msg00022.html + +# This testcase is Linux-specific and requires root privileges. + +AT_SETUP([--listed-incremental and remounted directories]) +AT_KEYWORDS([listed incremental listed05]) + +AT_TAR_CHECK([ +AT_PRIVILEGED_PREREQ +options="-C tartest --create --one-file-system --verbose" +rm -rf archive-[01].snar archive-[01].tar tartest subdir + +# Create initial structure +mkdir tartest +echo "hi" > tartest/top-level-file +mkdir tartest/subdir +echo "hi" > tartest/subdir/subdir-file + +echo "# Level 0" +tar $options --file archive-0.tar --listed-incremental=archive-0.snar . + +echo "# Remount" +mv tartest/subdir . +mkdir tartest/subdir +mount -t ramfs none tartest/subdir || AT_SKIP_TEST +tar -C subdir -c -f - . | tar -C tartest/subdir -x -f - + +echo "# Level 1" +cp archive-0.snar archive-1.snar +tar $options --file archive-1.tar --listed-incremental=archive-1.snar . + +umount tartest/subdir +], +[0], +[# Level 0 +./ +./subdir/ +./top-level-file +./subdir/subdir-file +# Remount +# Level 1 +./ +./subdir/ +], +[tar: .: Directory is new +tar: ./subdir: Directory is new +tar: ./subdir: directory is on a different filesystem; not dumped +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/long01.at b/tests/long01.at index f57be118..fdab2032 100644 --- a/tests/long01.at +++ b/tests/long01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # In GNU format, when extracting or listing a file member with a name # whose length is divisible by block size (512) tar used to read an @@ -29,8 +29,8 @@ AT_SETUP([long file names divisible by block size]) AT_KEYWORDS([longname long512]) dnl Create a directory structure with maximum directory name length 512-16 -m4_define([NAME],[0123456789abcde]) -m4_define([FULLNAME],NAME) +m4_pushdef([NAME],[0123456789abcde]) +m4_pushdef([FULLNAME],NAME) m4_for([N],0,29,,[m4_define([FULLNAME],FULLNAME/NAME)]) AT_TAR_CHECK([ @@ -45,4 +45,6 @@ endfile ], [],[],[],[gnu,oldgnu]) +m4_popdef([NAME]) +m4_popdef([FULLNAME]) AT_CLEANUP diff --git a/tests/longv7.at b/tests/longv7.at index a17d6635..ed3cc214 100644 --- a/tests/longv7.at +++ b/tests/longv7.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Old format (V7) archives should not accept file names longer than # 99 characters @@ -24,8 +24,8 @@ AT_SETUP([long names in V7 archives]) AT_KEYWORDS([longname longv7]) -m4_define([DIR],[this_is_a_very_long_name_for_a_directory_which_causes_problems]) -m4_define([FILE],[this_is_a_very_long_file_name_which_raises_issues.c]) +m4_pushdef([DIR],[this_is_a_very_long_name_for_a_directory_which_causes_problems]) +m4_pushdef([FILE],[this_is_a_very_long_file_name_which_raises_issues.c]) AT_TAR_CHECK([ mkdir DIR @@ -44,4 +44,6 @@ tar: Exiting with failure status due to previous errors ], [],[],[v7]) +m4_popdef([FILE]) +m4_popdef([DIR]) AT_CLEANUP diff --git a/tests/lustar01.at b/tests/lustar01.at index 580aa85e..c3163c9a 100644 --- a/tests/lustar01.at +++ b/tests/lustar01.at @@ -1,27 +1,27 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([ustar: unsplittable file name]) AT_KEYWORDS([longname ustar lustar01]) -m4_define([LONGNAME], +m4_pushdef([LONGNAME], [this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix]) AT_TAR_CHECK([ @@ -34,4 +34,5 @@ tar cf archive LONGNAME tar: Exiting with failure status due to previous errors ],[],[],[ustar]) +m4_popdef([LONGNAME]) AT_CLEANUP diff --git a/tests/lustar02.at b/tests/lustar02.at index 83e0b53d..0156142f 100644 --- a/tests/lustar02.at +++ b/tests/lustar02.at @@ -1,33 +1,33 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([ustar: unsplittable path name]) AT_KEYWORDS([longname ustar lustar02]) -m4_define([PREFIX_155], +m4_pushdef([PREFIX_155], [this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be]) -m4_define([DIR_155], +m4_pushdef([DIR_155], [this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be]) -m4_define([NAME], [tween_name_and_prefix]) +m4_pushdef([NAME], [tween_name_and_prefix]) AT_TAR_CHECK([ AT_TAR_MKHIER(PREFIX_155,NAME) @@ -39,4 +39,8 @@ tar cf archive PREFIX_155 tar: Exiting with failure status due to previous errors ],[],[],[ustar]) +m4_popdef([NAME]) +m4_popdef([DIR_155]) +m4_popdef([PREFIX_155]) + AT_CLEANUP diff --git a/tests/lustar03.at b/tests/lustar03.at index 3ff0f10e..055f0f47 100644 --- a/tests/lustar03.at +++ b/tests/lustar03.at @@ -1,30 +1,30 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([ustar: splitting long names]) AT_KEYWORDS([longname ustar lustar03]) -m4_define([DIR_155], +m4_pushdef([DIR_155], [this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be]) -m4_define([NAME], [file]) +m4_pushdef([NAME], [file]) AT_TAR_CHECK([ AT_TAR_MKHIER(DIR_155,NAME) @@ -40,4 +40,6 @@ DIR_155/NAME ], [],[],[],[ustar]) +m4_popdef([NAME]) +m4_popdef([DIR_155]) AT_CLEANUP diff --git a/tests/multiv01.at b/tests/multiv01.at index 2b03b324..09e2ff30 100644 --- a/tests/multiv01.at +++ b/tests/multiv01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Test multivolume dumps from pipes. diff --git a/tests/multiv02.at b/tests/multiv02.at index 0c321e2c..6f77e55f 100644 --- a/tests/multiv02.at +++ b/tests/multiv02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Previous versions of tar were not able to skip a member straddling # the multivolume archive boundary. Reported by Mads Martin Joergensen diff --git a/tests/multiv03.at b/tests/multiv03.at index e013c190..786fff3c 100644 --- a/tests/multiv03.at +++ b/tests/multiv03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Problem: GNU multivolume archives are not able to continue on members # with filenames longer than 100 characters. Versions of tar <= 1.14 @@ -36,7 +36,7 @@ BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` cat > ../experr < ../expout <. # Problem: Tar was not able to match directory name if the directory # member was split between two volumes @@ -34,7 +34,7 @@ # 3. Test the created multi-volume archive. AT_SETUP([split directory members in a MV archive]) -AT_KEYWORDS([multivolume multiv incremental multiv04]) +AT_KEYWORDS([multivolume multiv incremental listed multiv04]) AT_TAR_CHECK([ diff --git a/tests/multiv05.at b/tests/multiv05.at index 9d963c7e..33422f4a 100644 --- a/tests/multiv05.at +++ b/tests/multiv05.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright 2006-2008, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Up to version 1.15.91 tar was unable to recognize all volumes # given after an out-of-sync volume. @@ -25,7 +25,7 @@ AT_SETUP([Restoring after an out of sync volume]) AT_KEYWORDS([multivolume multiv multiv05 sync]) -m4_define([FILELIST],[jeden,dwa,trzy,cztery,piec,szesc]) +m4_pushdef([FILELIST],[jeden,dwa,trzy,cztery,piec,szesc]) AT_TAR_CHECK([ exec <&- @@ -58,7 +58,8 @@ m4_foreach([file], [Diffing file ])dnl , -[tar: `trzy' is not continued on this volume +[tar: 'trzy' is not continued on this volume ],[],[], [gnu]) +m4_popdef([FILELIST]) AT_CLEANUP diff --git a/tests/multiv06.at b/tests/multiv06.at index 97cefbf4..58524997 100644 --- a/tests/multiv06.at +++ b/tests/multiv06.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2008 Free Software Foundation, Inc. +# Copyright 2008, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # When volume size equals record size, swapping buffers in # new_volume triggers a call to flush_archive. The size left variables diff --git a/tests/multiv07.at b/tests/multiv07.at index 9a40f7b3..d41eb93a 100644 --- a/tests/multiv07.at +++ b/tests/multiv07.at @@ -1,12 +1,14 @@ # Test suite for GNU tar. -*- Autotest -*- -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/multiv08.at b/tests/multiv08.at index c7bfb9d3..e6a3bfdb 100644 --- a/tests/multiv08.at +++ b/tests/multiv08.at @@ -1,12 +1,14 @@ # Test suite for GNU tar. -*- Autotest -*- -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. @@ -17,7 +19,7 @@ # Description: Tar 1.23 would in some cases silently fail to create # a continuation header in multivolume archives. # -# In this testcase, the file `a' is 18.5 blocks long and the file `b' +# In this testcase, the file 'a' is 18.5 blocks long and the file 'b' # is 19.5 blocks long. AT_SETUP([multivolume header creation]) diff --git a/tests/old.at b/tests/old.at index 7e4374ea..bbf275a0 100644 --- a/tests/old.at +++ b/tests/old.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # An old archive was not receiving directories. diff --git a/tests/opcomp01.at b/tests/opcomp01.at new file mode 100644 index 00000000..f696be82 --- /dev/null +++ b/tests/opcomp01.at @@ -0,0 +1,34 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([occurrence compatibility]) +AT_KEYWORDS([opcomp opcomp01]) + +AT_CHECK([ +tar --occurrence=1 -cf test.tar . +], +[2], +[], +[tar: --occurrence cannot be used with -c +Try 'tar --help' or 'tar --usage' for more information. +]) + +AT_CLEANUP + diff --git a/tests/opcomp02.at b/tests/opcomp02.at new file mode 100644 index 00000000..85538c8b --- /dev/null +++ b/tests/opcomp02.at @@ -0,0 +1,34 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([occurrence compatibility]) +AT_KEYWORDS([opcomp opcomp02]) + +AT_CHECK([ +tar --occurrence=1 -tf test.tar +], +[2], +[], +[tar: --occurrence is meaningless without a file list +Try 'tar --help' or 'tar --usage' for more information. +]) + +AT_CLEANUP + diff --git a/tests/opcomp03.at b/tests/opcomp03.at new file mode 100644 index 00000000..aa540535 --- /dev/null +++ b/tests/opcomp03.at @@ -0,0 +1,34 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([--verify compatibility]) +AT_KEYWORDS([opcomp opcomp03]) + +AT_CHECK([ +tar -tWf test.tar . +], +[2], +[], +[tar: --verify cannot be used with -t +Try 'tar --help' or 'tar --usage' for more information. +]) + +AT_CLEANUP + diff --git a/tests/opcomp04.at b/tests/opcomp04.at new file mode 100644 index 00000000..67f94b5a --- /dev/null +++ b/tests/opcomp04.at @@ -0,0 +1,38 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([compress option compatibility]) +AT_KEYWORDS([opcomp opcomp04]) + +AT_CHECK([ +AT_GZIP_PREREQ +genfile --file file +tar czf test.tar file +genfile --file newfile +tar rzf test.tar newfile +], +[2], +[], +[tar: Cannot update compressed archives +Try 'tar --help' or 'tar --usage' for more information. +]) + +AT_CLEANUP + diff --git a/tests/opcomp05.at b/tests/opcomp05.at new file mode 100644 index 00000000..f470d4ca --- /dev/null +++ b/tests/opcomp05.at @@ -0,0 +1,34 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([--pax-option compatibility]) +AT_KEYWORDS([opcomp opcomp05]) + +AT_CHECK([ +tar -Hgnu -cf test.tar --pax-option user:=root . +], +[2], +[], +[tar: --pax-option can be used only on POSIX archives +Try 'tar --help' or 'tar --usage' for more information. +]) + +AT_CLEANUP + diff --git a/tests/opcomp06.at b/tests/opcomp06.at new file mode 100644 index 00000000..12de5b22 --- /dev/null +++ b/tests/opcomp06.at @@ -0,0 +1,36 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +AT_SETUP([--pax-option compatibility]) +AT_KEYWORDS([opcomp opcomp06]) + +AT_CHECK([ +AT_ACLS_PREREQ +genfile --file file +tar -cf test.tar --acls -Hgnu file +], +[2], +[], +[tar: --acls can be used only on POSIX archives +Try 'tar --help' or 'tar --usage' for more information. +]) + +AT_CLEANUP + diff --git a/tests/options.at b/tests/options.at index e682f69a..891fd6ed 100644 --- a/tests/options.at +++ b/tests/options.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Ensure that TAR_OPTIONS works in conjunction with old-style options. diff --git a/tests/options02.at b/tests/options02.at index d4cc285a..aa27d2d0 100644 --- a/tests/options02.at +++ b/tests/options02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Ensure that tar correctly handles non-option arguments interspersed with # options. diff --git a/tests/owner.at b/tests/owner.at new file mode 100644 index 00000000..cfa155e5 --- /dev/null +++ b/tests/owner.at @@ -0,0 +1,44 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Check the --owner and --group options. + +AT_SETUP([--owner and --group]) +AT_KEYWORDS([owner]) + +AT_TAR_CHECK([ +export TZ=UTC0 + +genfile --file a + +tar --owner="Joe the Plumber:1234" \ + --group="Plumber's Union:5678" \ + --mtime='@0' \ + --mode='u=rw,go=r' \ + -cf arc a + +tar -tvf arc +tar --numeric-owner -tvf arc +], +[0], +[-rw-r--r-- Joe the Plumber/Plumber's Union 0 1970-01-01 00:00 a +-rw-r--r-- 1234/5678 0 1970-01-01 00:00 a +], +[],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/package.m4 b/tests/package.m4 index b708753b..564cea67 100644 --- a/tests/package.m4 +++ b/tests/package.m4 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU tar]) m4_define([AT_PACKAGE_TARNAME], [tar]) -m4_define([AT_PACKAGE_VERSION], [1.26]) -m4_define([AT_PACKAGE_STRING], [GNU tar 1.26]) +m4_define([AT_PACKAGE_VERSION], [1.27]) +m4_define([AT_PACKAGE_STRING], [GNU tar 1.27]) m4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org]) diff --git a/tests/pipe.at b/tests/pipe.at index cab85351..964c9e98 100644 --- a/tests/pipe.at +++ b/tests/pipe.at @@ -1,23 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2005, 2006, 2007, 2008, -# 2009 Free Software Foundation, Inc. +# Copyright 2004-2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Recognition of compressed formats, introduced with tar 1.15, broke # untarring of archives from standard input. diff --git a/tests/recurse.at b/tests/recurse.at index 04207337..1b5f2dd8 100644 --- a/tests/recurse.at +++ b/tests/recurse.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([recurse]) AT_KEYWORDS([recurse]) diff --git a/tests/remfiles01.at b/tests/remfiles01.at index 1fb0fadc..948903a8 100644 --- a/tests/remfiles01.at +++ b/tests/remfiles01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: When called with --create --remove-files and a compression # options tar (v. <= 1.22.90) would remove files even if it had failed diff --git a/tests/remfiles02.at b/tests/remfiles02.at index 31dc3ade..b66ec285 100644 --- a/tests/remfiles02.at +++ b/tests/remfiles02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: When called with --create --remove-files and a compression # options tar (v. <= 1.22.90) would remove files even if it had failed diff --git a/tests/remfiles03.at b/tests/remfiles03.at index 85d76a82..d5d9741d 100644 --- a/tests/remfiles03.at +++ b/tests/remfiles03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Called with --remove-files, tar 1.23 failed # to remove a directory if it contained symlinks to another files diff --git a/tests/remfiles04a.at b/tests/remfiles04a.at new file mode 100644 index 00000000..d1e46148 --- /dev/null +++ b/tests/remfiles04a.at @@ -0,0 +1,45 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a single relative-path -C option, +# in --create/non-incremental mode. +# + +AT_SETUP([remove-files with -C:rel in -c/non-incr. mode]) +AT_KEYWORDS([create remove-files remfiles04 remfiles04a]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar --remove-files -C foo bar +echo A +find . | sort +], +[0], +[A +. +./bar +./foo +./foo.tar +],[],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles04b.at b/tests/remfiles04b.at new file mode 100644 index 00000000..32085573 --- /dev/null +++ b/tests/remfiles04b.at @@ -0,0 +1,53 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a single relative-path -C option, +# in --create/incremental mode. +# +# (Tar 1.26 would remove files in original working directory when called in +# this manner. [It would follow the -C for archiving the files, but ignore it +# for removing them afterwards.] +# +# Reported by: Nathan Stratton Treadway +# References: <20130921171234.GG32256@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-09/msg00028.html +# ) + +AT_SETUP([remove-files with -C:rel in -c/incr. mode]) +AT_KEYWORDS([create incremental remove-files remfiles04 remfiles04b]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar --incremental --remove-files -C foo bar +echo A +find . | sort +], +[0], +[A +. +./bar +./foo +./foo.tar +],[],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles04c.at b/tests/remfiles04c.at new file mode 100644 index 00000000..a1b6d561 --- /dev/null +++ b/tests/remfiles04c.at @@ -0,0 +1,62 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a single relative-path -C option, +# in --append mode. +# +# (Tar 1.26 would remove files in original working directory when called in +# this manner. [It would follow the -C for archiving the files, but ignore it +# for removing them afterwards.] +# +# Reported by: Jörgen Strand +# References: <9FC79E5CB90CEC47B9647DCAB7BD327A01AD83B452EE@seldmbx02.corpusers.net> +# http://lists.gnu.org/archive/html/bug-tar/2013-09/msg00024.html +# ) + +AT_SETUP([remove-files with -C:rel in -r mode]) +AT_KEYWORDS([create append remove-files remfiles04 remfiles04c]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar -C foo bar +echo A +find . | sort +tar -rf foo.tar --remove-files -C foo bar +echo B +find . | sort +], +[0], +[A +. +./bar +./foo +./foo.tar +./foo/bar +B +. +./bar +./foo +./foo.tar +],[],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles05a.at b/tests/remfiles05a.at new file mode 100644 index 00000000..4ceec37e --- /dev/null +++ b/tests/remfiles05a.at @@ -0,0 +1,64 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of two relative-path -C options, +# in --create/non-incremental mode. +# +# (This specific case failed during development of tar 1.26.90: +# There was a leftover call to chdir in name_next_elt() in +# tar 1.26. After commit e3d28d84 this call would confuse the +# tar_getcwd function. +# +# Reported by: Nathan Stratton Treadway +# References: <20130924145657.GM32256@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-09/msg00045.html +# ) + +AT_SETUP([remove-files with -C:rel,rel in -c/non-incr. mode]) +AT_KEYWORDS([create remove-files remfiles05 remfiles05a]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +decho A +tar -cvf foo.tar --remove-files -C foo file -C ../bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles05b.at b/tests/remfiles05b.at new file mode 100644 index 00000000..d120efd2 --- /dev/null +++ b/tests/remfiles05b.at @@ -0,0 +1,55 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of two relative-path -C options, +# in --create/incremental mode. +# + +AT_SETUP([remove-files with -C:rel,rel in -c/incr. mode]) +AT_KEYWORDS([create incremental remove-files remfiles05 remfiles05b]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C ../bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles05c.at b/tests/remfiles05c.at new file mode 100644 index 00000000..a01b0920 --- /dev/null +++ b/tests/remfiles05c.at @@ -0,0 +1,67 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of two relative-path -C options, +# in --append mode. +# + +AT_SETUP([remove-files with -C:rel,rel in -r mode]) +AT_KEYWORDS([create append remove-files remfiles05 remfiles05c]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +tar -cf foo.tar -C foo file -C ../bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C ../bar file +decho C +find . | sort +], +[0], +[A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar +], +[A +B +C +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles06a.at b/tests/remfiles06a.at new file mode 100644 index 00000000..fe762c1e --- /dev/null +++ b/tests/remfiles06a.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a relative -C option followed by an absolute -C, +# in --create/non-incremental mode. +# + +AT_SETUP([remove-files with -C:rel,abs in -c/non-incr. mode]) +AT_KEYWORDS([create remove-files remfiles06 remfiles06a]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles06b.at b/tests/remfiles06b.at new file mode 100644 index 00000000..3b867fbc --- /dev/null +++ b/tests/remfiles06b.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a relative -C option followed by an absolute -C, +# in --create/incremental mode. +# + +AT_SETUP([remove-files with -C:rel,abs in -c/incr. mode]) +AT_KEYWORDS([create incremental remove-files remfiles06 remfiles06b]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles06c.at b/tests/remfiles06c.at new file mode 100644 index 00000000..ad9164d2 --- /dev/null +++ b/tests/remfiles06c.at @@ -0,0 +1,68 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a relative -C option followed by an absolute -C, +# in --append mode. +# + +AT_SETUP([remove-files with -C:rel,abs in -r mode]) +AT_KEYWORDS([create append remove-files remfiles06 remfiles06c]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +tar -cf foo.tar -C foo file -C $DIR/bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C ../bar file +decho C +find . | sort +], +[0], +[A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar +], +[A +B +C +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles07a.at b/tests/remfiles07a.at new file mode 100644 index 00000000..95f645ce --- /dev/null +++ b/tests/remfiles07a.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a relative -C option followed by an absolute -C, +# in --create/non-incremental mode. +# + +AT_SETUP([remove-files with -C:rel,abs in -c/non-incr. mode]) +AT_KEYWORDS([create remove-files remfiles07 remfiles07a]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles07b.at b/tests/remfiles07b.at new file mode 100644 index 00000000..ca67e5da --- /dev/null +++ b/tests/remfiles07b.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a relative -C option followed by an absolute -C, +# in --create/incremental mode. +# + +AT_SETUP([remove-files with -C:rel,abs in -c/incr. mode]) +AT_KEYWORDS([create incremental remove-files remfiles07 remfiles07b]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles07c.at b/tests/remfiles07c.at new file mode 100644 index 00000000..6a5c8708 --- /dev/null +++ b/tests/remfiles07c.at @@ -0,0 +1,68 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of a relative -C option followed by an absolute -C, +# in --append mode. +# + +AT_SETUP([remove-files with -C:rel,abs in -r mode]) +AT_KEYWORDS([create append remove-files remfiles07 remfiles07c]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +tar -cf foo.tar -C foo file -C $DIR/bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C $DIR/bar file +decho C +find . | sort +], +[0], +[A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar +], +[A +B +C +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles08a.at b/tests/remfiles08a.at new file mode 100644 index 00000000..eadf1491 --- /dev/null +++ b/tests/remfiles08a.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of an absolute -C option followed by a relative -C, +# in --create/non-incremental mode. +# + +AT_SETUP([remove-files with -C:abs,rel in -c/non-incr. mode]) +AT_KEYWORDS([create remove-files remfiles08 remfiles08a]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --remove-files -C $DIR/foo file -C ../bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles08b.at b/tests/remfiles08b.at new file mode 100644 index 00000000..9faf2bba --- /dev/null +++ b/tests/remfiles08b.at @@ -0,0 +1,56 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of an absolute -C option followed by a relative -C, +# in --create/incremental mode. +# + +AT_SETUP([remove-files with -C:abs,rel in -c/incr. mode]) +AT_KEYWORDS([create incremental remove-files remfiles08 remfiles08b]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --incremental --remove-files -C $DIR/foo file -C ../bar file +decho B +find . | sort +], +[0], +[A +file +file +B +. +./bar +./file +./foo +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles08c.at b/tests/remfiles08c.at new file mode 100644 index 00000000..a220f4ca --- /dev/null +++ b/tests/remfiles08c.at @@ -0,0 +1,68 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: ensure tar correctly respects -C option when deleting +# files due to the --remove-files option. +# +# This case checks the use of an absolute -C option followed by a relative -C, +# in --append mode. +# + +AT_SETUP([remove-files with -C:abs,rel in -r mode]) +AT_KEYWORDS([create append remove-files remfiles08 remfiles08c]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +tar -cf foo.tar -C $DIR/foo file -C ../bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C $DIR/foo file -C ../bar file +decho C +find . | sort +], +[0], +[A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar +], +[A +B +C +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles09a.at b/tests/remfiles09a.at new file mode 100644 index 00000000..fd28b4f1 --- /dev/null +++ b/tests/remfiles09a.at @@ -0,0 +1,48 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: check --remove-files operation when archiving/deleting +# directory trees. +# +# This case checks the operation +# in --create/non-incremental mode. +# + +AT_SETUP([remove-files on full directory in -c/non-incr. mode]) +AT_KEYWORDS([create remove-files remfiles09 remfiles09a]) + +AT_TAR_CHECK([ +mkdir foo +echo foo/file > foo/file +decho A +tar -cvf foo.tar --remove-files foo +decho B +find . +], +[0], +[A +foo/ +foo/file +B +. +./foo.tar +], +[A +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles09b.at b/tests/remfiles09b.at new file mode 100644 index 00000000..de9b1721 --- /dev/null +++ b/tests/remfiles09b.at @@ -0,0 +1,58 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: check --remove-files operation when archiving/deleting +# directory trees. +# +# This case checks the operation +# in --create/incremental mode. +# +# Note: in tar 1.27, when run in incremental mode tar will attempt to remove +# the directory before removing the files within that directory, and thus +# the --remove-files operation will cause tar to abort with an error status. +# This issue will be fixed in a later version of tar. + +AT_SETUP([remove-files on full directory in -c/incr. mode]) +AT_KEYWORDS([create incremental remove-files remfiles09 remfiles09b]) + +AT_XFAIL_IF(true) # we expect to fail in tar 1.27 + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +echo foo/file > foo/file +decho A +tar -cvf foo.tar --incremental --remove-files foo +TARSTAT=$? +decho B +find . +], +[0], +[A +foo/ +foo/file +B +. +./foo +./foo.tar +], +[A +tar: foo: Directory is new +B +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/remfiles09c.at b/tests/remfiles09c.at new file mode 100644 index 00000000..72416084 --- /dev/null +++ b/tests/remfiles09c.at @@ -0,0 +1,58 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU tar. +# Copyright 2013 Free Software Foundation, Inc. +# +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Description: check --remove-files operation when archiving/deleting +# directory trees. +# +# This case checks the operation +# in --append mode. +# + +AT_SETUP([remove-files on full directory in -r mode]) +AT_KEYWORDS([create append remove-files remfiles09 remfiles09c]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +mkdir foo +echo foo/file > foo/file +tar -cf foo.tar foo +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files foo +decho C +find . | sort +], +[0], +[A +. +./foo +./foo.tar +./foo/file +B +foo/ +foo/file +C +. +./foo.tar +], +[A +B +C +],[],[],[gnu]) + +AT_CLEANUP diff --git a/tests/rename01.at b/tests/rename01.at index e62e89d6..030b0b7f 100644 --- a/tests/rename01.at +++ b/tests/rename01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Test basic handling of renamed directory in the incremental # archives. @@ -81,7 +81,7 @@ End directory listing 2 ], [tar: foo: Directory is new tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from `foo/bar' +tar: foo/baz: Directory has been renamed from 'foo/bar' ], [],[],[gnu, oldgnu, posix]) diff --git a/tests/rename02.at b/tests/rename02.at index 4c51f269..d1f136db 100644 --- a/tests/rename02.at +++ b/tests/rename02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Incremental archives should be able to handle directories # moved between directory hierarchies. @@ -96,7 +96,7 @@ End directory listing 2 [tar: foo: Directory is new tar: foo/bar: Directory is new tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from `foo/bar/baz' +tar: foo/baz: Directory has been renamed from 'foo/bar/baz' ], [],[],[gnu, oldgnu, posix]) diff --git a/tests/rename03.at b/tests/rename03.at index d6d9a273..bd4291b3 100644 --- a/tests/rename03.at +++ b/tests/rename03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright 2006-2007, 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Handling of cyclic renames in incremental archives. @@ -118,9 +118,9 @@ tar: foo/b: Directory is new tar: foo/c: Directory is new tar: foo: Directory is new Second dump -tar: foo/a: Directory has been renamed from `foo/c' -tar: foo/b: Directory has been renamed from `foo/a' -tar: foo/c: Directory has been renamed from `foo/b' +tar: foo/a: Directory has been renamed from 'foo/c' +tar: foo/b: Directory has been renamed from 'foo/a' +tar: foo/c: Directory has been renamed from 'foo/b' ], [],[],[gnu, oldgnu, posix]) diff --git a/tests/rename04.at b/tests/rename04.at index ac593de1..b5815d50 100644 --- a/tests/rename04.at +++ b/tests/rename04.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2008 Free Software Foundation, Inc. +# Copyright 2008, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: Up to version 1.20, when storing a record for renamed # directory in an incremental archive, tar incorrectly flagged all its diff --git a/tests/rename05.at b/tests/rename05.at index 54a9067a..64654b65 100644 --- a/tests/rename05.at +++ b/tests/rename05.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2008 Free Software Foundation, Inc. +# Copyright 2008, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: A continuation of rename04.at, that checks additionally if # renamed subdirectories are restored correctly. diff --git a/tests/same-order01.at b/tests/same-order01.at index 2ed46701..6194e2e3 100644 --- a/tests/same-order01.at +++ b/tests/same-order01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Problem: -C dir did not work with --same-order # Reported by: Karl-Michael Schneider diff --git a/tests/same-order02.at b/tests/same-order02.at index 7beecc3b..d37cf7f3 100644 --- a/tests/same-order02.at +++ b/tests/same-order02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # In previous versions a single -C option did not work with --same-order # (see same-order01.sh). However, multiple -C options worked OK. diff --git a/tests/selacl01.at b/tests/selacl01.at new file mode 100644 index 00000000..6c1dcf33 --- /dev/null +++ b/tests/selacl01.at @@ -0,0 +1,66 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# This is basic test for support of extended attributes. + +AT_SETUP([acls/selinux: special files & fifos]) +AT_KEYWORDS([xattrs selinux acls selacls01]) + +AT_TAR_CHECK([ +AT_PRIVILEGED_PREREQ +AT_XATTRS_UTILS_PREREQ +AT_SELINUX_PREREQ +AT_ACLS_PREREQ + +mkdir dir +mkfifo dir/fifo +MAJOR=$( stat /dev/urandom --printf="%t" ) +MINOR=$( stat /dev/urandom --printf="%T" ) +mknod dir/chartype c $MAJOR $MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:$UID:--- dir/fifo +setfacl -m u:$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after +echo separator +], +[0], +[separator +]) + +AT_CLEANUP diff --git a/tests/selnx01.at b/tests/selnx01.at new file mode 100644 index 00000000..fc96b36b --- /dev/null +++ b/tests/selnx01.at @@ -0,0 +1,98 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2012-2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# This is basic test for selinux support (store & restore). + +AT_SETUP([selinux: basic store/restore]) +AT_KEYWORDS([xattrs selinux selnx01]) + +AT_TAR_CHECK([ +AT_XATTRS_UTILS_PREREQ +AT_SELINUX_PREREQ + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ + grep -v -e '^#' -e ^$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test "$?" -eq "0"; then + echo "selinux contexts probably restored while --selinux is off" +fi + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test "$?" -ne "0"; then + echo "bad result" +fi + +], +[0], +[security.selinux="system_u +security.selinux="unconfined_u +security.selinux="system_u +]) + +AT_CLEANUP diff --git a/tests/shortfile.at b/tests/shortfile.at index 261f42fd..9f5c3a41 100644 --- a/tests/shortfile.at +++ b/tests/shortfile.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2007 Free Software Foundation, Inc. +# Copyright 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Tar 1.18 in reading mode silently ignored any invalid files smaller than 512 # Reported by: Ian on Thu, 23 Aug 2007 15:15:51 -0400 diff --git a/tests/shortrec.at b/tests/shortrec.at index 69dec899..177221e7 100644 --- a/tests/shortrec.at +++ b/tests/shortrec.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright 2005, 2007-2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check that tar doesn't complain when reading short records. # This can happen when the input blocksize differs from the blocksize diff --git a/tests/shortupd.at b/tests/shortupd.at index a2bbd13b..f9f3680b 100644 --- a/tests/shortupd.at +++ b/tests/shortupd.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2007 Free Software Foundation, Inc. +# Copyright 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/sigpipe.at b/tests/sigpipe.at index dff94f6c..46afc645 100644 --- a/tests/sigpipe.at +++ b/tests/sigpipe.at @@ -1,14 +1,16 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. diff --git a/tests/sparse01.at b/tests/sparse01.at index 039fbbf2..7d75be04 100644 --- a/tests/sparse01.at +++ b/tests/sparse01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([sparse files]) AT_KEYWORDS([sparse sparse01]) diff --git a/tests/sparse02.at b/tests/sparse02.at index 9e7ce8a7..042cec90 100644 --- a/tests/sparse02.at +++ b/tests/sparse02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([extracting sparse file over a pipe]) AT_KEYWORDS([sparse sparse02]) diff --git a/tests/sparse03.at b/tests/sparse03.at index 6ab46a0a..91fd87c7 100644 --- a/tests/sparse03.at +++ b/tests/sparse03.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([storing sparse files > 8G]) AT_KEYWORDS([sparse sparse03]) diff --git a/tests/sparse04.at b/tests/sparse04.at index 4d41be7c..2cfae798 100644 --- a/tests/sparse04.at +++ b/tests/sparse04.at @@ -1,40 +1,40 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify +# Copyright 2010, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([storing long sparse file names]) AT_KEYWORDS([sparse sparse04]) # Description: Tar versions from 1.15.92 to 1.25 would incorrectly # store sparse file names longer than 100 characters in pax mode. -# Namely, the `path' keyword of the produced PAX header would contain the +# Namely, the 'path' keyword of the produced PAX header would contain the # crafted name of the header itself, instead of that of the file. # Reported by: Kamil Dudka # References: <201011250026.44908.kdudka@redhat.com>, # http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00099.html -m4_define([NAME_111], +m4_pushdef([NAME_111], [123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960]) AT_TAR_CHECK([ genfile --sparse --file NAME_111 --block-size 512 8M A || AT_SKIP_TEST -tar -c --sparse --posix NAME_111 | tar t +tar -f - -c --sparse --posix NAME_111 | tar tf - ], [0], [NAME_111 @@ -44,4 +44,5 @@ tar -c --sparse --posix NAME_111 | tar t [], [pax]) +m4_popdef([NAME_111]) AT_CLEANUP diff --git a/tests/sparsemv.at b/tests/sparsemv.at index 65490831..c43a099f 100644 --- a/tests/sparsemv.at +++ b/tests/sparsemv.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright 2005-2008, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([sparse files in MV archives]) AT_KEYWORDS([sparse multiv sparsemv]) diff --git a/tests/sparsemvp.at b/tests/sparsemvp.at index 729f5427..05073dd0 100644 --- a/tests/sparsemvp.at +++ b/tests/sparsemvp.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright 2005-2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check if sparse files are correctly split between PAX multi-volume # archives. diff --git a/tests/spmvp00.at b/tests/spmvp00.at index 48597d4c..a601c58e 100644 --- a/tests/spmvp00.at +++ b/tests/spmvp00.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([sparse files in PAX MV archives, v.0.0]) AT_KEYWORDS([sparse multivolume multiv sparsemvp sparsemvp00]) diff --git a/tests/spmvp01.at b/tests/spmvp01.at index 0451cbff..4293a863 100644 --- a/tests/spmvp01.at +++ b/tests/spmvp01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([sparse files in PAX MV archives, v.0.1]) AT_KEYWORDS([sparse multiv sparsemvp sparsemvp01]) diff --git a/tests/spmvp10.at b/tests/spmvp10.at index 8e1dccbc..c5d287d0 100644 --- a/tests/spmvp10.at +++ b/tests/spmvp10.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([sparse files in PAX MV archives, v.1.0]) AT_KEYWORDS([sparse multivolume multiv sparsemvp sparsemvp10]) diff --git a/tests/star/README b/tests/star/README index 2b96aa6b..c570270a 100644 --- a/tests/star/README +++ b/tests/star/README @@ -3,7 +3,7 @@ star "test archives". The archives themselves can be obtained from ftp://ftp.berlios.de/pub/star/testscripts. These tests are disabled by default. There are two ways to run -them. The simplest is by `make check-full' command. It requires wget +them. The simplest is by 'make check-full' command. It requires wget and GNU md5sum to be installed. If you don't have these utilities, download the test archives manually and set the environment variable STAR_TESTSCRIPTS to point to the directory where they reside, for @@ -13,9 +13,9 @@ example: or make TESTS_ENVIRONMENT='STAR_TESTSCRIPTS=testdir' check -The file `quicktest.sh' is a separate test. It is never executed -within `make check' command, you will need to run it manually. -Please, carefully read section `quicktest.sh' below before running +The file 'quicktest.sh' is a separate test. It is never executed +within 'make check' command, you will need to run it manually. +Please, carefully read section 'quicktest.sh' below before running it. Following is a short description of the tests: @@ -52,18 +52,38 @@ containing very large files (in this case -- 10 GB). This is a test for compliance to POSIX.1-1990 tar specification. It requires two files: ustar-all-quicktest.tar and quicktest.filelist, -(they usually reside in star/testscripts directory), and `tartest' program +(they usually reside in star/testscripts directory), and 'tartest' program (also part of star distribution). The test must be run only with root privileges, so it is a good idea to verify the contents of ustar-all-quicktest.tar before running it. -If `tartest' is not in your PATH, use TARTEST variable to specify its +If 'tartest' is not in your PATH, use TARTEST variable to specify its full file name. You may pass both STAR_TESTSCRIPTS and TARTEST variables as command line arguments to quicktest.sh, as shown in the example below: ./quicktest.sh STAR_TESTSCRIPTS=testdir TARTEST=/path/to/tartest + +* Copying + +Copyright 2004, 2006-2008, 2010, 2012-2013 Free Software Foundation, +Inc. + +This file is part of GNU tar. + +GNU tar is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +GNU tar is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . Local variables: mode: outline diff --git a/tests/star/gtarfail.at b/tests/star/gtarfail.at index 5f41cc1c..da1facd5 100644 --- a/tests/star/gtarfail.at +++ b/tests/star/gtarfail.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([gtarfail]) AT_KEYWORDS([star gtarfail]) diff --git a/tests/star/gtarfail2.at b/tests/star/gtarfail2.at index f00b7675..70922d71 100644 --- a/tests/star/gtarfail2.at +++ b/tests/star/gtarfail2.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([gtarfail2]) AT_KEYWORDS([star gtarfail2]) diff --git a/tests/star/multi-fail.at b/tests/star/multi-fail.at index ebf77176..4639d355 100644 --- a/tests/star/multi-fail.at +++ b/tests/star/multi-fail.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([multi-fail]) AT_KEYWORDS([star multivolume multiv multi-fail]) diff --git a/tests/star/pax-big-10g.at b/tests/star/pax-big-10g.at index 732d0faf..e4c44da9 100644 --- a/tests/star/pax-big-10g.at +++ b/tests/star/pax-big-10g.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([pax-big-10g]) AT_KEYWORDS([star pax-big-10g]) diff --git a/tests/star/quicktest.sh b/tests/star/quicktest.sh index cbc65112..91df8638 100755 --- a/tests/star/quicktest.sh +++ b/tests/star/quicktest.sh @@ -1,21 +1,21 @@ #! /bin/sh # This file is part of GNU tar testsuite. -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify +# Copyright 2004-2005, 2007, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar 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. +# along with this program. If not, see . PWD=`pwd` P=`expr $0 : '\(.*\)/.*'` diff --git a/tests/star/ustar-big-2g.at b/tests/star/ustar-big-2g.at index 1609d1b7..ad466f2e 100644 --- a/tests/star/ustar-big-2g.at +++ b/tests/star/ustar-big-2g.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([ustar-big-2g]) AT_KEYWORDS([star ustar-big-2g]) diff --git a/tests/star/ustar-big-8g.at b/tests/star/ustar-big-8g.at index d1ecbcdb..7fb00d05 100644 --- a/tests/star/ustar-big-8g.at +++ b/tests/star/ustar-big-8g.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([ustar-big-8g]) AT_KEYWORDS([star ustar-big-8g]) diff --git a/tests/testsuite b/tests/testsuite index 89cc84e7..9463a209 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -1,17 +1,17 @@ #! /bin/sh -# Generated from testsuite.at by GNU Autoconf 2.63. +# Generated from testsuite.at by GNU Autoconf 2.69. +# +# Copyright (C) 2009-2012 Free Software Foundation, Inc. # -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. # This test suite is free software; the Free Software Foundation gives # unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -19,23 +19,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -43,7 +35,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -54,7 +52,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -77,13 +75,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -93,15 +84,16 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +as_myself= +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -113,12 +105,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -130,330 +126,319 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - # CDPATH. -$as_unset CDPATH - +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST else - as_have_required=no + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes else - exitcode=1 - echo positional parameters were not saved. + as_have_required=no fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - case $as_dir in + as_found=: + case $as_dir in #( /*) for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi done;; esac + as_found=false done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } IFS=$as_save_IFS - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break fi - fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS - done +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -fi -fi +} # as_fn_mkdir_p +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error -exitcode=0 -if as_func_success; then - : +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. + as_expr=false fi -if as_func_ret_success; then - : +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename else - exitcode=1 - echo as_func_ret_success failed. + as_basename=false fi -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname else - exitcode=1 - echo positional parameters were not saved. + as_dirname=false fi -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= @@ -470,10 +455,12 @@ test \$exitcode = 0") || { s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { { $as_echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -$as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -482,29 +469,18 @@ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" exit } - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -519,49 +495,29 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -591,6 +547,11 @@ at_errexit_p=false # Shall we be verbose? ':' means no, empty means yes. at_verbose=: at_quiet= +# Running several jobs in parallel, 0 means as many as test groups. +at_jobs=1 +at_traceon=: +at_trace_echo=: +at_check_filter_trace=: # Shall we keep the debug scripts? Must be `:' when the suite is # run by a debug script, so that the script doesn't remove itself. @@ -605,6 +566,8 @@ at_list_p=false at_clean=false # Test groups to run at_groups= +# Whether to rerun failed tests. +at_recheck= # Whether a write failure occurred at_write_fail=0 @@ -618,154 +581,215 @@ esac # Whether -C is in effect. at_change_dir=false +# Whether to enable colored test results. +at_color=no # List of the tested programs. at_tested='tar' -# List of the all the test groups. -at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121' # As many question marks as there are digits in the last test group number. # Used to normalize the test group numbers so that `ls' lists them in # numerical order. at_format='???' # Description of all the test groups. at_help_all="1;version.at:19;tar version;; -2;pipe.at:30;decompressing from stdin;pipe; +2;pipe.at:29;decompressing from stdin;pipe; 3;options.at:24;mixing options;options options00; 4;options02.at:26;interspersed options;options options02; -5;T-empty.at:26;files-from: empty entries;files-from empty; -6;T-null.at:21;files-from: 0-separated file without -0;files-from null t-null; -7;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile; -8;verbose.at:26;tar cvf -;stdout verbose; -9;append.at:21;append;append append00; -10;append01.at:29;appending files with long names;append append01; -11;append02.at:54;append vs. create;append append02 append-gnu; -12;append03.at:19;append with name transformation;append append03; -13;xform-h.at:30;transforming hard links on create;transform xform xform-h; -14;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume; -15;exclude.at:23;exclude;exclude; -16;exclude01.at:17;exclude wildcards;exclude exclude01; -17;exclude02.at:17;exclude: anchoring;exclude exclude02; -18;exclude03.at:17;exclude: wildcards match slash;exclude exclude03; -19;exclude04.at:17;exclude: case insensitive;exclude exclude04; -20;exclude05.at:19;exclude: lots of excludes;exclude exclude05; -21;exclude06.at:24;exclude: long files in pax archives;exclude exclude06; -22;delete01.at:23;deleting a member after a big one;delete delete01; -23;delete02.at:23;deleting a member from stdin archive;delete delete02; -24;delete03.at:21;deleting members with long names;delete delete03; -25;delete04.at:23;deleting a large last member;delete delete04; -26;delete05.at:27;deleting non-existing member;delete delete05; -27;extrac01.at:23;extract over an existing directory;extract extract01; -28;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink; -29;extrac03.at:23;extraction loops;extract extract03; -30;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch; -31;extrac05.at:30;extracting selected members from pax;extract extract05; -32;extrac06.at:33;mode of extracted directories;extract extract06 directory mode; -33;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink; -34;extrac08.at:33;restoring mode on existing directory;extract extrac08; -35;extrac09.at:22;no need to save dir with unreadable . and ..;extract extrac09; -36;extrac10.at:27;-C and delayed setting of metadata;extract extrac10; -37;extrac11.at:23;scarce file descriptors;extract extrac11; -38;extrac12.at:23;extract dot permissions;extract extrac12; -39;extrac13.at:24;extract over symlinks;extract extrac13; -40;extrac14.at:23;extract -C symlink;extract extrac14; -41;extrac15.at:23;extract parent mkdir failure;extract extrac15; -42;extrac16.at:24;extract empty directory with -C;extract extrac16; -43;extrac17.at:19;name matching/transformation ordering;extract extrac17; -44;label01.at:19;single-volume label;label label01; -45;label02.at:19;multi-volume label;label label02 multi-label multivolume multiv; -46;label03.at:25;test-label option;label label03 test-label; -47;label04.at:25;label with non-create option;label label04; -48;label05.at:22;label with non-create option;label label05; -49;backup01.at:33;extracting existing dir with --backup;extract backup backup01; -50;gzip.at:23;gzip;gzip; -51;incremental.at:23;incremental;incremental incr00; -52;incr01.at:27;restore broken symlinks from incremental;incremental incr01; -53;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02; -54;listed01.at:26;--listed for individual files;listed incremental listed01; -55;listed02.at:28;working --listed;listed incremental listed02; -56;listed03.at:22;incremental dump when the parent directory is unreadable;listed incremental listed03; -57;listed04.at:24;--listed-incremental and --one-file-system;listed incremental listed04; -58;incr03.at:28;renamed files in incrementals;incremental incr03 rename; -59;incr04.at:29;proper icontents initialization;incremental incr04 icontents; -60;incr05.at:19;incremental dumps with -C;incremental incr05; -61;incr06.at:19;incremental dumps of nested directories;incremental incr06; -62;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01; -63;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02; -64;rename01.at:24;renamed dirs in incrementals;incremental rename rename01; -65;rename02.at:24;move between hierarchies;incremental rename rename02; -66;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename; -67;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; -68;rename05.at:24;renamed subdirectories;incremental rename05 rename; -69;chtype.at:27;changed file types in incrementals;incremental chtype; -70;ignfail.at:23;ignfail;ignfail; -71;link01.at:33;link count gt 2;hardlinks link01; -72;link02.at:32;preserve hard links with --remove-files;hardlinks link02; -73;link03.at:24;working -l with --remove-files;hardlinks link03; -74;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04; -75;longv7.at:24;long names in V7 archives;longname longv7; -76;long01.at:28;long file names divisible by block size;longname long512; -77;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; -78;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; -79;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; -80;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01; -81;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02; -82;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; -83;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04; -84;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; -85;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; -86;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit; -87;multiv08.at:23;multivolume header creation;multivolume multiv multiv08; -88;old.at:23;old archives;old; -89;recurse.at:21;recurse;recurse; -90;same-order01.at:26;working -C with --same-order;same-order same-order01; -91;same-order02.at:25;multiple -C options;same-order same-order02; -92;shortrec.at:25;short records;shortrec; -93;sparse01.at:21;sparse files;sparse sparse01; -94;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02; -95;sparse03.at:21;storing sparse files > 8G;sparse sparse03; -96;sparse04.at:21;storing long sparse file names;sparse sparse04; -97;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; -98;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00; -99;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; -100;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10; -101;update.at:28;update unchanged directories;update update00; -102;update01.at:29;update directories;update update01; -103;update02.at:26;update changed files;update update02; -104;verify.at:25;verify;verify; -105;volume.at:23;volume;volume volcheck; -106;volsize.at:29;volume header size;volume volsize; -107;comprec.at:21;compressed format recognition;comprec; -108;shortfile.at:26;short input files;shortfile shortfile0; -109;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd; -110;truncate.at:29;truncate;truncate filechange; -111;grow.at:24;grow;grow filechange; -112;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip; -113;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip; -114;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03; -115;sigpipe.at:19;sigpipe handling;sigpipe; -116;gtarfail.at:21;gtarfail;star gtarfail; -117;gtarfail2.at:21;gtarfail2;star gtarfail2; -118;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail; -119;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g; -120;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g; -121;pax-big-10g.at:21;pax-big-10g;star pax-big-10g; +5;opcomp01.at:21;occurrence compatibility;opcomp opcomp01; +6;opcomp02.at:21;occurrence compatibility;opcomp opcomp02; +7;opcomp03.at:21;--verify compatibility;opcomp opcomp03; +8;opcomp04.at:21;compress option compatibility;opcomp opcomp04; +9;opcomp05.at:21;--pax-option compatibility;opcomp opcomp05; +10;opcomp06.at:21;--pax-option compatibility;opcomp opcomp06; +11;T-mult.at:21;multiple file lists;files-from t-mult; +12;T-nest.at:21;nested file lists;files-from t-nest; +13;T-rec.at:21;recursive file lists;files-from t-rec; +14;T-cd.at:21;-C in file lists;files-from t-cd; +15;T-empty.at:26;empty entries;files-from empty-line; +16;T-null.at:21;0-separated file without -0;files-from null t-null; +17;T-zfile.at:26;empty file;files-from empty-file; +18;T-nonl.at:27;entries with missing newlines;files-from nonewline nonl t-nonl; +19;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile; +20;verbose.at:26;tar cvf -;stdout verbose; +21;gzip.at:23;gzip;gzip; +22;recurse.at:21;recurse;recurse; +23;shortrec.at:25;short records;shortrec; +24;same-order01.at:26;working -C with --same-order;same-order same-order01; +25;same-order02.at:25;multiple -C options;same-order same-order02; +26;append.at:21;append;append append00; +27;append01.at:29;appending files with long names;append append01; +28;append02.at:54;append vs. create;append append02 append-gnu; +29;append03.at:21;append with name transformation;append append03; +30;append04.at:29;append with verify;append append04 verify append-verify; +31;xform-h.at:30;transforming hard links on create;transform xform xform-h; +32;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume; +33;exclude.at:23;exclude;exclude; +34;exclude01.at:19;exclude wildcards;exclude exclude01; +35;exclude02.at:19;exclude: anchoring;exclude exclude02; +36;exclude03.at:19;exclude: wildcards match slash;exclude exclude03; +37;exclude04.at:19;exclude: case insensitive;exclude exclude04; +38;exclude05.at:21;exclude: lots of excludes;exclude exclude05; +39;exclude06.at:26;exclude: long files in pax archives;exclude exclude06; +40;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07; +41;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08; +42;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09; +43;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10; +44;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11; +45;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12; +46;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13; +47;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14; +48;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15; +49;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16; +50;delete01.at:23;deleting a member after a big one;delete delete01; +51;delete02.at:23;deleting a member from stdin archive;delete delete02; +52;delete03.at:21;deleting members with long names;delete delete03; +53;delete04.at:23;deleting a large last member;delete delete04; +54;delete05.at:27;deleting non-existing member;delete delete05; +55;extrac01.at:23;extract over an existing directory;extract extract01; +56;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink; +57;extrac03.at:23;extraction loops;extract extract03; +58;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch; +59;extrac05.at:30;extracting selected members from pax;extract extract05; +60;extrac06.at:34;mode of extracted directories;extract extract06 directory mode; +61;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink; +62;extrac08.at:33;restoring mode on existing directory;extract extrac08; +63;extrac09.at:24;no need to save dir with unreadable . and ..;extract extrac09; +64;extrac10.at:29;-C and delayed setting of metadata;extract extrac10; +65;extrac11.at:25;scarce file descriptors;extract extrac11; +66;extrac12.at:25;extract dot permissions;extract extrac12; +67;extrac13.at:26;extract over symlinks;extract extrac13; +68;extrac14.at:25;extract -C symlink;extract extrac14; +69;extrac15.at:25;extract parent mkdir failure;extract extrac15; +70;extrac16.at:26;extract empty directory with -C;extract extrac16; +71;extrac17.at:21;name matching/transformation ordering;extract extrac17; +72;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files; +73;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files; +74;backup01.at:33;extracting existing dir with --backup;extract backup backup01; +75;label01.at:21;single-volume label;label label01; +76;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv; +77;label03.at:27;test-label option;label label03 test-label; +78;label04.at:27;label with non-create option;label label04; +79;label05.at:24;label with non-create option;label label05; +80;incremental.at:23;incremental;incremental listed incr00; +81;incr01.at:27;restore broken symlinks from incremental;incremental incr01; +82;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02; +83;listed01.at:26;--listed for individual files;listed incremental listed01; +84;listed02.at:28;working --listed;listed incremental listed02; +85;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03; +86;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04; +87;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05; +88;incr03.at:28;renamed files in incrementals;incremental incr03 rename; +89;incr04.at:29;proper icontents initialization;incremental incr04 icontents; +90;incr05.at:21;incremental dumps with -C;incremental incr05; +91;incr06.at:21;incremental dumps of nested directories;incremental incr06; +92;incr07.at:18;incremental restores with -C;incremental extract incr07; +93;incr08.at:38;filename normalization;incremental create incr08; +94;incr09.at:26;incremental with alternating -C;incremental create incr09; +95;filerem01.at:36;file removed as we read it (ca. 22 seconds);create incremental listed filechange filerem filerem01; +96;filerem02.at:26;toplevel file removed (ca. 24 seconds);create incremental listed filechange filerem filerem02; +97;rename01.at:24;renamed dirs in incrementals;incremental rename rename01; +98;rename02.at:24;move between hierarchies;incremental rename rename02; +99;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename; +100;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; +101;rename05.at:24;renamed subdirectories;incremental rename05 rename; +102;chtype.at:27;changed file types in incrementals;incremental listed chtype; +103;ignfail.at:23;ignfail;ignfail; +104;link01.at:33;link count gt 2;hardlinks link01; +105;link02.at:32;preserve hard links with --remove-files;hardlinks link02; +106;link03.at:24;working -l with --remove-files;hardlinks link03; +107;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04; +108;longv7.at:24;long names in V7 archives;longname longv7; +109;long01.at:28;long file names divisible by block size;longname long512; +110;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; +111;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; +112;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; +113;old.at:23;old archives;old; +114;time01.at:20;time: tricky time stamps;time time01; +115;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01; +116;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02; +117;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; +118;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental listed multiv04; +119;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; +120;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; +121;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit; +122;multiv08.at:25;multivolume header creation;multivolume multiv multiv08; +123;owner.at:21;--owner and --group;owner; +124;sparse01.at:21;sparse files;sparse sparse01; +125;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02; +126;sparse03.at:21;storing sparse files > 8G;sparse sparse03; +127;sparse04.at:21;storing long sparse file names;sparse sparse04; +128;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; +129;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00; +130;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; +131;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10; +132;update.at:28;update unchanged directories;update update00; +133;update01.at:29;update directories;update update01; +134;update02.at:26;update changed files;update update02; +135;verify.at:25;verify;verify; +136;volume.at:23;volume;volume volcheck; +137;volsize.at:29;volume header size;volume volsize; +138;comprec.at:21;compressed format recognition;comprec; +139;shortfile.at:26;short input files;shortfile shortfile0; +140;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd; +141;truncate.at:29;truncate;truncate filechange; +142;grow.at:24;grow;grow filechange; +143;sigpipe.at:21;sigpipe handling;sigpipe; +144;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip; +145;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip; +146;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03; +147;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a; +148;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b; +149;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c; +150;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a; +151;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b; +152;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c; +153;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a; +154;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b; +155;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c; +156;remfiles07a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles07 remfiles07a; +157;remfiles07b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b; +158;remfiles07c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles07 remfiles07c; +159;remfiles08a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles08 remfiles08a; +160;remfiles08b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b; +161;remfiles08c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles08 remfiles08c; +162;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a; +163;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b; +164;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c; +165;xattr01.at:25;xattrs: basic functionality;xattrs xattr01; +166;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02; +167;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03; +168;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04; +169;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05; +170;acls01.at:25;acls: basic functionality;xattrs acls acls01; +171;acls02.at:25;acls: work with -C;xattrs acls acls02; +172;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01; +173;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01; +174;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01; +175;gtarfail.at:21;gtarfail;star gtarfail; +176;gtarfail2.at:21;gtarfail2;star gtarfail2; +177;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail; +178;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g; +179;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g; +180;pax-big-10g.at:21;pax-big-10g;star pax-big-10g; " +# List of the all the test groups. +at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` -# at_func_validate_ranges [NAME...] -# --------------------------------- -# Validate and normalize the test group number contained in each -# variable NAME. Leading zeroes are treated as decimal. -at_func_validate_ranges () +# at_fn_validate_ranges NAME... +# ----------------------------- +# Validate and normalize the test group number contained in each variable +# NAME. Leading zeroes are treated as decimal. +at_fn_validate_ranges () { for at_grp do eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 121; then + if test $at_value -lt 1 || test $at_value -gt 180; then $as_echo "invalid test group: $at_value" >&2 exit 1 fi case $at_value in 0*) # We want to treat leading 0 as decimal, like expr and test, but - # at_func_arith treats it as octal if it uses $(( )). + # AS_VAR_ARITH treats it as octal if it uses $(( )). # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the # expr fork, but it is not worth the effort to determine if the # shell supports XSI when the user can just avoid leading 0. @@ -784,8 +808,8 @@ do fi case $at_option in - *=*) at_optarg=`expr "x$at_option" : 'x[^=]*=\(.*\)'` ;; - *) at_optarg= ;; + *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; + *) at_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -807,6 +831,19 @@ do at_clean=: ;; + --color ) + at_color=always + ;; + --color=* ) + case $at_optarg in + no | never | none) at_color=never ;; + auto | tty | if-tty) at_color=auto ;; + always | yes | force) at_color=always ;; + *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` + as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; + esac + ;; + --debug | -d ) at_debug_p=: ;; @@ -821,29 +858,31 @@ do ;; --trace | -x ) - at_traceon='set -x'; at_traceoff='set +x' + at_traceon='set -x' + at_trace_echo=echo + at_check_filter_trace=at_fn_filter_trace ;; [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) - at_func_validate_ranges at_option - at_groups="$at_groups$at_option " + at_fn_validate_ranges at_option + as_fn_append at_groups "$at_option$as_nl" ;; # Ranges [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) at_range_start=`echo $at_option |tr -d X-` - at_func_validate_ranges at_range_start - at_range=`$as_echo " $at_groups_all " | \ - sed -e 's/^.* \('$at_range_start' \)/\1/'` - at_groups="$at_groups$at_range " + at_fn_validate_ranges at_range_start + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,$p'` + as_fn_append at_groups "$at_range$as_nl" ;; -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) at_range_end=`echo $at_option |tr -d X-` - at_func_validate_ranges at_range_end - at_range=`$as_echo " $at_groups_all " | \ - sed -e 's/\( '$at_range_end'\) .*$/\1/'` - at_groups="$at_groups$at_range " + at_fn_validate_ranges at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '1,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" ;; [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ @@ -859,11 +898,10 @@ do at_range_end=$at_range_start at_range_start=$at_tmp fi - at_func_validate_ranges at_range_start at_range_end - at_range=`$as_echo " $at_groups_all " | \ - sed -e 's/^.*\( '$at_range_start' \)/\1/' \ - -e 's/\( '$at_range_end'\) .*$/\1/'` - at_groups="$at_groups$at_range " + at_fn_validate_ranges at_range_start at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" ;; # Directory selection. @@ -873,6 +911,25 @@ do --directory=* ) at_change_dir=: at_dir=$at_optarg + if test x- = "x$at_dir" ; then + at_dir=./- + fi + ;; + + # Parallel execution. + --jobs | -j ) + at_jobs=0 + ;; + --jobs=* | -j[0-9]* ) + if test -n "$at_optarg"; then + at_jobs=$at_optarg + else + at_jobs=`expr X$at_option : 'X-j\(.*\)'` + fi + case $at_jobs in *[!0-9]*) + at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` + as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; + esac ;; # Keywords. @@ -899,11 +956,12 @@ do at_groups_selected=`$as_echo "$at_groups_selected" | grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` done - # Smash the newlines. - at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//' | - tr "$as_nl" ' ' - ` - at_groups="$at_groups$at_groups_selected " + # Smash the keywords. + at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` + as_fn_append at_groups "$at_groups_selected$as_nl" + ;; + --recheck) + at_recheck=: ;; *=*) @@ -911,14 +969,12 @@ do # Reject names that are not valid shell variable names. case $at_envvar in '' | [0-9]* | *[!_$as_cr_alnum]* ) - { { $as_echo "$as_me:$LINENO: error: invalid variable name: $at_envvar" >&5 -$as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;} - { (exit 1); exit 1; }; } ;; + as_fn_error $? "invalid variable name: \`$at_envvar'" ;; esac at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` # Export now, but save eval for later and for debug scripts. export $at_envvar - at_debug_args="$at_debug_args $at_envvar='$at_value'" + as_fn_append at_debug_args " $at_envvar='$at_value'" ;; *) $as_echo "$as_me: invalid option: $at_option" >&2 @@ -929,19 +985,42 @@ $as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;} done # Verify our last option didn't require an argument -if test -n "$at_prev"; then - { { $as_echo "$as_me:$LINENO: error: \`$at_prev' requires an argument." >&5 -$as_echo "$as_me: error: \`$at_prev' requires an argument." >&2;} - { (exit 1); exit 1; }; } +if test -n "$at_prev"; then : + as_fn_error $? "\`$at_prev' requires an argument" fi +# The file containing the suite. +at_suite_log=$at_dir/$as_me.log # Selected test groups. -if test -z "$at_groups"; then +if test -z "$at_groups$at_recheck"; then at_groups=$at_groups_all else + if test -n "$at_recheck" && test -r "$at_suite_log"; then + at_oldfails=`sed -n ' + /^Failed tests:$/,/^Skipped tests:$/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^Unexpected passes:$/,/^## Detailed failed tests/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^## Detailed failed tests/q + ' "$at_suite_log"` + as_fn_append at_groups "$at_oldfails$as_nl" + fi # Sort the tests, removing duplicates. - at_groups=`$as_echo "$at_groups" | tr ' ' "$as_nl" | sort -nu` + at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` +fi + +if test x"$at_color" = xalways \ + || { test x"$at_color" = xauto && test -t 1; }; then + at_red=`printf '\033[0;31m'` + at_grn=`printf '\033[0;32m'` + at_lgn=`printf '\033[1;32m'` + at_blu=`printf '\033[1;34m'` + at_std=`printf '\033[m'` +else + at_red= at_grn= at_lgn= at_blu= at_std= fi # Help message. @@ -952,16 +1031,17 @@ Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] Run all the tests, or the selected TESTS, given by numeric ranges, and save a detailed log file. Upon failure, create debugging scripts. -You should not change environment variables unless explicitly passed -as command line arguments. Set \`AUTOTEST_PATH' to select the executables +Do not change environment variables directly. Instead, set them via +command line arguments. Set \`AUTOTEST_PATH' to select the executables to exercise. Each relative directory is expanded as build and source -directories relatively to the top level of this distribution. E.g., +directories relative to the top level of this distribution. +E.g., from within the build directory /tmp/foo-1.0, invoking this: $ $0 AUTOTEST_PATH=bin -possibly amounts into +is equivalent to the following, assuming the source directory is /src/foo-1.0: - PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH + PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 _ATEOF cat <<_ATEOF || at_write_fail=1 @@ -976,9 +1056,14 @@ cat <<_ATEOF || at_write_fail=1 Execution tuning: -C, --directory=DIR change to directory DIR before starting + --color[=never|auto|always] + enable colored test results on terminal, or always + -j, --jobs[=N] + Allow N jobs at once; infinite jobs with no arg (default 1) -k, --keywords=KEYWORDS select the tests matching all the comma-separated KEYWORDS multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + --recheck select all tests that failed or passed unexpectedly last time -e, --errexit abort as soon as a test fails; implies --debug -v, --verbose force more detailed output default for debugging scripts @@ -989,6 +1074,7 @@ _ATEOF cat <<_ATEOF || at_write_fail=1 Report bugs to . +General help using GNU software: . _ATEOF exit $at_write_fail fi @@ -996,64 +1082,147 @@ fi # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU tar 1.26 test suite test groups: +GNU tar 1.27 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS _ATEOF - # Passing at_groups is tricky. We cannot use it to form a literal string - # or regexp because of the limitation of AIX awk. And Solaris' awk - # doesn't grok more than 99 fields in a record, so we have to use `split'. - # at_groups needs to be space-separated for this script to work. - case $at_groups in - *"$as_nl"* ) - at_groups=`$as_echo "$at_groups" | tr "$as_nl" ' '` ;; - esac - $as_echo "$at_groups$as_nl$at_help_all" | - awk 'BEGIN { FS = ";" } - NR == 1 { - for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1 + # Pass an empty line as separator between selected groups and help. + $as_echo "$at_groups$as_nl$as_nl$at_help_all" | + awk 'NF == 1 && FS != ";" { + selected[$ 1] = 1 next } - { + /^$/ { FS = ";" } + NF > 0 { if (selected[$ 1]) { printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 - if ($ 4) printf " %s\n", $ 4 + if ($ 4) { + lmax = 79 + indent = " " + line = indent + len = length (line) + n = split ($ 4, a, " ") + for (i = 1; i <= n; i++) { + l = length (a[i]) + 1 + if (i > 1 && len + l > lmax) { + print line + line = indent " " a[i] + len = length (line) + } else { + line = line " " a[i] + len += l + } + } + if (n) + print line + } } }' || at_write_fail=1 exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU tar 1.26)" && - cat <<\_ACEOF || at_write_fail=1 + $as_echo "$as_me (GNU tar 1.27)" && + cat <<\_ATEOF || at_write_fail=1 -Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This test suite is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -_ACEOF +_ATEOF exit $at_write_fail fi -# Should we print banners? at_groups is space-separated for entire test, -# newline-separated if only a subset of the testsuite is run. -case $at_groups in - *' '*' '* | *"$as_nl"*"$as_nl"* ) - at_print_banners=: ;; +# Should we print banners? Yes if more than one test is run. +case $at_groups in #( + *$as_nl* ) + at_print_banners=: ;; #( * ) at_print_banners=false ;; esac -# Text for banner N, set to empty once printed. +# Text for banner N, set to a single space once printed. +# Banner 1. testsuite.at:191 +# Category starts at test group 5. +at_banner_text_1="Option compatibility" +# Banner 2. testsuite.at:199 +# Category starts at test group 11. +at_banner_text_2="The -T option" +# Banner 3. testsuite.at:209 +# Category starts at test group 19. +at_banner_text_3="Various options" +# Banner 4. testsuite.at:216 +# Category starts at test group 24. +at_banner_text_4="The --same-order option" +# Banner 5. testsuite.at:220 +# Category starts at test group 26. +at_banner_text_5="Append" +# Banner 6. testsuite.at:227 +# Category starts at test group 31. +at_banner_text_6="Transforms" +# Banner 7. testsuite.at:231 +# Category starts at test group 33. +at_banner_text_7="Exclude" +# Banner 8. testsuite.at:250 +# Category starts at test group 50. +at_banner_text_8="Deletions" +# Banner 9. testsuite.at:257 +# Category starts at test group 55. +at_banner_text_9="Extracting" +# Banner 10. testsuite.at:279 +# Category starts at test group 75. +at_banner_text_10="Volume label operations" +# Banner 11. testsuite.at:286 +# Category starts at test group 80. +at_banner_text_11="Incremental archives" +# Banner 12. testsuite.at:303 +# Category starts at test group 95. +at_banner_text_12="Files removed while archiving" +# Banner 13. testsuite.at:307 +# Category starts at test group 97. +at_banner_text_13="Renames" +# Banner 14. testsuite.at:315 +# Category starts at test group 103. +at_banner_text_14="Ignore failing reads" +# Banner 15. testsuite.at:318 +# Category starts at test group 104. +at_banner_text_15="Link handling" +# Banner 16. testsuite.at:324 +# Category starts at test group 108. +at_banner_text_16="Specific archive formats" +# Banner 17. testsuite.at:334 +# Category starts at test group 115. +at_banner_text_17="Multivolume archives" +# Banner 18. testsuite.at:344 +# Category starts at test group 123. +at_banner_text_18="Owner and Groups" +# Banner 19. testsuite.at:347 +# Category starts at test group 124. +at_banner_text_19="Sparse files" +# Banner 20. testsuite.at:357 +# Category starts at test group 132. +at_banner_text_20="Updates" +# Banner 21. testsuite.at:362 +# Category starts at test group 135. +at_banner_text_21="Verifying the archive" +# Banner 22. testsuite.at:365 +# Category starts at test group 136. +at_banner_text_22="Volume operations" +# Banner 23. testsuite.at:369 +# Category starts at test group 138. +at_banner_text_23="" +# Banner 24. testsuite.at:378 +# Category starts at test group 144. +at_banner_text_24="Removing files after archiving" +# Banner 25. testsuite.at:401 +# Category starts at test group 165. +at_banner_text_25="Extended attributes" +# Banner 26. testsuite.at:416 +# Category starts at test group 175. +at_banner_text_26="Star tests" # Take any -C into account. if $at_change_dir ; then - if test x- = "x$at_dir" ; then - at_dir=./- - fi test x != "x$at_dir" && cd "$at_dir" \ - || { { $as_echo "$as_me:$LINENO: error: unable to change directory" >&5 -$as_echo "$as_me: error: unable to change directory" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error $? "unable to change directory" at_dir=`pwd` fi @@ -1061,13 +1230,11 @@ fi for at_file in atconfig atlocal do test -r $at_file || continue - . ./$at_file || { { $as_echo "$as_me:$LINENO: error: invalid content: $at_file" >&5 -$as_echo "$as_me: error: invalid content: $at_file" >&2;} - { (exit 1); exit 1; }; } + . ./$at_file || as_fn_error $? "invalid content: $at_file" done # Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: -: ${at_top_build_prefix=$at_top_builddir} +: "${at_top_build_prefix=$at_top_builddir}" # Perform any assignments requested during argument parsing. eval "$at_debug_args" @@ -1078,8 +1245,7 @@ if test -n "$at_top_srcdir"; then builddir=../.. for at_dir_var in srcdir top_srcdir top_build_prefix do - at_val=`eval 'as_val=${'at_$at_dir_var'} - $as_echo "$as_val"'` + eval at_val=\$at_$at_dir_var case $at_val in [\\/$]* | ?:[\\/]* ) at_prefix= ;; *) at_prefix=../../ ;; @@ -1088,9 +1254,9 @@ if test -n "$at_top_srcdir"; then done fi -## ------------------- ## -## Directory structure ## -## ------------------- ## +## -------------------- ## +## Directory structure. ## +## -------------------- ## # This is the set of directories and files used by this script # (non-literals are capitalized): @@ -1121,12 +1287,14 @@ fi # The directory the whole suite works in. # Should be absolute to let the user `cd' at will. at_suite_dir=$at_dir/$as_me.dir -# The file containing the suite. +# The file containing the suite ($at_dir might have changed since earlier). at_suite_log=$at_dir/$as_me.log # The directory containing helper files per test group. at_helper_dir=$at_suite_dir/at-groups # Stop file: if it exists, do not start new jobs. at_stop_file=$at_suite_dir/at-stop +# The fifo used for the job dispatcher. +at_job_fifo=$at_suite_dir/at-job-fifo if $at_clean; then test -d "$at_suite_dir" && @@ -1150,23 +1318,23 @@ for as_dir in $AUTOTEST_PATH $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -n "$at_path" && at_path=$at_path$PATH_SEPARATOR + test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR case $as_dir in [\\/]* | ?:[\\/]* ) - at_path=$at_path$as_dir + as_fn_append at_path "$as_dir" ;; * ) if test -z "$at_top_build_prefix"; then # Stand-alone test suite. - at_path=$at_path$as_dir + as_fn_append at_path "$as_dir" else # Embedded test suite. - at_path=$at_path$at_top_build_prefix$as_dir$PATH_SEPARATOR - at_path=$at_path$at_top_srcdir/$as_dir + as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" + as_fn_append at_path "$at_top_srcdir/$as_dir" fi ;; esac -done + done IFS=$as_save_IFS @@ -1180,7 +1348,7 @@ for as_dir in $at_path do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -d "$as_dir" || continue + test -d "$as_dir" || continue case $as_dir in [\\/]* | ?:[\\/]* ) ;; * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; @@ -1188,15 +1356,18 @@ esac case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; - *) at_new_path=$at_new_path$PATH_SEPARATOR$as_dir ;; + *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; esac -done + done IFS=$as_save_IFS PATH=$at_new_path export PATH # Setting up the FDs. + + + # 5 is the log file. Not to be overwritten if `-d'. if $at_debug_p; then at_suite_log=/dev/null @@ -1206,43 +1377,28 @@ fi exec 5>>"$at_suite_log" # Banners and logs. -cat <<\_ASBOX -## ------------------------ ## -## GNU tar 1.26 test suite. ## -## ------------------------ ## -_ASBOX +$as_echo "## ------------------------ ## +## GNU tar 1.27 test suite. ## +## ------------------------ ##" { - cat <<\_ASBOX -## ------------------------ ## -## GNU tar 1.26 test suite. ## -## ------------------------ ## -_ASBOX + $as_echo "## ------------------------ ## +## GNU tar 1.27 test suite. ## +## ------------------------ ##" echo $as_echo "$as_me: command line was:" $as_echo " \$ $0 $at_cli_args" echo - # Try to find a few ChangeLogs in case it might help determining the - # exact version. Use the relative dir: if the top dir is a symlink, - # find will not follow it (and options to follow the links are not - # portable), which would result in no output here. Prune directories - # matching the package tarname, since they tend to be leftovers from - # `make dist' or `make distcheck' and contain redundant or stale logs. - if test -n "$at_top_srcdir"; then - cat <<\_ASBOX -## ----------- ## -## ChangeLogs. ## -## ----------- ## -_ASBOX + # If ChangeLog exists, list a few lines in case it might help determining + # the exact version. + if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then + $as_echo "## ---------- ## +## ChangeLog. ## +## ---------- ##" + echo + sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" echo - for at_file in `find "$at_top_srcdir" -name "tar-*" -prune -o -name ChangeLog -print` - do - $as_echo "$as_me: $at_file:" - sed 's/^/| /;10q' $at_file - echo - done - fi { @@ -1275,8 +1431,8 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS } @@ -1293,53 +1449,80 @@ IFS=$as_save_IFS } >&5 -## --------------- ## -## Shell functions ## -## --------------- ## +## ------------------------- ## +## Autotest shell functions. ## +## ------------------------- ## -# at_func_banner NUMBER -# --------------------- -# Output banner NUMBER, provided the testsuite is running multiple groups -# and this particular banner has not yet been printed. -at_func_banner () +# at_fn_banner NUMBER +# ------------------- +# Output banner NUMBER, provided the testsuite is running multiple groups and +# this particular banner has not yet been printed. +at_fn_banner () { $at_print_banners || return 0 eval at_banner_text=\$at_banner_text_$1 - test "x$at_banner_text" = x && return 0 - eval at_banner_text_$1= - $as_echo "$as_nl$at_banner_text$as_nl" -} # at_func_banner + test "x$at_banner_text" = "x " && return 0 + eval "at_banner_text_$1=\" \"" + if test -z "$at_banner_text"; then + $at_first || echo + else + $as_echo "$as_nl$at_banner_text$as_nl" + fi +} # at_fn_banner -# at_func_check_newline COMMAND -# ----------------------------- -# Test if COMMAND includes a newline and, if so, print a message and return -# exit code 1 -at_func_check_newline () +# at_fn_check_prepare_notrace REASON LINE +# --------------------------------------- +# Perform AT_CHECK preparations for the command at LINE for an untraceable +# command; REASON is the reason for disabling tracing. +at_fn_check_prepare_notrace () { - case "$1" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' - return 1 ;; - *) return 0 ;; - esac + $at_trace_echo "Not enabling shell tracing (command contains $1)" + $as_echo "$2" >"$at_check_line_file" + at_check_trace=: at_check_filter=: + : >"$at_stdout"; : >"$at_stderr" } -# at_func_filter_trace EXIT-CODE +# at_fn_check_prepare_trace LINE # ------------------------------ -# Split the contents of file "$at_stder1" into the "set -x" trace (on stderr) -# and the other lines (on file "$at_stderr"). Return the exit code EXIT-CODE. -at_func_filter_trace () +# Perform AT_CHECK preparations for the command at LINE for a traceable +# command. +at_fn_check_prepare_trace () +{ + $as_echo "$1" >"$at_check_line_file" + at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_dynamic COMMAND LINE +# ---------------------------------------- +# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate +# preparation function. +at_fn_check_prepare_dynamic () +{ + case $1 in + *$as_nl*) + at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; + *) + at_fn_check_prepare_trace "$2" ;; + esac +} + +# at_fn_filter_trace +# ------------------ +# Remove the lines in the file "$at_stderr" generated by "set -x" and print +# them to stderr. +at_fn_filter_trace () { + mv "$at_stderr" "$at_stder1" grep '^ *+' "$at_stder1" >&2 grep -v '^ *+' "$at_stder1" >"$at_stderr" - return $1 } -# at_func_log_failure FILE-LIST -# ----------------------------- +# at_fn_log_failure FILE-LIST +# --------------------------- # Copy the files in the list on stdout with a "> " prefix, and exit the shell # with a failure exit code. -at_func_log_failure () +at_fn_log_failure () { for file do $as_echo "$file:"; sed 's/^/> /' "$file"; done @@ -1347,56 +1530,62 @@ at_func_log_failure () exit 1 } -# at_func_check_skip EXIT-CODE -# ---------------------------- -# Check whether EXIT-CODE is the special exit code 77, and if so exit the shell -# with that same exit code. -at_func_check_skip () +# at_fn_check_skip EXIT-CODE LINE +# ------------------------------- +# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit +# the test group subshell with that same exit code. Use LINE in any report +# about test failure. +at_fn_check_skip () { case $1 in + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$2: hard failure"; exit 99;; 77) echo 77 > "$at_status_file"; exit 77;; esac } -# at_func_check_status EXPECTED EXIT-CODE LINE -# -------------------------------------------- -# Check whether EXIT-CODE is the expected exit code, and if so do nothing. -# Otherwise, if it is 77 exit the shell with that same exit code; if it is -# anything else print an error message and fail the test. -at_func_check_status () +# at_fn_check_status EXPECTED EXIT-CODE LINE +# ------------------------------------------ +# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. +# Otherwise, if it is 77 or 99, exit the test group subshell with that same +# exit code; if it is anything else print an error message referring to LINE, +# and fail the test. +at_fn_check_status () { case $2 in $1 ) ;; 77) echo 77 > "$at_status_file"; exit 77;; + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$3: hard failure"; exit 99;; *) $as_echo "$3: exit code was $2, expected $1" at_failed=:;; esac } -# at_func_diff_devnull FILE -# ------------------------- -# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless -# diff invocations. -at_func_diff_devnull () +# at_fn_diff_devnull FILE +# ----------------------- +# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff +# invocations. +at_fn_diff_devnull () { test -s "$1" || return 0 $at_diff "$at_devnull" "$1" } -# at_func_test NUMBER -# ------------------- +# at_fn_test NUMBER +# ----------------- # Parse out test NUMBER from the tail of this file. -at_func_test () +at_fn_test () { eval at_sed=\$at_sed$1 sed "$at_sed" "$at_myself" > "$at_test_source" } -# at_func_create_debugging_script -# ------------------------------- +# at_fn_create_debugging_script +# ----------------------------- # Create the debugging script $at_group_dir/run which will reproduce the # current test group. -at_func_create_debugging_script () +at_fn_create_debugging_script () { { echo "#! /bin/sh" && @@ -1408,34 +1597,13 @@ at_func_create_debugging_script () chmod +x "$at_group_dir/run" } -# at_func_arith -# ------------- -# Arithmetic evaluation, avoids expr if the shell is sane. The -# interpretation of leading zeroes is unspecified. -# -# subshell and eval are needed to keep Solaris sh from bailing out: -if ( eval 'test $(( 1 + 1 )) = 2' ) 2>/dev/null; then - # With "$@", bash does not split positional parameters: - eval 'at_func_arith () - { - at_func_arith_result=$(( $* )) - }' -else - at_func_arith () - { - at_func_arith_result=`expr "$@"` - } -fi - -## ---------------------- ## -## End of shell functions ## -## ---------------------- ## +## -------------------------------- ## +## End of autotest shell functions. ## +## -------------------------------- ## { - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Tested programs. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo } >&5 @@ -1443,34 +1611,35 @@ _ASBOX for at_program in : $at_tested do test "$at_program" = : && continue - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $at_program in + [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; + * ) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -f "$as_dir/$at_program" && break -done + test -f "$as_dir/$at_program" && break + done IFS=$as_save_IFS - if test -f "$as_dir/$at_program"; then + at_program_=$as_dir/$at_program ;; + esac + if test -f "$at_program_"; then { - $as_echo "$at_srcdir/testsuite.at:112: $as_dir/$at_program --version" - "$as_dir/$at_program" --version &5 2>&1 else - { { $as_echo "$as_me:$LINENO: error: cannot find $at_program" >&5 -$as_echo "$as_me: error: cannot find $at_program" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot find $at_program" "$LINENO" 5 fi done { - cat <<\_ASBOX -## ------------------ ## + $as_echo "## ------------------ ## ## Running the tests. ## -## ------------------ ## -_ASBOX +## ------------------ ##" } >&5 at_start_date=`date` @@ -1478,11 +1647,8 @@ at_start_time=`date +%s 2>/dev/null` $as_echo "$as_me: starting at: $at_start_date" >&5 # Create the master directory if it doesn't already exist. -test -d "$at_suite_dir" || - mkdir "$at_suite_dir" || - { { $as_echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5 -$as_echo "$as_me: error: cannot create '$at_suite_dir'" >&2;} - { (exit 1); exit 1; }; } +as_dir="$at_suite_dir"; as_fn_mkdir_p || + as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 # Can we diff with `/dev/null'? DU 5.0 refuses. if diff /dev/null /dev/null >/dev/null 2>&1; then @@ -1516,28 +1682,40 @@ BEGIN { FS="" } if (test == "'"$at_group"'") exit }' "$at_myself" > "$at_suite_dir/at-source-lines" && . "$at_suite_dir/at-source-lines" || - { { $as_echo "$as_me:$LINENO: error: cannot create test line number cache" >&5 -$as_echo "$as_me: error: cannot create test line number cache" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "cannot create test line number cache" "$LINENO" 5 rm -f "$at_suite_dir/at-source-lines" +# Set number of jobs for `-j'; avoid more jobs than test groups. +set X $at_groups; shift; at_max_jobs=$# +if test $at_max_jobs -eq 0; then + at_jobs=1 +fi +if test $at_jobs -ne 1 && + { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then + at_jobs=$at_max_jobs +fi + +# If parallel mode, don't output banners, don't split summary lines. +if test $at_jobs -ne 1; then + at_print_banners=false + at_quiet=: +fi + # Set up helper dirs. rm -rf "$at_helper_dir" && mkdir "$at_helper_dir" && cd "$at_helper_dir" && { test -z "$at_groups" || mkdir $at_groups; } || -{ { $as_echo "$as_me:$LINENO: error: testsuite directory setup failed" >&5 -$as_echo "$as_me: error: testsuite directory setup failed" >&2;} - { (exit 1); exit 1; }; } +as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 # Functions for running a test group. We leave the actual # test group execution outside of a shell function in order # to avoid hitting zsh 4.x exit status bugs. -# at_func_group_prepare -# --------------------- -# Prepare running a test group -at_func_group_prepare () +# at_fn_group_prepare +# ------------------- +# Prepare for running a test group. +at_fn_group_prepare () { # The directory for additional per-group helper files. at_job_dir=$at_helper_dir/$at_group @@ -1571,56 +1749,20 @@ at_func_group_prepare () # Create a fresh directory for the next test group, and enter. + # If one already exists, the user may have invoked ./run from + # within that directory; we remove the contents, but not the + # directory itself, so that we aren't pulling the rug out from + # under the shell's notion of the current directory. at_group_dir=$at_suite_dir/$at_group_normalized at_group_log=$at_group_dir/$as_me.log if test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -fr "$at_group_dir" || - { $as_echo "$as_me:$LINENO: WARNING: test directory for $at_group_normalized could not be cleaned." >&5 -$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned." >&2;} - fi + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; + rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* +fi || + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 +$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} # Be tolerant if the above `rm' was not able to remove the directory. - { as_dir="$at_group_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$at_group_dir"; as_fn_mkdir_p echo 0 > "$at_status_file" @@ -1633,9 +1775,29 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} fi } -# at_func_group_postprocess -# ------------------------- -at_func_group_postprocess () +# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] +# ------------------------------------------------- +# Declare the test group ORDINAL, located at LINE with group description DESC, +# and residing under BANNER. Use PAD to align the status column. +at_fn_group_banner () +{ + at_setup_line="$2" + test -n "$5" && at_fn_banner $5 + at_desc="$3" + case $1 in + [0-9]) at_desc_line=" $1: ";; + [0-9][0-9]) at_desc_line=" $1: " ;; + *) at_desc_line="$1: " ;; + esac + as_fn_append at_desc_line "$3$4" + $at_quiet $as_echo_n "$at_desc_line" + echo "# -*- compilation -*-" >> "$at_group_log" +} + +# at_fn_group_postprocess +# ----------------------- +# Perform cleanup after running a test group. +at_fn_group_postprocess () { # Be sure to come back to the suite directory, in particular # since below we might `rm' the group directory we are in currently. @@ -1648,6 +1810,7 @@ at_func_group_postprocess () report this failure to . _ATEOF $as_echo "$at_setup_line" >"$at_check_line_file" + at_status=99 fi $at_verbose $as_echo_n "$at_group. $at_setup_line: " $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" @@ -1656,31 +1819,41 @@ _ATEOF at_msg="UNEXPECTED PASS" at_res=xpass at_errexit=$at_errexit_p + at_color=$at_red ;; no:0) at_msg="ok" at_res=pass at_errexit=false + at_color=$at_grn ;; *:77) at_msg='skipped ('`cat "$at_check_line_file"`')' at_res=skip at_errexit=false + at_color=$at_blu + ;; + no:* | *:99) + at_msg='FAILED ('`cat "$at_check_line_file"`')' + at_res=fail + at_errexit=$at_errexit_p + at_color=$at_red ;; yes:*) at_msg='expected failure ('`cat "$at_check_line_file"`')' at_res=xfail at_errexit=false - ;; - no:*) - at_msg='FAILED ('`cat "$at_check_line_file"`')' - at_res=fail - at_errexit=$at_errexit_p + at_color=$at_lgn ;; esac echo "$at_res" > "$at_job_dir/$at_res" - # Make sure there is a separator even with long titles. - $as_echo " $at_msg" + # In parallel mode, output the summary line only afterwards. + if test $at_jobs -ne 1 && test -n "$at_verbose"; then + $as_echo "$at_desc_line $at_color$at_msg$at_std" + else + # Make sure there is a separator even with long titles. + $as_echo " $at_color$at_msg$at_std" + fi at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" case $at_status in 0|77) @@ -1695,9 +1868,13 @@ _ATEOF $as_echo "$at_log_msg" >> "$at_group_log" $as_echo "$at_log_msg" >&5 - # Cleanup the group directory, unless the user wants the files. - if $at_debug_p; then - at_func_create_debugging_script + # Cleanup the group directory, unless the user wants the files + # or the success was unexpected. + if $at_debug_p || test $at_res = xpass; then + at_fn_create_debugging_script + if test $at_res = xpass && $at_errexit; then + echo stop > "$at_stop_file" + fi else if test -d "$at_group_dir"; then find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; @@ -1714,7 +1891,7 @@ _ATEOF # Upon failure, keep the group directory for autopsy, and create # the debugging script. With -e, do not start any further tests. - at_func_create_debugging_script + at_fn_create_debugging_script if $at_errexit; then echo stop > "$at_stop_file" fi @@ -1727,22 +1904,134 @@ _ATEOF ## Driver loop. ## ## ------------ ## + +if (set -m && set +m && set +b) >/dev/null 2>&1; then + set +b + at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- +else + at_job_control_on=: at_job_control_off=: at_job_group= +fi + +for at_signal in 1 2 15; do + trap 'set +x; set +e + $at_job_control_off + at_signal='"$at_signal"' + echo stop > "$at_stop_file" + trap "" $at_signal + at_pgids= + for at_pgid in `jobs -p 2>/dev/null`; do + at_pgids="$at_pgids $at_job_group$at_pgid" + done + test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null + wait + if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then + echo >&2 + fi + at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` + set x $at_signame + test 0 -gt 2 && at_signame=$at_signal + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 +$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} + as_fn_arith 128 + $at_signal && exit_status=$as_val + as_fn_exit $exit_status' $at_signal +done + rm -f "$at_stop_file" at_first=: -for at_group in $at_groups; do - at_func_group_prepare - if cd "$at_group_dir" && - at_func_test $at_group && - . "$at_test_source"; then :; else - { $as_echo "$as_me:$LINENO: WARNING: unable to parse test group: $at_group" >&5 +if test $at_jobs -ne 1 && + rm -f "$at_job_fifo" && + test -n "$at_job_group" && + ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null +then + # FIFO job dispatcher. + + trap 'at_pids= + for at_pid in `jobs -p`; do + at_pids="$at_pids $at_job_group$at_pid" + done + if test -n "$at_pids"; then + at_sig=TSTP + test "${TMOUT+set}" = set && at_sig=STOP + kill -$at_sig $at_pids 2>/dev/null + fi + kill -STOP $$ + test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP + + echo + # Turn jobs into a list of numbers, starting from 1. + at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` + + set X $at_joblist + shift + for at_group in $at_groups; do + $at_job_control_on 2>/dev/null + ( + # Start one test group. + $at_job_control_off + if $at_first; then + exec 7>"$at_job_fifo" + else + exec 6<&- + fi + trap 'set +x; set +e + trap "" PIPE + echo stop > "$at_stop_file" + echo >&7 + as_fn_exit 141' PIPE + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source" + then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 $as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} - at_failed=: + at_failed=: + fi + at_fn_group_postprocess + echo >&7 + ) & + $at_job_control_off + if $at_first; then + at_first=false + exec 6<"$at_job_fifo" 7>"$at_job_fifo" + fi + shift # Consume one token. + if test $# -gt 0; then :; else + read at_token <&6 || break + set x $* + fi + test -f "$at_stop_file" && break + done + exec 7>&- + # Read back the remaining ($at_jobs - 1) tokens. + set X $at_joblist + shift + if test $# -gt 0; then + shift + for at_job + do + read at_token + done <&6 fi - at_func_group_postprocess - test -f "$at_stop_file" && break - at_first=false -done + exec 6<&- + wait +else + # Run serially, avoid forks and other potential surprises. + for at_group in $at_groups; do + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source"; then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + test -f "$at_stop_file" && break + at_first=false + done +fi # Wrap up the test suite with summary statistics. cd "$at_helper_dir" @@ -1763,12 +2052,9 @@ set X $at_xfail_list; shift; at_xfail_count=$# set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* set X $at_skip_list; shift; at_skip_count=$# -at_func_arith $at_group_count - $at_skip_count -at_run_count=$at_func_arith_result -at_func_arith $at_xpass_count + $at_fail_count -at_unexpected_count=$at_func_arith_result -at_func_arith $at_xfail_count + $at_fail_count -at_total_fail_count=$at_func_arith_result +as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val +as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val +as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val # Back to the top directory. cd "$at_dir" @@ -1780,35 +2066,26 @@ at_stop_time=`date +%s 2>/dev/null` $as_echo "$as_me: ending at: $at_stop_date" >&5 case $at_start_time,$at_stop_time in [0-9]*,[0-9]*) - at_func_arith $at_stop_time - $at_start_time - at_duration_s=$at_func_arith_result - at_func_arith $at_duration_s / 60 - at_duration_m=$at_func_arith_result - at_func_arith $at_duration_m / 60 - at_duration_h=$at_func_arith_result - at_func_arith $at_duration_s % 60 - at_duration_s=$at_func_arith_result - at_func_arith $at_duration_m % 60 - at_duration_m=$at_func_arith_result + as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val + as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val + as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val + as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val + as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" $as_echo "$as_me: test suite duration: $at_duration" >&5 ;; esac echo -cat <<\_ASBOX -## ------------- ## +$as_echo "## ------------- ## ## Test results. ## -## ------------- ## -_ASBOX +## ------------- ##" echo { echo - cat <<\_ASBOX -## ------------- ## + $as_echo "## ------------- ## ## Test results. ## -## ------------- ## -_ASBOX +## ------------- ##" echo } >&5 @@ -1826,12 +2103,14 @@ if $at_errexit_p && test $at_unexpected_count != 0; then at_result="$at_result $at_were run, one failed" fi at_result="$at_result unexpectedly and inhibited subsequent tests." + at_color=$at_red else # Don't you just love exponential explosion of the number of cases? + at_color=$at_red case $at_xpass_count:$at_fail_count:$at_xfail_count in # So far, so good. - 0:0:0) at_result="$at_result $at_were successful." ;; - 0:0:*) at_result="$at_result behaved as expected." ;; + 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; + 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; # Some unexpected failures 0:*:0) at_result="$at_result $at_were run, @@ -1877,18 +2156,16 @@ $at_skip_count tests were skipped." ;; esac if test $at_unexpected_count = 0; then - echo "$at_result" + echo "$at_color$at_result$at_std" echo "$at_result" >&5 else - echo "ERROR: $at_result" >&2 + echo "${at_color}ERROR: $at_result$at_std" >&2 echo "ERROR: $at_result" >&5 { echo - cat <<\_ASBOX -## ------------------------ ## + $as_echo "## ------------------------ ## ## Summary of the failures. ## -## ------------------------ ## -_ASBOX +## ------------------------ ##" # Summary of failed and skipped tests. if test $at_fail_count != 0; then @@ -1907,11 +2184,9 @@ _ASBOX echo fi if test $at_fail_count != 0; then - cat <<\_ASBOX -## ---------------------- ## + $as_echo "## ---------------------- ## ## Detailed failed tests. ## -## ---------------------- ## -_ASBOX +## ---------------------- ##" echo for at_group in $at_fail_list do @@ -1943,19 +2218,21 @@ _ASBOX _ASBOX echo - $as_echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help: + if $at_debug_p; then + at_msg='per-test log files' + else + at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" + fi + $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU tar 1.26] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU tar 1.27] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + +You may investigate any problem if you feel able to do so, in which +case the test suite provides a good starting point. Its output may +be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. " - if test $at_debug_p = false; then - echo - echo 'You may investigate any problem if you feel able to do so, in which' - echo 'case the test suite provides a good starting point. Its output may' - $as_echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'." - echo - fi - exit 1 + exit 1 fi exit 0 @@ -1964,35 +2241,27 @@ exit 0 ## Actual tests. ## ## ------------- ## #AT_START_1 -# 1. version.at:19: tar version -at_setup_line='version.at:19' -at_desc="tar version" -$at_quiet $as_echo_n " 1: $at_desc " +at_fn_group_banner 1 'version.at:19' \ + "tar version" " " at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "1. version.at:19: testing ..." + $as_echo "1. $at_setup_line: testing $at_desc ..." $at_traceon -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/version.at:21: tar --version | sed 1q" -echo version.at:21 >"$at_check_line_file" - -if test -n "$at_traceon"; then - ( $at_traceon; tar --version | sed 1q ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; tar --version | sed 1q ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.26 +at_fn_check_prepare_notrace 'a shell pipeline' "version.at:21" +( $at_check_trace; tar --version | sed 1q +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.27 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/version.at:21" -if $at_failed; then +at_fn_check_status 0 $at_status "$at_srcdir/version.at:21" +if $at_failed; then : cat >$XFAILFILE <<'_EOT' ============================================================== @@ -2003,26 +2272,22 @@ _EOT else rm -f $XFAILFILE fi - -$at_failed && at_func_log_failure +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" #AT_STOP_1 #AT_START_2 -# 2. pipe.at:30: decompressing from stdin -at_setup_line='pipe.at:30' -at_desc="decompressing from stdin" -$at_quiet $as_echo_n " 2: $at_desc " +at_fn_group_banner 2 'pipe.at:29' \ + "decompressing from stdin" " " at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "2. pipe.at:30: testing ..." + $as_echo "2. $at_setup_line: testing $at_desc ..." $at_traceon @@ -2030,8 +2295,8 @@ echo "# -*- compilation -*-" >> "$at_group_log" - { $at_traceoff -$as_echo "$at_srcdir/pipe.at:34: + { set +x +$as_echo "$at_srcdir/pipe.at:33: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -2041,7 +2306,7 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 mkdir directory @@ -2054,36 +2319,8 @@ echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 13 --file directory/file2 -tar cf archive directory -mv directory orig -cat archive | tar xfv - --warning=no-timestamp | sort -echo "separator" -cmp orig/file1 directory/file1 -echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -2105,11 +2342,11 @@ cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +cmp orig/file2 directory/file2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 @@ -2117,13 +2354,12 @@ separator separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/pipe.at:34: + { set +x +$as_echo "$at_srcdir/pipe.at:33: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -2133,7 +2369,7 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 mkdir directory @@ -2146,36 +2382,8 @@ echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 13 --file directory/file2 -tar cf archive directory -mv directory orig -cat archive | tar xfv - --warning=no-timestamp | sort -echo "separator" -cmp orig/file1 directory/file1 -echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -2197,11 +2405,11 @@ cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +cmp orig/file2 directory/file2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 @@ -2209,13 +2417,12 @@ separator separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/pipe.at:34: + { set +x +$as_echo "$at_srcdir/pipe.at:33: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2225,7 +2432,7 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 mkdir directory @@ -2238,11 +2445,8 @@ echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2264,36 +2468,11 @@ cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 13 --file directory/file2 -tar cf archive directory -mv directory orig -cat archive | tar xfv - --warning=no-timestamp | sort -echo "separator" -cmp orig/file1 directory/file1 -echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +cmp orig/file2 directory/file2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 @@ -2301,13 +2480,12 @@ separator separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/pipe.at:34: + { set +x +$as_echo "$at_srcdir/pipe.at:33: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -2317,7 +2495,7 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 mkdir directory @@ -2330,36 +2508,8 @@ echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 13 --file directory/file2 -tar cf archive directory -mv directory orig -cat archive | tar xfv - --warning=no-timestamp | sort -echo "separator" -cmp orig/file1 directory/file1 -echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -2381,11 +2531,11 @@ cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +cmp orig/file2 directory/file2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 @@ -2393,13 +2543,12 @@ separator separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/pipe.at:34: + { set +x +$as_echo "$at_srcdir/pipe.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -2409,7 +2558,7 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 mkdir directory @@ -2422,36 +2571,8 @@ echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 13 --file directory/file2 -tar cf archive directory -mv directory orig -cat archive | tar xfv - --warning=no-timestamp | sort -echo "separator" -cmp orig/file1 directory/file1 -echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -2473,11 +2594,11 @@ cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" -cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +cmp orig/file2 directory/file2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 @@ -2485,579 +2606,595 @@ separator separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" #AT_STOP_2 #AT_START_3 -# 3. options.at:24: mixing options -at_setup_line='options.at:24' -at_desc="mixing options" -$at_quiet $as_echo_n " 3: $at_desc " +at_fn_group_banner 3 'options.at:24' \ + "mixing options" " " at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "3. options.at:24: testing ..." + $as_echo "3. $at_setup_line: testing $at_desc ..." $at_traceon -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/options.at:27: echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive " -echo options.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -echo > file1 -TAR_OPTIONS=--numeric-owner tar chof archive file1 -tar tf archive - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "options.at:27" +( $at_check_trace; echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/options.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/options.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" #AT_STOP_3 #AT_START_4 -# 4. options02.at:26: interspersed options -at_setup_line='options02.at:26' -at_desc="interspersed options" -$at_quiet $as_echo_n " 4: $at_desc " +at_fn_group_banner 4 'options02.at:26' \ + "interspersed options" " " at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "4. options02.at:26: testing ..." + $as_echo "4. $at_setup_line: testing $at_desc ..." $at_traceon -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/options02.at:29: echo > file1 tar c file1 -f archive tar tf archive " -echo options02.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -echo > file1 -tar c file1 -f archive -tar tf archive - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "options02.at:29" +( $at_check_trace; echo > file1 tar c file1 -f archive tar tf archive - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/options02.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/options02.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" #AT_STOP_4 #AT_START_5 -# 5. T-empty.at:26: files-from: empty entries -at_setup_line='T-empty.at:26' -at_desc="files-from: empty entries" -$at_quiet $as_echo_n " 5: $at_desc " +at_fn_group_banner 5 'opcomp01.at:21' \ + "occurrence compatibility" " " 1 at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "5. T-empty.at:26: testing ..." + $as_echo "5. $at_setup_line: testing $at_desc ..." $at_traceon -cat >file-list <<'_ATEOF' -jeden -dwa +{ set +x +$as_echo "$at_srcdir/opcomp01.at:24: +tar --occurrence=1 -cf test.tar . +" +at_fn_check_prepare_notrace 'an embedded newline' "opcomp01.at:24" +( $at_check_trace; +tar --occurrence=1 -cf test.tar . + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: --occurrence cannot be used with -c +Try 'tar --help' or 'tar --usage' for more information. +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/opcomp01.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -trzy -_ATEOF + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_5 +#AT_START_6 +at_fn_group_banner 6 'opcomp02.at:21' \ + "occurrence compatibility" " " 1 +at_xfail=no +( + $as_echo "6. $at_setup_line: testing $at_desc ..." + $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/T-empty.at:36: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * +{ set +x +$as_echo "$at_srcdir/opcomp02.at:24: +tar --occurrence=1 -tf test.tar +" +at_fn_check_prepare_notrace 'an embedded newline' "opcomp02.at:24" +( $at_check_trace; +tar --occurrence=1 -tf test.tar +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: --occurrence is meaningless without a file list +Try 'tar --help' or 'tar --usage' for more information. +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/opcomp02.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_6 +#AT_START_7 +at_fn_group_banner 7 'opcomp03.at:21' \ + "--verify compatibility" " " 1 +at_xfail=no +( + $as_echo "7. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile --file jeden -genfile --file dwa -genfile --file trzy -tar cfvT archive ../file-list | sort -)" -echo T-empty.at:36 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +{ set +x +$as_echo "$at_srcdir/opcomp03.at:24: +tar -tWf test.tar . +" +at_fn_check_prepare_notrace 'an embedded newline' "opcomp03.at:24" +( $at_check_trace; +tar -tWf test.tar . +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: --verify cannot be used with -t +Try 'tar --help' or 'tar --usage' for more information. +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/opcomp03.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_7 +#AT_START_8 +at_fn_group_banner 8 'opcomp04.at:21' \ + "compress option compatibility" " " 1 +at_xfail=no +( + $as_echo "8. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile --file jeden -genfile --file dwa -genfile --file trzy -tar cfvT archive ../file-list | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +{ set +x +$as_echo "$at_srcdir/opcomp04.at:24: -test -z "`sort < /dev/null 2>&1`" || exit 77 +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +genfile --file file +tar czf test.tar file +genfile --file newfile +tar rzf test.tar newfile +" +at_fn_check_prepare_notrace 'an embedded newline' "opcomp04.at:24" +( $at_check_trace; -genfile --file jeden -genfile --file dwa -genfile --file trzy +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar cfvT archive ../file-list | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dwa -jeden -trzy -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/T-empty.at:36" +genfile --file file +tar czf test.tar file +genfile --file newfile +tar rzf test.tar newfile -$at_failed && at_func_log_failure +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Cannot update compressed archives +Try 'tar --help' or 'tar --usage' for more information. +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/opcomp04.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - # Testing one format is enough - - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_5 -#AT_START_6 -# 6. T-null.at:21: files-from: 0-separated file without -0 -at_setup_line='T-null.at:21' -at_desc="files-from: 0-separated file without -0" -$at_quiet $as_echo_n " 6: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_8 +#AT_START_9 +at_fn_group_banner 9 'opcomp05.at:21' \ + "--pax-option compatibility" " " 1 at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "6. T-null.at:21: testing ..." + $as_echo "9. $at_setup_line: testing $at_desc ..." $at_traceon -cat >expout <<'_ATEOF' -jeden\ndwa -trzy -_ATEOF +{ set +x +$as_echo "$at_srcdir/opcomp05.at:24: +tar -Hgnu -cf test.tar --pax-option user:=root . +" +at_fn_check_prepare_notrace 'an embedded newline' "opcomp05.at:24" +( $at_check_trace; +tar -Hgnu -cf test.tar --pax-option user:=root . +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: --pax-option can be used only on POSIX archives +Try 'tar --help' or 'tar --usage' for more information. +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/opcomp05.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_9 +#AT_START_10 +at_fn_group_banner 10 'opcomp06.at:21' \ + "--pax-option compatibility" " " 1 +at_xfail=no +( + $as_echo "10. $at_setup_line: testing $at_desc ..." + $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/T-null.at:28: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +{ set +x +$as_echo "$at_srcdir/opcomp06.at:24: -echo dwa > temp -echo trzy >> temp -cat temp | tr '\\n' '\\0' > temp1 -echo jeden > file-list -cat temp1 >> file-list + file=\$(TMPDIR=. mktemp fiXXXXXX) -genfile -f \"jeden -dwa\" || exit 77 -genfile -f trzy + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cfTv archive file-list | sort -)" -echo T-null.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + rm -rf \$file -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi +genfile --file file +tar -cf test.tar --acls -Hgnu file +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "opcomp06.at:24" +( $at_check_trace; -echo dwa > temp -echo trzy >> temp -cat temp | tr '\n' '\0' > temp1 -echo jeden > file-list -cat temp1 >> file-list -genfile -f "jeden -dwa" || exit 77 -genfile -f trzy + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cfTv archive file-list | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + rm -rf $file -echo dwa > temp -echo trzy >> temp -cat temp | tr '\n' '\0' > temp1 -echo jeden > file-list -cat temp1 >> file-list + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -genfile -f "jeden -dwa" || exit 77 -genfile -f trzy +genfile --file file +tar -cf test.tar --acls -Hgnu file -tar cfTv archive file-list | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: file-list: file name read contains nul character +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: --acls can be used only on POSIX archives +Try 'tar --help' or 'tar --usage' for more information. " | \ $at_diff - "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/T-null.at:28" - -$at_failed && at_func_log_failure +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/opcomp06.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - # Testing one format is enough - - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_6 -#AT_START_7 -# 7. indexfile.at:26: tar --index-file=FILE --file=- -at_setup_line='indexfile.at:26' -at_desc="tar --index-file=FILE --file=-" -$at_quiet $as_echo_n " 7: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_10 +#AT_START_11 +at_fn_group_banner 11 'T-mult.at:21' \ + "multiple file lists" " " 2 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "7. indexfile.at:26: testing ..." + $as_echo "11. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/indexfile.at:29: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/T-mult.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +>file1 +>file2 +>file3 +>file4 +cat >F1 <<'_ATEOF' +file1 +file2 +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 - -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +file3 +file4 +_ATEOF -echo \"Testing the archive\" -tar -tf archive +tar cf archive -T F1 -T F2 +tar tf archive )" -echo indexfile.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - - -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive - -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'an embedded newline' "T-mult.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +>file1 +>file2 +>file3 +>file4 +cat >F1 <<'_ATEOF' +file1 +file2 +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +file3 +file4 +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -directory/ -directory/a +tar cf archive -T F1 -T F2 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-mult.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/indexfile.at:29: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_11 +#AT_START_12 +at_fn_group_banner 12 'T-nest.at:21' \ + "nested file lists" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "12. $at_setup_line: testing $at_desc ..." + $at_traceon -echo \"Testing the archive\" -tar -tf archive -)" -echo indexfile.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + + { set +x +$as_echo "$at_srcdir/T-nest.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +>file1 +>file2 +>file3 +>file4 +cat >F1 <<'_ATEOF' +file1 +-T F2 +file2 +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +file3 +file4 +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +tar cf archive -T F1 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-nest.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +>file1 +>file2 +>file3 +>file4 +cat >F1 <<'_ATEOF' +file1 +-T F2 +file2 +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +file3 +file4 +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -directory/ -directory/a +tar cf archive -T F1 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file3 +file4 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-nest.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/indexfile.at:29: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_12 +#AT_START_13 +at_fn_group_banner 13 'T-rec.at:21' \ + "recursive file lists" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "13. $at_setup_line: testing $at_desc ..." + $at_traceon + + + -echo \"Testing the archive\" -tar -tf archive -)" -echo indexfile.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/T-rec.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +>file1 +>file2 +cat >F1 <<'_ATEOF' +file1 +-T F2 +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +file2 +-T F1 +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar cf archive -T F1 +echo \$? +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-rec.at:24" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3066,351 +3203,310 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +>file1 +>file2 +cat >F1 <<'_ATEOF' +file1 +-T F2 +_ATEOF -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +cat >F2 <<'_ATEOF' +file2 +-T F1 +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -directory/ -directory/a +tar cf archive -T F1 +echo $? +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: F1: file list requested from F2 already read from command line +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "2 +file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-rec.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/indexfile.at:29: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_13 +#AT_START_14 +at_fn_group_banner 14 'T-cd.at:21' \ + "-C in file lists" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "14. $at_setup_line: testing $at_desc ..." + $at_traceon -echo \"Testing the archive\" -tar -tf archive -)" -echo indexfile.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + + + { set +x +$as_echo "$at_srcdir/T-cd.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +>file1 +mkdir dir +>dir/file2 +>dir/file3 +cat >F1 <<'_ATEOF' +file1 +-C dir +. +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +tar cf archive -T F1 +tar tf archive | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-cd.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 +test -z "`sort < /dev/null 2>&1`" || exit 77 -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +>file1 +mkdir dir +>dir/file2 +>dir/file3 +cat >F1 <<'_ATEOF' +file1 +-C dir +. +_ATEOF -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -directory/ -directory/a +tar cf archive -T F1 +tar tf archive | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./ +./file2 +./file3 +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-cd.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/indexfile.at:29: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 -echo \"Creating the archive\" -tar -c -v -f - --index-file=idx directory > archive + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_14 +#AT_START_15 +at_fn_group_banner 15 'T-empty.at:26' \ + "empty entries" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "15. $at_setup_line: testing $at_desc ..." + $at_traceon -echo \"Testing the archive\" -tar -tf archive -)" -echo indexfile.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + +cat >file-list <<'_ATEOF' +jeden +dwa + +trzy +_ATEOF + + + + + { set +x +$as_echo "$at_srcdir/T-empty.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +genfile --file jeden +genfile --file dwa +genfile --file trzy -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar cfvT archive ../file-list +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-empty.at:36" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --file=directory/a --length=1035 - -echo "Creating the archive" -tar -c -v -f - --index-file=idx directory > archive +genfile --file jeden +genfile --file dwa +genfile --file trzy -echo "Testing the archive" -tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -directory/ -directory/a +tar cfvT archive ../file-list +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "jeden +dwa +trzy " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-empty.at:36" +$at_failed && at_fn_log_failure $at_traceon; } + # Testing one format is enough - - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_7 -#AT_START_8 -# 8. verbose.at:26: tar cvf - -at_setup_line='verbose.at:26' -at_desc="tar cvf -" -$at_quiet $as_echo_n " 8: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_15 +#AT_START_16 +at_fn_group_banner 16 'T-null.at:21' \ + "0-separated file without -0" " " 2 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "8. verbose.at:26: testing ..." + $as_echo "16. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/verbose.at:29: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/T-null.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -)" -echo verbose.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "file -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -file -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" +echo jeden > temp +echo dwa >> temp +echo trzy >> temp +cat temp | tr '\\n' '\\0' > file-list -$at_failed && at_func_log_failure -$at_traceon; } +genfile -f jeden +genfile -f dwa +genfile -f trzy - { $at_traceoff -$as_echo "$at_srcdir/verbose.at:29: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +tar cfTv archive file-list +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "T-null.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -)" -echo verbose.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "file +echo jeden > temp +echo dwa >> temp +echo trzy >> temp +cat temp | tr '\n' '\0' > file-list + +genfile -f jeden +genfile -f dwa +genfile -f trzy + +tar cfTv archive file-list +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: file-list: file name read contains nul character " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -file +echo >>"$at_stdout"; $as_echo "jeden +dwa +trzy " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/verbose.at:29: + + # Testing one format is enough + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_16 +#AT_START_17 +at_fn_group_banner 17 'T-zfile.at:26' \ + "empty file" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "17. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/T-zfile.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3419,34 +3515,23 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -)" -echo verbose.at:29 >"$at_check_line_file" +genfile --length=0 --file empty +genfile --file a +genfile --file b +cat >valid <<'_ATEOF' +a +b +_ATEOF -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive +tar cf archive -T empty -T valid tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +echo \"==\" +tar cf archive -T valid -T empty +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-zfile.at:29" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3455,190 +3540,155 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive +genfile --length=0 --file empty +genfile --file a +genfile --file b +cat >valid <<'_ATEOF' +a +b +_ATEOF + + +tar cf archive -T empty -T valid tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "file -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -file +echo "==" +tar cf archive -T valid -T empty +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a +b +== +a +b " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-zfile.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/verbose.at:29: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -)" -echo verbose.at:29 >"$at_check_line_file" + # Testing one format is enough -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_17 +#AT_START_18 +at_fn_group_banner 18 'T-nonl.at:27' \ + "entries with missing newlines" " " 2 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "18. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "file -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -file -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/verbose.at:29: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + { set +x +$as_echo "$at_srcdir/T-nonl.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive -tar tf archive -)" -echo verbose.at:29 >"$at_check_line_file" +genfile --length=0 --file empty +\$as_echo_n c > 1.nonl +echo d > 2.nonl +\$as_echo_n e >> 2.nonl +touch a b c d e +cat >filelist <<'_ATEOF' +a +b +_ATEOF -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive +tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +echo == +tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "T-nonl.at:30" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file file --length 10240 -echo Creating the archive -tar cvf - file > archive -echo Testing the archive +genfile --length=0 --file empty +$as_echo_n c > 1.nonl +echo d > 2.nonl +$as_echo_n e >> 2.nonl +touch a b c d e +cat >filelist <<'_ATEOF' +a +b +_ATEOF + + +tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "file -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating the archive -Testing the archive -file +echo == +tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "c +d +e +a +b +== +d +e +a +b +c " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/T-nonl.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_8 -#AT_START_9 -# 9. append.at:21: append -at_setup_line='append.at:21' -at_desc="append" -$at_quiet $as_echo_n " 9: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_18 +#AT_START_19 +at_fn_group_banner 19 'indexfile.at:26' \ + "tar --index-file=FILE --file=-" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "9. append.at:21: testing ..." + $as_echo "19. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/append.at:24: + { set +x +$as_echo "$at_srcdir/indexfile.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3646,31 +3696,19 @@ export TEST_TAR_FORMAT TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive)" -echo append.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3678,26 +3716,33 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo "Creating the archive" +tar -c -v -f - --index-file=idx directory > archive + +echo "Testing the archive" +tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +directory/ +directory/a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append.at:24: + { set +x +$as_echo "$at_srcdir/indexfile.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3705,31 +3750,19 @@ export TEST_TAR_FORMAT TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive)" -echo append.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3737,26 +3770,33 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo "Creating the archive" +tar -c -v -f - --index-file=idx directory > archive + +echo "Testing the archive" +tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +directory/ +directory/a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append.at:24: + { set +x +$as_echo "$at_srcdir/indexfile.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3764,16 +3804,19 @@ export TEST_TAR_FORMAT TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive)" -echo append.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3781,41 +3824,33 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo "Creating the archive" +tar -c -v -f - --index-file=idx directory > archive + +echo "Testing the archive" +tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +directory/ +directory/a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append.at:24: + { set +x +$as_echo "$at_srcdir/indexfile.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3823,31 +3858,19 @@ export TEST_TAR_FORMAT TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive)" -echo append.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3855,26 +3878,33 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo "Creating the archive" +tar -c -v -f - --index-file=idx directory > archive + +echo "Testing the archive" +tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +directory/ +directory/a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append.at:24: + { set +x +$as_echo "$at_srcdir/indexfile.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3882,31 +3912,19 @@ export TEST_TAR_FORMAT TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive)" -echo append.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir directory +genfile --file=directory/a --length=1035 + +echo \"Creating the archive\" +tar -c -v -f - --index-file=idx directory > archive + +echo \"Testing the archive\" +tar -tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3914,88 +3932,117 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -touch file1 - touch file2 - tar cf archive file1 - tar rf archive file2 - tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 + + +mkdir directory +genfile --file=directory/a --length=1035 + +echo "Creating the archive" +tar -c -v -f - --index-file=idx directory > archive + +echo "Testing the archive" +tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +directory/ +directory/a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_9 -#AT_START_10 -# 10. append01.at:29: appending files with long names -at_setup_line='append01.at:29' -at_desc="appending files with long names" -$at_quiet $as_echo_n " 10: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_19 +#AT_START_20 +at_fn_group_banner 20 'verbose.at:26' \ + "tar cvf -" " " 3 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "10. append01.at:29: testing ..." + $as_echo "20. $at_setup_line: testing $at_desc ..." $at_traceon - - - { $at_traceoff -$as_echo "$at_srcdir/append01.at:34: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/verbose.at:29: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive )" -echo append01.at:34 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/verbose.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +)" +at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4004,27 +4051,29 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append01.at:34: + { set +x +$as_echo "$at_srcdir/verbose.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4033,34 +4082,14 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive )" -echo append01.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4069,27 +4098,29 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append01.at:34: + { set +x +$as_echo "$at_srcdir/verbose.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4098,34 +4129,14 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar tf archive -)" -echo append01.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +)" +at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4134,27 +4145,29 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append01.at:34: + { set +x +$as_echo "$at_srcdir/verbose.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4163,17 +4176,14 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive )" -echo append01.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4182,138 +4192,115 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX -touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +genfile --file file --length 10240 +echo Creating the archive +tar cvf - file > archive +echo Testing the archive tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 -This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive +Testing the archive +file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_10 -#AT_START_11 -# 11. append02.at:54: append vs. create -at_setup_line='append02.at:54' -at_desc="append vs. create" -$at_quiet $as_echo_n " 11: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_20 +#AT_START_21 +at_fn_group_banner 21 'gzip.at:23' \ + "gzip" " " 3 at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "11. append02.at:54: testing ..." + $as_echo "21. $at_setup_line: testing $at_desc ..." $at_traceon +unset TAR_OPTIONS +{ set +x +$as_echo "$at_srcdir/gzip.at:28: - { $at_traceoff -$as_echo "$at_srcdir/append02.at:57: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -genfile --file file1 -genfile --file file2 +tar xfvz /dev/null 2>err +RC=\$? +sed -n '/^tar:/p' err >&2 +exit \$RC +" +at_fn_check_prepare_notrace 'an embedded newline' "gzip.at:28" +( $at_check_trace; -# Make sure file timestamps in the archive will not differ -MTIME=\"--mtime=@0\" +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test \$TEST_TAR_FORMAT = posix; then - TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" -fi +tar xfvz /dev/null 2>err +RC=$? +sed -n '/^tar:/p' err >&2 +exit $RC -echo Creating archive.1 -tar \$MTIME -cf archive.1 file1 file2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Child returned status 1 +tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/gzip.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Creating archive.2 -tar \$MTIME -cf archive.2 -T /dev/null -tar \$MTIME -rf archive.2 file1 -tar \$MTIME -rf archive.2 file2 -echo Comparing archives -cmp archive.1 archive.2 -)" -echo append02.at:57 >"$at_check_line_file" + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_21 +#AT_START_22 +at_fn_group_banner 22 'recurse.at:21' \ + "recurse" " " 3 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "22. $at_setup_line: testing $at_desc ..." + $at_traceon -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + + + + + { set +x +$as_echo "$at_srcdir/recurse.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4322,45 +4309,24 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating archive.1 -Creating archive.2 -Comparing archives +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append02.at:57: + { set +x +$as_echo "$at_srcdir/recurse.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4369,34 +4335,13 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME=\"--mtime=@0\" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test \$TEST_TAR_FORMAT = posix; then - TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" -fi - -echo Creating archive.1 -tar \$MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar \$MTIME -cf archive.2 -T /dev/null -tar \$MTIME -rf archive.2 file1 -tar \$MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive )" -echo append02.at:57 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4405,149 +4350,281 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" + { set +x +$as_echo "$at_srcdir/recurse.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/recurse.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 + { set +x +$as_echo "$at_srcdir/recurse.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating archive.1 -Creating archive.2 -Comparing archives +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append02.at:57: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_22 +#AT_START_23 +at_fn_group_banner 23 'shortrec.at:25' \ + "short records" " " 3 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "23. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/shortrec.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -# Make sure file timestamps in the archive will not differ -MTIME=\"--mtime=@0\" +rm -r directory +)" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test \$TEST_TAR_FORMAT = posix; then - TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" -fi +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -echo Creating archive.1 -tar \$MTIME -cf archive.1 file1 file2 +rm -r directory +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Creating archive.2 -tar \$MTIME -cf archive.2 -T /dev/null -tar \$MTIME -rf archive.2 file1 -tar \$MTIME -rf archive.2 file2 + { set +x +$as_echo "$at_srcdir/shortrec.at:28: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -echo Comparing archives -cmp archive.1 archive.2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory )" -echo append02.at:57 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/shortrec.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +rm -r directory +)" +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4556,45 +4633,26 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" +rm -r directory +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating archive.1 -Creating archive.2 -Comparing archives -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/append02.at:57: + { set +x +$as_echo "$at_srcdir/shortrec.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4603,68 +4661,17 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME=\"--mtime=@0\" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test \$TEST_TAR_FORMAT = posix; then - TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" -fi - -echo Creating archive.1 -tar \$MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar \$MTIME -cf archive.2 -T /dev/null -tar \$MTIME -rf archive.2 file1 -tar \$MTIME -rf archive.2 file2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -echo Comparing archives -cmp archive.1 archive.2 +rm -r directory )" -echo append02.at:57 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4673,45 +4680,26 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating archive.1 -Creating archive.2 -Comparing archives -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -$at_failed && at_func_log_failure +rm -r directory +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append02.at:57: + { set +x +$as_echo "$at_srcdir/shortrec.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4720,68 +4708,17 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME=\"--mtime=@0\" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test \$TEST_TAR_FORMAT = posix; then - TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" -fi - -echo Creating archive.1 -tar \$MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar \$MTIME -cf archive.2 -T /dev/null -tar \$MTIME -rf archive.2 file1 -tar \$MTIME -rf archive.2 file2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -echo Comparing archives -cmp archive.1 archive.2 +rm -r directory )" -echo append02.at:57 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4790,71 +4727,47 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --file file1 -genfile --file file2 - -# Make sure file timestamps in the archive will not differ -MTIME="--mtime=@0" - -# For PAX archives, we need to make sure extended header names are -# reproducible and that their contents won't change with time -if test $TEST_TAR_FORMAT = posix; then - TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" -fi - -echo Creating archive.1 -tar $MTIME -cf archive.1 file1 file2 - -echo Creating archive.2 -tar $MTIME -cf archive.2 -T /dev/null -tar $MTIME -rf archive.2 file1 -tar $MTIME -rf archive.2 file2 - -echo Comparing archives -cmp archive.1 archive.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating archive.1 -Creating archive.2 -Comparing archives -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -$at_failed && at_func_log_failure +rm -r directory +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_11 -#AT_START_12 -# 12. append03.at:19: append with name transformation -at_setup_line='append03.at:19' -at_desc="append with name transformation" -$at_quiet $as_echo_n " 12: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_23 +#AT_START_24 +at_fn_group_banner 24 'same-order01.at:26' \ + "working -C with --same-order" " " 4 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "12. append03.at:19: testing ..." + $as_echo "24. $at_setup_line: testing $at_desc ..." $at_traceon -# Description: Make sure filenames are transformed during append. - - { $at_traceoff -$as_echo "$at_srcdir/append03.at:24: + { set +x +$as_echo "$at_srcdir/same-order01.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4863,40 +4776,21 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -)" -echo append03.at:24 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -genfile --file file.1 -genfile --file file.2 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4905,34 +4799,33 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Appending -plik.1 -Testing -plik.1 -plik.2 -plik.1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append03.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append03.at:24: + { set +x +$as_echo "$at_srcdir/same-order01.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4941,40 +4834,21 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -)" -echo append03.at:24 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -genfile --file file.1 -genfile --file file.2 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4983,34 +4857,33 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Appending -plik.1 -Testing -plik.1 -plik.2 -plik.1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append03.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append03.at:24: + { set +x +$as_echo "$at_srcdir/same-order01.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5019,40 +4892,21 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -)" -echo append03.at:24 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -genfile --file file.1 -genfile --file file.2 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5061,34 +4915,33 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Appending -plik.1 -Testing -plik.1 -plik.2 -plik.1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append03.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append03.at:24: + { set +x +$as_echo "$at_srcdir/same-order01.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5097,40 +4950,21 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -)" -echo append03.at:24 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -genfile --file file.1 -genfile --file file.2 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5139,34 +4973,33 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Appending -plik.1 -Testing -plik.1 -plik.2 -plik.1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append03.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/append03.at:24: + { set +x +$as_echo "$at_srcdir/same-order01.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5175,40 +5008,21 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -)" -echo append03.at:24 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --file file.1 -genfile --file file.2 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5217,60 +5031,54 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --file file.1 -genfile --file file.2 - -tar -c -f archive --transform 's/file/plik/' file.* -echo Appending -tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 -echo Testing -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Appending -plik.1 -Testing -plik.1 -plik.2 -plik.1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/append03.at:24" - -$at_failed && at_func_log_failure -$at_traceon; } + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 + +ls directory|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_12 -#AT_START_13 -# 13. xform-h.at:30: transforming hard links on create -at_setup_line='xform-h.at:30' -at_desc="transforming hard links on create" -$at_quiet $as_echo_n " 13: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_24 +#AT_START_25 +at_fn_group_banner 25 'same-order02.at:25' \ + "multiple -C options" " " 4 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "13. xform-h.at:30: testing ..." + $as_echo "25. $at_setup_line: testing $at_desc ..." $at_traceon - - - { $at_traceoff -$as_echo "$at_srcdir/xform-h.at:39: + { set +x +$as_echo "$at_srcdir/same-order02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -5279,62 +5087,24 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir basedir -echo \"hello\" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=\`pwd\` +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 +ls en +echo separator +ls to )" -echo xform-h.at:39 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -5343,45 +5113,37 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=`pwd` +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Default transform scope -test -Transforming hard links -test -Not transforming hard links -basedir/test +ls en +echo separator +ls to +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/xform-h.at:39: + { set +x +$as_echo "$at_srcdir/same-order02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -5390,62 +5152,24 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir basedir -echo \"hello\" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=\`pwd\` +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 +ls en +echo separator +ls to )" -echo xform-h.at:39 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -5454,45 +5178,37 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=`pwd` +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Default transform scope -test -Transforming hard links -test -Not transforming hard links -basedir/test +ls en +echo separator +ls to +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/xform-h.at:39: + { set +x +$as_echo "$at_srcdir/same-order02.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5501,31 +5217,24 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir basedir -echo \"hello\" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=\`pwd\` +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 +ls en +echo separator +ls to )" -echo xform-h.at:39 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5534,76 +5243,37 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=`pwd` +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Default transform scope -test -Transforming hard links -test -Not transforming hard links -basedir/test +ls en +echo separator +ls to +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/xform-h.at:39: + { set +x +$as_echo "$at_srcdir/same-order02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5612,62 +5282,24 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir basedir -echo \"hello\" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=\`pwd\` +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 +ls en +echo separator +ls to )" -echo xform-h.at:39 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5676,45 +5308,37 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=`pwd` +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Default transform scope -test -Transforming hard links -test -Not transforming hard links -basedir/test +ls en +echo separator +ls to +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/xform-h.at:39: + { set +x +$as_echo "$at_srcdir/same-order02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5723,31 +5347,24 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir basedir -echo \"hello\" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - - -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir en +mkdir to -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +HERE=\`pwd\` +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 +ls en +echo separator +ls to )" -echo xform-h.at:39 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5756,134 +5373,232 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link - - -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' - +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +mkdir en +mkdir to +HERE=`pwd` +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' +ls en +echo separator +ls to +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -mkdir basedir -echo "hello" > basedir/test -ln basedir/test basedir/test_link -echo "Default transform scope" -tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_25 +#AT_START_26 +at_fn_group_banner 26 'append.at:21' \ + "append" " " 5 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "26. $at_setup_line: testing $at_desc ..." + $at_traceon -echo "Transforming hard links" -tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' -echo "Not transforming hard links" -tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link -tar tvf archive | sed -n 's/.*test_link link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Default transform scope -test -Transforming hard links -test -Not transforming hard links -basedir/test + { set +x +$as_echo "$at_srcdir/append.at:24: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/append.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } - - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_13 -#AT_START_14 -# 14. xform01.at:26: transformations and GNU volume labels -at_setup_line='xform01.at:26' -at_desc="transformations and GNU volume labels" -$at_quiet $as_echo_n " 14: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "14. xform01.at:26: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/xform01.at:29: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/append.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -genfile --file file -tar -cf archive.tar -V /label/ file -tar tf archive.tar -)" -echo xform01.at:29 >"$at_check_line_file" + { set +x +$as_echo "$at_srcdir/append.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/append.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -genfile --file file -tar -cf archive.tar -V /label/ file -tar tf archive.tar -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "append.at:24" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5891,50 +5606,92 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -genfile --file file -tar -cf archive.tar -V /label/ file -tar tf archive.tar -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "/label/ -file +touch file1 + touch file2 + tar cf archive file1 + tar rf archive file2 + tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/xform01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_14 -#AT_START_15 -# 15. exclude.at:23: exclude -at_setup_line='exclude.at:23' -at_desc="exclude" -$at_quiet $as_echo_n " 15: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_26 +#AT_START_27 +at_fn_group_banner 27 'append01.at:29' \ + "appending files with long names" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "15. exclude.at:23: testing ..." + $as_echo "27. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/exclude.at:26: + + + { set +x +$as_echo "$at_srcdir/append01.at:34: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/append01.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5943,43 +5700,14 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir dir -echo blues > dir/blues -echo jazz > dir/jazz -mkdir dir/folk -echo tagfile > dir/folk/tagfile -echo sanjuan > dir/folk/sanjuan -mkdir dir/rock -echo \"Signature: 8a477f597d28d172789f06886806bc55\" > dir/rock/CACHEDIR.TAG -echo \"test\" > dir/rock/file - -for option in exclude-caches exclude-caches-under exclude-caches-all -do - echo OPTION \$option - tar -cf archive.tar --\$option -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done - -for option in exclude-tag exclude-tag-under exclude-tag-all -do - echo OPTION \$option - tar -cf archive.tar --\${option}=tagfile -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive )" -echo exclude.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5988,220 +5716,136 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir dir -echo blues > dir/blues -echo jazz > dir/jazz -mkdir dir/folk -echo tagfile > dir/folk/tagfile -echo sanjuan > dir/folk/sanjuan -mkdir dir/rock -echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG -echo "test" > dir/rock/file - -for option in exclude-caches exclude-caches-under exclude-caches-all -do - echo OPTION $option - tar -cf archive.tar --$option -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done - -for option in exclude-tag exclude-tag-under exclude-tag-all -do - echo OPTION $option - tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/append01.at:34: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -mkdir dir -echo blues > dir/blues -echo jazz > dir/jazz -mkdir dir/folk -echo tagfile > dir/folk/tagfile -echo sanjuan > dir/folk/sanjuan -mkdir dir/rock -echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG -echo "test" > dir/rock/file + { set +x +$as_echo "$at_srcdir/append01.at:34: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -for option in exclude-caches exclude-caches-under exclude-caches-all -do - echo OPTION $option - tar -cf archive.tar --$option -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -for option in exclude-tag exclude-tag-under exclude-tag-all -do - echo OPTION $option - tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "OPTION exclude-caches -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -OPTION exclude-caches-under -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -OPTION exclude-caches-all -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -OPTION exclude-tag -dir/ -dir/blues -dir/folk/ -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -OPTION exclude-tag-under -dir/ -dir/blues -dir/folk/ -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -OPTION exclude-tag-all -dir/ -dir/blues -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -tar: dir/folk/: contains a cache directory tag tagfile; directory not dumped -ARCHIVE -dir/ -dir/blues -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file +mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX +touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_15 -#AT_START_16 -# 16. exclude01.at:17: exclude wildcards -at_setup_line='exclude01.at:17' -at_desc="exclude wildcards" -$at_quiet $as_echo_n " 16: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_27 +#AT_START_28 +at_fn_group_banner 28 'append02.at:54' \ + "append vs. create" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "16. exclude01.at:17: testing ..." + $as_echo "28. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/exclude01.at:20: + { set +x +$as_echo "$at_srcdir/append02.at:57: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -6210,92 +5854,31 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Make sure file timestamps in the archive will not differ +MTIME=\"--mtime=@0\" +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test \$TEST_TAR_FORMAT = posix; then + TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" +fi -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* +echo Creating archive.1 +tar \$MTIME -cf archive.1 file1 file2 -tar cf archive --exclude=testdir/dir1/\\* \\ - --no-wildcards \\ - --exclude=testdir/dir2/\\* \\ - --wildcards \\ - --exclude=testdir/dir3/\\* \\ - testdir -tar tf archive | sort +echo Creating archive.2 +tar \$MTIME -cf archive.2 -T /dev/null +tar \$MTIME -rf archive.2 file1 +tar \$MTIME -rf archive.2 file2 -echo \"NEXT\" -tar cf archive testdir -tar t \"testdir/dir1/*\" -f archive | sort - -echo \"NEXT\" -tar cf archive testdir/dir1 -tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort - -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards \"testdir/dir1/*\" -f archive | sort - -rm -rf testdir +echo Comparing archives +cmp archive.1 archive.2 )" -echo exclude01.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort - -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -6304,66 +5887,44 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort +# Make sure file timestamps in the archive will not differ +MTIME="--mtime=@0" -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test $TEST_TAR_FORMAT = posix; then + TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" +fi -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.1 +tar $MTIME -cf archive.1 file1 file2 -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.2 +tar $MTIME -cf archive.2 -T /dev/null +tar $MTIME -rf archive.2 file1 +tar $MTIME -rf archive.2 file2 -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir2/ -testdir/dir2/file2 -testdir/dir3/ -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -testdir/dir1/file1 +echo Comparing archives +cmp archive.1 archive.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 +Creating archive.2 +Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude01.at:20: + { set +x +$as_echo "$at_srcdir/append02.at:57: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -6372,46 +5933,31 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* - -tar cf archive --exclude=testdir/dir1/\\* \\ - --no-wildcards \\ - --exclude=testdir/dir2/\\* \\ - --wildcards \\ - --exclude=testdir/dir3/\\* \\ - testdir -tar tf archive | sort +# Make sure file timestamps in the archive will not differ +MTIME=\"--mtime=@0\" -echo \"NEXT\" -tar cf archive testdir -tar t \"testdir/dir1/*\" -f archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test \$TEST_TAR_FORMAT = posix; then + TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" +fi -echo \"NEXT\" -tar cf archive testdir/dir1 -tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.1 +tar \$MTIME -cf archive.1 file1 file2 -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.2 +tar \$MTIME -cf archive.2 -T /dev/null +tar \$MTIME -rf archive.2 file1 +tar \$MTIME -rf archive.2 file2 -rm -rf testdir +echo Comparing archives +cmp archive.1 archive.2 )" -echo exclude01.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -6420,206 +5966,77 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* +# Make sure file timestamps in the archive will not differ +MTIME="--mtime=@0" -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test $TEST_TAR_FORMAT = posix; then + TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" +fi -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort +echo Creating archive.1 +tar $MTIME -cf archive.1 file1 file2 -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.2 +tar $MTIME -cf archive.2 -T /dev/null +tar $MTIME -rf archive.2 file1 +tar $MTIME -rf archive.2 file2 -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort +echo Comparing archives +cmp archive.1 archive.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 +Creating archive.2 +Comparing archives +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +$at_failed && at_fn_log_failure +$at_traceon; } -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/append02.at:57: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Make sure file timestamps in the archive will not differ +MTIME=\"--mtime=@0\" +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test \$TEST_TAR_FORMAT = posix; then + TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" +fi -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* +echo Creating archive.1 +tar \$MTIME -cf archive.1 file1 file2 -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort - -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir2/ -testdir/dir2/file2 -testdir/dir3/ -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -testdir/dir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/exclude01.at:20: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* - -tar cf archive --exclude=testdir/dir1/\\* \\ - --no-wildcards \\ - --exclude=testdir/dir2/\\* \\ - --wildcards \\ - --exclude=testdir/dir3/\\* \\ - testdir -tar tf archive | sort - -echo \"NEXT\" -tar cf archive testdir -tar t \"testdir/dir1/*\" -f archive | sort - -echo \"NEXT\" -tar cf archive testdir/dir1 -tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort - -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.2 +tar \$MTIME -cf archive.2 -T /dev/null +tar \$MTIME -rf archive.2 file1 +tar \$MTIME -rf archive.2 file2 -rm -rf testdir +echo Comparing archives +cmp archive.1 archive.2 )" -echo exclude01.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort - -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -6628,66 +6045,44 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort +# Make sure file timestamps in the archive will not differ +MTIME="--mtime=@0" -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test $TEST_TAR_FORMAT = posix; then + TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" +fi -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.1 +tar $MTIME -cf archive.1 file1 file2 -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.2 +tar $MTIME -cf archive.2 -T /dev/null +tar $MTIME -rf archive.2 file1 +tar $MTIME -rf archive.2 file2 -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir2/ -testdir/dir2/file2 -testdir/dir3/ -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -testdir/dir1/file1 +echo Comparing archives +cmp archive.1 archive.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 +Creating archive.2 +Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude01.at:20: + { set +x +$as_echo "$at_srcdir/append02.at:57: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -6696,46 +6091,31 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* - -tar cf archive --exclude=testdir/dir1/\\* \\ - --no-wildcards \\ - --exclude=testdir/dir2/\\* \\ - --wildcards \\ - --exclude=testdir/dir3/\\* \\ - testdir -tar tf archive | sort +# Make sure file timestamps in the archive will not differ +MTIME=\"--mtime=@0\" -echo \"NEXT\" -tar cf archive testdir -tar t \"testdir/dir1/*\" -f archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test \$TEST_TAR_FORMAT = posix; then + TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" +fi -echo \"NEXT\" -tar cf archive testdir/dir1 -tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.1 +tar \$MTIME -cf archive.1 file1 file2 -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.2 +tar \$MTIME -cf archive.2 -T /dev/null +tar \$MTIME -rf archive.2 file1 +tar \$MTIME -rf archive.2 file2 -rm -rf testdir +echo Comparing archives +cmp archive.1 archive.2 )" -echo exclude01.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -6744,112 +6124,44 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Make sure file timestamps in the archive will not differ +MTIME="--mtime=@0" +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test $TEST_TAR_FORMAT = posix; then + TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" +fi -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* +echo Creating archive.1 +tar $MTIME -cf archive.1 file1 file2 -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort - -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.2 +tar $MTIME -cf archive.2 -T /dev/null +tar $MTIME -rf archive.2 file1 +tar $MTIME -rf archive.2 file2 -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir2/ -testdir/dir2/file2 -testdir/dir3/ -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -testdir/dir1/file1 +echo Comparing archives +cmp archive.1 archive.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 +Creating archive.2 +Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude01.at:20: + { set +x +$as_echo "$at_srcdir/append02.at:57: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -6858,92 +6170,31 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* - -tar cf archive --exclude=testdir/dir1/\\* \\ - --no-wildcards \\ - --exclude=testdir/dir2/\\* \\ - --wildcards \\ - --exclude=testdir/dir3/\\* \\ - testdir -tar tf archive | sort +# Make sure file timestamps in the archive will not differ +MTIME=\"--mtime=@0\" -echo \"NEXT\" -tar cf archive testdir -tar t \"testdir/dir1/*\" -f archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test \$TEST_TAR_FORMAT = posix; then + TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\" +fi -echo \"NEXT\" -tar cf archive testdir/dir1 -tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.1 +tar \$MTIME -cf archive.1 file1 file2 -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards \"testdir/dir1/*\" -f archive | sort +echo Creating archive.2 +tar \$MTIME -cf archive.2 -T /dev/null +tar \$MTIME -rf archive.2 file1 +tar \$MTIME -rf archive.2 file2 -rm -rf testdir +echo Comparing archives +cmp archive.1 archive.2 )" -echo exclude01.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort - -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -6952,90 +6203,67 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +genfile --file file1 +genfile --file file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude=testdir/dir1/\* \ - --no-wildcards \ - --exclude=testdir/dir2/\* \ - --wildcards \ - --exclude=testdir/dir3/\* \ - testdir -tar tf archive | sort +# Make sure file timestamps in the archive will not differ +MTIME="--mtime=@0" -echo "NEXT" -tar cf archive testdir -tar t "testdir/dir1/*" -f archive | sort +# For PAX archives, we need to make sure extended header names are +# reproducible and that their contents won't change with time +if test $TEST_TAR_FORMAT = posix; then + TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" +fi -echo "NEXT" -tar cf archive testdir/dir1 -tar t --no-wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.1 +tar $MTIME -cf archive.1 file1 file2 -echo "NEXT" -tar cf archive testdir -tar t --wildcards "testdir/dir1/*" -f archive | sort +echo Creating archive.2 +tar $MTIME -cf archive.2 -T /dev/null +tar $MTIME -rf archive.2 file1 +tar $MTIME -rf archive.2 file2 -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir2/ -testdir/dir2/file2 -testdir/dir3/ -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -NEXT -testdir/dir1/* -testdir/dir1/file1 +echo Comparing archives +cmp archive.1 archive.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 +Creating archive.2 +Comparing archives " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_16 -#AT_START_17 -# 17. exclude02.at:17: exclude: anchoring -at_setup_line='exclude02.at:17' -at_desc="exclude: anchoring" -$at_quiet $as_echo_n " 17: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_28 +#AT_START_29 +at_fn_group_banner 29 'append03.at:21' \ + "append with name transformation" " " 5 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "17. exclude02.at:17: testing ..." + $as_echo "29. $at_setup_line: testing $at_desc ..." $at_traceon +# Description: Make sure filenames are transformed during append. + - { $at_traceoff -$as_echo "$at_srcdir/exclude02.at:20: + { set +x +$as_echo "$at_srcdir/append03.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7044,100 +6272,17 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +genfile --file file.1 +genfile --file file.2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 1\" -tar cf archive --no-anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 2\" -tar cf archive --anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 3\" -tar cf archive testdir file1.txt -tar t \"file1.txt\" -f archive | sort - -echo \"SUB 4\" -tar t --no-anchored \"file1.txt\" -f archive | sort - -echo \"SUB 5\" -tar t --anchored \"file1.txt\" -f archive | sort - -rm -rf testdir file1.txt - +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive )" -echo exclude02.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort - -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort - -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort - -rm -rf testdir file1.txt - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "append03.at:26" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7146,74 +6291,33 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +genfile --file file.1 +genfile --file file.2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort - -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort - -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort - -rm -rf testdir file1.txt - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file2 -SUB 1 -testdir/ -testdir/file2 -SUB 2 -testdir/ -testdir/file1.txt -testdir/file2 -SUB 3 -file1.txt -SUB 4 -file1.txt -testdir/file1.txt -SUB 5 -file1.txt +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Appending +plik.1 +Testing +plik.1 +plik.2 +plik.1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude02.at:20: + { set +x +$as_echo "$at_srcdir/append03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7222,50 +6326,17 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +genfile --file file.1 +genfile --file file.2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 1\" -tar cf archive --no-anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 2\" -tar cf archive --anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 3\" -tar cf archive testdir file1.txt -tar t \"file1.txt\" -f archive | sort - -echo \"SUB 4\" -tar t --no-anchored \"file1.txt\" -f archive | sort - -echo \"SUB 5\" -tar t --anchored \"file1.txt\" -f archive | sort - -rm -rf testdir file1.txt - +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive )" -echo exclude02.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "append03.at:26" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7274,302 +6345,432 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +genfile --file file.1 +genfile --file file.2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort - -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort - -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort - -rm -rf testdir file1.txt +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Appending +plik.1 +Testing +plik.1 +plik.2 +plik.1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/append03.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +genfile --file file.1 +genfile --file file.2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append03.at:26" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +genfile --file file.1 +genfile --file file.2 -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Appending +plik.1 +Testing +plik.1 +plik.2 +plik.1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort + { set +x +$as_echo "$at_srcdir/append03.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort +genfile --file file.1 +genfile --file file.2 -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append03.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -rm -rf testdir file1.txt +genfile --file file.1 +genfile --file file.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file2 -SUB 1 -testdir/ -testdir/file2 -SUB 2 -testdir/ -testdir/file1.txt -testdir/file2 -SUB 3 -file1.txt -SUB 4 -file1.txt -testdir/file1.txt -SUB 5 -file1.txt +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Appending +plik.1 +Testing +plik.1 +plik.2 +plik.1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude02.at:20: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/append03.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +genfile --file file.1 +genfile --file file.2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "append03.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * +genfile --file file.1 +genfile --file file.2 -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 +tar -c -f archive --transform 's/file/plik/' file.* +echo Appending +tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 +echo Testing +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Appending +plik.1 +Testing +plik.1 +plik.2 +plik.1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -tar cf archive --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort -echo \"SUB 1\" -tar cf archive --no-anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort -echo \"SUB 2\" -tar cf archive --anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort -echo \"SUB 3\" -tar cf archive testdir file1.txt -tar t \"file1.txt\" -f archive | sort + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_29 +#AT_START_30 +at_fn_group_banner 30 'append04.at:29' \ + "append with verify" " " 5 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "30. $at_setup_line: testing $at_desc ..." + $at_traceon -echo \"SUB 4\" -tar t --no-anchored \"file1.txt\" -f archive | sort -echo \"SUB 5\" -tar t --anchored \"file1.txt\" -f archive | sort -rm -rf testdir file1.txt -)" -echo exclude02.at:20 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +# Create two empty files: +touch file1 file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Create an archive: +tar cpfW archive.tar file1 file2 -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Append it to the already created archive: +tar rpfW archive.tar file3 -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort +# Create two empty files: +touch file1 file2 -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort +# Create an archive: +tar cpfW archive.tar file1 file2 -rm -rf testdir file1.txt +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +# Create two empty files: +touch file1 file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Create an archive: +tar cpfW archive.tar file1 file2 +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 +# Append it to the already created archive: +tar rpfW archive.tar file3 -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Create two empty files: +touch file1 file2 -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Create an archive: +tar cpfW archive.tar file1 file2 -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort +# Create two empty files: +touch file1 file2 -rm -rf testdir file1.txt +# Create an archive: +tar cpfW archive.tar file1 file2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file2 -SUB 1 -testdir/ -testdir/file2 -SUB 2 -testdir/ -testdir/file1.txt -testdir/file2 -SUB 3 -file1.txt -SUB 4 -file1.txt -testdir/file1.txt -SUB 5 -file1.txt +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +# Create two empty files: +touch file1 file2 + +# Create an archive: +tar cpfW archive.tar file1 file2 + +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude02.at:20: + { set +x +$as_echo "$at_srcdir/append04.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7578,50 +6779,26 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +# Create two empty files: +touch file1 file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 1\" -tar cf archive --no-anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 2\" -tar cf archive --anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 3\" -tar cf archive testdir file1.txt -tar t \"file1.txt\" -f archive | sort - -echo \"SUB 4\" -tar t --no-anchored \"file1.txt\" -f archive | sort +# Create an archive: +tar cpfW archive.tar file1 file2 -echo \"SUB 5\" -tar t --anchored \"file1.txt\" -f archive | sort +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 -rm -rf testdir file1.txt +# Append it to the already created archive: +tar rpfW archive.tar file3 +# Verify content of the new archive: +tar -tf archive.tar )" -echo exclude02.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7630,829 +6807,648 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +# Create two empty files: +touch file1 file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Create an archive: +tar cpfW archive.tar file1 file2 -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort + { set +x +$as_echo "$at_srcdir/append04.at:32: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort +# Create two empty files: +touch file1 file2 -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort +# Create an archive: +tar cpfW archive.tar file1 file2 -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 -rm -rf testdir file1.txt +# Append it to the already created archive: +tar rpfW archive.tar file3 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +# Verify content of the new archive: +tar -tf archive.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "append04.at:32" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +# Create two empty files: +touch file1 file2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Create an archive: +tar cpfW archive.tar file1 file2 +# Verify created archive by listing its content: +tar -tf archive.tar +echo == +# Create another empty file: +touch file3 + +# Append it to the already created archive: +tar rpfW archive.tar file3 + +# Verify content of the new archive: +tar -tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +== +file1 +file2 +file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/append04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_30 +#AT_START_31 +at_fn_group_banner 31 'xform-h.at:30' \ + "transforming hard links on create" " " 6 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "31. $at_setup_line: testing $at_desc ..." + $at_traceon -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort -rm -rf testdir file1.txt -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file2 -SUB 1 -testdir/ -testdir/file2 -SUB 2 -testdir/ -testdir/file1.txt -testdir/file2 -SUB 3 -file1.txt -SUB 4 -file1.txt -testdir/file1.txt -SUB 5 -file1.txt -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude02.at:20: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/xform-h.at:39: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort - -echo \"SUB 1\" -tar cf archive --no-anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort -echo \"SUB 2\" -tar cf archive --anchored \\ - --exclude=\"file1.txt\" \\ - testdir -tar tf archive | sort +echo \"Default transform scope\" +tar cf archive --transform=\"s,^basedir/,,\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo \"SUB 3\" -tar cf archive testdir file1.txt -tar t \"file1.txt\" -f archive | sort -echo \"SUB 4\" -tar t --no-anchored \"file1.txt\" -f archive | sort +echo \"Transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,h\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo \"SUB 5\" -tar t --anchored \"file1.txt\" -f archive | sort -rm -rf testdir file1.txt +echo \"Not transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' )" -echo exclude02.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -rm -rf testdir file1.txt +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/xform-h.at:39: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir -touch file1.txt -touch testdir/file1.txt -touch testdir/file2 - -tar cf archive --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 1" -tar cf archive --no-anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort - -echo "SUB 2" -tar cf archive --anchored \ - --exclude="file1.txt" \ - testdir -tar tf archive | sort -echo "SUB 3" -tar cf archive testdir file1.txt -tar t "file1.txt" -f archive | sort +echo \"Default transform scope\" +tar cf archive --transform=\"s,^basedir/,,\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "SUB 4" -tar t --no-anchored "file1.txt" -f archive | sort -echo "SUB 5" -tar t --anchored "file1.txt" -f archive | sort +echo \"Transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,h\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -rm -rf testdir file1.txt -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file2 -SUB 1 -testdir/ -testdir/file2 -SUB 2 -testdir/ -testdir/file1.txt -testdir/file2 -SUB 3 -file1.txt -SUB 4 -file1.txt -testdir/file1.txt -SUB 5 -file1.txt -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" +echo \"Not transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -$at_failed && at_func_log_failure -$at_traceon; } +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_17 -#AT_START_18 -# 18. exclude03.at:17: exclude: wildcards match slash -at_setup_line='exclude03.at:17' -at_desc="exclude: wildcards match slash" -$at_quiet $as_echo_n " 18: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "18. exclude03.at:17: testing ..." - $at_traceon +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude03.at:20: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/xform-h.at:39: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\\*f\\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* -tar cf archive --exclude='testdir*f*1' \\ - --no-wildcards-match-slash \\ - --exclude='testdir*f*2' \\ - --wildcards-match-slash \\ - --exclude='testdir*f*3' \\ - testdir -tar tf archive | sort +echo \"Default transform scope\" +tar cf archive --transform=\"s,^basedir/,,\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort -echo \"NEXT\" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo \"Transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,h\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo \"NEXT\" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir +echo \"Not transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' )" -echo exclude03.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ - testdir -tar tf archive | sort -echo "NEXT" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -rm -rf testdir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/xform-h.at:39: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo \"Default transform scope\" +tar cf archive --transform=\"s,^basedir/,,\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ - testdir -tar tf archive | sort +echo \"Transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,h\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "NEXT" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo \"Not transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +)" +at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -rm -rf testdir +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir1/* -testdir/dir2/ -testdir/dir2/* -testdir/dir2/file2 -testdir/dir3/ -testdir/dir3/* -NEXT -testdir/*f*1 -testdir/dir1/file1 -NEXT -testdir/*f*1 -NEXT -testdir/*f*1 -testdir/dir1/file1 + +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude03.at:20: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/xform-h.at:39: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\\*f\\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* -tar cf archive --exclude='testdir*f*1' \\ - --no-wildcards-match-slash \\ - --exclude='testdir*f*2' \\ - --wildcards-match-slash \\ - --exclude='testdir*f*3' \\ - testdir -tar tf archive | sort +echo \"Default transform scope\" +tar cf archive --transform=\"s,^basedir/,,\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort -echo \"NEXT\" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo \"Transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,h\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo \"NEXT\" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir +echo \"Not transforming hard links\" +tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' )" -echo exclude03.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ - testdir -tar tf archive | sort +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "NEXT" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_31 +#AT_START_32 +at_fn_group_banner 32 'xform01.at:26' \ + "transformations and GNU volume labels" " " 6 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "32. $at_setup_line: testing $at_desc ..." + $at_traceon -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort - -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort - -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir1/* -testdir/dir2/ -testdir/dir2/* -testdir/dir2/file2 -testdir/dir3/ -testdir/dir3/* -NEXT -testdir/*f*1 -testdir/dir1/file1 -NEXT -testdir/*f*1 -NEXT -testdir/*f*1 -testdir/dir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude03.at:20: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/xform01.at:29: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\\*f\\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* - -tar cf archive --exclude='testdir*f*1' \\ - --no-wildcards-match-slash \\ - --exclude='testdir*f*2' \\ - --wildcards-match-slash \\ - --exclude='testdir*f*3' \\ - testdir -tar tf archive | sort - -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort - -echo \"NEXT\" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort - -echo \"NEXT\" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort - -rm -rf testdir - +genfile --file file +tar -cf archive.tar -V /label/ file +tar tf archive.tar )" -echo exclude03.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +at_fn_check_prepare_notrace 'an embedded newline' "xform01.at:29" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +genfile --file file +tar -cf archive.tar -V /label/ file +tar tf archive.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "/label/ +file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xform01.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ - testdir -tar tf archive | sort + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_32 +#AT_START_33 +at_fn_group_banner 33 'exclude.at:23' \ + "exclude" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "33. $at_setup_line: testing $at_desc ..." + $at_traceon -echo "NEXT" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + { set +x +$as_echo "$at_srcdir/exclude.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\* -touch testdir/dir2/file2 -touch testdir/dir2/\* -touch testdir/dir3/file3 -touch testdir/dir3/\* - -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort - -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort - -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir1/ -testdir/dir1/* -testdir/dir2/ -testdir/dir2/* -testdir/dir2/file2 -testdir/dir3/ -testdir/dir3/* -NEXT -testdir/*f*1 -testdir/dir1/file1 -NEXT -testdir/*f*1 -NEXT -testdir/*f*1 -testdir/dir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" +mkdir dir +echo blues > dir/blues +echo jazz > dir/jazz +mkdir dir/folk +echo tagfile > dir/folk/tagfile +echo sanjuan > dir/folk/sanjuan +mkdir dir/rock +echo \"Signature: 8a477f597d28d172789f06886806bc55\" > dir/rock/CACHEDIR.TAG +echo \"test\" > dir/rock/file -$at_failed && at_func_log_failure -$at_traceon; } +for option in exclude-caches exclude-caches-under exclude-caches-all +do + echo OPTION \$option + tar -cf archive.tar --\$option -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done - { $at_traceoff -$as_echo "$at_srcdir/exclude03.at:20: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +for option in exclude-tag exclude-tag-under exclude-tag-all +do + echo OPTION \$option + tar -cf archive.tar --\${option}=tagfile -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude.at:26" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * @@ -8460,93 +7456,219 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir -mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\\*f\\*1 -touch testdir/dir1/file1 -touch testdir/dir1/\\* -touch testdir/dir2/file2 -touch testdir/dir2/\\* -touch testdir/dir3/file3 -touch testdir/dir3/\\* +mkdir dir +echo blues > dir/blues +echo jazz > dir/jazz +mkdir dir/folk +echo tagfile > dir/folk/tagfile +echo sanjuan > dir/folk/sanjuan +mkdir dir/rock +echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG +echo "test" > dir/rock/file -tar cf archive --exclude='testdir*f*1' \\ - --no-wildcards-match-slash \\ - --exclude='testdir*f*2' \\ - --wildcards-match-slash \\ - --exclude='testdir*f*3' \\ - testdir -tar tf archive | sort +for option in exclude-caches exclude-caches-under exclude-caches-all +do + echo OPTION $option + tar -cf archive.tar --$option -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done -echo \"NEXT\" -tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +for option in exclude-tag exclude-tag-under exclude-tag-all +do + echo OPTION $option + tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "OPTION exclude-caches +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +OPTION exclude-caches-under +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +OPTION exclude-caches-all +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +OPTION exclude-tag +dir/ +dir/blues +dir/folk/ +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +OPTION exclude-tag-under +dir/ +dir/blues +dir/folk/ +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +OPTION exclude-tag-all +dir/ +dir/blues +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +tar: dir/folk/: contains a cache directory tag tagfile; directory not dumped +ARCHIVE +dir/ +dir/blues +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -echo \"NEXT\" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -echo \"NEXT\" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir -)" -echo exclude03.at:20 >"$at_check_line_file" + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_33 +#AT_START_34 +at_fn_group_banner 34 'exclude01.at:19' \ + "exclude wildcards" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "34. $at_setup_line: testing $at_desc ..." + $at_traceon -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + + + + { set +x +$as_echo "$at_srcdir/exclude01.at:22: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 touch testdir/dir1/file1 -touch testdir/dir1/\* +touch testdir/dir1/\\* touch testdir/dir2/file2 -touch testdir/dir2/\* +touch testdir/dir2/\\* touch testdir/dir3/file3 -touch testdir/dir3/\* +touch testdir/dir3/\\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ testdir tar tf archive | sort -echo "NEXT" +echo \"NEXT\" tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +tar t \"testdir/dir1/*\" -f archive | sort -echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort -echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort rm -rf testdir - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude01.at:22" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * @@ -8556,7 +7678,6 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 @@ -8564,71 +7685,66 @@ touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +tar t "testdir/dir1/*" -f archive | sort echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ testdir/dir1/ -testdir/dir1/* testdir/dir2/ -testdir/dir2/* testdir/dir2/file2 testdir/dir3/ -testdir/dir3/* NEXT -testdir/*f*1 -testdir/dir1/file1 +testdir/dir1/* NEXT -testdir/*f*1 +testdir/dir1/* NEXT -testdir/*f*1 +testdir/dir1/* testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude01.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude03.at:20: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/exclude01.at:22: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\\*f\\*1 touch testdir/dir1/file1 touch testdir/dir1/\\* touch testdir/dir2/file2 @@ -8636,37 +7752,35 @@ touch testdir/dir2/\\* touch testdir/dir3/file3 touch testdir/dir3/\\* -tar cf archive --exclude='testdir*f*1' \\ - --no-wildcards-match-slash \\ - --exclude='testdir*f*2' \\ - --wildcards-match-slash \\ - --exclude='testdir*f*3' \\ +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ testdir tar tf archive | sort echo \"NEXT\" tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +tar t \"testdir/dir1/*\" -f archive | sort echo \"NEXT\" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort echo \"NEXT\" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort rm -rf testdir - )" -echo exclude03.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude01.at:22" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * @@ -8676,7 +7790,6 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 @@ -8684,35 +7797,102 @@ touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +tar t "testdir/dir1/*" -f archive | sort echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude01.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/exclude01.at:22: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort + +rm -rf testdir +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude01.at:22" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * @@ -8722,7 +7902,6 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 -touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 @@ -8730,136 +7909,102 @@ touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* -tar cf archive --exclude='testdir*f*1' \ - --no-wildcards-match-slash \ - --exclude='testdir*f*2' \ - --wildcards-match-slash \ - --exclude='testdir*f*3' \ +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir -tar t --wildcards 'testdir/*f*1' -f archive | sort +tar t "testdir/dir1/*" -f archive | sort echo "NEXT" -tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" -tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ testdir/dir1/ -testdir/dir1/* testdir/dir2/ -testdir/dir2/* testdir/dir2/file2 testdir/dir3/ -testdir/dir3/* NEXT -testdir/*f*1 -testdir/dir1/file1 +testdir/dir1/* NEXT -testdir/*f*1 +testdir/dir1/* NEXT -testdir/*f*1 +testdir/dir1/* testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude01.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_18 -#AT_START_19 -# 19. exclude04.at:17: exclude: case insensitive -at_setup_line='exclude04.at:17' -at_desc="exclude: case insensitive" -$at_quiet $as_echo_n " 19: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "19. exclude04.at:17: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/exclude04.at:20: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/exclude01.at:22: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 -touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --exclude=FILE2 \\ - --exclude=file1 \\ - --ignore-case \\ - --exclude=file3 \\ - --no-ignore-case \\ - --exclude=FILE2 \\ - --exclude=file4 \\ +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ testdir tar tf archive | sort -echo \"SUB 1\" +echo \"NEXT\" tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar t \"testdir/dir1/*\" -f archive | sort -echo \"SUB 2\" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort -echo \"SUB 3\" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort rm -rf testdir - )" -echo exclude04.at:20 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude01.at:22" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * @@ -8868,119 +8013,110 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 -touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ testdir tar tf archive | sort -echo "SUB 1" +echo "NEXT" tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar t "testdir/dir1/*" -f archive | sort -echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort -echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude01.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/exclude01.at:22: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 -touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ testdir tar tf archive | sort -echo "SUB 1" +echo \"NEXT\" tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar t \"testdir/dir1/*\" -f archive | sort -echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort -echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort rm -rf testdir - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir/ -testdir/dir/File1 -testdir/dir/File2 -testdir/dir/File4 -testdir/file2 -SUB 1 -testdir/dir/File2 -SUB 2 -testdir/dir/File2 -testdir/file2 -SUB 3 -testdir/dir/File2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/exclude04.at:20: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude01.at:22" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * @@ -8989,98 +8125,135 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 -touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --exclude=FILE2 \\ - --exclude=file1 \\ - --ignore-case \\ - --exclude=file3 \\ - --no-ignore-case \\ - --exclude=FILE2 \\ - --exclude=file4 \\ +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ testdir tar tf archive | sort -echo \"SUB 1\" +echo "NEXT" tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar t "testdir/dir1/*" -f archive | sort -echo \"SUB 2\" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort -echo \"SUB 3\" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude01.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } -)" -echo exclude04.at:20 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_34 +#AT_START_35 +at_fn_group_banner 35 'exclude02.at:19' \ + "exclude: anchoring" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "35. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude02.at:22: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude=\"file1.txt\" \\ testdir tar tf archive | sort -echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort -echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort -echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort -rm -rf testdir +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude02.at:22" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * @@ -9089,121 +8262,122 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort -rm -rf testdir +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir/ -testdir/dir/File1 -testdir/dir/File2 -testdir/dir/File4 testdir/file2 SUB 1 -testdir/dir/File2 +testdir/ +testdir/file2 SUB 2 -testdir/dir/File2 +testdir/ +testdir/file1.txt testdir/file2 SUB 3 -testdir/dir/File2 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude02.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude04.at:20: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/exclude02.at:22: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \\ - --exclude=file1 \\ - --ignore-case \\ - --exclude=file3 \\ - --no-ignore-case \\ - --exclude=FILE2 \\ - --exclude=file4 \\ +tar cf archive --exclude=\"file1.txt\" \\ testdir tar tf archive | sort echo \"SUB 1\" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort echo \"SUB 2\" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort echo \"SUB 3\" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort -rm -rf testdir +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort -)" -echo exclude04.at:20 >"$at_check_line_file" +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +rm -rf testdir file1.txt + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude02.at:22" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * @@ -9212,42 +8386,117 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude02.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/exclude02.at:22: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar cf archive --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort + +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort + +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude02.at:22" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -9261,65 +8510,68 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort -rm -rf testdir +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir/ -testdir/dir/File1 -testdir/dir/File2 -testdir/dir/File4 testdir/file2 SUB 1 -testdir/dir/File2 +testdir/ +testdir/file2 SUB 2 -testdir/dir/File2 +testdir/ +testdir/file1.txt testdir/file2 SUB 3 -testdir/dir/File2 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude02.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude04.at:20: + { set +x +$as_echo "$at_srcdir/exclude02.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9329,48 +8581,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \\ - --exclude=file1 \\ - --ignore-case \\ - --exclude=file3 \\ - --no-ignore-case \\ - --exclude=FILE2 \\ - --exclude=file4 \\ +tar cf archive --exclude=\"file1.txt\" \\ testdir tar tf archive | sort echo \"SUB 1\" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort echo \"SUB 2\" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort echo \"SUB 3\" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort -rm -rf testdir +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort -)" -echo exclude04.at:20 >"$at_check_line_file" +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude02.at:22" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9384,114 +8634,68 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort - -echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort - -rm -rf testdir - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 -touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 - -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --anchored \ + --exclude="file1.txt" \ testdir tar tf archive | sort -echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort -echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort -echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort -rm -rf testdir +rm -rf testdir file1.txt -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir/ -testdir/dir/File1 -testdir/dir/File2 -testdir/dir/File4 testdir/file2 SUB 1 -testdir/dir/File2 +testdir/ +testdir/file2 SUB 2 -testdir/dir/File2 +testdir/ +testdir/file1.txt testdir/file2 SUB 3 -testdir/dir/File2 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude02.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude04.at:20: + { set +x +$as_echo "$at_srcdir/exclude02.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -9501,48 +8705,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \\ - --exclude=file1 \\ - --ignore-case \\ - --exclude=file3 \\ - --no-ignore-case \\ - --exclude=FILE2 \\ - --exclude=file4 \\ +tar cf archive --exclude=\"file1.txt\" \\ testdir tar tf archive | sort echo \"SUB 1\" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort echo \"SUB 2\" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort echo \"SUB 3\" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort -rm -rf testdir +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort -)" -echo exclude04.at:20 >"$at_check_line_file" +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude02.at:22" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -9556,177 +8758,134 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" -tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort -rm -rf testdir +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude02.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_35 +#AT_START_36 +at_fn_group_banner 36 'exclude03.at:19' \ + "exclude: wildcards match slash" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "36. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude03.at:22: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 rm -rf testdir -mkdir -p testdir/dir -touch testdir/file1 -touch testdir/file2 -touch testdir/file3 -touch testdir/file4 -touch testdir/dir/File1 -touch testdir/dir/File2 -touch testdir/dir/File3 -touch testdir/dir/File4 +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --exclude=FILE2 \ - --exclude=file1 \ - --ignore-case \ - --exclude=file3 \ - --no-ignore-case \ - --exclude=FILE2 \ - --exclude=file4 \ +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ testdir tar tf archive | sort -echo "SUB 1" +echo \"NEXT\" tar cf archive testdir -tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort - -echo "SUB 2" -tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort - -echo "SUB 3" -tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort - -rm -rf testdir - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "testdir/ -testdir/dir/ -testdir/dir/File1 -testdir/dir/File2 -testdir/dir/File4 -testdir/file2 -SUB 1 -testdir/dir/File2 -SUB 2 -testdir/dir/File2 -testdir/file2 -SUB 3 -testdir/dir/File2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_19 -#AT_START_20 -# 20. exclude05.at:19: exclude: lots of excludes -at_setup_line='exclude05.at:19' -at_desc="exclude: lots of excludes" -$at_quiet $as_echo_n " 20: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "20. exclude05.at:19: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/exclude05.at:22: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ - while read name - do - genfile --file \$name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile +tar t --wildcards 'testdir/*f*1' -f archive | sort -tar cf archive --anchored --exclude-from=exclfile \\ - testdir -tar tf archive | sort +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo \"NEXT\" -tar cf archive --exclude-from=exclfile \\ - testdir -tar tf archive | sort +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +rm -rf testdir )" -echo exclude05.at:22 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude03.at:22" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -9739,87 +8898,65 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --anchored --exclude-from=exclfile \ +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort - -rm -rf testdir exclfile - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* NEXT -testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude03.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude05.at:22: + { set +x +$as_echo "$at_srcdir/exclude03.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -9829,36 +8966,42 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ - while read name - do - genfile --file \$name - done -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --anchored --exclude-from=exclfile \\ +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ testdir tar tf archive | sort echo \"NEXT\" -tar cf archive --exclude-from=exclfile \\ - testdir -tar tf archive | sort +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -)" -echo exclude05.at:22 >"$at_check_line_file" +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +rm -rf testdir + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude03.at:22" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -9871,87 +9014,65 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive --exclude-from=exclfile \ +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ testdir tar tf archive | sort -rm -rf testdir exclfile - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* NEXT -testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude03.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude05.at:22: + { set +x +$as_echo "$at_srcdir/exclude03.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -9961,36 +9082,42 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ - while read name - do - genfile --file \$name - done -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --anchored --exclude-from=exclfile \\ +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ testdir tar tf archive | sort echo \"NEXT\" -tar cf archive --exclude-from=exclfile \\ - testdir -tar tf archive | sort +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -)" -echo exclude05.at:22 >"$at_check_line_file" +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude03.at:22" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -10003,87 +9130,65 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --anchored --exclude-from=exclfile \ +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort - -rm -rf testdir exclfile - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* NEXT -testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude03.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude05.at:22: + { set +x +$as_echo "$at_srcdir/exclude03.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10093,36 +9198,42 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ - while read name - do - genfile --file \$name - done -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --anchored --exclude-from=exclfile \\ +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ testdir tar tf archive | sort echo \"NEXT\" -tar cf archive --exclude-from=exclfile \\ - testdir -tar tf archive | sort +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -)" -echo exclude05.at:22 >"$at_check_line_file" +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +rm -rf testdir + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude03.at:22" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10135,87 +9246,65 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort - -echo "NEXT" -tar cf archive --exclude-from=exclfile \ +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ testdir tar tf archive | sort -rm -rf testdir exclfile - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* NEXT -testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude03.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/exclude05.at:22: + { set +x +$as_echo "$at_srcdir/exclude03.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10225,36 +9314,42 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ - while read name - do - genfile --file \$name - done -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* -tar cf archive --anchored --exclude-from=exclfile \\ +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ testdir tar tf archive | sort echo \"NEXT\" -tar cf archive --exclude-from=exclfile \\ - testdir -tar tf archive | sort +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -)" -echo exclude05.at:22 >"$at_check_line_file" +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude03.at:22" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10267,274 +9362,205 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* -tar cf archive --anchored --exclude-from=exclfile \ +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort - -rm -rf testdir exclfile - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -rm -rf testdir exclfile -mkdir -p testdir -awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ - while read name - do - genfile --file $name - done - -awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -tar cf archive --anchored --exclude-from=exclfile \ - testdir -tar tf archive | sort +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" -tar cf archive --exclude-from=exclfile \ - testdir -tar tf archive | sort +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -rm -rf testdir exclfile +rm -rf testdir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* NEXT -testdir/ -testdir/file10 -testdir/file11 -testdir/file9 +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude03.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_20 -#AT_START_21 -# 21. exclude06.at:24: exclude: long files in pax archives -at_setup_line='exclude06.at:24' -at_desc="exclude: long files in pax archives" -$at_quiet $as_echo_n " 21: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_36 +#AT_START_37 +at_fn_group_banner 37 'exclude04.at:19' \ + "exclude: case insensitive" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "21. exclude06.at:24: testing ..." + $as_echo "37. $at_setup_line: testing $at_desc ..." $at_traceon - - - { $at_traceoff -$as_echo "$at_srcdir/exclude06.at:29: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { set +x +$as_echo "$at_srcdir/exclude04.at:22: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 -genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt -genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen -mkdir out -tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp -find out -type f -)" -echo exclude06.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort -install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 -genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt -genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c - -tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen -mkdir out -tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp -find out -type f -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * - - -install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 -genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt -genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c - -tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen -mkdir out -tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp -find out -type f -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "out/one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/exclude06.at:29" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_21 -#AT_START_22 -# 22. delete01.at:23: deleting a member after a big one -at_setup_line='delete01.at:23' -at_desc="deleting a member after a big one" -$at_quiet $as_echo_n " 22: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "22. delete01.at:23: testing ..." - $at_traceon - +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort +rm -rf testdir - { $at_traceoff -$as_echo "$at_srcdir/delete01.at:26: +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude04.at:22" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude04.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete01.at:26: + { set +x +$as_echo "$at_srcdir/exclude04.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10543,32 +9569,46 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude04.at:22" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10577,25 +9617,69 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude04.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete01.at:26: + { set +x +$as_echo "$at_srcdir/exclude04.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -10604,59 +9688,117 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude04.at:22" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude04.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete01.at:26: + { set +x +$as_echo "$at_srcdir/exclude04.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10665,32 +9807,46 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude04.at:22" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10699,25 +9855,69 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude04.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete01.at:26: + { set +x +$as_echo "$at_srcdir/exclude04.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10726,16 +9926,46 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude04.at:22" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10744,65 +9974,90 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude04.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_22 -#AT_START_23 -# 23. delete02.at:23: deleting a member from stdin archive -at_setup_line='delete02.at:23' -at_desc="deleting a member from stdin archive" -$at_quiet $as_echo_n " 23: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_37 +#AT_START_38 +at_fn_group_banner 38 'exclude05.at:21' \ + "exclude: lots of excludes" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "23. delete02.at:23: testing ..." + $as_echo "38. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/delete02.at:26: + { set +x +$as_echo "$at_srcdir/exclude05.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -10811,38 +10066,34 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -10851,33 +10102,53 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "1 -2 -3 -separator -1 -3 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete02.at:26: + { set +x +$as_echo "$at_srcdir/exclude05.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10886,38 +10157,34 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10926,73 +10193,89 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "1 -2 -3 -separator -1 -3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" -$at_failed && at_func_log_failure -$at_traceon; } +test -z "`sort < /dev/null 2>&1`" || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/delete02.at:26: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/exclude05.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -11001,33 +10284,53 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "1 -2 -3 -separator -1 -3 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete02.at:26: + { set +x +$as_echo "$at_srcdir/exclude05.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11036,38 +10339,34 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11076,33 +10375,53 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "1 -2 -3 -separator -1 -3 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete02.at:26: + { set +x +$as_echo "$at_srcdir/exclude05.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11111,19 +10430,34 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11132,68 +10466,66 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "1 -2 -3 -separator -1 -3 +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_23 -#AT_START_24 -# 24. delete03.at:21: deleting members with long names -at_setup_line='delete03.at:21' -at_desc="deleting members with long names" -$at_quiet $as_echo_n " 24: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_38 +#AT_START_39 +at_fn_group_banner 39 'exclude06.at:26' \ + "exclude: long files in pax archives" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "24. delete03.at:21: testing ..." + $as_echo "39. $at_setup_line: testing $at_desc ..." $at_traceon @@ -11202,91 +10534,129 @@ echo "# -*- compilation -*-" >> "$at_group_log" - { $at_traceoff -$as_echo "$at_srcdir/delete03.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/exclude06.at:31: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f \$prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch \$prefix\$i -done -tar -cf archive ./\$prefix* && - tar --delete -f archive ./\${prefix}5 && - tar -tf archive -)" -echo delete03.at:26 >"$at_check_line_file" +install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen +mkdir out +tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp +find out -type f +)" +at_fn_check_prepare_notrace 'an embedded newline' "exclude06.at:31" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c + +tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen +mkdir out +tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp +find out -type f +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "out/one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude06.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_39 +#AT_START_40 +at_fn_group_banner 40 'exclude07.at:19' \ + "exclude: --exclude-backups option" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "40. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude07.at:22: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file \"dir/.#file\" +genfile --file \"dir/#file#\" -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +tar -v -c -f archive --exclude-backups dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "exclude07.at:22" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file "dir/.#file" +genfile --file "dir/#file#" + +tar -v -c -f archive --exclude-backups dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude07.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete03.at:26: + { set +x +$as_echo "$at_srcdir/exclude07.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11295,21 +10665,16 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file \"dir/.#file\" +genfile --file \"dir/#file#\" -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f \$prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch \$prefix\$i -done -tar -cf archive ./\$prefix* && - tar --delete -f archive ./\${prefix}5 && - tar -tf archive +tar -v -c -f archive --exclude-backups dir )" -echo delete03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "exclude07.at:22" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11318,58 +10683,76 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file "dir/.#file" +genfile --file "dir/#file#" + +tar -v -c -f archive --exclude-backups dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude07.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/exclude07.at:22: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file \"dir/.#file\" +genfile --file \"dir/#file#\" -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +tar -v -c -f archive --exclude-backups dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "exclude07.at:22" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file "dir/.#file" +genfile --file "dir/#file#" + +tar -v -c -f archive --exclude-backups dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude07.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete03.at:26: + { set +x +$as_echo "$at_srcdir/exclude07.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11378,21 +10761,16 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file \"dir/.#file\" +genfile --file \"dir/#file#\" -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f \$prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch \$prefix\$i -done -tar -cf archive ./\$prefix* && - tar --delete -f archive ./\${prefix}5 && - tar -tf archive +tar -v -c -f archive --exclude-backups dir )" -echo delete03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "exclude07.at:22" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11401,82 +10779,97 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file "dir/.#file" +genfile --file "dir/#file#" + +tar -v -c -f archive --exclude-backups dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude07.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/exclude07.at:22: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file \"dir/.#file\" +genfile --file \"dir/#file#\" -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +tar -v -c -f archive --exclude-backups dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "exclude07.at:22" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +genfile --file dir/file +genfile --file dir/file~ +genfile --file "dir/.#file" +genfile --file "dir/#file#" + +tar -v -c -f archive --exclude-backups dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude07.at:22" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_24 -#AT_START_25 -# 25. delete04.at:23: deleting a large last member -at_setup_line='delete04.at:23' -at_desc="deleting a large last member" -$at_quiet $as_echo_n " 25: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_40 +#AT_START_41 +at_fn_group_banner 41 'exclude08.at:36' \ + "--exclude-tag option" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "25. delete04.at:23: testing ..." + $as_echo "41. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/delete04.at:26: + { set +x +$as_echo "$at_srcdir/exclude08.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -11485,50 +10878,14 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude08.at:39" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -11537,42 +10894,30 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude08.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete04.at:26: + { set +x +$as_echo "$at_srcdir/exclude08.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11581,50 +10926,14 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude08.at:39" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11633,42 +10942,30 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude08.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete04.at:26: + { set +x +$as_echo "$at_srcdir/exclude08.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -11677,50 +10974,14 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude08.at:39" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -11729,42 +10990,30 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude08.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete04.at:26: + { set +x +$as_echo "$at_srcdir/exclude08.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11773,50 +11022,14 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude08.at:39" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11825,42 +11038,30 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude08.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete04.at:26: + { set +x +$as_echo "$at_srcdir/exclude08.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11869,25 +11070,14 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude08.at:39" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11896,23 +11086,67 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude08.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_41 +#AT_START_42 +at_fn_group_banner 42 'exclude09.at:37' \ + "--exclude-tag option and --listed-incremental" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "42. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude09.at:40: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme --listed=snar -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude09.at:40" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11921,108 +11155,163 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag=excludeme --listed=snar -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest: Directory is new +tar: etest/subdir: Directory is new +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/subdir/excludeme +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude09.at:40" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_25 -#AT_START_26 -# 26. delete05.at:27: deleting non-existing member -at_setup_line='delete05.at:27' -at_desc="deleting non-existing member" -$at_quiet $as_echo_n " 26: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_42 +#AT_START_43 +at_fn_group_banner 43 'exclude10.at:38' \ + "--exclude-tag option in incremental pass" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "26. delete05.at:27: testing ..." + $as_echo "43. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/delete05.at:30: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/exclude10.at:41: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +rm etest/subdir/excludeme +decho \"# Level 0\" +tar -c -f etest-0.tar --exclude-tag=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho \"# Level 1\" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag=excludeme --listed=snar-1 -v etest | sort )" -echo delete05.at:30 >"$at_check_line_file" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude10.at:41" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +rm etest/subdir/excludeme +decho "# Level 0" +tar -c -f etest-0.tar --exclude-tag=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho "# Level 1" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag=excludeme --listed=snar-1 -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Level 0 +tar: etest: Directory is new +tar: etest/subdir: Directory is new +# Level 1 +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Level 0 +etest/ +etest/subdir/ +etest/subdir/subdir-file +etest/top-level-file +# Level 1 +etest/ +etest/subdir/ +etest/subdir/excludeme +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude10.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_43 +#AT_START_44 +at_fn_group_banner 44 'exclude11.at:36' \ + "--exclude-tag-under option" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "44. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/exclude11.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude11.at:39" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -12031,33 +11320,29 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "en -to +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude11.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete05.at:30: + { set +x +$as_echo "$at_srcdir/exclude11.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12066,20 +11351,14 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude11.at:39" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12088,53 +11367,29 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to - -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "en -to +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude11.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete05.at:30: + { set +x +$as_echo "$at_srcdir/exclude11.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12143,20 +11398,14 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude11.at:39" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12165,53 +11414,29 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to - -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "en -to +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude11.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete05.at:30: + { set +x +$as_echo "$at_srcdir/exclude11.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12220,20 +11445,14 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude11.at:39" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12242,53 +11461,97 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude11.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/exclude11.at:39: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude11.at:39" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; contents not dumped " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "en -to +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/top-level-file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude11.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/delete05.at:30: + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_44 +#AT_START_45 +at_fn_group_banner 45 'exclude12.at:37' \ + "--exclude-tag-under and --listed-incremental" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "45. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude12.at:40: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12297,20 +11560,14 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme --listed=snar -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude12.at:40" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12319,18 +11576,76 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-under=excludeme --listed=snar -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest: Directory is new +tar: etest/subdir: Directory is new +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/subdir/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude12.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_45 +#AT_START_46 +at_fn_group_banner 46 'exclude13.at:39' \ + "--exclude-tag-under option in incremental pass" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "46. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude13.at:42: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +rm etest/subdir/excludeme +decho \"# Level 0\" +tar -c -f etest-0.tar --exclude-tag-under=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho \"# Level 1\" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude13.at:42" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12339,57 +11654,67 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +rm etest/subdir/excludeme +decho "# Level 0" +tar -c -f etest-0.tar --exclude-tag-under=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho "# Level 1" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Level 0 +tar: etest: Directory is new +tar: etest/subdir: Directory is new +# Level 1 +tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "en -to +echo >>"$at_stdout"; $as_echo "# Level 0 +etest/ +etest/subdir/ +etest/subdir/subdir-file +etest/top-level-file +# Level 1 +etest/ +etest/subdir/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/exclude13.at:42" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_26 -#AT_START_27 -# 27. extrac01.at:23: extract over an existing directory -at_setup_line='extrac01.at:23' -at_desc="extract over an existing directory" -$at_quiet $as_echo_n " 27: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_46 +#AT_START_47 +at_fn_group_banner 47 'exclude14.at:36' \ + "--exclude-tag-all option" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "27. extrac01.at:23: testing ..." + $as_echo "47. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac01.at:26: + { set +x +$as_echo "$at_srcdir/exclude14.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -12398,32 +11723,14 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude14.at:39" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -12432,23 +11739,28 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac01.at:26" -$at_failed && at_func_log_failure +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude14.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac01.at:26: + { set +x +$as_echo "$at_srcdir/exclude14.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12457,32 +11769,14 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude14.at:39" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12491,23 +11785,28 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac01.at:26" -$at_failed && at_func_log_failure -$at_traceon; } +test -z "`sort < /dev/null 2>&1`" || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/extrac01.at:26: +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude14.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/exclude14.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12516,32 +11815,14 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude14.at:39" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12550,23 +11831,28 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac01.at:26" -$at_failed && at_func_log_failure +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude14.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac01.at:26: + { set +x +$as_echo "$at_srcdir/exclude14.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12575,32 +11861,14 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude14.at:39" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12609,23 +11877,28 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac01.at:26" -$at_failed && at_func_log_failure +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude14.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac01.at:26: + { set +x +$as_echo "$at_srcdir/exclude14.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12634,16 +11907,14 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude14.at:39" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12652,14 +11923,65 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest/subdir/: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude14.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_47 +#AT_START_48 +at_fn_group_banner 48 'exclude15.at:36' \ + "--exclude-tag-all and --listed-incremental" " " 7 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "48. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/exclude15.at:39: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme --listed=snar -v etest | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude15.at:39" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12668,87 +11990,158 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac01.at:26" -$at_failed && at_func_log_failure +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +tar -c -f etest.tar --exclude-tag-all=excludeme --listed=snar -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: etest: Directory is new +tar: etest/subdir: Directory is new +tar: etest/subdir: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "etest/ +etest/top-level-file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude15.at:39" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_27 -#AT_START_28 -# 28. extrac02.at:23: extracting symlinks over an existing file -at_setup_line='extrac02.at:23' -at_desc="extracting symlinks over an existing file" -$at_quiet $as_echo_n " 28: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_48 +#AT_START_49 +at_fn_group_banner 49 'exclude16.at:38' \ + "--exclude-tag-all option in incremental pass" " " 7 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "28. extrac02.at:23: testing ..." + $as_echo "49. $at_setup_line: testing $at_desc ..." $at_traceon -# FIXME: Skip if symlinks are not supported on the system - - { $at_traceoff -$as_echo "$at_srcdir/extrac02.at:28: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/exclude16.at:41: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkexcltest etest +rm etest/subdir/excludeme +decho \"# Level 0\" +tar -c -f etest-0.tar --exclude-tag-all=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho \"# Level 1\" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort )" -echo extrac02.at:28 >"$at_check_line_file" +at_fn_check_prepare_notrace 'a `...` command substitution' "exclude16.at:41" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkexcltest etest +rm etest/subdir/excludeme +decho "# Level 0" +tar -c -f etest-0.tar --exclude-tag-all=excludeme --listed=snar-0 -v etest | sort +touch etest/subdir/excludeme +touch etest/subdir/otherfile + +decho "# Level 1" +cp snar-0 snar-1 +tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Level 0 +tar: etest: Directory is new +tar: etest/subdir: Directory is new +# Level 1 +tar: etest/subdir: contains a cache directory tag excludeme; directory not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Level 0 +etest/ +etest/subdir/ +etest/subdir/subdir-file +etest/top-level-file +# Level 1 +etest/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exclude16.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_49 +#AT_START_50 +at_fn_group_banner 50 'delete01.at:23' \ + "deleting a member after a big one" " " 8 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "50. $at_setup_line: testing $at_desc ..." + $at_traceon -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + + + + + { set +x +$as_echo "$at_srcdir/delete01.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -12757,25 +12150,24 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac02.at:28" - -$at_failed && at_func_log_failure +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac02.at:28: + { set +x +$as_echo "$at_srcdir/delete01.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12784,18 +12176,13 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -12804,81 +12191,39 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/delete01.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac02.at:28" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/extrac02.at:28: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * - -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -12887,25 +12232,24 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac02.at:28" - -$at_failed && at_func_log_failure +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac02.at:28: + { set +x +$as_echo "$at_srcdir/delete01.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12914,36 +12258,13 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12952,25 +12273,24 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac02.at:28" - -$at_failed && at_func_log_failure +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac02.at:28: + { set +x +$as_echo "$at_srcdir/delete01.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12979,36 +12299,13 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13017,49 +12314,45 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac02.at:28" - -$at_failed && at_func_log_failure +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_28 -#AT_START_29 -# 29. extrac03.at:23: extraction loops -at_setup_line='extrac03.at:23' -at_desc="extraction loops" -$at_quiet $as_echo_n " 29: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_50 +#AT_START_51 +at_fn_group_banner 51 'delete02.at:23' \ + "deleting a member from stdin archive" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "29. extrac03.at:23: testing ..." + $as_echo "51. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac03.at:26: + { set +x +$as_echo "$at_srcdir/delete02.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -13068,30 +12361,16 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive --warning=no-timestamp)" -echo extrac03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar tf archive2)" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -13100,26 +12379,32 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/../directory/ +tar tf archive2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 separator -directory/../directory/ +1 +3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac03.at:26: + { set +x +$as_echo "$at_srcdir/delete02.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13128,30 +12413,16 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive --warning=no-timestamp)" -echo extrac03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar tf archive2)" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13160,26 +12431,32 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/../directory/ +tar tf archive2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 separator -directory/../directory/ +1 +3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac03.at:26: + { set +x +$as_echo "$at_srcdir/delete02.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -13188,15 +12465,16 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp)" -echo extrac03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar tf archive2)" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -13205,41 +12483,32 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/../directory/ +tar tf archive2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 separator -directory/../directory/ +1 +3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac03.at:26: + { set +x +$as_echo "$at_srcdir/delete02.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -13248,30 +12517,16 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive --warning=no-timestamp)" -echo extrac03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar tf archive2)" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -13280,26 +12535,32 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/../directory/ +tar tf archive2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 separator -directory/../directory/ +1 +3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac03.at:26: + { set +x +$as_echo "$at_srcdir/delete02.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13308,30 +12569,16 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive --warning=no-timestamp)" -echo extrac03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar tf archive2)" +at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13340,146 +12587,113 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 echo separator -tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/../directory/ +tar tf archive2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 separator -directory/../directory/ +1 +3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_29 -#AT_START_30 -# 30. extrac04.at:23: extract + fnmatch -at_setup_line='extrac04.at:23' -at_desc="extract + fnmatch" -$at_quiet $as_echo_n " 30: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_51 +#AT_START_52 +at_fn_group_banner 52 'delete03.at:21' \ + "deleting members with long names" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "30. extrac04.at:23: testing ..." + $as_echo "52. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac04.at:26: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/delete03.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f \$prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch \$prefix\$i +done +tar -cf archive ./\$prefix* && + tar --delete -f archive ./\${prefix}5 && + tar -tf archive +)" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/file2 -directory/subdirectory/ +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac04.at:26: + { set +x +$as_echo "$at_srcdir/delete03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13489,26 +12703,17 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f \$prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch \$prefix\$i +done +tar -cf archive ./\$prefix* && + tar --delete -f archive ./\${prefix}5 && + tar -tf archive )" -echo extrac04.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:26" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13518,312 +12723,407 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/delete03.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f \$prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch \$prefix\$i +done +tar -cf archive ./\$prefix* && + tar --delete -f archive ./\${prefix}5 && + tar -tf archive +)" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/file2 -directory/subdirectory/ + +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + tar -tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac04.at:26: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_52 +#AT_START_53 +at_fn_group_banner 53 'delete04.at:23' \ + "deleting a large last member" " " 8 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "53. $at_setup_line: testing $at_desc ..." + $at_traceon -test -z "`sort < /dev/null 2>&1`" || exit 77 -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + + + { set +x +$as_echo "$at_srcdir/delete04.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/file2 -directory/subdirectory/ +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac04.at:26: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/delete04.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive )" -echo extrac04.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/delete04.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/file2 -directory/subdirectory/ +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac04.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/delete04.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive )" -echo extrac04.at:26 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/delete04.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13832,122 +13132,240 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/file2 -directory/subdirectory/ +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_30 -#AT_START_31 -# 31. extrac05.at:30: extracting selected members from pax -at_setup_line='extrac05.at:30' -at_desc="extracting selected members from pax" -$at_quiet $as_echo_n " 31: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_53 +#AT_START_54 +at_fn_group_banner 54 'delete05.at:27' \ + "deleting non-existing member" " " 8 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "31. extrac05.at:30: testing ..." + $as_echo "54. $at_setup_line: testing $at_desc ..." $at_traceon -cat >list <<'_ATEOF' -jeden -cztery -_ATEOF - - - { $at_traceoff -$as_echo "$at_srcdir/extrac05.at:38: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/delete05.at:30: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 -genfile --length 118 --file jeden -genfile --length 223 --file dwa -genfile --length 517 --file trzy -genfile --length 110 --file cztery +genfile -l 1024 -f en +genfile -l 1024 -f to -tar cf archive jeden dwa trzy cztery || exit 1 +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -mkdir dir -cd dir +genfile -l 1024 -f en +genfile -l 1024 -f to -tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -cd .. + { set +x +$as_echo "$at_srcdir/delete05.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +genfile -l 1024 -f en +genfile -l 1024 -f to + +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive )" -echo extrac05.at:38 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +genfile -l 1024 -f en +genfile -l 1024 -f to + +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/delete05.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 -genfile --length 118 --file jeden -genfile --length 223 --file dwa -genfile --length 517 --file trzy -genfile --length 110 --file cztery +genfile -l 1024 -f en +genfile -l 1024 -f to -tar cf archive jeden dwa trzy cztery || exit 1 +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -mkdir dir -cd dir +genfile -l 1024 -f en +genfile -l 1024 -f to -tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -cd .. -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + { set +x +$as_echo "$at_srcdir/delete05.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +genfile -l 1024 -f en +genfile -l 1024 -f to + +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -13956,60 +13374,106 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 -genfile --length 118 --file jeden -genfile --length 223 --file dwa -genfile --length 517 --file trzy -genfile --length 110 --file cztery +genfile -l 1024 -f en +genfile -l 1024 -f to -tar cf archive jeden dwa trzy cztery || exit 1 +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -mkdir dir -cd dir + { set +x +$as_echo "$at_srcdir/delete05.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 +genfile -l 1024 -f en +genfile -l 1024 -f to -cd .. -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "jeden -cztery +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +genfile -l 1024 -f en +genfile -l 1024 -f to + +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac05.at:38" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_31 -#AT_START_32 -# 32. extrac06.at:33: mode of extracted directories -at_setup_line='extrac06.at:33' -at_desc="mode of extracted directories" -$at_quiet $as_echo_n " 32: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_54 +#AT_START_55 +at_fn_group_banner 55 'extrac01.at:23' \ + "extract over an existing directory" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "32. extrac06.at:33: testing ..." + $as_echo "55. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac06.at:36: + { set +x +$as_echo "$at_srcdir/extrac01.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -14018,131 +13482,259 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory + { set +x +$as_echo "$at_srcdir/extrac01.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -# After both restores, the directory mode should be 755 +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 )" -echo extrac06.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -# Force umask -umask 022 + { set +x +$as_echo "$at_srcdir/extrac01.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -# Archive it -tar cf arc directory + { set +x +$as_echo "$at_srcdir/extrac01.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory + { set +x +$as_echo "$at_srcdir/extrac01.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -# Force umask -umask 022 -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory -# Archive it -tar cf arc directory + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_55 +#AT_START_56 +at_fn_group_banner 56 'extrac02.at:23' \ + "extracting symlinks over an existing file" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "56. $at_setup_line: testing $at_desc ..." + $at_traceon -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory +# FIXME: Skip if symlinks are not supported on the system -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "777 -755 -755 -755 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" -$at_failed && at_func_log_failure + + { set +x +$as_echo "$at_srcdir/extrac02.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac06.at:36: + { set +x +$as_echo "$at_srcdir/extrac02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14151,39 +13743,15 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive )" -echo extrac06.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14192,170 +13760,270 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" + { set +x +$as_echo "$at_srcdir/extrac02.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -# Archive it -tar cf arc directory +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory + { set +x +$as_echo "$at_srcdir/extrac02.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/extrac02.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -# Force umask -umask 022 +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory -# Archive it -tar cf arc directory -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_56 +#AT_START_57 +at_fn_group_banner 57 'extrac03.at:23' \ + "extraction loops" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "57. $at_setup_line: testing $at_desc ..." + $at_traceon -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "777 -755 -755 -755 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac06.at:36: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/extrac03.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/../directory/ +separator +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory + { set +x +$as_echo "$at_srcdir/extrac03.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -# After both restores, the directory mode should be 755 -)" -echo extrac06.at:36 >"$at_check_line_file" +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/../directory/ +separator +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/extrac03.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -14364,51 +14032,25 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "777 -755 -755 -755 +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/../directory/ +separator +directory/../directory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac06.at:36: + { set +x +$as_echo "$at_srcdir/extrac03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14417,78 +14059,12 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -)" -echo extrac06.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14497,51 +14073,25 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "777 -755 -755 -755 +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/../directory/ +separator +directory/../directory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac06.at:36: + { set +x +$as_echo "$at_srcdir/extrac03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14550,78 +14100,12 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -)" -echo extrac06.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14630,452 +14114,398 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -tar xf arc directory --warning=no-timestamp -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "777 -755 -755 -755 +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive --warning=no-timestamp) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/../directory/ +separator +directory/../directory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_32 -#AT_START_33 -# 33. extrac07.at:27: extracting symlinks to a read-only dir -at_setup_line='extrac07.at:27' -at_desc="extracting symlinks to a read-only dir" -$at_quiet $as_echo_n " 33: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_57 +#AT_START_58 +at_fn_group_banner 58 'extrac04.at:23' \ + "extract + fnmatch" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "33. extrac07.at:27: testing ..." + $as_echo "58. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac07.at:30: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/extrac04.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod a-w dir +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -echo Create the archive -tar cf archive dir || exit 1 -chmod +w dir +test -z "`sort < /dev/null 2>&1`" || exit 77 -echo Extract -mkdir out -tar -C out -xvf archive -)" -echo extrac07.at:30 >"$at_check_line_file" +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/extrac04.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod a-w dir -echo Create the archive -tar cf archive dir || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -chmod +w dir +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Extract -mkdir out -tar -C out -xvf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + { set +x +$as_echo "$at_srcdir/extrac04.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod a-w dir +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -echo Create the archive -tar cf archive dir || exit 1 -chmod +w dir +test -z "`sort < /dev/null 2>&1`" || exit 77 -echo Extract -mkdir out -tar -C out -xvf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/extrac04.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * - # Testing one format is enough - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_33 -#AT_START_34 -# 34. extrac08.at:33: restoring mode on existing directory -at_setup_line='extrac08.at:33' -at_desc="restoring mode on existing directory" -$at_quiet $as_echo_n " 34: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "34. extrac08.at:33: testing ..." - $at_traceon +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * +test -z "`sort < /dev/null 2>&1`" || exit 77 +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac08.at:36: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/extrac04.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -)" -echo extrac08.at:36 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/file -755 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac08.at:36: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * - -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -)" -echo extrac08.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/file -755 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" -$at_failed && at_func_log_failure -$at_traceon; } + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_58 +#AT_START_59 +at_fn_group_banner 59 'extrac05.at:30' \ + "extracting selected members from pax" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "59. $at_setup_line: testing $at_desc ..." + $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac08.at:36: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -)" -echo extrac08.at:36 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +cat >list <<'_ATEOF' +jeden +cztery +_ATEOF -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/file -755 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac08.at:36: + { set +x +$as_echo "$at_srcdir/extrac05.at:38: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -15084,40 +14514,23 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -)" -echo extrac08.at:36 >"$at_check_line_file" +genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 +genfile --length 118 --file jeden +genfile --length 223 --file dwa +genfile --length 517 --file trzy +genfile --length 110 --file cztery -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +tar cf archive jeden dwa trzy cztery || exit 1 -umask 000 mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +cd dir + +tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 + +cd .. +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:38" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -15126,501 +14539,454 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -umask 000 +genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 +genfile --length 118 --file jeden +genfile --length 223 --file dwa +genfile --length 517 --file trzy +genfile --length 110 --file cztery + +tar cf archive jeden dwa trzy cztery || exit 1 + mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/file -755 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +cd dir -$at_failed && at_func_log_failure -$at_traceon; } +tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 - { $at_traceoff -$as_echo "$at_srcdir/extrac08.at:36: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * - -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -)" -echo extrac08.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar --warning=no-timestamp -genfile --stat=mode.777 dir -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/file -755 +cd .. +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "jeden +cztery " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:38" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_34 -#AT_START_35 -# 35. extrac09.at:22: no need to save dir with unreadable . and .. -at_setup_line='extrac09.at:22' -at_desc="no need to save dir with unreadable . and .." -$at_quiet $as_echo_n " 35: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_59 +#AT_START_60 +at_fn_group_banner 60 'extrac06.at:34' \ + "mode of extracted directories" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "35. extrac09.at:22: testing ..." + $as_echo "60. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac09.at:25: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/extrac06.at:37: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +# Force umask +umask 022 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -mkdir dir -mkdir dir/sub -mkdir dir/sub/extract -genfile --file dir/sub/f -cd dir/sub +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -tar -cf archive.tar f +# Archive it +tar cf arc directory -chmod a-r . .. -tar -xvf archive.tar -C extract f -status=\$? -chmod a+r . .. -cmp f extract/f || status=\$? -exit \$status -)" -echo extrac09.at:25 >"$at_check_line_file" +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -mkdir dir -mkdir dir/sub -mkdir dir/sub/extract -genfile --file dir/sub/f -cd dir/sub - -tar -cf archive.tar f +# Force umask +umask 022 -chmod a-r . .. -tar -xvf archive.tar -C extract f -status=$? -chmod a+r . .. -cmp f extract/f || status=$? -exit $status -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +# Archive it +tar cf arc directory +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -mkdir dir -mkdir dir/sub -mkdir dir/sub/extract -genfile --file dir/sub/f -cd dir/sub +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory -tar -cf archive.tar f +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory -chmod a-r . .. -tar -xvf archive.tar -C extract f -status=$? -chmod a+r . .. -cmp f extract/f || status=$? -exit $status -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "f +# After both restores, the directory mode should be 755 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac09.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/extrac06.at:37: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * +# Force umask +umask 022 - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_35 -#AT_START_36 -# 36. extrac10.at:27: -C and delayed setting of metadata -at_setup_line='extrac10.at:27' -at_desc="-C and delayed setting of metadata" -$at_quiet $as_echo_n " 36: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "36. extrac10.at:27: testing ..." - $at_traceon - +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory +# Archive it +tar cf arc directory +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory - { $at_traceoff -$as_echo "$at_srcdir/extrac10.at:30: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory -mkdir d x x/y -echo foo >d/d1 -echo bar >e +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory -tar -cf archive.tar d e && -tar -xf archive.tar -C x d -C y e && -diff -r d x/d && -diff e x/y/e +# After both restores, the directory mode should be 755 )" -echo extrac10.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir d x x/y -echo foo >d/d1 -echo bar >e -tar -cf archive.tar d e && -tar -xf archive.tar -C x d -C y e && -diff -r d x/d && -diff e x/y/e -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +# Force umask +umask 022 + +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" + +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac06.at:37: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir d x x/y -echo foo >d/d1 -echo bar >e -tar -cf archive.tar d e && -tar -xf archive.tar -C x d -C y e && -diff -r d x/d && -diff e x/y/e -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac10.at:30" +# Force umask +umask 022 -$at_failed && at_func_log_failure -$at_traceon; } +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" + +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_36 -#AT_START_37 -# 37. extrac11.at:23: scarce file descriptors -at_setup_line='extrac11.at:23' -at_desc="scarce file descriptors" -$at_quiet $as_echo_n " 37: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "37. extrac11.at:23: testing ..." - $at_traceon +# After both restores, the directory mode should be 755 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +# Force umask +umask 022 + +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory +# Archive it +tar cf arc directory +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory - { $at_traceoff -$as_echo "$at_srcdir/extrac11.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac06.at:37: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec \$dir/\$file || exit - files=\"\$files \$file\" - done -done -# Check that \"ulimit\" itself works. Close file descriptors before -# invoking ulimit, to work around a bug (or a \"feature\") in some shells, -# where they squirrel away dups of file descriptors into FD 10 and up -# before closing the originals. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 100 && - tar -cf archive1.tar a && - tar -xf archive1.tar -C dest1 a - ) && - diff -r a dest1/a -) >/dev/null 2>&1 || - exit 77 +# Force umask +umask 022 -# Another test that \"ulimit\" itself works: -# tar should fail when completely starved of file descriptors. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 4 && - tar -cf archive2.tar a && - tar -xf archive2.tar -C dest2 a - ) && - diff -r a dest2/a -) >/dev/null 2>&1 && - exit 77 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -# Tar should work when there are few, but enough, file descriptors. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 10 && - tar -cf archive3.tar a && - tar -xf archive3.tar -C dest3 a - ) && - diff -r a dest3/a >/dev/null 2>&1 -) || { diff -r a dest3/a; exit 1; } +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 )" -echo extrac11.at:26 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +# Force umask +umask 022 + +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" + +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/extrac06.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec $dir/$file || exit - files="$files $file" - done -done -# Check that "ulimit" itself works. Close file descriptors before -# invoking ulimit, to work around a bug (or a "feature") in some shells, -# where they squirrel away dups of file descriptors into FD 10 and up -# before closing the originals. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 100 && - tar -cf archive1.tar a && - tar -xf archive1.tar -C dest1 a - ) && - diff -r a dest1/a -) >/dev/null 2>&1 || - exit 77 +# Force umask +umask 022 -# Another test that "ulimit" itself works: -# tar should fail when completely starved of file descriptors. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 4 && - tar -cf archive2.tar a && - tar -xf archive2.tar -C dest2 a - ) && - diff -r a dest2/a -) >/dev/null 2>&1 && - exit 77 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -# Tar should work when there are few, but enough, file descriptors. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 10 && - tar -cf archive3.tar a && - tar -xf archive3.tar -C dest3 a - ) && - diff -r a dest3/a >/dev/null 2>&1 -) || { diff -r a dest3/a; exit 1; } -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15629,332 +14995,455 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec $dir/$file || exit - files="$files $file" - done -done -# Check that "ulimit" itself works. Close file descriptors before -# invoking ulimit, to work around a bug (or a "feature") in some shells, -# where they squirrel away dups of file descriptors into FD 10 and up -# before closing the originals. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 100 && - tar -cf archive1.tar a && - tar -xf archive1.tar -C dest1 a - ) && - diff -r a dest1/a -) >/dev/null 2>&1 || - exit 77 +# Force umask +umask 022 -# Another test that "ulimit" itself works: -# tar should fail when completely starved of file descriptors. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 4 && - tar -cf archive2.tar a && - tar -xf archive2.tar -C dest2 a - ) && - diff -r a dest2/a -) >/dev/null 2>&1 && - exit 77 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -# Tar should work when there are few, but enough, file descriptors. -( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && - ulimit -n 10 && - tar -cf archive3.tar a && - tar -xf archive3.tar -C dest3 a - ) && - diff -r a dest3/a >/dev/null 2>&1 -) || { diff -r a dest3/a; exit 1; } -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac11.at:26" +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -$at_failed && at_func_log_failure +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +tar xf arc directory --warning=no-timestamp +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_37 -#AT_START_38 -# 38. extrac12.at:23: extract dot permissions -at_setup_line='extrac12.at:23' -at_desc="extract dot permissions" -$at_quiet $as_echo_n " 38: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_60 +#AT_START_61 +at_fn_group_banner 61 'extrac07.at:27' \ + "extracting symlinks to a read-only dir" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "38. extrac12.at:23: testing ..." + $as_echo "61. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac12.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/extrac07.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir src dst -echo file1 >src/file1 -echo file2 >src/file2 -chmod a-w src -tar --no-recursion -cf archive.tar -C src . ./file1 file2 && -tar -xf archive.tar -C dst && -cmp src/file1 dst/file1 && -cmp src/file2 dst/file2 -)" -echo extrac12.at:26 >"$at_check_line_file" +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -mkdir src dst -echo file1 >src/file1 -echo file2 >src/file2 -chmod a-w src +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod a-w dir -tar --no-recursion -cf archive.tar -C src . ./file1 file2 && -tar -xf archive.tar -C dst && -cmp src/file1 dst/file1 && -cmp src/file2 dst/file2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +echo Create the archive +tar cf archive dir || exit 1 + +chmod +w dir + +echo Extract +mkdir out +tar -C out -xvf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac07.at:30" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir src dst -echo file1 >src/file1 -echo file2 >src/file2 -chmod a-w src -tar --no-recursion -cf archive.tar -C src . ./file1 file2 && -tar -xf archive.tar -C dst && -cmp src/file1 dst/file1 && -cmp src/file2 dst/file2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac12.at:26" +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -$at_failed && at_func_log_failure -$at_traceon; } +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod a-w dir + +echo Create the archive +tar cf archive dir || exit 1 + +chmod +w dir + +echo Extract +mkdir out +tar -C out -xvf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Prepare the directory +Create the archive +Extract +dir/ +dir/foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac07.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + # Testing one format is enough - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_38 -#AT_START_39 -# 39. extrac13.at:24: extract over symlinks -at_setup_line='extrac13.at:24' -at_desc="extract over symlinks" -$at_quiet $as_echo_n " 39: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_61 +#AT_START_62 +at_fn_group_banner 62 'extrac08.at:33' \ + "restoring mode on existing directory" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "39. extrac13.at:24: testing ..." + $as_echo "62. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac13.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/extrac08.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir src dst1 dst2 dst3 -echo file1 >src/file1 -ln -s target1 dst1/file1 -echo target1 >dst1/target1 -echo target1 >target1 +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -tar -cf archive.tar -C src . && -tar -xf archive.tar -C dst1 --warning=no-timestamp && -diff src/file1 dst1/file1 && -diff target1 dst1/target1 +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -ln -s target1 dst2/file1 -echo target1 >dst2/target1 -tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && -diff src/file1 dst2/file1 && -diff target1 dst2/target1 + { set +x +$as_echo "$at_srcdir/extrac08.at:36: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -ln -s target1 dst3/file1 -echo target1 >dst3/target1 -tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && -diff src/file1 dst3/file1 && -diff src/file1 dst3/target1 +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir )" -echo extrac13.at:27 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac08.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir src dst1 dst2 dst3 -echo file1 >src/file1 -ln -s target1 dst1/file1 -echo target1 >dst1/target1 -echo target1 >target1 +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -tar -cf archive.tar -C src . && -tar -xf archive.tar -C dst1 --warning=no-timestamp && -diff src/file1 dst1/file1 && -diff target1 dst1/target1 +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -ln -s target1 dst2/file1 -echo target1 >dst2/target1 -tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && -diff src/file1 dst2/file1 && -diff target1 dst2/target1 + { set +x +$as_echo "$at_srcdir/extrac08.at:36: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -ln -s target1 dst3/file1 -echo target1 >dst3/target1 -tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && -diff src/file1 dst3/file1 && -diff src/file1 dst3/target1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac08.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir src dst1 dst2 dst3 -echo file1 >src/file1 -ln -s target1 dst1/file1 -echo target1 >dst1/target1 -echo target1 >target1 - -tar -cf archive.tar -C src . && -tar -xf archive.tar -C dst1 --warning=no-timestamp && -diff src/file1 dst1/file1 && -diff target1 dst1/target1 - -ln -s target1 dst2/file1 -echo target1 >dst2/target1 -tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && -diff src/file1 dst2/file1 && -diff target1 dst2/target1 - -ln -s target1 dst3/file1 -echo target1 >dst3/target1 -tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && -diff src/file1 dst3/file1 && -diff src/file1 dst3/target1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac13.at:27" +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -$at_failed && at_func_log_failure +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_39 -#AT_START_40 -# 40. extrac14.at:23: extract -C symlink -at_setup_line='extrac14.at:23' -at_desc="extract -C symlink" -$at_quiet $as_echo_n " 40: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_62 +#AT_START_63 +at_fn_group_banner 63 'extrac09.at:24' \ + "no need to save dir with unreadable . and .." " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "40. extrac14.at:23: testing ..." + $as_echo "63. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac14.at:26: + { set +x +$as_echo "$at_srcdir/extrac09.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15963,119 +15452,32 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dest -ln -s dest symlink -echo foo >foo -tar -cf archive.tar foo && -tar -xf archive.tar -C symlink --warning=no-timestamp && -cmp foo dest/foo -)" -echo extrac14.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir dest -ln -s dest symlink -echo foo >foo -tar -cf archive.tar foo && -tar -xf archive.tar -C symlink --warning=no-timestamp && -cmp foo dest/foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir dest -ln -s dest symlink -echo foo >foo -tar -cf archive.tar foo && -tar -xf archive.tar -C symlink --warning=no-timestamp && -cmp foo dest/foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac14.at:26" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_40 -#AT_START_41 -# 41. extrac15.at:23: extract parent mkdir failure -at_setup_line='extrac15.at:23' -at_desc="extract parent mkdir failure" -$at_quiet $as_echo_n " 41: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "41. extrac15.at:23: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/extrac15.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +mkdir dir +mkdir dir/sub +mkdir dir/sub/extract +genfile --file dir/sub/f +cd dir/sub -mkdir src src/a src/a/b dest dest/a -touch src/a/b/c -chmod a-w dest/a +tar -cf archive.tar f -tar -cf archive.tar -C src a/b/c && -if tar -xf archive.tar -C dest a/b/c -then (exit 1) -else (exit 0) -fi +chmod a-r . .. +tar -xvf archive.tar -C extract f +status=\$? +chmod a+r . .. +cmp f extract/f || status=\$? +exit \$status )" -echo extrac15.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "extrac09.at:27" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16093,86 +15495,55 @@ rm -f $$ test $result -eq 0 && exit 77 -mkdir src src/a src/a/b dest dest/a -touch src/a/b/c -chmod a-w dest/a - -tar -cf archive.tar -C src a/b/c && -if tar -xf archive.tar -C dest a/b/c -then (exit 1) -else (exit 0) -fi -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - +mkdir dir +mkdir dir/sub +mkdir dir/sub/extract +genfile --file dir/sub/f +cd dir/sub -mkdir src src/a src/a/b dest dest/a -touch src/a/b/c -chmod a-w dest/a +tar -cf archive.tar f -tar -cf archive.tar -C src a/b/c && -if tar -xf archive.tar -C dest a/b/c -then (exit 1) -else (exit 0) -fi -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: a/b: Cannot mkdir: Permission denied -tar: a/b/c: Cannot open: No such file or directory -tar: Exiting with failure status due to previous errors +chmod a-r . .. +tar -xvf archive.tar -C extract f +status=$? +chmod a+r . .. +cmp f extract/f || status=$? +exit $status +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "f " | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac15.at:26" - -$at_failed && at_func_log_failure + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac09.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_41 -#AT_START_42 -# 42. extrac16.at:24: extract empty directory with -C -at_setup_line='extrac16.at:24' -at_desc="extract empty directory with -C" -$at_quiet $as_echo_n " 42: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_63 +#AT_START_64 +at_fn_group_banner 64 'extrac10.at:29' \ + "-C and delayed setting of metadata" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "42. extrac16.at:24: testing ..." + $as_echo "64. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/extrac16.at:27: + { set +x +$as_echo "$at_srcdir/extrac10.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16181,34 +15552,17 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir src src/a src/a/b dest -touch src/a/c +mkdir d x x/y +echo foo >d/d1 +echo bar >e -tar -cf archive.tar -C src a && -tar -xf archive.tar -C dest +tar -cf archive.tar d e && +tar -xf archive.tar -C x d -C y e && +diff -r d x/d && +diff e x/y/e )" -echo extrac16.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir src src/a src/a/b dest -touch src/a/c - -tar -cf archive.tar -C src a && -tar -xf archive.tar -C dest -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "extrac10.at:32" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16217,350 +15571,373 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir src src/a src/a/b dest -touch src/a/c - -tar -cf archive.tar -C src a && -tar -xf archive.tar -C dest -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac16.at:27" +mkdir d x x/y +echo foo >d/d1 +echo bar >e -$at_failed && at_func_log_failure +tar -cf archive.tar d e && +tar -xf archive.tar -C x d -C y e && +diff -r d x/d && +diff e x/y/e +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac10.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_42 -#AT_START_43 -# 43. extrac17.at:19: name matching/transformation ordering -at_setup_line='extrac17.at:19' -at_desc="name matching/transformation ordering" -$at_quiet $as_echo_n " 43: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_64 +#AT_START_65 +at_fn_group_banner 65 'extrac11.at:25' \ + "scarce file descriptors" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "43. extrac17.at:19: testing ..." + $as_echo "65. $at_setup_line: testing $at_desc ..." $at_traceon -# Description: Tar 1.24 changed the ordering of name matching and -# name transformation so that the former saw already transformed -# file names (see commit 9c194c99 and exclude06.at). This reverted -# ordering made it impossible to match file names in certain cases. -# In particular, the testcase below would not extract anything. -# -# Reported-by: "Gabor Z. Papp" -# References: , <20101026175126.29028@Pirx.gnu.org.ua> -# http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00047.html - - { $at_traceoff -$as_echo "$at_srcdir/extrac17.at:32: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/extrac11.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 - -tar cf dir.tar dir - -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ - dir/subdir1/ -)" -echo extrac17.at:32 >"$at_check_line_file" +exec \$dir/\$file || exit + files=\"\$files \$file\" + done +done -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +# Check that \"ulimit\" itself works. Close file descriptors before +# invoking ulimit, to work around a bug (or a \"feature\") in some shells, +# where they squirrel away dups of file descriptors into FD 10 and up +# before closing the originals. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 100 && + tar -cf archive1.tar a && + tar -xf archive1.tar -C dest1 a + ) && + diff -r a dest1/a +) >/dev/null 2>&1 || + exit 77 -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 - -tar cf dir.tar dir +# Another test that \"ulimit\" itself works: +# tar should fail when completely starved of file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 4 && + tar -cf archive2.tar a && + tar -xf archive2.tar -C dest2 a + ) && + diff -r a dest2/a +) >/dev/null 2>&1 && + exit 77 -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +# Tar should work when there are few, but enough, file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 10 && + tar -cf archive3.tar a && + tar -xf archive3.tar -C dest3 a + ) && + diff -r a dest3/a >/dev/null 2>&1 +) || { diff -r a dest3/a; exit 1; } +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac11.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 +exec $dir/$file || exit + files="$files $file" + done +done -tar cf dir.tar dir +# Check that "ulimit" itself works. Close file descriptors before +# invoking ulimit, to work around a bug (or a "feature") in some shells, +# where they squirrel away dups of file descriptors into FD 10 and up +# before closing the originals. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 100 && + tar -cf archive1.tar a && + tar -xf archive1.tar -C dest1 a + ) && + diff -r a dest1/a +) >/dev/null 2>&1 || + exit 77 -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32" +# Another test that "ulimit" itself works: +# tar should fail when completely starved of file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 4 && + tar -cf archive2.tar a && + tar -xf archive2.tar -C dest2 a + ) && + diff -r a dest2/a +) >/dev/null 2>&1 && + exit 77 -$at_failed && at_func_log_failure +# Tar should work when there are few, but enough, file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 10 && + tar -cf archive3.tar a && + tar -xf archive3.tar -C dest3 a + ) && + diff -r a dest3/a >/dev/null 2>&1 +) || { diff -r a dest3/a; exit 1; } +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac11.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac17.at:32: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 -tar cf dir.tar dir -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ - dir/subdir1/ -)" -echo extrac17.at:32 >"$at_check_line_file" + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_65 +#AT_START_66 +at_fn_group_banner 66 'extrac12.at:25' \ + "extract dot permissions" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "66. $at_setup_line: testing $at_desc ..." + $at_traceon -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 -tar cf dir.tar dir -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + { set +x +$as_echo "$at_srcdir/extrac12.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 - -tar cf dir.tar dir - -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32" - -$at_failed && at_func_log_failure -$at_traceon; } +mkdir src dst +echo file1 >src/file1 +echo file2 >src/file2 +chmod a-w src - { $at_traceoff -$as_echo "$at_srcdir/extrac17.at:32: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +tar --no-recursion -cf archive.tar -C src . ./file1 file2 && +tar -xf archive.tar -C dst && +cmp src/file1 dst/file1 && +cmp src/file2 dst/file2 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac12.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 - -tar cf dir.tar dir +mkdir src dst +echo file1 >src/file1 +echo file2 >src/file2 +chmod a-w src -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ - dir/subdir1/ -)" -echo extrac17.at:32 >"$at_check_line_file" +tar --no-recursion -cf archive.tar -C src . ./file1 file2 && +tar -xf archive.tar -C dst && +cmp src/file1 dst/file1 && +cmp src/file2 dst/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac12.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 -tar cf dir.tar dir -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_66 +#AT_START_67 +at_fn_group_banner 67 'extrac13.at:26' \ + "extract over symlinks" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "67. $at_setup_line: testing $at_desc ..." + $at_traceon -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 -tar cf dir.tar dir -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac17.at:32: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/extrac13.at:29: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 +mkdir src dst1 dst2 dst3 +echo file1 >src/file1 +ln -s target1 dst1/file1 +echo target1 >dst1/target1 +echo target1 >target1 -tar cf dir.tar dir +tar -cf archive.tar -C src . && +tar -xf archive.tar -C dst1 --warning=no-timestamp && +diff src/file1 dst1/file1 && +diff target1 dst1/target1 -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ - dir/subdir1/ -)" -echo extrac17.at:32 >"$at_check_line_file" +ln -s target1 dst2/file1 +echo target1 >dst2/target1 +tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && +diff src/file1 dst2/file1 && +diff target1 dst2/target1 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +ln -s target1 dst3/file1 +echo target1 >dst3/target1 +tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && +diff src/file1 dst3/file1 && +diff src/file1 dst3/target1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac13.at:29" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 +mkdir src dst1 dst2 dst3 +echo file1 >src/file1 +ln -s target1 dst1/file1 +echo target1 >dst1/target1 +echo target1 >target1 -tar cf dir.tar dir +tar -cf archive.tar -C src . && +tar -xf archive.tar -C dst1 --warning=no-timestamp && +diff src/file1 dst1/file1 && +diff target1 dst1/target1 -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +ln -s target1 dst2/file1 +echo target1 >dst2/target1 +tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && +diff src/file1 dst2/file1 && +diff target1 dst2/target1 -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 +ln -s target1 dst3/file1 +echo target1 >dst3/target1 +tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && +diff src/file1 dst3/file1 && +diff src/file1 dst3/target1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac13.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -tar cf dir.tar dir -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac17.at:32: + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_67 +#AT_START_68 +at_fn_group_banner 68 'extrac14.at:25' \ + "extract -C symlink" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "68. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/extrac14.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16569,40 +15946,91 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 +mkdir dest +ln -s dest symlink +echo foo >foo +tar -cf archive.tar foo && +tar -xf archive.tar -C symlink --warning=no-timestamp && +cmp foo dest/foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac14.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dest +ln -s dest symlink +echo foo >foo +tar -cf archive.tar foo && +tar -xf archive.tar -C symlink --warning=no-timestamp && +cmp foo dest/foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac14.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_68 +#AT_START_69 +at_fn_group_banner 69 'extrac15.at:25' \ + "extract parent mkdir failure" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "69. $at_setup_line: testing $at_desc ..." + $at_traceon + -tar cf dir.tar dir -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ - dir/subdir1/ -)" -echo extrac17.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + + { set +x +$as_echo "$at_srcdir/extrac15.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 -tar cf dir.tar dir +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir src src/a src/a/b dest dest/a +touch src/a/b/c +chmod a-w dest/a + +tar -cf archive.tar -C src a/b/c && +if tar -xf archive.tar -C dest a/b/c +then (exit 1) +else (exit 0) +fi +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac15.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16611,53 +16039,61 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir dir/subdir1 dir/subdir2 out -genfile --file dir/subdir1/file1 -genfile --file dir/subdir2/file2 -tar cf dir.tar dir +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ - dir/subdir1/ -) ) >"$at_stdout" 2>"$at_stderr" + +mkdir src src/a src/a/b dest dest/a +touch src/a/b/c +chmod a-w dest/a + +tar -cf archive.tar -C src a/b/c && +if tar -xf archive.tar -C dest a/b/c +then (exit 1) +else (exit 0) fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: a/b: Cannot mkdir: Permission denied +tar: a/b/c: Cannot open: No such file or directory +tar: Exiting with failure status due to previous errors " | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32" - -$at_failed && at_func_log_failure + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac15.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_43 -#AT_START_44 -# 44. label01.at:19: single-volume label -at_setup_line='label01.at:19' -at_desc="single-volume label" -$at_quiet $as_echo_n " 44: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_69 +#AT_START_70 +at_fn_group_banner 70 'extrac16.at:26' \ + "extract empty directory with -C" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "44. label01.at:19: testing ..." + $as_echo "70. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/label01.at:22: + { set +x +$as_echo "$at_srcdir/extrac16.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16666,16 +16102,14 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -)" -echo label01.at:22 >"$at_check_line_file" +mkdir src src/a src/a/b dest +touch src/a/c -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar -cf archive.tar -C src a && +tar -xf archive.tar -C dest +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac16.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16684,43 +16118,103 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +mkdir src src/a src/a/b dest +touch src/a/c + +tar -cf archive.tar -C src a && +tar -xf archive.tar -C dest +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac16.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_70 +#AT_START_71 +at_fn_group_banner 71 'extrac17.at:21' \ + "name matching/transformation ordering" " " 9 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "71. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Description: Tar 1.24 changed the ordering of name matching and +# name transformation so that the former saw already transformed +# file names (see commit 9c194c99 and exclude06.at). This reverted +# ordering made it impossible to match file names in certain cases. +# In particular, the testcase below would not extract anything. +# +# Reported-by: "Gabor Z. Papp" +# References: , <20101026175126.29028@Pirx.gnu.org.ua> +# http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00047.html + + + + { set +x +$as_echo "$at_srcdir/extrac17.at:34: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test -foo -bar +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ + dir/subdir1/ +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ + dir/subdir1/ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label01.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label01.at:22: + { set +x +$as_echo "$at_srcdir/extrac17.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -16729,16 +16223,17 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -)" -echo label01.at:22 >"$at_check_line_file" +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ + dir/subdir1/ +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -16747,43 +16242,77 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ + dir/subdir1/ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac17.at:34: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test -foo -bar +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ + dir/subdir1/ +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ + dir/subdir1/ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label01.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label01.at:22: + { set +x +$as_echo "$at_srcdir/extrac17.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -16792,16 +16321,17 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -)" -echo label01.at:22 >"$at_check_line_file" +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ + dir/subdir1/ +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -16810,137 +16340,163 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ + dir/subdir1/ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac17.at:34: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --file foo -genfile --file bar -tar -cf archive --label=Test foo bar -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test -foo -bar +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\ + dir/subdir1/ +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir dir/subdir1 dir/subdir2 out +genfile --file dir/subdir1/file1 +genfile --file dir/subdir2/file2 + +tar cf dir.tar dir + +tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ + dir/subdir1/ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label01.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_44 -#AT_START_45 -# 45. label02.at:19: multi-volume label -at_setup_line='label02.at:19' -at_desc="multi-volume label" -$at_quiet $as_echo_n " 45: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_71 +#AT_START_72 +at_fn_group_banner 72 'extrac18.at:34' \ + "keep-old-files" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "45. label02.at:19: testing ..." + $as_echo "72. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/label02.at:22: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/extrac18.at:37: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -)" -echo label02.at:22 >"$at_check_line_file" +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +tar cf ../archive . -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test Volume 1 -foo -bar -baz +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=2 +File a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label02.at:22: + { set +x +$as_echo "$at_srcdir/extrac18.at:37: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -16949,18 +16505,23 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -)" -echo label02.at:22 >"$at_check_line_file" +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -16969,48 +16530,103 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=2 +File a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac18.at:37: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test Volume 1 -foo -bar -baz +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=2 +File a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label02.at:22: + { set +x +$as_echo "$at_srcdir/extrac18.at:37: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17019,18 +16635,23 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -)" -echo label02.at:22 >"$at_check_line_file" +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17039,218 +16660,186 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=2 +File a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac18.at:37: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test Volume 1 -foo -bar -baz +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=2 +File a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_45 -#AT_START_46 -# 46. label03.at:25: test-label option -at_setup_line='label03.at:25' -at_desc="test-label option" -$at_quiet $as_echo_n " 46: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_72 +#AT_START_73 +at_fn_group_banner 73 'extrac19.at:21' \ + "skip-old-files" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "46. label03.at:25: testing ..." + $as_echo "73. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/label03.at:28: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/extrac19.at:24: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho \"# Display label\" -tar --test-label --file=iamanarchive; echo \$? -decho \"# Display label: unlabeled\" -tar --test-label --file=unlabeled.tar; echo \$? -decho \"# Test label: success\" -tar --test-label --file=iamanarchive 'iamalabel'; echo \$? -decho \"# Test label: failure\" -tar --test-label --file=iamanarchive 'amalabel'; echo \$? -decho \"# Test label: unlabeled\" -tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? -decho \"# Test label, verbose: success\" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? -decho \"# Test label, verbose: failure\" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? -decho \"# Test label: multiple arguments\" -tar --test-label --file=iamanarchive a iamalabel b; echo \$? -decho \"# Test label: wildcards\" -tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? -)" -echo label03.at:28 >"$at_check_line_file" +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +tar cf ../archive . -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho "# Display label" -tar --test-label --file=iamanarchive; echo $? -decho "# Display label: unlabeled" -tar --test-label --file=unlabeled.tar; echo $? -decho "# Test label: success" -tar --test-label --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label: failure" -tar --test-label --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: unlabeled" -tar --test-label --file=unlabeled.tar 'amalabel'; echo $? -decho "# Test label, verbose: success" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label, verbose: failure" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: multiple arguments" -tar --test-label --file=iamanarchive a iamalabel b; echo $? -decho "# Test label: wildcards" -tar --test-label --file=iamanarchive --wildcards '*label'; echo $? -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho "# Display label" -tar --test-label --file=iamanarchive; echo $? -decho "# Display label: unlabeled" -tar --test-label --file=unlabeled.tar; echo $? -decho "# Test label: success" -tar --test-label --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label: failure" -tar --test-label --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: unlabeled" -tar --test-label --file=unlabeled.tar 'amalabel'; echo $? -decho "# Test label, verbose: success" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label, verbose: failure" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: multiple arguments" -tar --test-label --file=iamanarchive a iamalabel b; echo $? -decho "# Test label: wildcards" -tar --test-label --file=iamanarchive --wildcards '*label'; echo $? -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Display label -# Display label: unlabeled -# Test label: success -# Test label: failure -# Test label: unlabeled -# Test label, verbose: success -# Test label, verbose: failure -tar: Archive label mismatch -# Test label: multiple arguments -# Test label: wildcards -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Display label -iamalabel -0 -# Display label: unlabeled -0 -# Test label: success -0 -# Test label: failure -1 -# Test label: unlabeled -1 -# Test label, verbose: success -iamalabel -0 -# Test label, verbose: failure -iamalabel -1 -# Test label: multiple arguments -0 -# Test label: wildcards -0 +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=0 +File a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label03.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label03.at:28: + { set +x +$as_echo "$at_srcdir/extrac19.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -17259,34 +16848,23 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho \"# Display label\" -tar --test-label --file=iamanarchive; echo \$? -decho \"# Display label: unlabeled\" -tar --test-label --file=unlabeled.tar; echo \$? -decho \"# Test label: success\" -tar --test-label --file=iamanarchive 'iamalabel'; echo \$? -decho \"# Test label: failure\" -tar --test-label --file=iamanarchive 'amalabel'; echo \$? -decho \"# Test label: unlabeled\" -tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? -decho \"# Test label, verbose: success\" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? -decho \"# Test label, verbose: failure\" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? -decho \"# Test label: multiple arguments\" -tar --test-label --file=iamanarchive a iamalabel b; echo \$? -decho \"# Test label: wildcards\" -tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? -)" -echo label03.at:28 >"$at_check_line_file" +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar -x --skip-old-files -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -17295,108 +16873,97 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho "# Display label" -tar --test-label --file=iamanarchive; echo $? -decho "# Display label: unlabeled" -tar --test-label --file=unlabeled.tar; echo $? -decho "# Test label: success" -tar --test-label --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label: failure" -tar --test-label --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: unlabeled" -tar --test-label --file=unlabeled.tar 'amalabel'; echo $? -decho "# Test label, verbose: success" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label, verbose: failure" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: multiple arguments" -tar --test-label --file=iamanarchive a iamalabel b; echo $? -decho "# Test label: wildcards" -tar --test-label --file=iamanarchive --wildcards '*label'; echo $? -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=0 +File a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac19.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho "# Display label" -tar --test-label --file=iamanarchive; echo $? -decho "# Display label: unlabeled" -tar --test-label --file=unlabeled.tar; echo $? -decho "# Test label: success" -tar --test-label --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label: failure" -tar --test-label --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: unlabeled" -tar --test-label --file=unlabeled.tar 'amalabel'; echo $? -decho "# Test label, verbose: success" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label, verbose: failure" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: multiple arguments" -tar --test-label --file=iamanarchive a iamalabel b; echo $? -decho "# Test label: wildcards" -tar --test-label --file=iamanarchive --wildcards '*label'; echo $? -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Display label -# Display label: unlabeled -# Test label: success -# Test label: failure -# Test label: unlabeled -# Test label, verbose: success -# Test label, verbose: failure -tar: Archive label mismatch -# Test label: multiple arguments -# Test label: wildcards -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Display label -iamalabel -0 -# Display label: unlabeled -0 -# Test label: success -0 -# Test label: failure -1 -# Test label: unlabeled -1 -# Test label, verbose: success -iamalabel -0 -# Test label, verbose: failure -iamalabel -1 -# Test label: multiple arguments -0 -# Test label: wildcards -0 +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=0 +File a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label03.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label03.at:28: + { set +x +$as_echo "$at_srcdir/extrac19.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17405,34 +16972,23 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho \"# Display label\" -tar --test-label --file=iamanarchive; echo \$? -decho \"# Display label: unlabeled\" -tar --test-label --file=unlabeled.tar; echo \$? -decho \"# Test label: success\" -tar --test-label --file=iamanarchive 'iamalabel'; echo \$? -decho \"# Test label: failure\" -tar --test-label --file=iamanarchive 'amalabel'; echo \$? -decho \"# Test label: unlabeled\" -tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? -decho \"# Test label, verbose: success\" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? -decho \"# Test label, verbose: failure\" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? -decho \"# Test label: multiple arguments\" -tar --test-label --file=iamanarchive a iamalabel b; echo \$? -decho \"# Test label: wildcards\" -tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? -)" -echo label03.at:28 >"$at_check_line_file" +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar -x --skip-old-files -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17441,214 +16997,164 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho "# Display label" -tar --test-label --file=iamanarchive; echo $? -decho "# Display label: unlabeled" -tar --test-label --file=unlabeled.tar; echo $? -decho "# Test label: success" -tar --test-label --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label: failure" -tar --test-label --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: unlabeled" -tar --test-label --file=unlabeled.tar 'amalabel'; echo $? -decho "# Test label, verbose: success" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label, verbose: failure" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: multiple arguments" -tar --test-label --file=iamanarchive a iamalabel b; echo $? -decho "# Test label: wildcards" -tar --test-label --file=iamanarchive --wildcards '*label'; echo $? -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=0 +File a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/extrac19.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -tar -c --label='iamalabel' --file iamanarchive file -tar -c --file unlabeled.tar file -decho "# Display label" -tar --test-label --file=iamanarchive; echo $? -decho "# Display label: unlabeled" -tar --test-label --file=unlabeled.tar; echo $? -decho "# Test label: success" -tar --test-label --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label: failure" -tar --test-label --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: unlabeled" -tar --test-label --file=unlabeled.tar 'amalabel'; echo $? -decho "# Test label, verbose: success" -tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? -decho "# Test label, verbose: failure" -tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? -decho "# Test label: multiple arguments" -tar --test-label --file=iamanarchive a iamalabel b; echo $? -decho "# Test label: wildcards" -tar --test-label --file=iamanarchive --wildcards '*label'; echo $? -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Display label -# Display label: unlabeled -# Test label: success -# Test label: failure -# Test label: unlabeled -# Test label, verbose: success -# Test label, verbose: failure -tar: Archive label mismatch -# Test label: multiple arguments -# Test label: wildcards -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Display label -iamalabel -0 -# Display label: unlabeled -0 -# Test label: success -0 -# Test label: failure -1 -# Test label: unlabeled -1 -# Test label, verbose: success -iamalabel -0 -# Test label, verbose: failure -iamalabel -1 -# Test label: multiple arguments -0 -# Test label: wildcards -0 +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=\$? + +cat a +)" +at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "status=0 +File a " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label03.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_46 -#AT_START_47 -# 47. label04.at:25: label with non-create option -at_setup_line='label04.at:25' -at_desc="label with non-create option" -$at_quiet $as_echo_n " 47: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_73 +#AT_START_74 +at_fn_group_banner 74 'backup01.at:33' \ + "extracting existing dir with --backup" " " 9 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "47. label04.at:25: testing ..." + $as_echo "74. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/label04.at:28: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/backup01.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho \"# Create volume\" -tar -c -f archive --label='New volume' file -decho \"# Update: wrong label\" -tar -rf archive --label='My volume' file; echo \$? -decho \"# Update: right label\" -tar -rf archive --label='New volume' file +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp )" -echo label04.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive --label='New volume' file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive --label='New volume' file -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive --label='New volume' file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive --label='New volume' file -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Create volume -# Update: wrong label -tar: Volume \`New volume' does not match \`My volume' -tar: Error is not recoverable: exiting now -# Update: right label -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Create volume -# Update: wrong label -2 -# Update: right label +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming 'dir1/file1' to 'dir1/file1~' +dir2/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label04.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label04.at:28: + { set +x +$as_echo "$at_srcdir/backup01.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -17657,20 +17163,14 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho \"# Create volume\" -tar -c -f archive --label='New volume' file -decho \"# Update: wrong label\" -tar -rf archive --label='My volume' file; echo \$? -decho \"# Update: right label\" -tar -rf archive --label='New volume' file +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp )" -echo label04.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -17679,58 +17179,74 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive --label='New volume' file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive --label='New volume' file -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming 'dir1/file1' to 'dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/backup01.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive --label='New volume' file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive --label='New volume' file -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Create volume -# Update: wrong label -tar: Volume \`New volume' does not match \`My volume' -tar: Error is not recoverable: exiting now -# Update: right label -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Create volume -# Update: wrong label -2 -# Update: right label +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +)" +at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming 'dir1/file1' to 'dir1/file1~' +dir2/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label04.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label04.at:28: + { set +x +$as_echo "$at_srcdir/backup01.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17739,20 +17255,14 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho \"# Create volume\" -tar -c -f archive --label='New volume' file -decho \"# Update: wrong label\" -tar -rf archive --label='My volume' file; echo \$? -decho \"# Update: right label\" -tar -rf archive --label='New volume' file +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp )" -echo label04.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17761,82 +17271,95 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive --label='New volume' file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive --label='New volume' file -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming 'dir1/file1' to 'dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/backup01.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive --label='New volume' file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive --label='New volume' file -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Create volume -# Update: wrong label -tar: Volume \`New volume' does not match \`My volume' -tar: Error is not recoverable: exiting now -# Update: right label -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Create volume -# Update: wrong label -2 -# Update: right label +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +)" +at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +unset VERSION_CONTROL +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming 'dir1/file1' to 'dir1/file1~' +dir2/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label04.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_47 -#AT_START_48 -# 48. label05.at:22: label with non-create option -at_setup_line='label05.at:22' -at_desc="label with non-create option" -$at_quiet $as_echo_n " 48: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_74 +#AT_START_75 +at_fn_group_banner 75 'label01.at:21' \ + "single-volume label" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "48. label05.at:22: testing ..." + $as_echo "75. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/label05.at:25: + { set +x +$as_echo "$at_srcdir/label01.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -17845,40 +17368,13 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho \"# Create volume\" -tar -c -f archive file -decho \"# Update: wrong label\" -tar -rf archive --label='My volume' file; echo \$? -decho \"# Update: right label\" -tar -rf archive file +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive )" -echo label05.at:25 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive file -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label01.at:24" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -17887,38 +17383,26 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive file -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Create volume -# Update: wrong label -tar: Archive not labeled to match \`My volume' -tar: Error is not recoverable: exiting now -# Update: right label -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Create volume -# Update: wrong label -2 -# Update: right label +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test +foo +bar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label05.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label01.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label05.at:25: + { set +x +$as_echo "$at_srcdir/label01.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -17927,40 +17411,13 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho \"# Create volume\" -tar -c -f archive file -decho \"# Update: wrong label\" -tar -rf archive --label='My volume' file; echo \$? -decho \"# Update: right label\" -tar -rf archive file +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive )" -echo label05.at:25 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive file -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label01.at:24" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -17969,38 +17426,26 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive file -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Create volume -# Update: wrong label -tar: Archive not labeled to match \`My volume' -tar: Error is not recoverable: exiting now -# Update: right label -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Create volume -# Update: wrong label -2 -# Update: right label +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test +foo +bar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label05.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label01.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/label05.at:25: + { set +x +$as_echo "$at_srcdir/label01.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18009,40 +17454,13 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho \"# Create volume\" -tar -c -f archive file -decho \"# Update: wrong label\" -tar -rf archive --label='My volume' file; echo \$? -decho \"# Update: right label\" -tar -rf archive file +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive )" -echo label05.at:25 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive file -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label01.at:24" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18051,129 +17469,95 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --file file -decho "# Create volume" -tar -c -f archive file -decho "# Update: wrong label" -tar -rf archive --label='My volume' file; echo $? -decho "# Update: right label" -tar -rf archive file -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "# Create volume -# Update: wrong label -tar: Archive not labeled to match \`My volume' -tar: Error is not recoverable: exiting now -# Update: right label -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "# Create volume -# Update: wrong label -2 -# Update: right label +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test +foo +bar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label05.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label01.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_48 -#AT_START_49 -# 49. backup01.at:33: extracting existing dir with --backup -at_setup_line='backup01.at:33' -at_desc="extracting existing dir with --backup" -$at_quiet $as_echo_n " 49: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_75 +#AT_START_76 +at_fn_group_banner 76 'label02.at:21' \ + "multi-volume label" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "49. backup01.at:33: testing ..." + $as_echo "76. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/backup01.at:36: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/label02.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar )" -echo backup01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'an embedded newline' "label02.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir1/ -dir1/file1 -Renaming \`dir1/file1' to \`dir1/file1~' -dir2/ +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test Volume 1 +foo +bar +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label02.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/backup01.at:36: + { set +x +$as_echo "$at_srcdir/label02.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18182,34 +17566,15 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar )" -echo backup01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label02.at:24" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18218,96 +17583,29 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir1/ -dir1/file1 -Renaming \`dir1/file1' to \`dir1/file1~' -dir2/ -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/backup01.at:36: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * - -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -)" -echo backup01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir1/ -dir1/file1 -Renaming \`dir1/file1' to \`dir1/file1~' -dir2/ +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test Volume 1 +foo +bar +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label02.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/backup01.at:36: + { set +x +$as_echo "$at_srcdir/label02.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18316,34 +17614,15 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar )" -echo backup01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label02.at:24" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18352,65 +17631,83 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir1/ -dir1/file1 -Renaming \`dir1/file1' to \`dir1/file1~' -dir2/ +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test Volume 1 +foo +bar +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label02.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/backup01.at:36: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -)" -echo backup01.at:36 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_76 +#AT_START_77 +at_fn_group_banner 77 'label03.at:27' \ + "test-label option" " " 10 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "77. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/label03.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho \"# Display label\" +tar --test-label --file=iamanarchive; echo \$? +decho \"# Display label: unlabeled\" +tar --test-label --file=unlabeled.tar; echo \$? +decho \"# Test label: success\" +tar --test-label --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label: failure\" +tar --test-label --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: unlabeled\" +tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? +decho \"# Test label, verbose: success\" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label, verbose: failure\" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: multiple arguments\" +tar --test-label --file=iamanarchive a iamalabel b; echo \$? +decho \"# Test label: wildcards\" +tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? +)" +at_fn_check_prepare_notrace 'an embedded newline' "label03.at:30" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -18419,251 +17716,73 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -unset VERSION_CONTROL -mkdir dir1 dir2 -echo bla > dir1/file1 -tar cf test.tar dir1 dir2 -tar xfv test.tar --backup --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir1/ -dir1/file1 -Renaming \`dir1/file1' to \`dir1/file1~' -dir2/ -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_49 -#AT_START_50 -# 50. gzip.at:23: gzip -at_setup_line='gzip.at:23' -at_desc="gzip" -$at_quiet $as_echo_n " 50: $at_desc " -at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "50. gzip.at:23: testing ..." - $at_traceon - - - -unset TAR_OPTIONS - -{ $at_traceoff -$as_echo "$at_srcdir/gzip.at:28: - -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 - -tar xfvz /dev/null 2>err -RC=\$? -sed -n '/^tar:/p' err >&2 -exit \$RC -" -echo gzip.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; - -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 - -tar xfvz /dev/null 2>err -RC=$? -sed -n '/^tar:/p' err >&2 -exit $RC - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; - -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 - -tar xfvz /dev/null 2>err -RC=$? -sed -n '/^tar:/p' err >&2 -exit $RC - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Child returned status 1 -tar: Error is not recoverable: exiting now +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Display label +# Display label: unlabeled +# Test label: success +# Test label: failure +# Test label: unlabeled +# Test label, verbose: success +# Test label, verbose: failure +tar: Archive label mismatch +# Test label: multiple arguments +# Test label: wildcards " | \ $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 2 $at_status "$at_srcdir/gzip.at:28" - -$at_failed && at_func_log_failure -$at_traceon; } - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_50 -#AT_START_51 -# 51. incremental.at:23: incremental -at_setup_line='incremental.at:23' -at_desc="incremental" -$at_quiet $as_echo_n " 51: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "51. incremental.at:23: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/incremental.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * - -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created \`on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -)" -echo incremental.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "structure/ -separator -structure/ -structure/file +echo >>"$at_stdout"; $as_echo "# Display label +iamalabel +0 +# Display label: unlabeled +0 +# Test label: success +0 +# Test label: failure +1 +# Test label: unlabeled +1 +# Test label, verbose: success +iamalabel +0 +# Test label, verbose: failure +iamalabel +1 +# Test label: multiple arguments +0 +# Test label: wildcards +0 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incremental.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label03.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incremental.at:26: + { set +x +$as_echo "$at_srcdir/label03.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18672,38 +17791,31 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created \`on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho \"# Display label\" +tar --test-label --file=iamanarchive; echo \$? +decho \"# Display label: unlabeled\" +tar --test-label --file=unlabeled.tar; echo \$? +decho \"# Test label: success\" +tar --test-label --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label: failure\" +tar --test-label --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: unlabeled\" +tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? +decho \"# Test label, verbose: success\" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label, verbose: failure\" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: multiple arguments\" +tar --test-label --file=iamanarchive a iamalabel b; echo \$? +decho \"# Test label: wildcards\" +tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? )" -echo incremental.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "label03.at:30" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18712,88 +17824,73 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "structure/ -separator -structure/ -structure/file +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Display label +# Display label: unlabeled +# Test label: success +# Test label: failure +# Test label: unlabeled +# Test label, verbose: success +# Test label, verbose: failure +tar: Archive label mismatch +# Test label: multiple arguments +# Test label: wildcards +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Display label +iamalabel +0 +# Display label: unlabeled +0 +# Test label: success +0 +# Test label: failure +1 +# Test label: unlabeled +1 +# Test label, verbose: success +iamalabel +0 +# Test label, verbose: failure +iamalabel +1 +# Test label: multiple arguments +0 +# Test label: wildcards +0 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incremental.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label03.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incremental.at:26: + { set +x +$as_echo "$at_srcdir/label03.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18802,38 +17899,31 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created \`on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho \"# Display label\" +tar --test-label --file=iamanarchive; echo \$? +decho \"# Display label: unlabeled\" +tar --test-label --file=unlabeled.tar; echo \$? +decho \"# Test label: success\" +tar --test-label --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label: failure\" +tar --test-label --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: unlabeled\" +tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? +decho \"# Test label, verbose: success\" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label, verbose: failure\" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: multiple arguments\" +tar --test-label --file=iamanarchive a iamalabel b; echo \$? +decho \"# Test label: wildcards\" +tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? )" -echo incremental.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "label03.at:30" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18842,112 +17932,94 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Display label +# Display label: unlabeled +# Test label: success +# Test label: failure +# Test label: unlabeled +# Test label, verbose: success +# Test label, verbose: failure +tar: Archive label mismatch +# Test label: multiple arguments +# Test label: wildcards +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Display label +iamalabel +0 +# Display label: unlabeled +0 +# Test label: success +0 +# Test label: failure +1 +# Test label: unlabeled +1 +# Test label, verbose: success +iamalabel +0 +# Test label, verbose: failure +iamalabel +1 +# Test label: multiple arguments +0 +# Test label: wildcards +0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/label03.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -mkdir structure -echo x >structure/file -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "structure/ -separator -structure/ -structure/file -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incremental.at:26" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_51 -#AT_START_52 -# 52. incr01.at:27: restore broken symlinks from incremental -at_setup_line='incr01.at:27' -at_desc="restore broken symlinks from incremental" -$at_quiet $as_echo_n " 52: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_77 +#AT_START_78 +at_fn_group_banner 78 'label04.at:27' \ + "label with non-create option" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "52. incr01.at:27: testing ..." + $as_echo "78. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/incr01.at:30: + { set +x +$as_echo "$at_srcdir/label04.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -18956,48 +18028,17 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -\$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive --label='New volume' file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive --label='New volume' file )" -echo incr01.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label04.at:30" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19006,37 +18047,37 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/bar -separator -directory/ -tar: Deleting \`directory/bar' +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Volume 'New volume' does not match 'My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr01.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label04.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr01.at:30: + { set +x +$as_echo "$at_srcdir/label04.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19045,48 +18086,17 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -\$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive --label='New volume' file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive --label='New volume' file )" -echo incr01.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label04.at:30" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19095,37 +18105,37 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/bar -separator -directory/ -tar: Deleting \`directory/bar' +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Volume 'New volume' does not match 'My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr01.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/label04.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr01.at:30: + { set +x +$as_echo "$at_srcdir/label04.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -19134,24 +18144,17 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -\$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive --label='New volume' file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive --label='New volume' file )" -echo incr01.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "label04.at:30" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -19160,85 +18163,58 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -$as_ln_s foo directory/bar +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Volume 'New volume' does not match 'My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/label04.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null --warning=no-timestamp -echo separator -tar xvfg archive.1 /dev/null --warning=no-timestamp -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/bar -separator -directory/ -tar: Deleting \`directory/bar' -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr01.at:30" - -$at_failed && at_func_log_failure -$at_traceon; } - - - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_52 -#AT_START_53 -# 53. incr02.at:32: restoring timestamps from incremental -at_setup_line='incr02.at:32' -at_desc="restoring timestamps from incremental" -$at_quiet $as_echo_n " 53: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_78 +#AT_START_79 +at_fn_group_banner 79 'label05.at:24' \ + "label with non-create option" " " 10 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "53. incr02.at:32: testing ..." + $as_echo "79. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/incr02.at:35: + { set +x +$as_echo "$at_srcdir/label05.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19247,94 +18223,17 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, \`dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive file )" -echo incr02.at:35 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label05.at:27" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19343,54 +18242,37 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr02.at:35" - -$at_failed && at_func_log_failure +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Archive not labeled to match 'My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/label05.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr02.at:35: + { set +x +$as_echo "$at_srcdir/label05.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19399,47 +18281,17 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, \`dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive file )" -echo incr02.at:35 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "label05.at:27" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19448,197 +18300,56 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Archive not labeled to match 'My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/label05.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts + { set +x +$as_echo "$at_srcdir/label05.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr02.at:35" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/incr02.at:35: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * - -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, \`dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive file )" -echo incr02.at:35 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "label05.at:27" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -19647,78 +18358,58 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr02.at:35" - -$at_failed && at_func_log_failure +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Archive not labeled to match 'My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/label05.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_53 -#AT_START_54 -# 54. listed01.at:26: --listed for individual files -at_setup_line='listed01.at:26' -at_desc="--listed for individual files" -$at_quiet $as_echo_n " 54: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_79 +#AT_START_80 +at_fn_group_banner 80 'incremental.at:23' \ + "incremental" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "54. listed01.at:26: testing ..." + $as_echo "80. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/listed01.at:29: + { set +x +$as_echo "$at_srcdir/incremental.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19727,121 +18418,86 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 +mkdir structure +echo x >structure/file -tar --create \\ - --file=archive.1 \\ - --listed-incremental=listing \\ - directory/file* +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null -tar tf archive.1 || exit 1 +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created \"on or after\" the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +)" +at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -genfile --length 10240 --pattern zeros --file directory/file2 - -echo \"separator\" -cp listing listing.old -tar --create \\ - --file=archive.2 \\ - --listed-incremental=listing \\ - directory/file* || exit 1 - -tar tf archive.2 || exit 1 -)" -echo listed01.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - -sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo "separator" -cp listing listing.old -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 +mkdir structure +echo x >structure/file -tar tf archive.2 || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created "on or after" the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. sleep 1 -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo "separator" -cp listing listing.old -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 - -tar tf archive.2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/file1 +echo y >structure/file +tar cfv archive --listed=list structure +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "structure/ separator -directory/file2 +structure/ +structure/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/listed01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/listed01.at:29: + { set +x +$as_echo "$at_srcdir/incremental.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19850,36 +18506,35 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 +mkdir structure +echo x >structure/file -tar --create \\ - --file=archive.1 \\ - --listed-incremental=listing \\ - directory/file* +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null -tar tf archive.1 || exit 1 +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created \"on or after\" the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo \"separator\" -cp listing listing.old -tar --create \\ - --file=archive.2 \\ - --listed-incremental=listing \\ - directory/file* || exit 1 - -tar tf archive.2 || exit 1 +echo y >structure/file +tar cfv archive --listed=list structure )" -echo listed01.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19888,249 +18543,181 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - -sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo "separator" -cp listing listing.old -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 +mkdir structure +echo x >structure/file -tar tf archive.2 || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created "on or after" the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. sleep 1 -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo "separator" -cp listing listing.old -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 - -tar tf archive.2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/file1 +echo y >structure/file +tar cfv archive --listed=list structure +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "structure/ separator -directory/file2 +structure/ +structure/file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/listed01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_54 -#AT_START_55 -# 55. listed02.at:28: working --listed -at_setup_line='listed02.at:28' -at_desc="working --listed" -$at_quiet $as_echo_n " 55: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "55. listed02.at:28: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/listed02.at:31: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/incremental.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir structure +echo x >structure/file -test -z "`sort < /dev/null 2>&1`" || exit 77 - -echo Create directories +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created \"on or after\" the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. sleep 1 -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File \$file > \$file - sleep 1 -done +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +)" +at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -sleep 1 -echo Creating main archive -echo >&2 \"Creating main archive\" -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +mkdir structure +echo x >structure/file -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created "on or after" the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. sleep 1 -echo Modifying filesystem -rm tart/a1 -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "structure/ +separator +structure/ +structure/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Directory contents -find tart -print | sort 2>/dev/null -sleep 1 -echo Creating incremental archive -echo >&2 \"Creating incremental archive\" -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -sleep 1 -rm -rf tart/* -echo Extracting main archive -echo >&2 \"Extracting main archive\" -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_80 +#AT_START_81 +at_fn_group_banner 81 'incr01.at:27' \ + "restore broken symlinks from incremental" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "81. $at_setup_line: testing $at_desc ..." + $at_traceon + + -echo Final files: -find tart -print | sort 2>/dev/null -)" -echo listed02.at:31 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + + { set +x +$as_echo "$at_srcdir/incr01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir directory +\$as_ln_s foo directory/bar -test -z "`sort < /dev/null 2>&1`" || exit 77 - -echo Create directories - -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 - -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done - -sleep 1 -echo Creating main archive -echo >&2 "Creating main archive" -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 - -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err - -sleep 1 -echo Modifying filesystem -rm tart/a1 - -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 - -echo Directory contents -find tart -print | sort 2>/dev/null - -sleep 1 -echo Creating incremental archive -echo >&2 "Creating incremental archive" -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 - -sleep 1 +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory -rm -rf tart/* -echo Extracting main archive -echo >&2 "Extracting main archive" -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +mv directory orig -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar xvfg archive.0 /dev/null --warning=no-timestamp +echo separator +tar xvfg archive.1 /dev/null --warning=no-timestamp +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20139,588 +18726,503 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir directory +$as_ln_s foo directory/bar -test -z "`sort < /dev/null 2>&1`" || exit 77 +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory -echo Create directories +mv directory orig -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +tar xvfg archive.0 /dev/null --warning=no-timestamp +echo separator +tar xvfg archive.1 /dev/null --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/bar +separator +directory/ +tar: Deleting 'directory/bar' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done + { set +x +$as_echo "$at_srcdir/incr01.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -sleep 1 -echo Creating main archive -echo >&2 "Creating main archive" -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +mkdir directory +\$as_ln_s foo directory/bar -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +mv directory orig -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +tar xvfg archive.0 /dev/null --warning=no-timestamp +echo separator +tar xvfg archive.1 /dev/null --warning=no-timestamp +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -echo Directory contents -find tart -print | sort 2>/dev/null +mkdir directory +$as_ln_s foo directory/bar -sleep 1 -echo Creating incremental archive -echo >&2 "Creating incremental archive" -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory -sleep 1 +mv directory orig -rm -rf tart/* -echo Extracting main archive -echo >&2 "Extracting main archive" -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null - -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating main archive -tar: tart/c0: Directory is new -tar: tart/c1: Directory is new -tar: tart: Directory is new -Creating incremental archive -tar: tart/c2: Directory has been renamed from \`tart/c1' -Extracting main archive -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Create directories -Creating main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Modifying filesystem -Directory contents -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -Creating incremental archive -tart/ -tart/c0/ -tart/c2/ -tart/b2 -tart/c2/ca3 -Extracting main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Extracting incremental archive -tar: Deleting \`tart/a1' -tar: Deleting \`tart/b1' -tart/ -tart/b2 -tart/c0/ -tart/c2/ -tart/c2/ca3 -Final files: -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 +tar xvfg archive.0 /dev/null --warning=no-timestamp +echo separator +tar xvfg archive.1 /dev/null --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/bar +separator +directory/ +tar: Deleting 'directory/bar' " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/listed02.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/listed02.at:31: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/incr01.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir directory +\$as_ln_s foo directory/bar -test -z "`sort < /dev/null 2>&1`" || exit 77 +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory -echo Create directories +mv directory orig -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +tar xvfg archive.0 /dev/null --warning=no-timestamp +echo separator +tar xvfg archive.1 /dev/null --warning=no-timestamp +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File \$file > \$file - sleep 1 -done +mkdir directory +$as_ln_s foo directory/bar -sleep 1 -echo Creating main archive -echo >&2 \"Creating main archive\" -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +mv directory orig -sleep 1 -echo Modifying filesystem -rm tart/a1 +tar xvfg archive.0 /dev/null --warning=no-timestamp +echo separator +tar xvfg archive.1 /dev/null --warning=no-timestamp +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/bar +separator +directory/ +tar: Deleting 'directory/bar' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 -echo Directory contents -find tart -print | sort 2>/dev/null -sleep 1 -echo Creating incremental archive -echo >&2 \"Creating incremental archive\" -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -sleep 1 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_81 +#AT_START_82 +at_fn_group_banner 82 'incr02.at:32' \ + "restoring timestamps from incremental" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "82. $at_setup_line: testing $at_desc ..." + $at_traceon -rm -rf tart/* -echo Extracting main archive -echo >&2 \"Extracting main archive\" -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null -echo Final files: -find tart -print | sort 2>/dev/null -)" -echo listed02.at:31 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + { set +x +$as_echo "$at_srcdir/incr02.at:35: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts -echo Create directories +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, 'dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +tar -cf archive -g db dir -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done +# Move away the directory +mv dir orig -sleep 1 -echo Creating main archive -echo >&2 "Creating main archive" -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Wait enough time for timestamps to differ in case of failure. +sleep 5 -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# Restore the directory +tar -xf archive dir -sleep 1 -echo Modifying filesystem -rm tart/a1 +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file -echo Directory contents -find tart -print | sort 2>/dev/null +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts -sleep 1 -echo Creating incremental archive -echo >&2 "Creating incremental archive" -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, 'dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. -sleep 1 +tar -cf archive -g db dir -rm -rf tart/* -echo Extracting main archive -echo >&2 "Extracting main archive" -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +# Move away the directory +mv dir orig -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr02.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts -echo Create directories +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, 'dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +tar -cf archive -g db dir -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done +# Move away the directory +mv dir orig -sleep 1 -echo Creating main archive -echo >&2 "Creating main archive" -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Wait enough time for timestamps to differ in case of failure. +sleep 5 -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# Restore the directory +tar -xf archive dir -sleep 1 -echo Modifying filesystem -rm tart/a1 +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file -echo Directory contents -find tart -print | sort 2>/dev/null +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts -sleep 1 -echo Creating incremental archive -echo >&2 "Creating incremental archive" -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, 'dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. -sleep 1 +tar -cf archive -g db dir -rm -rf tart/* -echo Extracting main archive -echo >&2 "Extracting main archive" -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +# Move away the directory +mv dir orig -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating main archive -tar: tart/c0: Directory is new -tar: tart/c1: Directory is new -tar: tart: Directory is new -Creating incremental archive -tar: tart/c2: Directory has been renamed from \`tart/c1' -Extracting main archive -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Create directories -Creating main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Modifying filesystem -Directory contents -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -Creating incremental archive -tart/ -tart/c0/ -tart/c2/ -tart/b2 -tart/c2/ca3 -Extracting main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Extracting incremental archive -tar: Deleting \`tart/a1' -tar: Deleting \`tart/b1' -tart/ -tart/b2 -tart/c0/ -tart/c2/ -tart/c2/ca3 -Final files: -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/listed02.at:31" +# Wait enough time for timestamps to differ in case of failure. +sleep 5 -$at_failed && at_func_log_failure +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/incr02.at:35: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_55 -#AT_START_56 -# 56. listed03.at:22: incremental dump when the parent directory is unreadable -at_setup_line='listed03.at:22' -at_desc="incremental dump when the parent directory is unreadable" -$at_quiet $as_echo_n " 56: $at_desc" -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "56. listed03.at:22: testing ..." - $at_traceon +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, 'dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. +tar -cf archive -g db dir +# Move away the directory +mv dir orig +# Wait enough time for timestamps to differ in case of failure. +sleep 5 +# Restore the directory +tar -xf archive dir - { $at_traceoff -$as_echo "$at_srcdir/listed03.at:25: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * - - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -genfile --file dir/sub/a/file -cd dir/sub - -chmod a-r .. -tar -c -f archive.tar --listed-incremental=db.1 -v a -status=\$? -chmod a+r .. -exit \$status +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - )" -echo listed03.at:25 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - +# Create directory structure mkdir dir -mkdir dir/sub -mkdir dir/sub/a -genfile --file dir/sub/a/file -cd dir/sub +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file -chmod a-r .. -tar -c -f archive.tar --listed-incremental=db.1 -v a -status=$? -chmod a+r .. -exit $status -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, 'dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +tar -cf archive -g db dir +# Move away the directory +mv dir orig -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -genfile --file dir/sub/a/file -cd dir/sub +# Wait enough time for timestamps to differ in case of failure. +sleep 5 -chmod a-r .. -tar -c -f archive.tar --listed-incremental=db.1 -v a -status=$? -chmod a+r .. -exit $status -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: a: Directory is new -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "a/ -a/file -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/listed03.at:25" +# Restore the directory +tar -xf archive dir -$at_failed && at_func_log_failure +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_56 -#AT_START_57 -# 57. listed04.at:24: --listed-incremental and --one-file-system -at_setup_line='listed04.at:24' -at_desc="--listed-incremental and --one-file-system" -$at_quiet $as_echo_n " 57: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_82 +#AT_START_83 +at_fn_group_banner 83 'listed01.at:26' \ + "--listed for individual files" " " 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "57. listed04.at:24: testing ..." + $as_echo "83. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/listed04.at:27: + { set +x +$as_echo "$at_srcdir/listed01.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20729,38 +19231,33 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 -mkdir dir -echo a >dir/a -echo b >dir/b +tar --create \\ + --file=archive.1 \\ + --listed-incremental=listing \\ + directory/file* -tar --one-file-system -cvf archive.tar -g archive.incr dir || exit -tar -tf archive.tar || exit -)" -echo listed04.at:27 >"$at_check_line_file" +tar tf archive.1 || exit 1 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +sleep 2 +genfile --length 10240 --pattern zeros --file directory/file2 -mkdir dir -echo a >dir/a -echo b >dir/b +echo \"separator\" +cp listing listing.old +tar --create \\ + --file=archive.2 \\ + --listed-incremental=listing \\ + directory/file* || exit 1 -tar --one-file-system -cvf archive.tar -g archive.incr dir || exit -tar -tf archive.tar || exit -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar tf archive.2 || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20769,535 +19266,595 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 -mkdir dir -echo a >dir/a -echo b >dir/b +tar --create \ + --file=archive.1 \ + --listed-incremental=listing \ + directory/file* -tar --one-file-system -cvf archive.tar -g archive.incr dir || exit -tar -tf archive.tar || exit -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/a -dir/b -dir/ -dir/a -dir/b +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo "separator" +cp listing listing.old +tar --create \ + --file=archive.2 \ + --listed-incremental=listing \ + directory/file* || exit 1 + +tar tf archive.2 || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/file1 +separator +directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/listed04.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/listed01.at:29: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 +tar --create \\ + --file=archive.1 \\ + --listed-incremental=listing \\ + directory/file* - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_57 -#AT_START_58 -# 58. incr03.at:28: renamed files in incrementals -at_setup_line='incr03.at:28' -at_desc="renamed files in incrementals" -$at_quiet $as_echo_n " 58: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "58. incr03.at:28: testing ..." - $at_traceon - +tar tf archive.1 || exit 1 +sleep 2 +genfile --length 10240 --pattern zeros --file directory/file2 +echo \"separator\" +cp listing listing.old +tar --create \\ + --file=archive.2 \\ + --listed-incremental=listing \\ + directory/file* || exit 1 - { $at_traceoff -$as_echo "$at_srcdir/incr03.at:31: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar tf archive.2 || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - mkdir directory -genfile --file=directory/x -genfile --file=directory/y - +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle sleep 1 -tar -cf archive.1 -g db directory +tar --create \ + --file=archive.1 \ + --listed-incremental=listing \ + directory/file* -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory +tar tf archive.1 || exit 1 -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort - -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +sleep 2 -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -)" -echo incr03.at:31 >"$at_check_line_file" +genfile --length 10240 --pattern zeros --file directory/file2 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +echo "separator" +cp listing listing.old +tar --create \ + --file=archive.2 \ + --listed-incremental=listing \ + directory/file* || exit 1 +tar tf archive.2 || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/file1 +separator +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y -sleep 1 -tar -cf archive.1 -g db directory + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_83 +#AT_START_84 +at_fn_group_banner 84 'listed02.at:28' \ + "working --listed" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "84. $at_setup_line: testing $at_desc ..." + $at_traceon -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory -mv directory orig -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + { set +x +$as_echo "$at_srcdir/listed02.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create directories +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 sleep 1 -tar -cf archive.1 -g db directory - -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort - -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort - -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Listing of archive.1 -directory/ -directory/x -directory/y -Listing of archive.2 -directory/ -directory/z -Directory after first restore -directory -directory/x -directory/y -Directory after second restore -directory -directory/y -directory/z -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr03.at:31" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/incr03.at:31: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * - +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File \$file > \$file + sleep 1 +done -test -z "`sort < /dev/null 2>&1`" || exit 77 +sleep 1 +echo Creating main archive +echo >&2 \"Creating main archive\" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err sleep 1 +echo Modifying filesystem +rm tart/a1 -tar -cf archive.1 -g db directory +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory +echo Directory contents +find tart -print | sort 2>/dev/null -mv directory orig +sleep 1 +echo Creating incremental archive +echo >&2 \"Creating incremental archive\" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +sleep 1 -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +rm -rf tart/* +echo Extracting main archive +echo >&2 \"Extracting main archive\" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort +echo Final files: +find tart -print | sort 2>/dev/null )" -echo incr03.at:31 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:31" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create directories +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 sleep 1 -tar -cf archive.1 -g db directory - -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File $file > $file + sleep 1 +done -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +sleep 1 +echo Creating main archive +echo >&2 "Creating main archive" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err +sleep 1 +echo Modifying filesystem +rm tart/a1 -test -z "`sort < /dev/null 2>&1`" || exit 77 +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Directory contents +find tart -print | sort 2>/dev/null sleep 1 +echo Creating incremental archive +echo >&2 "Creating incremental archive" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -tar -cf archive.1 -g db directory +sleep 1 -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort - -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +rm -rf tart/* +echo Extracting main archive +echo >&2 "Extracting main archive" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Listing of archive.1 -directory/ -directory/x -directory/y -Listing of archive.2 -directory/ -directory/z -Directory after first restore -directory -directory/x -directory/y -Directory after second restore -directory -directory/y -directory/z +echo Final files: +find tart -print | sort 2>/dev/null +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating main archive +tar: tart/c0: Directory is new +tar: tart/c1: Directory is new +tar: tart: Directory is new +Creating incremental archive +tar: tart/c2: Directory has been renamed from 'tart/c1' +Extracting main archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Create directories +Creating main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Modifying filesystem +Directory contents +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 +Creating incremental archive +tart/ +tart/c0/ +tart/c2/ +tart/b2 +tart/c2/ca3 +Extracting main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Extracting incremental archive +tar: Deleting 'tart/a1' +tar: Deleting 'tart/b1' +tart/ +tart/b2 +tart/c0/ +tart/c2/ +tart/c2/ca3 +Final files: +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr03.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr03.at:31: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/listed02.at:31: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create directories +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 sleep 1 -tar -cf archive.1 -g db directory +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File \$file > \$file + sleep 1 +done -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory +sleep 1 +echo Creating main archive +echo >&2 \"Creating main archive\" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 -mv directory orig +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +sleep 1 +echo Modifying filesystem +rm tart/a1 -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -)" -echo incr03.at:31 >"$at_check_line_file" +echo Directory contents +find tart -print | sort 2>/dev/null -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +sleep 1 +echo Creating incremental archive +echo >&2 \"Creating incremental archive\" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 \"Extracting main archive\" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:31" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create directories +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 sleep 1 -tar -cf archive.1 -g db directory - -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File $file > $file + sleep 1 +done -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +sleep 1 +echo Creating main archive +echo >&2 "Creating main archive" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err +sleep 1 +echo Modifying filesystem +rm tart/a1 -test -z "`sort < /dev/null 2>&1`" || exit 77 +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Directory contents +find tart -print | sort 2>/dev/null sleep 1 +echo Creating incremental archive +echo >&2 "Creating incremental archive" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -tar -cf archive.1 -g db directory +sleep 1 -mv directory/x directory/z -cp db db.old -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort - -echo Directory after first restore -tar -xf archive.1 -g db --warning=no-timestamp -find directory | sort +rm -rf tart/* +echo Extracting main archive +echo >&2 "Extracting main archive" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null -echo Directory after second restore -tar -xf archive.2 -g db --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Listing of archive.1 -directory/ -directory/x -directory/y -Listing of archive.2 -directory/ -directory/z -Directory after first restore -directory -directory/x -directory/y -Directory after second restore -directory -directory/y -directory/z +echo Final files: +find tart -print | sort 2>/dev/null +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating main archive +tar: tart/c0: Directory is new +tar: tart/c1: Directory is new +tar: tart: Directory is new +Creating incremental archive +tar: tart/c2: Directory has been renamed from 'tart/c1' +Extracting main archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Create directories +Creating main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Modifying filesystem +Directory contents +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 +Creating incremental archive +tart/ +tart/c0/ +tart/c2/ +tart/b2 +tart/c2/ca3 +Extracting main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Extracting incremental archive +tar: Deleting 'tart/a1' +tar: Deleting 'tart/b1' +tart/ +tart/b2 +tart/c0/ +tart/c2/ +tart/c2/ca3 +Final files: +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr03.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_58 -#AT_START_59 -# 59. incr04.at:29: proper icontents initialization -at_setup_line='incr04.at:29' -at_desc="proper icontents initialization" -$at_quiet $as_echo_n " 59: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_84 +#AT_START_85 +at_fn_group_banner 85 'listed03.at:24' \ + "incremental dump when the parent directory is unreadable" "" 11 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "59. incr04.at:29: testing ..." + $as_echo "85. $at_setup_line: testing $at_desc ..." $at_traceon - - - { $at_traceoff -$as_echo "$at_srcdir/incr04.at:34: + { set +x +$as_echo "$at_srcdir/listed03.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21307,25 +19864,28 @@ export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); - }' < /dev/null | genfile --files-from - +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -sleep 1 -echo \"Initial dump\" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo \"Incremental dump\" -tar cvf a1.tar -g a.sna a -)" -echo incr04.at:34 >"$at_check_line_file" +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +genfile --file dir/sub/a/file +cd dir/sub -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +chmod a-r .. +tar -c -f archive.tar --listed-incremental=db.1 -v a +status=\$? +chmod a+r .. +exit \$status +)" +at_fn_check_prepare_notrace 'an embedded newline' "listed03.at:27" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21335,312 +19895,1100 @@ export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -sleep 1 -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +genfile --file dir/sub/a/file +cd dir/sub + +chmod a-r .. +tar -c -f archive.tar --listed-incremental=db.1 -v a +status=$? +chmod a+r .. +exit $status +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a/ +a/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listed03.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_85 +#AT_START_86 +at_fn_group_banner 86 'listed04.at:26' \ + "--listed-incremental and --one-file-system" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "86. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/listed04.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +mkdir dir +echo a >dir/a +echo b >dir/b -sleep 1 +tar --one-file-system -cvf archive.tar -g archive.incr dir || exit +tar -tf archive.tar || exit +)" +at_fn_check_prepare_notrace 'an embedded newline' "listed04.at:29" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: a: Directory is new -tar: a/b: Directory is new -tar: a/c: Directory has been renamed from \`a/b' + +mkdir dir +echo a >dir/a +echo b >dir/b + +tar --one-file-system -cvf archive.tar -g archive.incr dir || exit +tar -tf archive.tar || exit +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Initial dump -a/ -a/b/ -a/b/one_31_chars_long_file_name_001 -a/b/one_31_chars_long_file_name_002 -a/b/one_31_chars_long_file_name_003 -a/b/one_31_chars_long_file_name_004 -a/b/one_31_chars_long_file_name_005 -a/b/one_31_chars_long_file_name_006 -a/b/one_31_chars_long_file_name_007 -a/b/one_31_chars_long_file_name_008 -a/b/one_31_chars_long_file_name_009 -a/b/one_31_chars_long_file_name_010 -a/b/one_31_chars_long_file_name_011 -a/b/one_31_chars_long_file_name_012 -a/b/one_31_chars_long_file_name_013 -a/b/one_31_chars_long_file_name_014 -a/b/one_31_chars_long_file_name_015 -a/b/one_31_chars_long_file_name_016 -a/b/one_31_chars_long_file_name_017 -a/b/one_31_chars_long_file_name_018 -a/b/one_31_chars_long_file_name_019 -a/b/one_31_chars_long_file_name_020 -a/b/one_31_chars_long_file_name_021 -a/b/one_31_chars_long_file_name_022 -a/b/one_31_chars_long_file_name_023 -a/b/one_31_chars_long_file_name_024 -a/b/one_31_chars_long_file_name_025 -a/b/one_31_chars_long_file_name_026 -a/b/one_31_chars_long_file_name_027 -a/b/one_31_chars_long_file_name_028 -a/b/one_31_chars_long_file_name_029 -a/b/one_31_chars_long_file_name_030 -a/b/one_31_chars_long_file_name_031 -a/b/one_31_chars_long_file_name_032 -a/b/one_31_chars_long_file_name_033 -a/b/one_31_chars_long_file_name_034 -a/b/one_31_chars_long_file_name_035 -a/b/one_31_chars_long_file_name_036 -a/b/one_31_chars_long_file_name_037 -a/b/one_31_chars_long_file_name_038 -a/b/one_31_chars_long_file_name_039 -a/b/one_31_chars_long_file_name_040 -a/b/one_31_chars_long_file_name_041 -a/b/one_31_chars_long_file_name_042 -a/b/one_31_chars_long_file_name_043 -a/b/one_31_chars_long_file_name_044 -a/b/one_31_chars_long_file_name_045 -a/b/one_31_chars_long_file_name_046 -a/b/one_31_chars_long_file_name_047 -a/b/one_31_chars_long_file_name_048 -a/b/one_31_chars_long_file_name_049 -a/b/one_31_chars_long_file_name_050 -a/b/one_31_chars_long_file_name_051 -a/b/one_31_chars_long_file_name_052 -a/b/one_31_chars_long_file_name_053 -a/b/one_31_chars_long_file_name_054 -a/b/one_31_chars_long_file_name_055 -a/b/one_31_chars_long_file_name_056 -a/b/one_31_chars_long_file_name_057 -a/b/one_31_chars_long_file_name_058 -a/b/one_31_chars_long_file_name_059 -a/b/one_31_chars_long_file_name_060 -a/b/one_31_chars_long_file_name_061 -a/b/one_31_chars_long_file_name_062 -a/b/one_31_chars_long_file_name_063 -a/b/one_31_chars_long_file_name_064 -a/b/one_31_chars_long_file_name_065 -a/b/one_31_chars_long_file_name_066 -a/b/one_31_chars_long_file_name_067 -a/b/one_31_chars_long_file_name_068 -a/b/one_31_chars_long_file_name_069 -a/b/one_31_chars_long_file_name_070 -a/b/one_31_chars_long_file_name_071 -a/b/one_31_chars_long_file_name_072 -a/b/one_31_chars_long_file_name_073 -a/b/one_31_chars_long_file_name_074 -a/b/one_31_chars_long_file_name_075 -a/b/one_31_chars_long_file_name_076 -a/b/one_31_chars_long_file_name_077 -a/b/one_31_chars_long_file_name_078 -a/b/one_31_chars_long_file_name_079 -a/b/one_31_chars_long_file_name_080 -a/b/one_31_chars_long_file_name_081 -a/b/one_31_chars_long_file_name_082 -a/b/one_31_chars_long_file_name_083 -a/b/one_31_chars_long_file_name_084 -a/b/one_31_chars_long_file_name_085 -a/b/one_31_chars_long_file_name_086 -a/b/one_31_chars_long_file_name_087 -a/b/one_31_chars_long_file_name_088 -a/b/one_31_chars_long_file_name_089 -a/b/one_31_chars_long_file_name_090 -a/b/one_31_chars_long_file_name_091 -a/b/one_31_chars_long_file_name_092 -a/b/one_31_chars_long_file_name_093 -a/b/one_31_chars_long_file_name_094 -a/b/one_31_chars_long_file_name_095 -a/b/one_31_chars_long_file_name_096 -a/b/one_31_chars_long_file_name_097 -a/b/one_31_chars_long_file_name_098 -a/b/one_31_chars_long_file_name_099 -a/b/one_31_chars_long_file_name_100 -a/b/one_31_chars_long_file_name_101 -a/b/one_31_chars_long_file_name_102 -a/b/one_31_chars_long_file_name_103 -a/b/one_31_chars_long_file_name_104 -a/b/one_31_chars_long_file_name_105 -a/b/one_31_chars_long_file_name_106 -a/b/one_31_chars_long_file_name_107 -a/b/one_31_chars_long_file_name_108 -a/b/one_31_chars_long_file_name_109 -a/b/one_31_chars_long_file_name_110 -a/b/one_31_chars_long_file_name_111 -a/b/one_31_chars_long_file_name_112 -a/b/one_31_chars_long_file_name_113 -a/b/one_31_chars_long_file_name_114 -a/b/one_31_chars_long_file_name_115 -a/b/one_31_chars_long_file_name_116 -a/b/one_31_chars_long_file_name_117 -a/b/one_31_chars_long_file_name_118 -a/b/one_31_chars_long_file_name_119 -a/b/one_31_chars_long_file_name_120 -a/b/one_31_chars_long_file_name_121 -a/b/one_31_chars_long_file_name_122 -a/b/one_31_chars_long_file_name_123 -a/b/one_31_chars_long_file_name_124 -a/b/one_31_chars_long_file_name_125 -a/b/one_31_chars_long_file_name_126 -a/b/one_31_chars_long_file_name_127 -a/b/one_31_chars_long_file_name_128 -a/b/one_31_chars_long_file_name_129 -a/b/one_31_chars_long_file_name_130 -a/b/one_31_chars_long_file_name_131 -a/b/one_31_chars_long_file_name_132 -a/b/one_31_chars_long_file_name_133 -a/b/one_31_chars_long_file_name_134 -a/b/one_31_chars_long_file_name_135 -a/b/one_31_chars_long_file_name_136 -a/b/one_31_chars_long_file_name_137 -a/b/one_31_chars_long_file_name_138 -a/b/one_31_chars_long_file_name_139 -a/b/one_31_chars_long_file_name_140 -a/b/one_31_chars_long_file_name_141 -a/b/one_31_chars_long_file_name_142 -Incremental dump -a/ -a/c/ +echo >>"$at_stdout"; $as_echo "dir/ +dir/a +dir/b +dir/ +dir/a +dir/b " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr04.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/listed04.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr04.at:34: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_86 +#AT_START_87 +at_fn_group_banner 87 'listed05.at:33' \ + "--listed-incremental and remounted directories" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "87. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/listed05.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); - }' < /dev/null | genfile --files-from - +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -sleep 1 +options=\"-C tartest --create --one-file-system --verbose\" +rm -rf archive-01.snar archive-01.tar tartest subdir -echo \"Initial dump\" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo \"Incremental dump\" -tar cvf a1.tar -g a.sna a -)" -echo incr04.at:34 >"$at_check_line_file" +# Create initial structure +mkdir tartest +echo \"hi\" > tartest/top-level-file +mkdir tartest/subdir +echo \"hi\" > tartest/subdir/subdir-file -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +echo \"# Level 0\" +tar \$options --file archive-0.tar --listed-incremental=archive-0.snar . + +echo \"# Remount\" +mv tartest/subdir . +mkdir tartest/subdir +mount -t ramfs none tartest/subdir || exit 77 +tar -C subdir -c -f - . | tar -C tartest/subdir -x -f - + +echo \"# Level 1\" +cp archive-0.snar archive-1.snar +tar \$options --file archive-1.tar --listed-incremental=archive-1.snar . + +umount tartest/subdir +)" +at_fn_check_prepare_notrace 'an embedded newline' "listed05.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + +options="-C tartest --create --one-file-system --verbose" +rm -rf archive-01.snar archive-01.tar tartest subdir + +# Create initial structure +mkdir tartest +echo "hi" > tartest/top-level-file +mkdir tartest/subdir +echo "hi" > tartest/subdir/subdir-file + +echo "# Level 0" +tar $options --file archive-0.tar --listed-incremental=archive-0.snar . + +echo "# Remount" +mv tartest/subdir . +mkdir tartest/subdir +mount -t ramfs none tartest/subdir || exit 77 +tar -C subdir -c -f - . | tar -C tartest/subdir -x -f - + +echo "# Level 1" +cp archive-0.snar archive-1.snar +tar $options --file archive-1.tar --listed-incremental=archive-1.snar . + +umount tartest/subdir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: .: Directory is new +tar: ./subdir: Directory is new +tar: ./subdir: directory is on a different filesystem; not dumped +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Level 0 +./ +./subdir/ +./top-level-file +./subdir/subdir-file +# Remount +# Level 1 +./ +./subdir/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/listed05.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -sleep 1 -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_87 +#AT_START_88 +at_fn_group_banner 88 'incr03.at:28' \ + "renamed files in incrementals" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "88. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/incr03.at:31: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y sleep 1 -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: a: Directory is new -tar: a/b: Directory is new -tar: a/c: Directory has been renamed from \`a/b' -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Initial dump -a/ -a/b/ -a/b/one_31_chars_long_file_name_001 -a/b/one_31_chars_long_file_name_002 -a/b/one_31_chars_long_file_name_003 -a/b/one_31_chars_long_file_name_004 -a/b/one_31_chars_long_file_name_005 -a/b/one_31_chars_long_file_name_006 -a/b/one_31_chars_long_file_name_007 -a/b/one_31_chars_long_file_name_008 -a/b/one_31_chars_long_file_name_009 -a/b/one_31_chars_long_file_name_010 -a/b/one_31_chars_long_file_name_011 -a/b/one_31_chars_long_file_name_012 -a/b/one_31_chars_long_file_name_013 +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db --warning=no-timestamp +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db --warning=no-timestamp +find directory | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db --warning=no-timestamp +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db --warning=no-timestamp +find directory | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Listing of archive.1 +directory/ +directory/x +directory/y +Listing of archive.2 +directory/ +directory/z +Directory after first restore +directory +directory/x +directory/y +Directory after second restore +directory +directory/y +directory/z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr03.at:31: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db --warning=no-timestamp +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db --warning=no-timestamp +find directory | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db --warning=no-timestamp +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db --warning=no-timestamp +find directory | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Listing of archive.1 +directory/ +directory/x +directory/y +Listing of archive.2 +directory/ +directory/z +Directory after first restore +directory +directory/x +directory/y +Directory after second restore +directory +directory/y +directory/z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr03.at:31: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db --warning=no-timestamp +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db --warning=no-timestamp +find directory | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db --warning=no-timestamp +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db --warning=no-timestamp +find directory | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Listing of archive.1 +directory/ +directory/x +directory/y +Listing of archive.2 +directory/ +directory/z +Directory after first restore +directory +directory/x +directory/y +Directory after second restore +directory +directory/y +directory/z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_88 +#AT_START_89 +at_fn_group_banner 89 'incr04.at:29' \ + "proper icontents initialization" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "89. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + + + { set +x +$as_echo "$at_srcdir/incr04.at:34: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo \"Initial dump\" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo \"Incremental dump\" +tar cvf a1.tar -g a.sna a +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +tar: a/b: Directory is new +tar: a/c: Directory has been renamed from 'a/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Initial dump +a/ +a/b/ +a/b/one_31_chars_long_file_name_001 +a/b/one_31_chars_long_file_name_002 +a/b/one_31_chars_long_file_name_003 +a/b/one_31_chars_long_file_name_004 +a/b/one_31_chars_long_file_name_005 +a/b/one_31_chars_long_file_name_006 +a/b/one_31_chars_long_file_name_007 +a/b/one_31_chars_long_file_name_008 +a/b/one_31_chars_long_file_name_009 +a/b/one_31_chars_long_file_name_010 +a/b/one_31_chars_long_file_name_011 +a/b/one_31_chars_long_file_name_012 +a/b/one_31_chars_long_file_name_013 +a/b/one_31_chars_long_file_name_014 +a/b/one_31_chars_long_file_name_015 +a/b/one_31_chars_long_file_name_016 +a/b/one_31_chars_long_file_name_017 +a/b/one_31_chars_long_file_name_018 +a/b/one_31_chars_long_file_name_019 +a/b/one_31_chars_long_file_name_020 +a/b/one_31_chars_long_file_name_021 +a/b/one_31_chars_long_file_name_022 +a/b/one_31_chars_long_file_name_023 +a/b/one_31_chars_long_file_name_024 +a/b/one_31_chars_long_file_name_025 +a/b/one_31_chars_long_file_name_026 +a/b/one_31_chars_long_file_name_027 +a/b/one_31_chars_long_file_name_028 +a/b/one_31_chars_long_file_name_029 +a/b/one_31_chars_long_file_name_030 +a/b/one_31_chars_long_file_name_031 +a/b/one_31_chars_long_file_name_032 +a/b/one_31_chars_long_file_name_033 +a/b/one_31_chars_long_file_name_034 +a/b/one_31_chars_long_file_name_035 +a/b/one_31_chars_long_file_name_036 +a/b/one_31_chars_long_file_name_037 +a/b/one_31_chars_long_file_name_038 +a/b/one_31_chars_long_file_name_039 +a/b/one_31_chars_long_file_name_040 +a/b/one_31_chars_long_file_name_041 +a/b/one_31_chars_long_file_name_042 +a/b/one_31_chars_long_file_name_043 +a/b/one_31_chars_long_file_name_044 +a/b/one_31_chars_long_file_name_045 +a/b/one_31_chars_long_file_name_046 +a/b/one_31_chars_long_file_name_047 +a/b/one_31_chars_long_file_name_048 +a/b/one_31_chars_long_file_name_049 +a/b/one_31_chars_long_file_name_050 +a/b/one_31_chars_long_file_name_051 +a/b/one_31_chars_long_file_name_052 +a/b/one_31_chars_long_file_name_053 +a/b/one_31_chars_long_file_name_054 +a/b/one_31_chars_long_file_name_055 +a/b/one_31_chars_long_file_name_056 +a/b/one_31_chars_long_file_name_057 +a/b/one_31_chars_long_file_name_058 +a/b/one_31_chars_long_file_name_059 +a/b/one_31_chars_long_file_name_060 +a/b/one_31_chars_long_file_name_061 +a/b/one_31_chars_long_file_name_062 +a/b/one_31_chars_long_file_name_063 +a/b/one_31_chars_long_file_name_064 +a/b/one_31_chars_long_file_name_065 +a/b/one_31_chars_long_file_name_066 +a/b/one_31_chars_long_file_name_067 +a/b/one_31_chars_long_file_name_068 +a/b/one_31_chars_long_file_name_069 +a/b/one_31_chars_long_file_name_070 +a/b/one_31_chars_long_file_name_071 +a/b/one_31_chars_long_file_name_072 +a/b/one_31_chars_long_file_name_073 +a/b/one_31_chars_long_file_name_074 +a/b/one_31_chars_long_file_name_075 +a/b/one_31_chars_long_file_name_076 +a/b/one_31_chars_long_file_name_077 +a/b/one_31_chars_long_file_name_078 +a/b/one_31_chars_long_file_name_079 +a/b/one_31_chars_long_file_name_080 +a/b/one_31_chars_long_file_name_081 +a/b/one_31_chars_long_file_name_082 +a/b/one_31_chars_long_file_name_083 +a/b/one_31_chars_long_file_name_084 +a/b/one_31_chars_long_file_name_085 +a/b/one_31_chars_long_file_name_086 +a/b/one_31_chars_long_file_name_087 +a/b/one_31_chars_long_file_name_088 +a/b/one_31_chars_long_file_name_089 +a/b/one_31_chars_long_file_name_090 +a/b/one_31_chars_long_file_name_091 +a/b/one_31_chars_long_file_name_092 +a/b/one_31_chars_long_file_name_093 +a/b/one_31_chars_long_file_name_094 +a/b/one_31_chars_long_file_name_095 +a/b/one_31_chars_long_file_name_096 +a/b/one_31_chars_long_file_name_097 +a/b/one_31_chars_long_file_name_098 +a/b/one_31_chars_long_file_name_099 +a/b/one_31_chars_long_file_name_100 +a/b/one_31_chars_long_file_name_101 +a/b/one_31_chars_long_file_name_102 +a/b/one_31_chars_long_file_name_103 +a/b/one_31_chars_long_file_name_104 +a/b/one_31_chars_long_file_name_105 +a/b/one_31_chars_long_file_name_106 +a/b/one_31_chars_long_file_name_107 +a/b/one_31_chars_long_file_name_108 +a/b/one_31_chars_long_file_name_109 +a/b/one_31_chars_long_file_name_110 +a/b/one_31_chars_long_file_name_111 +a/b/one_31_chars_long_file_name_112 +a/b/one_31_chars_long_file_name_113 +a/b/one_31_chars_long_file_name_114 +a/b/one_31_chars_long_file_name_115 +a/b/one_31_chars_long_file_name_116 +a/b/one_31_chars_long_file_name_117 +a/b/one_31_chars_long_file_name_118 +a/b/one_31_chars_long_file_name_119 +a/b/one_31_chars_long_file_name_120 +a/b/one_31_chars_long_file_name_121 +a/b/one_31_chars_long_file_name_122 +a/b/one_31_chars_long_file_name_123 +a/b/one_31_chars_long_file_name_124 +a/b/one_31_chars_long_file_name_125 +a/b/one_31_chars_long_file_name_126 +a/b/one_31_chars_long_file_name_127 +a/b/one_31_chars_long_file_name_128 +a/b/one_31_chars_long_file_name_129 +a/b/one_31_chars_long_file_name_130 +a/b/one_31_chars_long_file_name_131 +a/b/one_31_chars_long_file_name_132 +a/b/one_31_chars_long_file_name_133 +a/b/one_31_chars_long_file_name_134 +a/b/one_31_chars_long_file_name_135 +a/b/one_31_chars_long_file_name_136 +a/b/one_31_chars_long_file_name_137 +a/b/one_31_chars_long_file_name_138 +a/b/one_31_chars_long_file_name_139 +a/b/one_31_chars_long_file_name_140 +a/b/one_31_chars_long_file_name_141 +a/b/one_31_chars_long_file_name_142 +Incremental dump +a/ +a/c/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr04.at:34: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo \"Initial dump\" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo \"Incremental dump\" +tar cvf a1.tar -g a.sna a +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +tar: a/b: Directory is new +tar: a/c: Directory has been renamed from 'a/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Initial dump +a/ +a/b/ +a/b/one_31_chars_long_file_name_001 +a/b/one_31_chars_long_file_name_002 +a/b/one_31_chars_long_file_name_003 +a/b/one_31_chars_long_file_name_004 +a/b/one_31_chars_long_file_name_005 +a/b/one_31_chars_long_file_name_006 +a/b/one_31_chars_long_file_name_007 +a/b/one_31_chars_long_file_name_008 +a/b/one_31_chars_long_file_name_009 +a/b/one_31_chars_long_file_name_010 +a/b/one_31_chars_long_file_name_011 +a/b/one_31_chars_long_file_name_012 +a/b/one_31_chars_long_file_name_013 +a/b/one_31_chars_long_file_name_014 +a/b/one_31_chars_long_file_name_015 +a/b/one_31_chars_long_file_name_016 +a/b/one_31_chars_long_file_name_017 +a/b/one_31_chars_long_file_name_018 +a/b/one_31_chars_long_file_name_019 +a/b/one_31_chars_long_file_name_020 +a/b/one_31_chars_long_file_name_021 +a/b/one_31_chars_long_file_name_022 +a/b/one_31_chars_long_file_name_023 +a/b/one_31_chars_long_file_name_024 +a/b/one_31_chars_long_file_name_025 +a/b/one_31_chars_long_file_name_026 +a/b/one_31_chars_long_file_name_027 +a/b/one_31_chars_long_file_name_028 +a/b/one_31_chars_long_file_name_029 +a/b/one_31_chars_long_file_name_030 +a/b/one_31_chars_long_file_name_031 +a/b/one_31_chars_long_file_name_032 +a/b/one_31_chars_long_file_name_033 +a/b/one_31_chars_long_file_name_034 +a/b/one_31_chars_long_file_name_035 +a/b/one_31_chars_long_file_name_036 +a/b/one_31_chars_long_file_name_037 +a/b/one_31_chars_long_file_name_038 +a/b/one_31_chars_long_file_name_039 +a/b/one_31_chars_long_file_name_040 +a/b/one_31_chars_long_file_name_041 +a/b/one_31_chars_long_file_name_042 +a/b/one_31_chars_long_file_name_043 +a/b/one_31_chars_long_file_name_044 +a/b/one_31_chars_long_file_name_045 +a/b/one_31_chars_long_file_name_046 +a/b/one_31_chars_long_file_name_047 +a/b/one_31_chars_long_file_name_048 +a/b/one_31_chars_long_file_name_049 +a/b/one_31_chars_long_file_name_050 +a/b/one_31_chars_long_file_name_051 +a/b/one_31_chars_long_file_name_052 +a/b/one_31_chars_long_file_name_053 +a/b/one_31_chars_long_file_name_054 +a/b/one_31_chars_long_file_name_055 +a/b/one_31_chars_long_file_name_056 +a/b/one_31_chars_long_file_name_057 +a/b/one_31_chars_long_file_name_058 +a/b/one_31_chars_long_file_name_059 +a/b/one_31_chars_long_file_name_060 +a/b/one_31_chars_long_file_name_061 +a/b/one_31_chars_long_file_name_062 +a/b/one_31_chars_long_file_name_063 +a/b/one_31_chars_long_file_name_064 +a/b/one_31_chars_long_file_name_065 +a/b/one_31_chars_long_file_name_066 +a/b/one_31_chars_long_file_name_067 +a/b/one_31_chars_long_file_name_068 +a/b/one_31_chars_long_file_name_069 +a/b/one_31_chars_long_file_name_070 +a/b/one_31_chars_long_file_name_071 +a/b/one_31_chars_long_file_name_072 +a/b/one_31_chars_long_file_name_073 +a/b/one_31_chars_long_file_name_074 +a/b/one_31_chars_long_file_name_075 +a/b/one_31_chars_long_file_name_076 +a/b/one_31_chars_long_file_name_077 +a/b/one_31_chars_long_file_name_078 +a/b/one_31_chars_long_file_name_079 +a/b/one_31_chars_long_file_name_080 +a/b/one_31_chars_long_file_name_081 +a/b/one_31_chars_long_file_name_082 +a/b/one_31_chars_long_file_name_083 +a/b/one_31_chars_long_file_name_084 +a/b/one_31_chars_long_file_name_085 +a/b/one_31_chars_long_file_name_086 +a/b/one_31_chars_long_file_name_087 +a/b/one_31_chars_long_file_name_088 +a/b/one_31_chars_long_file_name_089 +a/b/one_31_chars_long_file_name_090 +a/b/one_31_chars_long_file_name_091 +a/b/one_31_chars_long_file_name_092 +a/b/one_31_chars_long_file_name_093 +a/b/one_31_chars_long_file_name_094 +a/b/one_31_chars_long_file_name_095 +a/b/one_31_chars_long_file_name_096 +a/b/one_31_chars_long_file_name_097 +a/b/one_31_chars_long_file_name_098 +a/b/one_31_chars_long_file_name_099 +a/b/one_31_chars_long_file_name_100 +a/b/one_31_chars_long_file_name_101 +a/b/one_31_chars_long_file_name_102 +a/b/one_31_chars_long_file_name_103 +a/b/one_31_chars_long_file_name_104 +a/b/one_31_chars_long_file_name_105 +a/b/one_31_chars_long_file_name_106 +a/b/one_31_chars_long_file_name_107 +a/b/one_31_chars_long_file_name_108 +a/b/one_31_chars_long_file_name_109 +a/b/one_31_chars_long_file_name_110 +a/b/one_31_chars_long_file_name_111 +a/b/one_31_chars_long_file_name_112 +a/b/one_31_chars_long_file_name_113 +a/b/one_31_chars_long_file_name_114 +a/b/one_31_chars_long_file_name_115 +a/b/one_31_chars_long_file_name_116 +a/b/one_31_chars_long_file_name_117 +a/b/one_31_chars_long_file_name_118 +a/b/one_31_chars_long_file_name_119 +a/b/one_31_chars_long_file_name_120 +a/b/one_31_chars_long_file_name_121 +a/b/one_31_chars_long_file_name_122 +a/b/one_31_chars_long_file_name_123 +a/b/one_31_chars_long_file_name_124 +a/b/one_31_chars_long_file_name_125 +a/b/one_31_chars_long_file_name_126 +a/b/one_31_chars_long_file_name_127 +a/b/one_31_chars_long_file_name_128 +a/b/one_31_chars_long_file_name_129 +a/b/one_31_chars_long_file_name_130 +a/b/one_31_chars_long_file_name_131 +a/b/one_31_chars_long_file_name_132 +a/b/one_31_chars_long_file_name_133 +a/b/one_31_chars_long_file_name_134 +a/b/one_31_chars_long_file_name_135 +a/b/one_31_chars_long_file_name_136 +a/b/one_31_chars_long_file_name_137 +a/b/one_31_chars_long_file_name_138 +a/b/one_31_chars_long_file_name_139 +a/b/one_31_chars_long_file_name_140 +a/b/one_31_chars_long_file_name_141 +a/b/one_31_chars_long_file_name_142 +Incremental dump +a/ +a/c/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr04.at:34: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo \"Initial dump\" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo \"Incremental dump\" +tar cvf a1.tar -g a.sna a +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +tar: a/b: Directory is new +tar: a/c: Directory has been renamed from 'a/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Initial dump +a/ +a/b/ +a/b/one_31_chars_long_file_name_001 +a/b/one_31_chars_long_file_name_002 +a/b/one_31_chars_long_file_name_003 +a/b/one_31_chars_long_file_name_004 +a/b/one_31_chars_long_file_name_005 +a/b/one_31_chars_long_file_name_006 +a/b/one_31_chars_long_file_name_007 +a/b/one_31_chars_long_file_name_008 +a/b/one_31_chars_long_file_name_009 +a/b/one_31_chars_long_file_name_010 +a/b/one_31_chars_long_file_name_011 +a/b/one_31_chars_long_file_name_012 +a/b/one_31_chars_long_file_name_013 a/b/one_31_chars_long_file_name_014 a/b/one_31_chars_long_file_name_015 a/b/one_31_chars_long_file_name_016 @@ -21775,67 +21123,2752 @@ a/ a/c/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr04.at:34" +at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_89 +#AT_START_90 +at_fn_group_banner 90 'incr05.at:21' \ + "incremental dumps with -C" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "90. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/incr05.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr05.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 +./ +./sub/ +./file1 +./sub/file2 +Level 1 +./ +./sub/ +./file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr05.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr05.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr05.at:24" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 +./ +./sub/ +./file1 +./sub/file2 +Level 1 +./ +./sub/ +./file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr05.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr05.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr05.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 +./ +./sub/ +./file1 +./sub/file2 +Level 1 +./ +./sub/ +./file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr05.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_90 +#AT_START_91 +at_fn_group_banner 91 'incr06.at:21' \ + "incremental dumps of nested directories" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "91. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/incr06.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr06.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 . sub +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 0 sub . +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 1 . sub +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +Level 1 sub . +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr06.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr06.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr06.at:24" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 . sub +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 0 sub . +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 1 . sub +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +Level 1 sub . +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr06.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr06.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr06.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 . sub +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 0 sub . +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 1 . sub +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +Level 1 sub . +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr06.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_91 +#AT_START_92 +at_fn_group_banner 92 'incr07.at:18' \ + "incremental restores with -C" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "92. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Tar 1.26 had problems extracting from incremental restores when given +# the -C option. The code in incremen.c:try_purge_directory and +# misc.c:remove_any_file was using savedir(), which ignored eventual changes +# in the current working directory and caused the malfunctioning. +# +# The problem was reported by Piotr Rotter on 2013-03-22. +# +# This testcase is based on scripts provided by Piotr Rotter and Nathan +# Stratton Treadway. +# +# References: <514C8F56.90900@active24.pl>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00036.html, +# <20130326181922.GZ3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00042.html, +# <20130327051828.GA3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00043.html, +# <20130327054957.GB3732@shire.ontko.com>, +# http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00044.html + + + + { set +x +$as_echo "$at_srcdir/incr07.at:40: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 \"toplevel A exists\" +exit 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr07.at:40" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 "toplevel A exists" +exit 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "C0 +tar: A: Directory is new +C1 +C2 +E0 +E1 +E2 +E3 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "C0 +A/ +A/a +A/b +C1 +A/ +A/c +C2 +A/ +E0 +A/ +A/a +A/b +E1 +A/ +A/c +E2 +A/ +tar: Deleting 'A/a' +E3 +A/ +tar: Deleting 'A/B' +FIN +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr07.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr07.at:40: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 \"toplevel A exists\" +exit 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr07.at:40" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 "toplevel A exists" +exit 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "C0 +tar: A: Directory is new +C1 +C2 +E0 +E1 +E2 +E3 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "C0 +A/ +A/a +A/b +C1 +A/ +A/c +C2 +A/ +E0 +A/ +A/a +A/b +E1 +A/ +A/c +E2 +A/ +tar: Deleting 'A/a' +E3 +A/ +tar: Deleting 'A/B' +FIN +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr07.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/incr07.at:40: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 \"toplevel A exists\" +exit 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "incr07.at:40" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir A +echo 'a' > A/a +echo 'a' > A/b + +decho C0 +tar -g test.snar -vcf test.0.tar A + +echo 'a' > A/c +decho C1 +tar -g test.snar -vcf test.1.tar A + +rm -f A/a +decho C2 +tar -g test.snar -vcf test.2.tar A + +mkdir ext +rm -rf A + +decho E0 +tar -g test.snar -vxf test.0.tar -C ext/ +decho E1 +tar -g test.snar -vxf test.1.tar -C ext/ + +decho E2 +tar -g test.snar -vxf test.2.tar -C ext/ + +mkdir ext/A/B +touch ext/A/B/file + +decho E3 +tar -g test.snar -vxf test.2.tar -C ext/ + +echo FIN +test -d A && echo >&2 "toplevel A exists" +exit 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "C0 +tar: A: Directory is new +C1 +C2 +E0 +E1 +E2 +E3 +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "C0 +A/ +A/a +A/b +C1 +A/ +A/c +C2 +A/ +E0 +A/ +A/a +A/b +E1 +A/ +A/c +E2 +A/ +tar: Deleting 'A/a' +E3 +A/ +tar: Deleting 'A/B' +FIN +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr07.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_92 +#AT_START_93 +at_fn_group_banner 93 'incr08.at:38' \ + "filename normalization" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "93. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/incr08.at:41: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir tartest +cd tartest +mkdir foo +mkdir foo/subdir +mkdir foo/subdir/dir1 +mkdir subdir +mkdir subdir/dir2 +decho A +find .|sort + +decho B +DIR=\`pwd\` +tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . \$DIR 2>../err |\\ + sed \"s|\$DIR|ABSPATH|\" +sed \"s|\$DIR|ABSPATH|\" ../err >&2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr08.at:41" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir tartest +cd tartest +mkdir foo +mkdir foo/subdir +mkdir foo/subdir/dir1 +mkdir subdir +mkdir subdir/dir2 +decho A +find .|sort + +decho B +DIR=`pwd` +tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR 2>../err |\ + sed "s|$DIR|ABSPATH|" +sed "s|$DIR|ABSPATH|" ../err >&2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +tar: .: Directory is new +tar: ./subdir: Directory is new +tar: ./subdir/dir1: Directory is new +tar: ABSPATH: Directory is new +tar: ABSPATH/subdir: Directory is new +tar: ABSPATH/subdir/dir2: Directory is new +tar: Removing leading \`/' from member names +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./foo +./foo/subdir +./foo/subdir/dir1 +./subdir +./subdir/dir2 +B +./ +./subdir/ +./subdir/dir1/ +ABSPATH/ +ABSPATH/subdir/ +ABSPATH/subdir/dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr08.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_93 +#AT_START_94 +at_fn_group_banner 94 'incr09.at:26' \ + "incremental with alternating -C" " " 11 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "94. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/incr09.at:29: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo bar middle +echo foo/foo_file > foo/foo_file +echo bar/bar_file > bar/bar_file +echo middle/file > middle/middle_file +decho A +tar -cvf foo.tar --incremental -C foo . -C \`pwd\` middle -C bar . + +rm foo.tar +>toplevel_file +decho B +tar -cvf foo.tar --incremental -C foo . -C \`pwd\` toplevel_file -C bar . +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "incr09.at:29" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo bar middle +echo foo/foo_file > foo/foo_file +echo bar/bar_file > bar/bar_file +echo middle/file > middle/middle_file +decho A +tar -cvf foo.tar --incremental -C foo . -C `pwd` middle -C bar . + +rm foo.tar +>toplevel_file +decho B +tar -cvf foo.tar --incremental -C foo . -C `pwd` toplevel_file -C bar . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +tar: .: Directory is new +tar: middle: Directory is new +tar: .: Directory is new +B +tar: .: Directory is new +tar: .: Directory is new +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +./ +./ +middle/ +./bar_file +./foo_file +middle/middle_file +B +./ +./ +toplevel_file +./bar_file +./foo_file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/incr09.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_94 +#AT_START_95 +at_fn_group_banner 95 'filerem01.at:36' \ + "file removed as we read it (ca. 22 seconds)" " " 12 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "95. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/filerem01.at:39: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v dir >/dev/null +)" +at_fn_check_prepare_notrace 'an embedded newline' "filerem01.at:39" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v dir >/dev/null +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new +tar: dir/sub: Directory is new +tar: dir/file1: File removed before we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/filerem01.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/filerem01.at:39: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v dir >/dev/null +)" +at_fn_check_prepare_notrace 'an embedded newline' "filerem01.at:39" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v dir >/dev/null +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new +tar: dir/sub: Directory is new +tar: dir/file1: File removed before we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/filerem01.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +# Timing information: +# +# For -Hgnu the above command line takes about 8 seconds to execute and +# produces: +# +# tar: dir: Directory is new +# tar: dir/sub: Directory is new +# dir/ +# tar: Write checkpoint 1 +# tar: Write checkpoint 2 +# dir/sub/ +# tar: Write checkpoint 3 +# tar: Write checkpoint 4 +# dir/file1 +# tar: Write checkpoint 5 +# dir/sub/file2 +# tar: Write checkpoint 6 +# tar: Write checkpoint 7 +# tar: Write checkpoint 8 +# +# For -Hposix the above command line takes about 14 seconds to execute and +# produces: +# +# ./tar: dir: Directory is new +# ./tar: dir/sub: Directory is new +# dir/ +# ./tar: Write checkpoint 1 +# ./tar: Write checkpoint 2 +# ./tar: Write checkpoint 3 +# dir/sub/ +# ./tar: Write checkpoint 4 +# ./tar: Write checkpoint 5 +# ./tar: Write checkpoint 6 +# dir/file1 +# ./tar: Write checkpoint 7 +# ./tar: Write checkpoint 8 +# ./tar: Write checkpoint 9 +# dir/sub/file2 +# ./tar: Write checkpoint 10 +# ./tar: Write checkpoint 11 +# ./tar: Write checkpoint 12 +# ./tar: Write checkpoint 13 +# ./tar: Write checkpoint 14 + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_95 +#AT_START_96 +at_fn_group_banner 96 'filerem02.at:26' \ + "toplevel file removed (ca. 24 seconds)" " " 12 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "96. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/filerem02.at:29: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +)" +at_fn_check_prepare_notrace 'an embedded newline' "filerem02.at:29" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 2 $at_status "$at_srcdir/filerem02.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/filerem02.at:29: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +)" +at_fn_check_prepare_notrace 'an embedded newline' "filerem02.at:29" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 2 $at_status "$at_srcdir/filerem02.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +# Ignore stdout and stderr because their contents depend on +# the file system implementation. + +# Timing information: see filerem01.at + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_96 +#AT_START_97 +at_fn_group_banner 97 'rename01.at:24' \ + "renamed dirs in incrementals" " " 13 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "97. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/rename01.at:27: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/baz: Directory has been renamed from 'foo/bar' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/file1 +foo/file2 +foo/bar/file +Creating incremental archive +foo/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/file +foo/file1 +foo/file2 +End directory listing 1 +Begin directory listing 2 +foo +foo/baz +foo/baz/file +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/rename01.at:27: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/baz: Directory has been renamed from 'foo/bar' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/file1 +foo/file2 +foo/bar/file +Creating incremental archive +foo/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/file +foo/file1 +foo/file2 +End directory listing 1 +Begin directory listing 2 +foo +foo/baz +foo/baz/file +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/rename01.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/baz: Directory has been renamed from 'foo/bar' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/file1 +foo/file2 +foo/bar/file +Creating incremental archive +foo/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/file +foo/file1 +foo/file2 +End directory listing 1 +Begin directory listing 2 +foo +foo/baz +foo/baz/file +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_97 +#AT_START_98 +at_fn_group_banner 98 'rename02.at:24' \ + "move between hierarchies" " " 13 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "98. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/rename02.at:27: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr +sort tmperr >&2 + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/bar/baz: Directory is new +tar: foo/baz: Directory has been renamed from 'foo/bar/baz' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/bar/baz/ +foo/file1 +foo/file2 +foo/bar/file.r +foo/bar/baz/file.z +Creating incremental archive +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/baz +foo/bar/baz/file.z +foo/bar/file.r +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 2 +foo +foo/bar +foo/bar/file.r +foo/baz +foo/baz/file.z +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/rename02.at:27: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr +sort tmperr >&2 + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/bar/baz: Directory is new +tar: foo/baz: Directory has been renamed from 'foo/bar/baz' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/bar/baz/ +foo/file1 +foo/file2 +foo/bar/file.r +foo/bar/baz/file.z +Creating incremental archive +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/baz +foo/bar/baz/file.z +foo/bar/file.r +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 2 +foo +foo/bar +foo/bar/file.r +foo/baz +foo/baz/file.z +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/rename02.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr +sort tmperr >&2 + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/bar/baz: Directory is new +tar: foo/baz: Directory has been renamed from 'foo/bar/baz' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/bar/baz/ +foo/file1 +foo/file2 +foo/bar/file.r +foo/bar/baz/file.z +Creating incremental archive +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/baz +foo/bar/baz/file.z +foo/bar/file.r +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 2 +foo +foo/bar +foo/bar/file.r +foo/baz +foo/baz/file.z +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_98 +#AT_START_99 +at_fn_group_banner 99 'rename03.at:23' \ + "cyclic renames" " " 13 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "99. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/rename03.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 + +mkdir foo/a +genfile --file foo/a/filea + +mkdir foo/b +genfile --file foo/b/fileb + +mkdir foo/c +genfile --file foo/c/filec + +sleep 1 + +echo \"First dump\" +echo \"First dump\">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a \$\$ +mv c a +mv b c +mv \$\$ b) + +echo \"Second dump\" +echo \"Second dump\" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 + +tar xfg arch.1 /dev/null --warning=no-timestamp + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 + +mkdir foo/a +genfile --file foo/a/filea + +mkdir foo/b +genfile --file foo/b/fileb + +mkdir foo/c +genfile --file foo/c/filec + +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 + +tar xfg arch.1 /dev/null --warning=no-timestamp + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "First dump +tar: foo/a: Directory is new +tar: foo/b: Directory is new +tar: foo/c: Directory is new +tar: foo: Directory is new +Second dump +tar: foo/a: Directory has been renamed from 'foo/c' +tar: foo/b: Directory has been renamed from 'foo/a' +tar: foo/c: Directory has been renamed from 'foo/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First dump +foo/ +foo/a/ +foo/b/ +foo/c/ +foo/file1 +foo/file2 +foo/a/filea +foo/b/fileb +foo/c/filec +Second dump +foo/ +foo/a/ +foo/b/ +foo/c/ +Begin directory listing 1 +foo +foo/a +foo/a/filea +foo/b +foo/b/fileb +foo/c +foo/c/filec +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/a/ +foo/b/ +foo/c/ +Begin directory listing 2 +foo +foo/a +foo/a/filec +foo/b +foo/b/filea +foo/c +foo/c/fileb +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/rename03.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 + +mkdir foo/a +genfile --file foo/a/filea + +mkdir foo/b +genfile --file foo/b/fileb + +mkdir foo/c +genfile --file foo/c/filec + +sleep 1 + +echo \"First dump\" +echo \"First dump\">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 -$at_failed && at_func_log_failure -$at_traceon; } +# Shuffle directories: +(cd foo +mv a \$\$ +mv c a +mv b c +mv \$\$ b) - { $at_traceoff -$as_echo "$at_srcdir/incr04.at:34: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +echo \"Second dump\" +echo \"Second dump\" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 + +tar xfg arch.1 /dev/null --warning=no-timestamp + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); - }' < /dev/null | genfile --files-from - +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 + +mkdir foo/a +genfile --file foo/a/filea + +mkdir foo/b +genfile --file foo/b/fileb + +mkdir foo/c +genfile --file foo/c/filec sleep 1 -echo \"Initial dump\" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo \"Incremental dump\" -tar cvf a1.tar -g a.sna a -)" -echo incr04.at:34 >"$at_check_line_file" +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 + +tar xfg arch.1 /dev/null --warning=no-timestamp + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "First dump +tar: foo/a: Directory is new +tar: foo/b: Directory is new +tar: foo/c: Directory is new +tar: foo: Directory is new +Second dump +tar: foo/a: Directory has been renamed from 'foo/c' +tar: foo/b: Directory has been renamed from 'foo/a' +tar: foo/c: Directory has been renamed from 'foo/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First dump +foo/ +foo/a/ +foo/b/ +foo/c/ +foo/file1 +foo/file2 +foo/a/filea +foo/b/fileb +foo/c/filec +Second dump +foo/ +foo/a/ +foo/b/ +foo/c/ +Begin directory listing 1 +foo +foo/a +foo/a/filea +foo/b +foo/b/fileb +foo/c +foo/c/filec +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/a/ +foo/b/ +foo/c/ +Begin directory listing 2 +foo +foo/a +foo/a/filec +foo/b +foo/b/filea +foo/c +foo/c/fileb +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/rename03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 + +mkdir foo/a +genfile --file foo/a/filea + +mkdir foo/b +genfile --file foo/b/fileb + +mkdir foo/c +genfile --file foo/c/filec sleep 1 -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +echo \"First dump\" +echo \"First dump\">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a \$\$ +mv c a +mv b c +mv \$\$ b) + +echo \"Second dump\" +echo \"Second dump\" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 + +tar xfg arch.1 /dev/null --warning=no-timestamp + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -21845,209 +23878,136 @@ export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 + +mkdir foo/a +genfile --file foo/a/filea + +mkdir foo/b +genfile --file foo/b/fileb + +mkdir foo/c +genfile --file foo/c/filec sleep 1 -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: a: Directory is new -tar: a/b: Directory is new -tar: a/c: Directory has been renamed from \`a/b' +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 + +tar xfg arch.1 /dev/null --warning=no-timestamp + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null --warning=no-timestamp +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "First dump +tar: foo/a: Directory is new +tar: foo/b: Directory is new +tar: foo/c: Directory is new +tar: foo: Directory is new +Second dump +tar: foo/a: Directory has been renamed from 'foo/c' +tar: foo/b: Directory has been renamed from 'foo/a' +tar: foo/c: Directory has been renamed from 'foo/b' " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Initial dump -a/ -a/b/ -a/b/one_31_chars_long_file_name_001 -a/b/one_31_chars_long_file_name_002 -a/b/one_31_chars_long_file_name_003 -a/b/one_31_chars_long_file_name_004 -a/b/one_31_chars_long_file_name_005 -a/b/one_31_chars_long_file_name_006 -a/b/one_31_chars_long_file_name_007 -a/b/one_31_chars_long_file_name_008 -a/b/one_31_chars_long_file_name_009 -a/b/one_31_chars_long_file_name_010 -a/b/one_31_chars_long_file_name_011 -a/b/one_31_chars_long_file_name_012 -a/b/one_31_chars_long_file_name_013 -a/b/one_31_chars_long_file_name_014 -a/b/one_31_chars_long_file_name_015 -a/b/one_31_chars_long_file_name_016 -a/b/one_31_chars_long_file_name_017 -a/b/one_31_chars_long_file_name_018 -a/b/one_31_chars_long_file_name_019 -a/b/one_31_chars_long_file_name_020 -a/b/one_31_chars_long_file_name_021 -a/b/one_31_chars_long_file_name_022 -a/b/one_31_chars_long_file_name_023 -a/b/one_31_chars_long_file_name_024 -a/b/one_31_chars_long_file_name_025 -a/b/one_31_chars_long_file_name_026 -a/b/one_31_chars_long_file_name_027 -a/b/one_31_chars_long_file_name_028 -a/b/one_31_chars_long_file_name_029 -a/b/one_31_chars_long_file_name_030 -a/b/one_31_chars_long_file_name_031 -a/b/one_31_chars_long_file_name_032 -a/b/one_31_chars_long_file_name_033 -a/b/one_31_chars_long_file_name_034 -a/b/one_31_chars_long_file_name_035 -a/b/one_31_chars_long_file_name_036 -a/b/one_31_chars_long_file_name_037 -a/b/one_31_chars_long_file_name_038 -a/b/one_31_chars_long_file_name_039 -a/b/one_31_chars_long_file_name_040 -a/b/one_31_chars_long_file_name_041 -a/b/one_31_chars_long_file_name_042 -a/b/one_31_chars_long_file_name_043 -a/b/one_31_chars_long_file_name_044 -a/b/one_31_chars_long_file_name_045 -a/b/one_31_chars_long_file_name_046 -a/b/one_31_chars_long_file_name_047 -a/b/one_31_chars_long_file_name_048 -a/b/one_31_chars_long_file_name_049 -a/b/one_31_chars_long_file_name_050 -a/b/one_31_chars_long_file_name_051 -a/b/one_31_chars_long_file_name_052 -a/b/one_31_chars_long_file_name_053 -a/b/one_31_chars_long_file_name_054 -a/b/one_31_chars_long_file_name_055 -a/b/one_31_chars_long_file_name_056 -a/b/one_31_chars_long_file_name_057 -a/b/one_31_chars_long_file_name_058 -a/b/one_31_chars_long_file_name_059 -a/b/one_31_chars_long_file_name_060 -a/b/one_31_chars_long_file_name_061 -a/b/one_31_chars_long_file_name_062 -a/b/one_31_chars_long_file_name_063 -a/b/one_31_chars_long_file_name_064 -a/b/one_31_chars_long_file_name_065 -a/b/one_31_chars_long_file_name_066 -a/b/one_31_chars_long_file_name_067 -a/b/one_31_chars_long_file_name_068 -a/b/one_31_chars_long_file_name_069 -a/b/one_31_chars_long_file_name_070 -a/b/one_31_chars_long_file_name_071 -a/b/one_31_chars_long_file_name_072 -a/b/one_31_chars_long_file_name_073 -a/b/one_31_chars_long_file_name_074 -a/b/one_31_chars_long_file_name_075 -a/b/one_31_chars_long_file_name_076 -a/b/one_31_chars_long_file_name_077 -a/b/one_31_chars_long_file_name_078 -a/b/one_31_chars_long_file_name_079 -a/b/one_31_chars_long_file_name_080 -a/b/one_31_chars_long_file_name_081 -a/b/one_31_chars_long_file_name_082 -a/b/one_31_chars_long_file_name_083 -a/b/one_31_chars_long_file_name_084 -a/b/one_31_chars_long_file_name_085 -a/b/one_31_chars_long_file_name_086 -a/b/one_31_chars_long_file_name_087 -a/b/one_31_chars_long_file_name_088 -a/b/one_31_chars_long_file_name_089 -a/b/one_31_chars_long_file_name_090 -a/b/one_31_chars_long_file_name_091 -a/b/one_31_chars_long_file_name_092 -a/b/one_31_chars_long_file_name_093 -a/b/one_31_chars_long_file_name_094 -a/b/one_31_chars_long_file_name_095 -a/b/one_31_chars_long_file_name_096 -a/b/one_31_chars_long_file_name_097 -a/b/one_31_chars_long_file_name_098 -a/b/one_31_chars_long_file_name_099 -a/b/one_31_chars_long_file_name_100 -a/b/one_31_chars_long_file_name_101 -a/b/one_31_chars_long_file_name_102 -a/b/one_31_chars_long_file_name_103 -a/b/one_31_chars_long_file_name_104 -a/b/one_31_chars_long_file_name_105 -a/b/one_31_chars_long_file_name_106 -a/b/one_31_chars_long_file_name_107 -a/b/one_31_chars_long_file_name_108 -a/b/one_31_chars_long_file_name_109 -a/b/one_31_chars_long_file_name_110 -a/b/one_31_chars_long_file_name_111 -a/b/one_31_chars_long_file_name_112 -a/b/one_31_chars_long_file_name_113 -a/b/one_31_chars_long_file_name_114 -a/b/one_31_chars_long_file_name_115 -a/b/one_31_chars_long_file_name_116 -a/b/one_31_chars_long_file_name_117 -a/b/one_31_chars_long_file_name_118 -a/b/one_31_chars_long_file_name_119 -a/b/one_31_chars_long_file_name_120 -a/b/one_31_chars_long_file_name_121 -a/b/one_31_chars_long_file_name_122 -a/b/one_31_chars_long_file_name_123 -a/b/one_31_chars_long_file_name_124 -a/b/one_31_chars_long_file_name_125 -a/b/one_31_chars_long_file_name_126 -a/b/one_31_chars_long_file_name_127 -a/b/one_31_chars_long_file_name_128 -a/b/one_31_chars_long_file_name_129 -a/b/one_31_chars_long_file_name_130 -a/b/one_31_chars_long_file_name_131 -a/b/one_31_chars_long_file_name_132 -a/b/one_31_chars_long_file_name_133 -a/b/one_31_chars_long_file_name_134 -a/b/one_31_chars_long_file_name_135 -a/b/one_31_chars_long_file_name_136 -a/b/one_31_chars_long_file_name_137 -a/b/one_31_chars_long_file_name_138 -a/b/one_31_chars_long_file_name_139 -a/b/one_31_chars_long_file_name_140 -a/b/one_31_chars_long_file_name_141 -a/b/one_31_chars_long_file_name_142 -Incremental dump -a/ -a/c/ +echo >>"$at_stdout"; $as_echo "First dump +foo/ +foo/a/ +foo/b/ +foo/c/ +foo/file1 +foo/file2 +foo/a/filea +foo/b/fileb +foo/c/filec +Second dump +foo/ +foo/a/ +foo/b/ +foo/c/ +Begin directory listing 1 +foo +foo/a +foo/a/filea +foo/b +foo/b/fileb +foo/c +foo/c/filec +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/a/ +foo/b/ +foo/c/ +Begin directory listing 2 +foo +foo/a +foo/a/filec +foo/b +foo/b/filea +foo/c +foo/c/fileb +foo/file1 +foo/file2 +End directory listing 2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr04.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_59 -#AT_START_60 -# 60. incr05.at:19: incremental dumps with -C -at_setup_line='incr05.at:19' -at_desc="incremental dumps with -C" -$at_quiet $as_echo_n " 60: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_99 +#AT_START_100 +at_fn_group_banner 100 'rename04.at:27' \ + "renamed directory containing subdirectories" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "60. incr05.at:19: testing ..." + $as_echo "100. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/incr05.at:22: + { set +x +$as_echo "$at_srcdir/rename04.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22056,46 +24016,37 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -)" -echo incr05.at:22 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +decho Renaming +mv directory dir -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename04.at:30" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22104,40 +24055,65 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Level 0 -./ -./sub/ -./file1 -./sub/file2 -Level 1 -./ -./sub/ -./file3 +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename04.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr05.at:22: + { set +x +$as_echo "$at_srcdir/rename04.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22146,46 +24122,37 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -)" -echo incr05.at:22 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +decho Renaming +mv directory dir -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename04.at:30" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22194,40 +24161,65 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Level 0 -./ -./sub/ -./file1 -./sub/file2 -Level 1 -./ -./sub/ -./file3 + +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename04.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr05.at:22: + { set +x +$as_echo "$at_srcdir/rename04.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22236,46 +24228,37 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -)" -echo incr05.at:22 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +decho Renaming +mv directory dir -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename04.at:30" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22284,64 +24267,86 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -echo Level 0 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile --file dir/file3 -echo Level 1 -tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Level 0 -./ -./sub/ -./file1 -./sub/file2 -Level 1 -./ -./sub/ -./file3 + +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr05.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename04.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_60 -#AT_START_61 -# 61. incr06.at:19: incremental dumps of nested directories -at_setup_line='incr06.at:19' -at_desc="incremental dumps of nested directories" -$at_quiet $as_echo_n " 61: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_100 +#AT_START_101 +at_fn_group_banner 101 'rename05.at:24' \ + "renamed subdirectories" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "61. incr06.at:19: testing ..." + $as_echo "101. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/incr06.at:22: + { set +x +$as_echo "$at_srcdir/rename05.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22350,64 +24355,38 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir dir/c -genfile --file dir/sub/b/file4 -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -)" -echo incr06.at:22 >"$at_check_line_file" +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -mkdir dir/c -genfile --file dir/sub/b/file4 +mv dir orig -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +decho First restore +tar -xf archive.1 -g db.1 --warning=no-timestamp +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 --warning=no-timestamp +find dir | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename05.at:27" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22416,70 +24395,66 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir dir/c -genfile --file dir/sub/b/file4 -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Level 0 . sub -./ -sub/ -sub/a/ -sub/b/ -./file1 -sub/file2 -sub/a/file3 -Level 0 sub . -./ -sub/ -sub/a/ -sub/b/ -./file1 -sub/file2 -sub/a/file3 -Level 1 . sub -./ -./c/ -sub/ -sub/a/ -sub/b/ -sub/b/file4 -Level 1 sub . -./ -./c/ -sub/ -sub/a/ -sub/b/ -sub/b/file4 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 --warning=no-timestamp +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 --warning=no-timestamp +find dir | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir.0 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr06.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename05.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr06.at:22: + { set +x +$as_echo "$at_srcdir/rename05.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22488,64 +24463,38 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir dir/c -genfile --file dir/sub/b/file4 -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -)" -echo incr06.at:22 >"$at_check_line_file" +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -mkdir dir/c -genfile --file dir/sub/b/file4 +mv dir orig -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +decho First restore +tar -xf archive.1 -g db.1 --warning=no-timestamp +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 --warning=no-timestamp +find dir | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename05.at:27" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22554,70 +24503,66 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir dir/c -genfile --file dir/sub/b/file4 -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Level 0 . sub -./ -sub/ -sub/a/ -sub/b/ -./file1 -sub/file2 -sub/a/file3 -Level 0 sub . -./ -sub/ -sub/a/ -sub/b/ -./file1 -sub/file2 -sub/a/file3 -Level 1 . sub -./ -./c/ -sub/ -sub/a/ -sub/b/ -sub/b/file4 -Level 1 sub . -./ -./c/ -sub/ -sub/a/ -sub/b/ -sub/b/file4 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 --warning=no-timestamp +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 --warning=no-timestamp +find dir | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir.0 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr06.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename05.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/incr06.at:22: + { set +x +$as_echo "$at_srcdir/rename05.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22626,64 +24571,38 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir dir/c -genfile --file dir/sub/b/file4 -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -)" -echo incr06.at:22 >"$at_check_line_file" +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -mkdir dir/c -genfile --file dir/sub/b/file4 +mv dir orig -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +decho First restore +tar -xf archive.1 -g db.1 --warning=no-timestamp +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 --warning=no-timestamp +find dir | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "rename05.at:27" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22692,94 +24611,87 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -mkdir dir/sub/a -mkdir dir/sub/b -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --file dir/sub/a/file3 -echo Level 0 . sub -tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 0 sub . -tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir dir/c -genfile --file dir/sub/b/file4 -echo Level 1 . sub -tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub -echo Level 1 sub . -tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Level 0 . sub -./ -sub/ -sub/a/ -sub/b/ -./file1 -sub/file2 -sub/a/file3 -Level 0 sub . -./ -sub/ -sub/a/ -sub/b/ -./file1 -sub/file2 -sub/a/file3 -Level 1 . sub -./ -./c/ -sub/ -sub/a/ -sub/b/ -sub/b/file4 -Level 1 sub . -./ -./c/ -sub/ -sub/a/ -sub/b/ -sub/b/file4 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 --warning=no-timestamp +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 --warning=no-timestamp +find dir | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir.0 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/incr06.at:22" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/rename05.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_61 -#AT_START_62 -# 62. filerem01.at:34: file removed as we read it (ca. 22 seconds) -at_setup_line='filerem01.at:34' -at_desc="file removed as we read it (ca. 22 seconds)" -$at_quiet $as_echo_n " 62: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_101 +#AT_START_102 +at_fn_group_banner 102 'chtype.at:27' \ + "changed file types in incrementals" " " 13 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "62. filerem01.at:34: testing ..." + $as_echo "102. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/filerem01.at:37: + { set +x +$as_echo "$at_srcdir/chtype.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22788,42 +24700,39 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -genfile --run --checkpoint=3 --unlink dir/file1 -- \\ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ - --checkpoint-action='echo' -c -f archive.tar \\ - --listed-incremental db -v dir >/dev/null -)" -echo filerem01.at:37 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -genfile --run --checkpoint=3 --unlink dir/file1 -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v dir >/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory + +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp +find directory | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:30" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22832,259 +24741,159 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 - -genfile --run --checkpoint=3 --unlink dir/file1 -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v dir >/dev/null -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new -tar: dir/sub: Directory is new -tar: dir/file1: File removed before we read it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_func_check_status 1 $at_status "$at_srcdir/filerem01.at:37" -$at_failed && at_func_log_failure -$at_traceon; } +test -z "`sort < /dev/null 2>&1`" || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/filerem01.at:37: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -genfile --run --checkpoint=3 --unlink dir/file1 -- \\ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ - --checkpoint-action='echo' -c -f archive.tar \\ - --listed-incremental db -v dir >/dev/null -)" -echo filerem01.at:37 >"$at_check_line_file" +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +sleep 2 -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -genfile --run --checkpoint=3 --unlink dir/file1 -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v dir >/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 +# Delete a +rm -r directory -genfile --run --checkpoint=3 --unlink dir/file1 -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v dir >/dev/null -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new -tar: dir/sub: Directory is new -tar: dir/file1: File removed before we read it +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp +find directory | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First backup +Second backup +Restore archive.1 +Restore archive.2 +directory +directory/a +directory/a/a +directory/a/b +directory/b " | \ - $at_diff - "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_func_check_status 1 $at_status "$at_srcdir/filerem01.at:37" - -$at_failed && at_func_log_failure + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:30" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/chtype.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * - -# Timing information: -# -# For -Hgnu the above command line takes about 8 seconds to execute and -# produces: -# -# tar: dir: Directory is new -# tar: dir/sub: Directory is new -# dir/ -# tar: Write checkpoint 1 -# tar: Write checkpoint 2 -# dir/sub/ -# tar: Write checkpoint 3 -# tar: Write checkpoint 4 -# dir/file1 -# tar: Write checkpoint 5 -# dir/sub/file2 -# tar: Write checkpoint 6 -# tar: Write checkpoint 7 -# tar: Write checkpoint 8 -# -# For -Hposix the above command line takes about 14 seconds to execute and -# produces: -# -# ./tar: dir: Directory is new -# ./tar: dir/sub: Directory is new -# dir/ -# ./tar: Write checkpoint 1 -# ./tar: Write checkpoint 2 -# ./tar: Write checkpoint 3 -# dir/sub/ -# ./tar: Write checkpoint 4 -# ./tar: Write checkpoint 5 -# ./tar: Write checkpoint 6 -# dir/file1 -# ./tar: Write checkpoint 7 -# ./tar: Write checkpoint 8 -# ./tar: Write checkpoint 9 -# dir/sub/file2 -# ./tar: Write checkpoint 10 -# ./tar: Write checkpoint 11 -# ./tar: Write checkpoint 12 -# ./tar: Write checkpoint 13 -# ./tar: Write checkpoint 14 - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_62 -#AT_START_63 -# 63. filerem02.at:24: toplevel file removed (ca. 24 seconds) -at_setup_line='filerem02.at:24' -at_desc="toplevel file removed (ca. 24 seconds)" -$at_quiet $as_echo_n " 63: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "63. filerem02.at:24: testing ..." - $at_traceon +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory +sleep 2 - { $at_traceoff -$as_echo "$at_srcdir/filerem02.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -mkdir dir2 -genfile --file dir2/file1 +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ - --checkpoint-action='echo' -c -f archive.tar \\ - --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null -)" -echo filerem02.at:27 >"$at_check_line_file" +# Delete a +rm -r directory -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp +find directory | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -mkdir dir2 -genfile --file dir2/file1 -genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -mkdir dir2 -genfile --file dir2/file1 -genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27" +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a + +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -$at_failed && at_func_log_failure +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp +find directory | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First backup +Second backup +Restore archive.1 +Restore archive.2 +directory +directory/a +directory/a/a +directory/a/b +directory/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/filerem02.at:27: + { set +x +$as_echo "$at_srcdir/chtype.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23093,46 +24902,39 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -mkdir dir2 -genfile --file dir2/file1 -genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ - --checkpoint-action='echo' -c -f archive.tar \\ - --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null -)" -echo filerem02.at:27 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -mkdir dir2 -genfile --file dir2/file1 +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory + +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp +find directory | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:30" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23141,224 +24943,203 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir dir -mkdir dir/sub -genfile --file dir/file1 -genfile --file dir/sub/file2 -mkdir dir2 -genfile --file dir2/file1 - -genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ - tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ - --checkpoint-action='echo' -c -f archive.tar \ - --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - -# Ignore stdout and stderr because their contents depend on -# the file system implementation. - -# Timing information: see filerem01.at - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_63 -#AT_START_64 -# 64. rename01.at:24: renamed dirs in incrementals -at_setup_line='rename01.at:24' -at_desc="renamed dirs in incrementals" -$at_quiet $as_echo_n " 64: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "64. rename01.at:24: testing ..." - $at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory +sleep 2 - { $at_traceoff -$as_echo "$at_srcdir/rename01.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Delete a +rm -r directory +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp +find directory | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First backup +Second backup +Restore archive.1 +Restore archive.2 +directory +directory/a +directory/a/a +directory/a/b +directory/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo -mv foo/bar foo/baz -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_102 +#AT_START_103 +at_fn_group_banner 103 'ignfail.at:23' \ + "ignfail" " " 14 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "103. $at_setup_line: testing $at_desc ..." + $at_traceon -mv foo old -tar xfg arch.1 /dev/null -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -)" -echo rename01.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/ignfail.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -mv foo/bar foo/baz -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -mv foo/bar foo/baz -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new -tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar' +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating base archive -foo/ -foo/bar/ -foo/file1 -foo/file2 -foo/bar/file -Creating incremental archive -foo/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/file -foo/file1 -foo/file2 -End directory listing 1 -Begin directory listing 2 -foo -foo/baz -foo/baz/file -foo/file1 -foo/file2 -End directory listing 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename01.at:27" - -$at_failed && at_func_log_failure +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename01.at:27: + { set +x +$as_echo "$at_srcdir/ignfail.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23367,42 +25148,50 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file - -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -mv foo/bar foo/baz -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 )" -echo rename01.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23411,119 +25200,194 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +touch file +mkdir directory +touch directory/file + +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + { set +x +$as_echo "$at_srcdir/ignfail.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file +# The test is meaningless for super-user. -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -mv foo/bar foo/baz -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -mv foo/bar foo/baz -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new -tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar' +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating base archive -foo/ -foo/bar/ -foo/file1 -foo/file2 -foo/bar/file -Creating incremental archive -foo/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/file -foo/file1 -foo/file2 -End directory listing 1 -Begin directory listing 2 -foo -foo/baz -foo/baz/file -foo/file1 -foo/file2 -End directory listing 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename01.at:27" - -$at_failed && at_func_log_failure +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename01.at:27: + { set +x +$as_echo "$at_srcdir/ignfail.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23532,657 +25396,741 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file +touch file +mkdir directory +touch directory/file -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -mv foo/bar foo/baz +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -mv foo old +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -tar xfg arch.1 /dev/null +# The test is meaningless for super-user. -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -)" -echo rename01.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +touch file +mkdir directory +touch directory/file + +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/ignfail.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -mv foo/bar foo/baz -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 +)" +at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -mv foo/bar foo/baz -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +touch file +mkdir directory +touch directory/file -mv foo old +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -tar xfg arch.1 /dev/null +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -tar xfg arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new -tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar' +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating base archive -foo/ -foo/bar/ -foo/file1 -foo/file2 -foo/bar/file -Creating incremental archive -foo/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/file -foo/file1 -foo/file2 -End directory listing 1 -Begin directory listing 2 -foo -foo/baz -foo/baz/file -foo/file1 -foo/file2 -End directory listing 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename01.at:27" - -$at_failed && at_func_log_failure +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_64 -#AT_START_65 -# 65. rename02.at:24: move between hierarchies -at_setup_line='rename02.at:24' -at_desc="move between hierarchies" -$at_quiet $as_echo_n " 65: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_103 +#AT_START_104 +at_fn_group_banner 104 'link01.at:33' \ + "link count gt 2" " " 15 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "65. rename02.at:24: testing ..." + $as_echo "104. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/rename02.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/link01.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 - -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo - -mv foo/bar/baz foo - -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo - -mv foo old +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +rm -r directory +tar xf archive --warning=no-timestamp -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +ls directory/test1 )" -echo rename02.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo - -mv foo/bar/baz foo - -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -mv foo old +tar cf archive directory/test1/test.txt directory/test1/test.txt -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +rm -r directory +tar xf archive --warning=no-timestamp -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +ls directory/test1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "test.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/link01.at:36: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -sleep 1 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +rm -r directory +tar xf archive --warning=no-timestamp -mv foo/bar/baz foo +ls directory/test1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -mv foo old +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +rm -r directory +tar xf archive --warning=no-timestamp -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new -tar: foo/bar: Directory is new -tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar/baz' -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating base archive -foo/ -foo/bar/ -foo/bar/baz/ -foo/file1 -foo/file2 -foo/bar/file.r -foo/bar/baz/file.z -Creating incremental archive -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/baz -foo/bar/baz/file.z -foo/bar/file.r -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 2 -foo -foo/bar -foo/bar/file.r -foo/baz -foo/baz/file.z -foo/file1 -foo/file2 -End directory listing 2 +ls directory/test1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename02.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename02.at:27: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/link01.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -sleep 1 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +rm -r directory +tar xf archive --warning=no-timestamp -mv foo/bar/baz foo +ls directory/test1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -mv foo old +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +rm -r directory +tar xf archive --warning=no-timestamp -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -)" -echo rename02.at:27 >"$at_check_line_file" +ls directory/test1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "test.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/link01.at:36: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -sleep 1 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +rm -r directory +tar xf archive --warning=no-timestamp -mv foo/bar/baz foo +ls directory/test1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -mv foo old +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +rm -r directory +tar xf archive --warning=no-timestamp -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +ls directory/test1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "test.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/link01.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -sleep 1 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +rm -r directory +tar xf archive --warning=no-timestamp -mv foo/bar/baz foo +ls directory/test1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -mv foo old +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +tar cf archive directory/test1/test.txt directory/test1/test.txt -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +rm -r directory +tar xf archive --warning=no-timestamp -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new -tar: foo/bar: Directory is new -tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar/baz' -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating base archive -foo/ -foo/bar/ -foo/bar/baz/ -foo/file1 -foo/file2 -foo/bar/file.r -foo/bar/baz/file.z -Creating incremental archive -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/baz -foo/bar/baz/file.z -foo/bar/file.r -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 2 -foo -foo/bar -foo/bar/file.r -foo/baz -foo/baz/file.z -foo/file1 -foo/file2 -End directory listing 2 +ls directory/test1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "test.txt " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename02.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename02.at:27: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z -sleep 1 -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_104 +#AT_START_105 +at_fn_group_banner 105 'link02.at:32' \ + "preserve hard links with --remove-files" " " 15 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "105. $at_setup_line: testing $at_desc ..." + $at_traceon -mv foo/bar/baz foo -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo -mv foo old -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" + { set +x +$as_echo "$at_srcdir/link02.at:35: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" -echo rename02.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +at_fn_check_prepare_notrace 'an embedded newline' "link02.at:35" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link02.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 + { set +x +$as_echo "$at_srcdir/link02.at:35: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +)" +at_fn_check_prepare_notrace 'an embedded newline' "link02.at:35" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -mv foo/bar/baz foo +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link02.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo + { set +x +$as_echo "$at_srcdir/link02.at:35: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -mv foo old +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +)" +at_fn_check_prepare_notrace 'an embedded newline' "link02.at:35" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link02.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" + { set +x +$as_echo "$at_srcdir/link02.at:35: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +)" +at_fn_check_prepare_notrace 'an embedded newline' "link02.at:35" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -24191,116 +26139,28 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo - -mv foo/bar/baz foo - -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo - -mv foo old - -tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr -sort tmperr >&2 - -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" - -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new -tar: foo/bar: Directory is new -tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar/baz' -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating base archive -foo/ -foo/bar/ -foo/bar/baz/ -foo/file1 -foo/file2 -foo/bar/file.r -foo/bar/baz/file.z -Creating incremental archive -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/baz -foo/bar/baz/file.z -foo/bar/file.r -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 2 -foo -foo/bar -foo/bar/file.r -foo/baz -foo/baz/file.z -foo/file1 -foo/file2 -End directory listing 2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file1 +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename02.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link02.at:35" +$at_failed && at_fn_log_failure $at_traceon; } - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_65 -#AT_START_66 -# 66. rename03.at:23: cyclic renames -at_setup_line='rename03.at:23' -at_desc="cyclic renames" -$at_quiet $as_echo_n " 66: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "66. rename03.at:23: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/rename03.at:26: + { set +x +$as_echo "$at_srcdir/link02.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24309,58 +26169,15 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 - -echo \"First dump\" -echo \"First dump\">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 - -# Shuffle directories: -(cd foo -mv a \$\$ -mv c a -mv b c -mv \$\$ b) - -echo \"Second dump\" -echo \"Second dump\" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 - -tar xfg arch.1 /dev/null --warning=no-timestamp - -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" - -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" -echo rename03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "link02.at:35" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24369,175 +26186,126 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link02.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_105 +#AT_START_106 +at_fn_group_banner 106 'link03.at:24' \ + "working -l with --remove-files" " " 15 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "106. $at_setup_line: testing $at_desc ..." + $at_traceon -tar xfg arch.1 /dev/null --warning=no-timestamp -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 + { set +x +$as_echo "$at_srcdir/link03.at:34: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * -mkdir foo/a -genfile --file foo/a/filea -mkdir foo/b -genfile --file foo/b/fileb +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -mkdir foo/c -genfile --file foo/c/filec +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -sleep 1 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +at_fn_check_prepare_notrace 'an embedded newline' "link03.at:34" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfg arch.1 /dev/null --warning=no-timestamp +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "First dump -tar: foo/a: Directory is new -tar: foo/b: Directory is new -tar: foo/c: Directory is new -tar: foo: Directory is new -Second dump -tar: foo/a: Directory has been renamed from \`foo/c' -tar: foo/b: Directory has been renamed from \`foo/a' -tar: foo/c: Directory has been renamed from \`foo/b' +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Missing links to 'file1'. " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "First dump -foo/ -foo/a/ -foo/b/ -foo/c/ -foo/file1 -foo/file2 -foo/a/filea -foo/b/fileb -foo/c/filec -Second dump -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 1 -foo -foo/a -foo/a/filea -foo/b -foo/b/fileb -foo/c -foo/c/filec -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 2 -foo -foo/a -foo/a/filec -foo/b -foo/b/filea -foo/c -foo/c/fileb -foo/file1 -foo/file2 -End directory listing 2 +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link03.at:34" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename03.at:26: + { set +x +$as_echo "$at_srcdir/link03.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -24547,57 +26315,26 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 - -echo \"First dump\" -echo \"First dump\">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 - -# Shuffle directories: -(cd foo -mv a \$\$ -mv c a -mv b c -mv \$\$ b) - -echo \"Second dump\" -echo \"Second dump\" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfg arch.1 /dev/null --warning=no-timestamp +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' )" -echo rename03.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "link03.at:34" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -24607,174 +26344,118 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 - -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 - -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -tar xfg arch.1 /dev/null --warning=no-timestamp +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Missing links to 'file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link03.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/link03.at:34: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -mkdir foo/c -genfile --file foo/c/filec +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -sleep 1 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +at_fn_check_prepare_notrace 'an embedded newline' "link03.at:34" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfg arch.1 /dev/null --warning=no-timestamp +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "First dump -tar: foo/a: Directory is new -tar: foo/b: Directory is new -tar: foo/c: Directory is new -tar: foo: Directory is new -Second dump -tar: foo/a: Directory has been renamed from \`foo/c' -tar: foo/b: Directory has been renamed from \`foo/a' -tar: foo/c: Directory has been renamed from \`foo/b' +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Missing links to 'file1'. " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "First dump -foo/ -foo/a/ -foo/b/ -foo/c/ -foo/file1 -foo/file2 -foo/a/filea -foo/b/fileb -foo/c/filec -Second dump -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 1 -foo -foo/a -foo/a/filea -foo/b -foo/b/fileb -foo/c -foo/c/filec -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 2 -foo -foo/a -foo/a/filec -foo/b -foo/b/filea -foo/c -foo/c/fileb -foo/file1 -foo/file2 -End directory listing 2 +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link03.at:34" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename03.at:26: + { set +x +$as_echo "$at_srcdir/link03.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -24784,340 +26465,501 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -mkdir foo/a -genfile --file foo/a/filea +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +at_fn_check_prepare_notrace 'an embedded newline' "link03.at:34" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -mkdir foo/b -genfile --file foo/b/fileb -mkdir foo/c -genfile --file foo/c/filec +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -sleep 1 +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -echo \"First dump\" -echo \"First dump\">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -# Shuffle directories: -(cd foo -mv a \$\$ -mv c a -mv b c -mv \$\$ b) +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Missing links to 'file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link03.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -echo \"Second dump\" -echo \"Second dump\" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 + { set +x +$as_echo "$at_srcdir/link03.at:34: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -tar xfg arch.1 /dev/null --warning=no-timestamp -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' )" -echo rename03.at:26 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "link03.at:34" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: Missing links to 'file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link03.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/a -genfile --file foo/a/filea + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_106 +#AT_START_107 +at_fn_group_banner 107 'link04.at:29' \ + "link count is 1 but multiple occurrences" " " 15 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "107. $at_setup_line: testing $at_desc ..." + $at_traceon -mkdir foo/b -genfile --file foo/b/fileb -mkdir foo/c -genfile --file foo/c/filec -sleep 1 -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) + { set +x +$as_echo "$at_srcdir/link04.at:32: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo == -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +)" +at_fn_check_prepare_notrace 'an embedded newline' "link04.at:32" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -test -z "`sort < /dev/null 2>&1`" || exit 77 - +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 +echo == -mkdir foo/a -genfile --file foo/a/filea +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -mkdir foo/b -genfile --file foo/b/fileb + { set +x +$as_echo "$at_srcdir/link04.at:32: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -mkdir foo/c -genfile --file foo/c/filec +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -sleep 1 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +echo == -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +)" +at_fn_check_prepare_notrace 'an embedded newline' "link04.at:32" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -tar xfg arch.1 /dev/null --warning=no-timestamp +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +echo == -tar xfgv arch.2 /dev/null --warning=no-timestamp -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "First dump -tar: foo/a: Directory is new -tar: foo/b: Directory is new -tar: foo/c: Directory is new -tar: foo: Directory is new -Second dump -tar: foo/a: Directory has been renamed from \`foo/c' -tar: foo/b: Directory has been renamed from \`foo/a' -tar: foo/c: Directory has been renamed from \`foo/b' -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "First dump -foo/ -foo/a/ -foo/b/ -foo/c/ -foo/file1 -foo/file2 -foo/a/filea -foo/b/fileb -foo/c/filec -Second dump -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 1 -foo -foo/a -foo/a/filea -foo/b -foo/b/fileb -foo/c -foo/c/filec -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 2 -foo -foo/a -foo/a/filec -foo/b -foo/b/filea -foo/c -foo/c/fileb -foo/file1 -foo/file2 -End directory listing 2 +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename03.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link04.at:32" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/link04.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_66 -#AT_START_67 -# 67. rename04.at:27: renamed directory containing subdirectories -at_setup_line='rename04.at:27' -at_desc="renamed directory containing subdirectories" -$at_quiet $as_echo_n " 67: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "67. rename04.at:27: testing ..." - $at_traceon +echo == +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +)" +at_fn_check_prepare_notrace 'an embedded newline' "link04.at:32" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort +echo == - { $at_traceoff -$as_echo "$at_srcdir/rename04.at:30: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/link04.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo == -decho Renaming -mv directory dir +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +)" +at_fn_check_prepare_notrace 'an embedded newline' "link04.at:32" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -mv dir orig +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo == -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -)" -echo rename04.at:30 >"$at_check_line_file" +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link04.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/link04.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory dir - -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir - -mv dir orig +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo == -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +)" +at_fn_check_prepare_notrace 'an embedded newline' "link04.at:32" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -25126,873 +26968,924 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory dir - -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir - -mv dir orig +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo == -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename04.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/link04.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename04.at:30: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_107 +#AT_START_108 +at_fn_group_banner 108 'longv7.at:24' \ + "long names in V7 archives" " " 16 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "108. $at_setup_line: testing $at_desc ..." + $at_traceon -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -)" -echo rename04.at:30 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/longv7.at:30: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems +touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems +echo separator +tar tf archive +)" +at_fn_check_prepare_notrace 'an embedded newline' "longv7.at:30" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -decho Renaming -mv directory dir +mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems +touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems +echo separator +tar tf archive +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c: file name is too long (max 99); not dumped +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +this_is_a_very_long_name_for_a_directory_which_causes_problems/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/longv7.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_108 +#AT_START_109 +at_fn_group_banner 109 'long01.at:28' \ + "long file names divisible by block size" " " 16 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "109. $at_setup_line: testing $at_desc ..." + $at_traceon -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename04.at:30" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename04.at:30: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/long01.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory dir +install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 +echo test > endfile -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "long01.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 +echo test > endfile -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -)" -echo rename04.at:30 >"$at_check_line_file" +tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde +endfile +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/long01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/long01.at:36: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - +install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 +echo test > endfile -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "long01.at:36" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory dir +install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 +echo test > endfile -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde +endfile +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/long01.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_109 +#AT_START_110 +at_fn_group_banner 110 'lustar01.at:21' \ + "ustar: unsplittable file name" " " 16 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "110. $at_setup_line: testing $at_desc ..." + $at_traceon -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore + { set +x +$as_echo "$at_srcdir/lustar01.at:27: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 +tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix +)" +at_fn_check_prepare_notrace 'an embedded newline' "lustar01.at:27" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 +tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix: file name is too long (cannot be split); not dumped +tar: Exiting with failure status due to previous errors " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename04.at:30" - -$at_failed && at_func_log_failure +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/lustar01.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_67 -#AT_START_68 -# 68. rename05.at:24: renamed subdirectories -at_setup_line='rename05.at:24' -at_desc="renamed subdirectories" -$at_quiet $as_echo_n " 68: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_110 +#AT_START_111 +at_fn_group_banner 111 'lustar02.at:21' \ + "ustar: unsplittable path name" " " 16 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "68. rename05.at:24: testing ..." + $as_echo "111. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/rename05.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + + + + + + { set +x +$as_echo "$at_srcdir/lustar02.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 +tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be +)" +at_fn_check_prepare_notrace 'an embedded newline' "lustar02.at:32" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 +tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/: file name is too long (cannot be split); not dumped +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/lustar02.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -)" -echo rename05.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_111 +#AT_START_112 +at_fn_group_banner 112 'lustar03.at:21' \ + "ustar: splitting long names" " " 16 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "112. $at_setup_line: testing $at_desc ..." + $at_traceon -test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/lustar03.at:29: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77 +echo \"Create archive\" +tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be +echo \"List archive\" +tar tf archive)" +at_fn_check_prepare_notrace 'an embedded newline' "lustar03.at:29" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77 +echo "Create archive" +tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be +echo "List archive" +tar tf archive) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Create archive +List archive +this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/ +this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/lustar03.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir.0 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_112 +#AT_START_113 +at_fn_group_banner 113 'old.at:23' \ + "old archives" " " 16 +at_xfail=no +( + $as_echo "113. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +unset TAR_OPTIONS +{ set +x +$as_echo "$at_srcdir/old.at:27: +mkdir directory +tar cfvo archive directory || exit 1 +tar tf archive +" +at_fn_check_prepare_notrace 'an embedded newline' "old.at:27" +( $at_check_trace; +mkdir directory +tar cfvo archive directory || exit 1 +tar tf archive + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/ " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename05.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/old.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename05.at:27: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_113 +#AT_START_114 +at_fn_group_banner 114 'time01.at:20' \ + "time: tricky time stamps" " " 16 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "114. $at_setup_line: testing $at_desc ..." + $at_traceon -test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir + { set +x +$as_echo "$at_srcdir/time01.at:23: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" +export TAR_OPTIONS +rm -rf * -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +export TZ=UTC0 +mkdir dir -mv dir orig +# Test files with time stamps that are near common sources of error, +# typically near powers of 2 (for seconds) or near 0, 1970, or 9999 (years). +# Use GNU-style @ notation for very large time stamps, since they +# typically don't render into years correctly due to int overflow. +for s in \\ + @-9223372036854775809 @-9223372036854775808 @-9223372036854775807 \\ + 0000-01-01T00:00:00 0000-01-01T00:00:01 \\ + 0000-01-02T00:00:00 \\ + 1697-10-17T11:03:27 1697-10-17T11:03:28 1697-10-17T11:03:29 \\ + 1833-11-24T17:31:43 1833-11-24T17:31:44 1833-11-24T17:31:45 \\ + 1901-12-13T20:45:51 1901-12-13T20:45:52 1901-12-13T20:45:53 \\ + 1901-12-14T20:45:51 \\ + 1969-12-31T23:59:58 1969-12-31T23:59:59 \\ + 1970-01-01T00:00:00 1970-01-01T00:00:01 \\ + 2038-01-18T03:14:07 \\ + 2038-01-19T03:14:07 2038-01-19T03:14:08 \\ + 2106-02-07T06:28:15 2106-02-07T06:28:16 \\ + 2242-03-16T12:56:31 2242-03-16T12:56:32 \\ + 9999-12-31T23:59:58 9999-12-31T23:59:59 \\ + @9223372036854775807 @9223372036854775808 +do + # Skip a time stamp \$s if it's out of range for this platform, + # of if it uses a notation that this platform does not recognize. + touch -d \$s dir/f\$s >/dev/null 2>&1 || continue -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort + # Likewise for \$s.1. If \$s is the most negative time stamp and + # time stamps are signed, then \$s.1 is out of range. + touch -d \$s.1 dir/f\$s.\$ns >/dev/null 2>&1 || continue -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -)" -echo rename05.at:27 >"$at_check_line_file" + for frac in 01 001 00001 000001 0000001 00000001 000000001 0000000001 \\ + 9 99 999 99999 999999 9999999 99999999 999999999 9999999999 + do + touch -d \$s.\$frac dir/f\$s.\$frac + done +done -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +tar -c -f archive.tar dir +tar -d -f archive.tar dir +)" +at_fn_check_prepare_notrace 'an embedded newline' "time01.at:23" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * +export TZ=UTC0 +mkdir dir -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Test files with time stamps that are near common sources of error, +# typically near powers of 2 (for seconds) or near 0, 1970, or 9999 (years). +# Use GNU-style @ notation for very large time stamps, since they +# typically don't render into years correctly due to int overflow. +for s in \ + @-9223372036854775809 @-9223372036854775808 @-9223372036854775807 \ + 0000-01-01T00:00:00 0000-01-01T00:00:01 \ + 0000-01-02T00:00:00 \ + 1697-10-17T11:03:27 1697-10-17T11:03:28 1697-10-17T11:03:29 \ + 1833-11-24T17:31:43 1833-11-24T17:31:44 1833-11-24T17:31:45 \ + 1901-12-13T20:45:51 1901-12-13T20:45:52 1901-12-13T20:45:53 \ + 1901-12-14T20:45:51 \ + 1969-12-31T23:59:58 1969-12-31T23:59:59 \ + 1970-01-01T00:00:00 1970-01-01T00:00:01 \ + 2038-01-18T03:14:07 \ + 2038-01-19T03:14:07 2038-01-19T03:14:08 \ + 2106-02-07T06:28:15 2106-02-07T06:28:16 \ + 2242-03-16T12:56:31 2242-03-16T12:56:32 \ + 9999-12-31T23:59:58 9999-12-31T23:59:59 \ + @9223372036854775807 @9223372036854775808 +do + # Skip a time stamp $s if it's out of range for this platform, + # of if it uses a notation that this platform does not recognize. + touch -d $s dir/f$s >/dev/null 2>&1 || continue + # Likewise for $s.1. If $s is the most negative time stamp and + # time stamps are signed, then $s.1 is out of range. + touch -d $s.1 dir/f$s.$ns >/dev/null 2>&1 || continue -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file + for frac in 01 001 00001 000001 0000001 00000001 000000001 0000000001 \ + 9 99 999 99999 999999 9999999 99999999 999999999 9999999999 + do + touch -d $s.$frac dir/f$s.$frac + done +done -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +tar -c -f archive.tar dir +tar -d -f archive.tar dir +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/time01.at:23" +$at_failed && at_fn_log_failure +$at_traceon; } -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir -mv dir orig -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_114 +#AT_START_115 +at_fn_group_banner 115 'multiv01.at:23' \ + "multivolume dumps from pipes" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "115. $at_setup_line: testing $at_desc ..." + $at_traceon -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + +# Fixme: should be configurable +# TRUSS=truss -o /tmp/tr +# TRUSS=strace + + + + { set +x +$as_echo "$at_srcdir/multiv01.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +exec <&- +genfile --length 7168 --file file1 -test -z "`sort < /dev/null 2>&1`" || exit 77 - +for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\ + \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\ + echo \"file2 block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" + for count in 2 3 4 5 6 7 8 ; do + echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" + done +done >file2 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +if test \$TEST_TAR_FORMAT = pax; then + TAPE_LENGTH=11 +else + TAPE_LENGTH=10 +fi -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ + -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +mkdir extract-dir-pipe +dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | +PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ + --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +cmp file1 extract-dir-pipe/file1 +cmp file2 extract-dir-pipe/file2 +)" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:30" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -mv dir orig +exec <&- +genfile --length 7168 --file file1 -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort +for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ + " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ + echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" + for count in 2 3 4 5 6 7 8 ; do + echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" + done +done >file2 -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" +if test $TEST_TAR_FORMAT = pax; then + TAPE_LENGTH=11 +else + TAPE_LENGTH=10 fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir.0 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename05.at:27" -$at_failed && at_func_log_failure +tar -c --multi-volume --tape-length=$TAPE_LENGTH \ + -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 + +mkdir extract-dir-pipe +dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | +PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ + --tape-length=$TAPE_LENGTH --read-full-records || exit 1 + +cmp file1 extract-dir-pipe/file1 +cmp file2 extract-dir-pipe/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/rename05.at:27: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/multiv01.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +exec <&- +genfile --length 7168 --file file1 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\ + \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\ + echo \"file2 block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" + for count in 2 3 4 5 6 7 8 ; do + echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" + done +done >file2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +if test \$TEST_TAR_FORMAT = pax; then + TAPE_LENGTH=11 +else + TAPE_LENGTH=10 +fi -mv dir orig +tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ + -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort +mkdir extract-dir-pipe +dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | +PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ + --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort +cmp file1 extract-dir-pipe/file1 +cmp file2 extract-dir-pipe/file2 )" -echo rename05.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:30" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +exec <&- +genfile --length 7168 --file file1 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ + " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ + echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" + for count in 2 3 4 5 6 7 8 ; do + echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" + done +done >file2 -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +if test $TEST_TAR_FORMAT = pax; then + TAPE_LENGTH=11 +else + TAPE_LENGTH=10 +fi -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +tar -c --multi-volume --tape-length=$TAPE_LENGTH \ + -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -mv dir orig +mkdir extract-dir-pipe +dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | +PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ + --tape-length=$TAPE_LENGTH --read-full-records || exit 1 -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort +cmp file1 extract-dir-pipe/file1 +cmp file2 extract-dir-pipe/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/multiv01.at:30: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * +exec <&- +genfile --length 7168 --file file1 -test -z "`sort < /dev/null 2>&1`" || exit 77 - +for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\ + \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\ + echo \"file2 block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" + for count in 2 3 4 5 6 7 8 ; do + echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" + done +done >file2 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +if test \$TEST_TAR_FORMAT = pax; then + TAPE_LENGTH=11 +else + TAPE_LENGTH=10 +fi -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ + -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +mkdir extract-dir-pipe +dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | +PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ + --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +cmp file1 extract-dir-pipe/file1 +cmp file2 extract-dir-pipe/file2 +)" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:30" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * -mv dir orig +exec <&- +genfile --length 7168 --file file1 -decho First restore -tar -xf archive.1 -g db.1 --warning=no-timestamp -find directory | sort +for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ + " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ + echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" + for count in 2 3 4 5 6 7 8 ; do + echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" + done +done >file2 -decho Second restore -tar -xf archive.2 -g db.2 --warning=no-timestamp -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" +if test $TEST_TAR_FORMAT = pax; then + TAPE_LENGTH=11 +else + TAPE_LENGTH=10 fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir.0 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/rename05.at:27" -$at_failed && at_func_log_failure +tar -c --multi-volume --tape-length=$TAPE_LENGTH \ + -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 + +mkdir extract-dir-pipe +dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | +PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ + --tape-length=$TAPE_LENGTH --read-full-records || exit 1 + +cmp file1 extract-dir-pipe/file1 +cmp file2 extract-dir-pipe/file2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_68 -#AT_START_69 -# 69. chtype.at:27: changed file types in incrementals -at_setup_line='chtype.at:27' -at_desc="changed file types in incrementals" -$at_quiet $as_echo_n " 69: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_115 +#AT_START_116 +at_fn_group_banner 116 'multiv02.at:28' \ + "skipping a straddling member" " " 17 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "69. chtype.at:27: testing ..." + $as_echo "116. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/chtype.at:30: + { set +x +$as_echo "$at_srcdir/multiv02.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26001,84 +27894,19 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +genfile --length 10240 --file en +genfile --length 20000 --file to +genfile --length 20000 --file tre +genfile --length 10240 --file fire -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b - -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory - -# Delete a -rm -r directory - -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort -)" -echo chtype.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b - -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory - -# Delete a -rm -r directory +exec <&- -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 +echo separator +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26087,59 +27915,31 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +genfile --length 10240 --file en +genfile --length 20000 --file to +genfile --length 20000 --file tre +genfile --length 10240 --file fire -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b - -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory - -# Delete a -rm -r directory +exec <&- -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "First backup -Second backup -Restore archive.1 -Restore archive.2 -directory -directory/a -directory/a/a -directory/a/b -directory/b +tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 +echo separator +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +en " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/chtype.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/chtype.at:30: + { set +x +$as_echo "$at_srcdir/multiv02.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26148,42 +27948,19 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +genfile --length 10240 --file en +genfile --length 20000 --file to +genfile --length 20000 --file tre +genfile --length 10240 --file fire -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b - -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory - -# Delete a -rm -r directory +exec <&- -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort +tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 +echo separator +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" -echo chtype.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26192,561 +27969,404 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +genfile --length 10240 --file en +genfile --length 20000 --file to +genfile --length 20000 --file tre +genfile --length 10240 --file fire -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b - -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +exec <&- -# Delete a -rm -r directory +tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 +echo separator +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +en +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/multiv02.at:31: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * +genfile --length 10240 --file en +genfile --length 20000 --file to +genfile --length 20000 --file tre +genfile --length 10240 --file fire -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b - -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory - -# Delete a -rm -r directory - -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "First backup -Second backup -Restore archive.1 -Restore archive.2 -directory -directory/a -directory/a/a -directory/a/b -directory/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/chtype.at:30" - -$at_failed && at_func_log_failure -$at_traceon; } +exec <&- - { $at_traceoff -$as_echo "$at_srcdir/chtype.at:30: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 +echo separator +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * +genfile --length 10240 --file en +genfile --length 20000 --file to +genfile --length 20000 --file tre +genfile --length 10240 --file fire -test -z "`sort < /dev/null 2>&1`" || exit 77 - +exec <&- -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a +tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 +echo separator +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +en +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory -sleep 2 -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_116 +#AT_START_117 +at_fn_group_banner 117 'multiv03.at:30' \ + "MV archive & long filenames" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "117. $at_setup_line: testing $at_desc ..." + $at_traceon -# Delete a -rm -r directory -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp -find directory | sort -)" -echo chtype.at:30 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + + { set +x +$as_echo "$at_srcdir/multiv03.at:33: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +AFILE=\`awk 'BEGIN { for (i = 0; i < 100; i++) printf \"a\"; exit; }'\` +BFILE=\`awk 'BEGIN { for (i = 0; i < 101; i++) printf \"b\"; exit; }'\` -test -z "`sort < /dev/null 2>&1`" || exit 77 - +cat > ../experr </dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a +cat > ../expout <"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +echo separator-2 +mv \$BFILE bfile +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 +cmp \$BFILE bfile +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "multiv03.at:33" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` +BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a +cat > ../experr < ../expout <"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "First backup -Second backup -Restore archive.1 -Restore archive.2 -directory -directory/a -directory/a/a -directory/a/b -directory/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/chtype.at:30" +genfile --length 15360 --file $BFILE +tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 -$at_failed && at_func_log_failure +echo separator-2 +mv $BFILE bfile +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 +cmp $BFILE bfile +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv03.at:33" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/multiv03.at:33: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +AFILE=\`awk 'BEGIN { for (i = 0; i < 100; i++) printf \"a\"; exit; }'\` +BFILE=\`awk 'BEGIN { for (i = 0; i < 101; i++) printf \"b\"; exit; }'\` +cat > ../experr < ../expout <"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_69 -#AT_START_70 -# 70. ignfail.at:23: ignfail -at_setup_line='ignfail.at:23' -at_desc="ignfail" -$at_quiet $as_echo_n " 70: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "70. ignfail.at:23: testing ..." - $at_traceon +genfile --length 15360 --file \$AFILE +exec <&- +tar -M -L 10 -c -f arch.1 -f arch.2 \$AFILE || exit 1 +tar -tM -f arch.1 -f arch.2 || exit 1 +echo separator-1 +genfile --length 15360 --file \$BFILE +tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE || exit 1 - { $at_traceoff -$as_echo "$at_srcdir/ignfail.at:26: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +echo separator-2 +mv \$BFILE bfile +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 +cmp \$BFILE bfile +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "multiv03.at:33" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. +AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` +BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +cat > ../experr < ../expout <&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 +exec <&- -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 +tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1 +tar -tM -f arch.1 -f arch.2 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 +echo separator-1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 -)" -echo ignfail.at:26 >"$at_check_line_file" +genfile --length 15360 --file $BFILE +tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +echo separator-2 +mv $BFILE bfile +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 +cmp $BFILE bfile +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv03.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } -# The test is meaningless for super-user. -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 -touch file -mkdir directory -touch directory/file + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_117 +#AT_START_118 +at_fn_group_banner 118 'multiv04.at:36' \ + "split directory members in a MV archive" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "118. $at_setup_line: testing $at_desc ..." + $at_traceon + -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/multiv04.at:39: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - -touch file mkdir directory -touch directory/file +awk 'BEGIN { for (i = 0; i < 1024; i++) printf(\"directory/%014x\\n\", i); }' &2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 +exec <&- -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 +sleep 2 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 +tar --listed-incremental=list -c -f archive.a directory -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +sleep 2 -$at_failed && at_func_log_failure -$at_traceon; } +tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory - { $at_traceoff -$as_echo "$at_srcdir/ignfail.at:26: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +echo separator + +tar -MRt -f arc.1 -f arc.2)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv04.at:39" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +mkdir directory +awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' &2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 +tar --listed-incremental=list -c -f archive.a directory -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 +sleep 2 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 +tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 -)" -echo ignfail.at:26 >"$at_check_line_file" +echo separator + +tar -MRt -f arc.1 -f arc.2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +separator +block 0: directory/ +block 35: ** Block of NULs ** +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv04.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/multiv04.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +mkdir directory +awk 'BEGIN { for (i = 0; i < 1024; i++) printf(\"directory/%014x\\n\", i); }' &2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 +tar --listed-incremental=list -c -f archive.a directory -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 +sleep 2 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 +tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +echo separator + +tar -MRt -f arc.1 -f arc.2)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv04.at:39" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26755,433 +28375,445 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +mkdir directory +awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' &2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 +tar --listed-incremental=list -c -f archive.a directory -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 +sleep 2 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 +tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied +echo separator + +tar -MRt -f arc.1 -f arc.2) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +separator +block 0: directory/ +block 35: ** Block of NULs ** " | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv04.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/ignfail.at:26: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -# The test is meaningless for super-user. + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_118 +#AT_START_119 +at_fn_group_banner 119 'multiv05.at:26' \ + "Restoring after an out of sync volume" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "119. $at_setup_line: testing $at_desc ..." + $at_traceon -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 -touch file -mkdir directory -touch directory/file -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 + { set +x +$as_echo "$at_srcdir/multiv05.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 -)" -echo ignfail.at:26 >"$at_check_line_file" +exec <&- -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +genfile --length 250k --file jeden +genfile --length 250k --file dwa +genfile --length 250k --file trzy +genfile --length 250k --file cztery +genfile --length 250k --file piec +genfile --length 250k --file szesc + + +echo Creating archive +tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc +echo separator +mkdir bak +mv jeden dwa trzy cztery piec szesc bak +tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar +echo Diffing jeden + cmp bak/jeden jeden || exit 1 +echo Diffing dwa + cmp bak/dwa dwa || exit 1 +echo Diffing trzy + cmp bak/trzy trzy || exit 1 +echo Diffing cztery + cmp bak/cztery cztery || exit 1 +echo Diffing piec + cmp bak/piec piec || exit 1 +echo Diffing szesc + cmp bak/szesc szesc || exit 1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv05.at:30" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. +exec <&- -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +genfile --length 250k --file jeden +genfile --length 250k --file dwa +genfile --length 250k --file trzy +genfile --length 250k --file cztery +genfile --length 250k --file piec +genfile --length 250k --file szesc -touch file -mkdir directory -touch directory/file +echo Creating archive +tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc +echo separator +mkdir bak +mv jeden dwa trzy cztery piec szesc bak +tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar +echo Diffing jeden + cmp bak/jeden jeden || exit 1 +echo Diffing dwa + cmp bak/dwa dwa || exit 1 +echo Diffing trzy + cmp bak/trzy trzy || exit 1 +echo Diffing cztery + cmp bak/cztery cztery || exit 1 +echo Diffing piec + cmp bak/piec piec || exit 1 +echo Diffing szesc + cmp bak/szesc szesc || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: 'trzy' is not continued on this volume +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive +separator +jeden +dwa +trzy +cztery +piec +szesc +Diffing jeden +Diffing dwa +Diffing trzy +Diffing cztery +Diffing piec +Diffing szesc +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv05.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -# The test is meaningless for super-user. + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_119 +#AT_START_120 +at_fn_group_banner 120 'multiv06.at:27' \ + "Multivolumes with L=record_size" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "120. $at_setup_line: testing $at_desc ..." + $at_traceon -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 -touch file -mkdir directory -touch directory/file -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 + { set +x +$as_echo "$at_srcdir/multiv06.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv06.at:30" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating file +Creating archive +Testing archive " | \ $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" - -$at_failed && at_func_log_failure +echo >>"$at_stdout"; $as_echo "Creating file +Creating archive +Testing archive +file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv06.at:30" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/ignfail.at:26: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/multiv06.at:30: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv06.at:30" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating file +Creating archive +Testing archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating file +Creating archive +Testing archive +file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv06.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } -touch file -mkdir directory -touch directory/file -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_120 +#AT_START_121 +at_fn_group_banner 121 'multiv07.at:28' \ + "volumes split at an extended header" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "121. $at_setup_line: testing $at_desc ..." + $at_traceon -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 -)" -echo ignfail.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +{ set +x +$as_echo "$at_srcdir/multiv07.at:31: -# The test is meaningless for super-user. -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 -touch file -mkdir directory -touch directory/file +exec <&- -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 +cd \$TEST_DATA_DIR +tar -t -M -fxsplit-1.tar -fxsplit-2.tar +" +at_fn_check_prepare_notrace 'an embedded newline' "multiv07.at:31" +( $at_check_trace; -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -# The test is meaningless for super-user. +exec <&- -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +cd $TEST_DATA_DIR +tar -t -M -fxsplit-1.tar -fxsplit-2.tar +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Archive volumes split at an extended header Volume 1 +foo +bar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv07.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } -touch file -mkdir directory -touch directory/file -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_121 +#AT_START_122 +at_fn_group_banner 122 'multiv08.at:25' \ + "multivolume header creation" " " 17 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "122. $at_setup_line: testing $at_desc ..." + $at_traceon -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied + + + { set +x +$as_echo "$at_srcdir/multiv08.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +genfile --length 9472 --file a +genfile --length 9984 --file b +decho Creating +tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b +decho Testing +tar -tMR -f A.tar -f B.tar -f C.tar +)" +at_fn_check_prepare_notrace 'an embedded newline' "multiv08.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +genfile --length 9472 --file a +genfile --length 9984 --file b +decho Creating +tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b +decho Testing +tar -tMR -f A.tar -f B.tar -f C.tar +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Creating +Testing +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating +Testing +block 0: a +block 21: b +block 43: ** Block of NULs ** " | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" - -$at_failed && at_func_log_failure + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/multiv08.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/ignfail.at:26: + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_122 +#AT_START_123 +at_fn_group_banner 123 'owner.at:21' \ + "--owner and --group" " " 18 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "123. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/owner.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27190,53 +28822,21 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 +export TZ=UTC0 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 +genfile --file a -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 +tar --owner=\"Joe the Plumber:1234\" \\ + --group=\"Plumber's Union:5678\" \\ + --mtime='@0' \\ + --mode='u=rw,go=r' \\ + -cf arc a -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 +tar -tvf arc +tar --numeric-owner -tvf arc )" -echo ignfail.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "owner.at:24" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27245,236 +28845,352 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. +export TZ=UTC0 -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +genfile --file a +tar --owner="Joe the Plumber:1234" \ + --group="Plumber's Union:5678" \ + --mtime='@0' \ + --mode='u=rw,go=r' \ + -cf arc a -touch file -mkdir directory -touch directory/file +tar -tvf arc +tar --numeric-owner -tvf arc +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "-rw-r--r-- Joe the Plumber/Plumber's Union 0 1970-01-01 00:00 a +-rw-r--r-- 1234/5678 0 1970-01-01 00:00 a +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/owner.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_123 +#AT_START_124 +at_fn_group_banner 124 'sparse01.at:21' \ + "sparse files" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "124. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/sparse01.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator + +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive --warning=no-timestamp +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator + +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive --warning=no-timestamp +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/sparse01.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive --warning=no-timestamp +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -touch file +tar tfv archive +echo separator mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 +tar Cxf directory archive --warning=no-timestamp +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 + { set +x +$as_echo "$at_srcdir/sparse01.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive --warning=no-timestamp +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -$at_failed && at_func_log_failure +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive --warning=no-timestamp +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + +cat >stdout.re <<'_ATEOF' +separator +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin +-rw-r--r-- ^ ^ * *10344448 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end +separator +sparsefile 10344448 +_ATEOF + +awk '{print NR " " $0}' stdout > $$.1 +awk '{print NR " " $0}' stdout.re | join - $$.1 | +while read NUM RE LINE +do + echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 +done + + + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_70 -#AT_START_71 -# 71. link01.at:33: link count gt 2 -at_setup_line='link01.at:33' -at_desc="link count gt 2" -$at_quiet $as_echo_n " 71: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_124 +#AT_START_125 +at_fn_group_banner 125 'sparse02.at:21' \ + "extracting sparse file over a pipe" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "71. link01.at:33: testing ..." + $as_echo "125. $at_setup_line: testing $at_desc ..." $at_traceon +# Tar 1.14 - 1.15.1 was unable to extract sparse files to a pipe. +# References: <16896.21739.460782.124775@jik.kamens.brookline.ma.us> +# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00003.html - { $at_traceoff -$as_echo "$at_srcdir/link01.at:36: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + + { set +x +$as_echo "$at_srcdir/sparse02.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -ls directory/test1 +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy )" -echo link01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory -tar xf archive --warning=no-timestamp +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/sparse02.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -tar cf archive directory/test1/test.txt directory/test1/test.txt +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -rm -r directory -tar xf archive --warning=no-timestamp +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "test.txt +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link01.at:36: + { set +x +$as_echo "$at_srcdir/sparse02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27483,50 +29199,15 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -ls directory/test1 +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy )" -echo link01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp - -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27535,122 +29216,52 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "test.txt +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link01.at:36: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * - -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp - -ls directory/test1 -)" -echo link01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt -rm -r directory -tar xf archive --warning=no-timestamp -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_125 +#AT_START_126 +at_fn_group_banner 126 'sparse03.at:21' \ + "storing sparse files > 8G" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "126. $at_setup_line: testing $at_desc ..." + $at_traceon -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar cf archive directory/test1/test.txt directory/test1/test.txt -rm -r directory -tar xf archive --warning=no-timestamp +# Tar 1.15.1 incorrectly computed sparse member size if the extended +# PAX header contained size keyword. +# References: <87vf46nb36.fsf@penguin.cs.ucla.edu> +# http://lists.gnu.org/archive/html/bug-tar/2005-06/msg00040.html -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "test.txt -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link01.at:36: + { set +x +$as_echo "$at_srcdir/sparse03.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27659,25 +29270,21 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp +genfile --length 1000 --file begin +genfile --length 1000 --file end +genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls directory/test1 +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile )" -echo link01.at:36 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "sparse03.at:29" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27686,240 +29293,223 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 +genfile --length 1000 --file begin +genfile --length 1000 --file end +genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sparse03.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -tar cf archive directory/test1/test.txt directory/test1/test.txt -rm -r directory -tar xf archive --warning=no-timestamp -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +cat >stdout.re <<'_ATEOF' +separator +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin +-rw-r--r-- ^ ^ * *8589935104 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end +separator +sparsefile 8589935104 +_ATEOF -tar cf archive directory/test1/test.txt directory/test1/test.txt +awk '{print NR " " $0}' stdout > $$.1 +awk '{print NR " " $0}' stdout.re | join - $$.1 | +while read NUM RE LINE +do + echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 +done -rm -r directory -tar xf archive --warning=no-timestamp -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "test.txt -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_126 +#AT_START_127 +at_fn_group_banner 127 'sparse04.at:21' \ + "storing long sparse file names" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "127. $at_setup_line: testing $at_desc ..." + $at_traceon -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link01.at:36: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 +# Description: Tar versions from 1.15.92 to 1.25 would incorrectly +# store sparse file names longer than 100 characters in pax mode. +# Namely, the 'path' keyword of the produced PAX header would contain the +# crafted name of the header itself, instead of that of the file. +# Reported by: Kamil Dudka +# References: <201011250026.44908.kdudka@redhat.com>, +# http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00099.html -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 -tar cf archive directory/test1/test.txt directory/test1/test.txt -rm -r directory -tar xf archive --warning=no-timestamp -ls directory/test1 -)" -echo link01.at:36 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/sparse04.at:35: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp - -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 +tar -f - -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar tf - +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparse04.at:35" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 - -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 - -tar cf archive directory/test1/test.txt directory/test1/test.txt - -rm -r directory -tar xf archive --warning=no-timestamp - -ls directory/test1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "test.txt +genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 +tar -f - -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar tf - +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/sparse04.at:35" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_71 -#AT_START_72 -# 72. link02.at:32: preserve hard links with --remove-files -at_setup_line='link02.at:32' -at_desc="preserve hard links with --remove-files" -$at_quiet $as_echo_n " 72: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_127 +#AT_START_128 +at_fn_group_banner 128 'sparsemv.at:21' \ + "sparse files in MV archives" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "72. link02.at:32: testing ..." + $as_echo "128. $at_setup_line: testing $at_desc ..." $at_traceon +# Check if sparse files are correctly split between GNU multi-volume +# archives. +# There are two cases: the file can be split within an empty (null) block, +# or within a data block. Since null blocks are not archived, the first +# case means the file is split between two consecutive data blocks. +# - { $at_traceoff -$as_echo "$at_srcdir/link02.at:35: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + + { set +x +$as_echo "$at_srcdir/sparsemv.at:31: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -)" -echo link02.at:35 >"$at_check_line_file" +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparsemv.at:31" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file1 -file1 +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/sparsemv.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link02.at:35: + { set +x +$as_echo "$at_srcdir/sparsemv.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27928,18 +29518,27 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -)" -echo link02.at:35 >"$at_check_line_file" +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 +)" +at_fn_check_prepare_notrace 'an embedded newline' "sparsemv.at:31" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27948,270 +29547,260 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file1 -file1 +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/sparsemv.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link02.at:35: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -)" -echo link02.at:35 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_128 +#AT_START_129 +at_fn_group_banner 129 'spmvp00.at:21' \ + "sparse files in PAX MV archives, v.0.0" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "129. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file1 -file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link02.at:35: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -)" -echo link02.at:35 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + { set +x +$as_echo "$at_srcdir/spmvp00.at:24: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 + +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +)" +at_fn_check_prepare_notrace 'an embedded newline' "spmvp00.at:24" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file1 -file1 +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 + +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/spmvp00.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link02.at:35: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -)" -echo link02.at:35 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_129 +#AT_START_130 +at_fn_group_banner 130 'spmvp01.at:21' \ + "sparse files in PAX MV archives, v.0.1" " " 19 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "130. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + + { set +x +$as_echo "$at_srcdir/spmvp01.at:24: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 + +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +)" +at_fn_check_prepare_notrace 'an embedded newline' "spmvp01.at:24" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file1 -file1 +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 + +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/spmvp01.at:24" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_72 -#AT_START_73 -# 73. link03.at:24: working -l with --remove-files -at_setup_line='link03.at:24' -at_desc="working -l with --remove-files" -$at_quiet $as_echo_n " 73: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_130 +#AT_START_131 +at_fn_group_banner 131 'spmvp10.at:21' \ + "sparse files in PAX MV archives, v.1.0" " " 19 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "73. link03.at:24: testing ..." + $as_echo "131. $at_setup_line: testing $at_desc ..." $at_traceon @@ -28219,180 +29808,191 @@ echo "# -*- compilation -*-" >> "$at_group_log" + { set +x +$as_echo "$at_srcdir/spmvp10.at:24: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" +export TAR_OPTIONS +rm -rf * - { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 + +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +)" +at_fn_check_prepare_notrace 'an embedded newline' "spmvp10.at:24" +( $at_check_trace; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/spmvp10.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -)" -echo link03.at:34 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_131 +#AT_START_132 +at_fn_group_banner 132 'update.at:28' \ + "update unchanged directories" " " 20 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "132. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + { set +x +$as_echo "$at_srcdir/update.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -$at_failed && at_func_log_failure -$at_traceon; } +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 - { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -)" -echo link03.at:34 >"$at_check_line_file" +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/update.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28402,44 +30002,35 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: + { set +x +$as_echo "$at_srcdir/update.at:31: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28449,59 +30040,20 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 )" -echo link03.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28511,44 +30063,35 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: + { set +x +$as_echo "$at_srcdir/update.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28558,59 +30101,20 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -)" -echo link03.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28620,44 +30124,35 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: + { set +x +$as_echo "$at_srcdir/update.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28667,59 +30162,20 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 )" -echo link03.at:34 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 - -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28729,68 +30185,56 @@ export TAR_OPTIONS rm -rf * -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +test -z "`sort < /dev/null 2>&1`" || exit 77 -genfile -l 64 -f file1 -ln file1 file2 -ln file2 file3 -ln file3 file4 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_73 -#AT_START_74 -# 74. link04.at:29: link count is 1 but multiple occurrences -at_setup_line='link04.at:29' -at_desc="link count is 1 but multiple occurrences" -$at_quiet $as_echo_n " 74: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_132 +#AT_START_133 +at_fn_group_banner 133 'update01.at:29' \ + "update directories" " " 20 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "74. link04.at:29: testing ..." + $as_echo "133. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/link04.at:32: + { set +x +$as_echo "$at_srcdir/update01.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28799,58 +30243,25 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 - -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort - -echo == -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -)" -echo link04.at:32 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +mkdir a +genfile --file a/b -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 +tar cf arc a -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +echo \"separator\" -echo == +sleep 2 +genfile --file a/c -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update01.at:32" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28859,107 +30270,68 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 - -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort - -echo == - -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/ -dir/file -dir/file link to dir/file -dir/symlink -> file -dir/symlink link to dir/symlink -== -dir/ -dir/FOO -dir/FOO link to dir/FOO -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" -$at_failed && at_func_log_failure -$at_traceon; } +test -z "`sort < /dev/null 2>&1`" || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/link04.at:32: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * +mkdir a +genfile --file a/b -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 +tar cf arc a -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +echo "separator" -echo == +sleep 2 +genfile --file a/c -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -)" -echo link04.at:32 >"$at_check_line_file" +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/update01.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar cf arc a + +echo \"separator\" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update01.at:32" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28968,47 +30340,41 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z "`sort < /dev/null 2>&1`" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/ -dir/file -dir/file link to dir/file -dir/symlink -> file -dir/symlink link to dir/symlink -== -dir/ -dir/FOO -dir/FOO link to dir/FOO +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link04.at:32: + { set +x +$as_echo "$at_srcdir/update01.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -29017,29 +30383,25 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -)" -echo link04.at:32 >"$at_check_line_file" +tar cf arc a + +echo \"separator\" + +sleep 2 +genfile --file a/c -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update01.at:32" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -29048,420 +30410,482 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z "`sort < /dev/null 2>&1`" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/update01.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo == +mkdir a +genfile --file a/b + +tar cf arc a + +echo \"separator\" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update01.at:32" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/update01.at:32: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo \"separator\" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update01.at:32" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/ -dir/file -dir/file link to dir/file -dir/symlink -> file -dir/symlink link to dir/symlink -== -dir/ -dir/FOO -dir/FOO link to dir/FOO +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link04.at:32: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort -echo == + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_133 +#AT_START_134 +at_fn_group_banner 134 'update02.at:26' \ + "update changed files" " " 20 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "134. $at_setup_line: testing $at_desc ..." + $at_traceon -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -)" -echo link04.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + + + { set +x +$as_echo "$at_srcdir/update02.at:29: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +tar cf arc a + +echo \"separator\" + +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update02.at:29" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z "`sort < /dev/null 2>&1`" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/ -dir/file -dir/file link to dir/file -dir/symlink -> file -dir/symlink link to dir/symlink -== -dir/ -dir/FOO -dir/FOO link to dir/FOO +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update02.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/link04.at:32: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/update02.at:29: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -echo == +mkdir a +genfile --file a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -)" -echo link04.at:32 >"$at_check_line_file" +tar cf arc a -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +echo \"separator\" + +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update02.at:29" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 - -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort -echo == +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +mkdir a +genfile --file a/b -mkdir dir -echo TEST > dir/file -ln -s file dir/symlink || exit 77 +tar cf arc a -tar cf archive dir dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, -' | sort +echo "separator" -echo == +sleep 2 +touch a/b -tar chf archive dir -tar tvf archive | sed ' - s,.*[0-9] dir/,dir/, - s,file,FOO,g - s,symlink,FOO,g -' | sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dir/ -dir/ -dir/file -dir/file link to dir/file -dir/symlink -> file -dir/symlink link to dir/symlink -== -dir/ -dir/FOO -dir/FOO link to dir/FOO +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update02.at:29" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/update02.at:29: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_74 -#AT_START_75 -# 75. longv7.at:24: long names in V7 archives -at_setup_line='longv7.at:24' -at_desc="long names in V7 archives" -$at_quiet $as_echo_n " 75: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "75. longv7.at:24: testing ..." - $at_traceon - - - - +mkdir a +genfile --file a/b +tar cf arc a +echo \"separator\" +sleep 2 +touch a/b - { $at_traceoff -$as_echo "$at_srcdir/longv7.at:30: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update02.at:29" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems -touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c -tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems -echo separator -tar tf archive -)" -echo longv7.at:30 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +mkdir a +genfile --file a/b -mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems -touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c +tar cf arc a -tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems -echo separator -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +echo "separator" -mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems -touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c +sleep 2 +touch a/b -tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems -echo separator -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c: file name is too long (max 99); not dumped -tar: Exiting with failure status due to previous errors -" | \ - $at_diff - "$at_stderr" || at_failed=: +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator -this_is_a_very_long_name_for_a_directory_which_causes_problems/ +a/b +separator +a/ +a/b +a/b " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/longv7.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update02.at:29" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/update02.at:29: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +mkdir a +genfile --file a/b - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_75 -#AT_START_76 -# 76. long01.at:28: long file names divisible by block size -at_setup_line='long01.at:28' -at_desc="long file names divisible by block size" -$at_quiet $as_echo_n " 76: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "76. long01.at:28: testing ..." - $at_traceon +tar cf arc a + +echo \"separator\" +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update02.at:29" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir a +genfile --file a/b +tar cf arc a +echo "separator" +sleep 2 +touch a/b +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/update02.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/long01.at:36: + { set +x +$as_echo "$at_srcdir/update02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -29471,33 +30895,24 @@ export TAR_OPTIONS rm -rf * -install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 -echo test > endfile +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -tar tf archive)" -echo long01.at:36 >"$at_check_line_file" +mkdir a +genfile --file a/b -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +tar cf arc a +echo \"separator\" -install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 -echo test > endfile +sleep 2 +touch a/b -tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "update02.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -29507,62 +30922,112 @@ export TAR_OPTIONS rm -rf * -install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 -echo test > endfile +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde -endfile +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/long01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/update02.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/long01.at:36: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_134 +#AT_START_135 +at_fn_group_banner 135 'verify.at:25' \ + "verify" " " 21 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "135. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/verify.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +touch foo +tar -cvf archive.tar --verify foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "verify.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 -echo test > endfile - -tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -tar tf archive)" -echo long01.at:36 >"$at_check_line_file" +touch foo +tar -cvf archive.tar --verify foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/verify.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/verify.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS -rm -rf * - - -install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 -echo test > endfile +rm -rf * -tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +touch foo +tar -cvf archive.tar --verify foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "verify.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -29571,53 +31036,23 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 -echo test > endfile - -tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde -endfile +touch foo +tar -cvf archive.tar --verify foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/long01.at:36" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/verify.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_76 -#AT_START_77 -# 77. lustar01.at:21: ustar: unsplittable file name -at_setup_line='lustar01.at:21' -at_desc="ustar: unsplittable file name" -$at_quiet $as_echo_n " 77: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "77. lustar01.at:21: testing ..." - $at_traceon - - - - - - - - { $at_traceoff -$as_echo "$at_srcdir/lustar01.at:27: + { set +x +$as_echo "$at_srcdir/verify.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -29626,28 +31061,11 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix +touch foo +tar -cvf archive.tar --verify foo )" -echo lustar01.at:27 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * - -genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'an embedded newline' "verify.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -29656,367 +31074,352 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix: file name is too long (cannot be split); not dumped -tar: Exiting with failure status due to previous errors +touch foo +tar -cvf archive.tar --verify foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo " | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 2 $at_status "$at_srcdir/lustar01.at:27" - -$at_failed && at_func_log_failure + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/verify.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_77 -#AT_START_78 -# 78. lustar02.at:21: ustar: unsplittable path name -at_setup_line='lustar02.at:21' -at_desc="ustar: unsplittable path name" -$at_quiet $as_echo_n " 78: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "78. lustar02.at:21: testing ..." - $at_traceon - - - - - - - - - - - - { $at_traceoff -$as_echo "$at_srcdir/lustar02.at:32: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/verify.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * - -install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be +touch foo +tar -cvf archive.tar --verify foo )" -echo lustar02.at:32 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +at_fn_check_prepare_notrace 'an embedded newline' "verify.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +touch foo +tar -cvf archive.tar --verify foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/verify.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/verify.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +touch foo +tar -cvf archive.tar --verify foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "verify.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/: file name is too long (cannot be split); not dumped -tar: Exiting with failure status due to previous errors +touch foo +tar -cvf archive.tar --verify foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo " | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 2 $at_status "$at_srcdir/lustar02.at:32" - -$at_failed && at_func_log_failure + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/verify.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_78 -#AT_START_79 -# 79. lustar03.at:21: ustar: splitting long names -at_setup_line='lustar03.at:21' -at_desc="ustar: splitting long names" -$at_quiet $as_echo_n " 79: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_135 +#AT_START_136 +at_fn_group_banner 136 'volume.at:23' \ + "volume" " " 22 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "79. lustar03.at:21: testing ..." + $as_echo "136. $at_setup_line: testing $at_desc ..." $at_traceon + { set +x +$as_echo "$at_srcdir/volume.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * +tar -cf archive -V label -T /dev/null || exit 1 +tar xfV archive label || exit 1 +tar xfV archive 'la?el' || exit 1 +tar xfV archive 'l*l' || exit 1 - - { $at_traceoff -$as_echo "$at_srcdir/lustar03.at:29: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +echo 1>&2 ----- +tar xfV archive lab +test \$? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive bel +test \$? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive babel +test \$? = 2 +)" +at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +tar -cf archive -V label -T /dev/null || exit 1 -install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77 -echo \"Create archive\" -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be -echo \"List archive\" -tar tf archive)" -echo lustar03.at:29 >"$at_check_line_file" +tar xfV archive label || exit 1 +tar xfV archive 'la?el' || exit 1 +tar xfV archive 'l*l' || exit 1 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +echo 1>&2 ----- +tar xfV archive lab +test $? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive bel +test $? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive babel +test $? = 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: Volume 'label' does not match 'lab' +tar: Error is not recoverable: exiting now +----- +tar: Volume 'label' does not match 'bel' +tar: Error is not recoverable: exiting now +----- +tar: Volume 'label' does not match 'babel' +tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volume.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/volume.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +tar -cf archive -V label -T /dev/null || exit 1 + +tar xfV archive label || exit 1 +tar xfV archive 'la?el' || exit 1 +tar xfV archive 'l*l' || exit 1 -install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77 -echo "Create archive" -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be -echo "List archive" -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +echo 1>&2 ----- +tar xfV archive lab +test \$? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive bel +test \$? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive babel +test \$? = 2 +)" +at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +tar -cf archive -V label -T /dev/null || exit 1 + +tar xfV archive label || exit 1 +tar xfV archive 'la?el' || exit 1 +tar xfV archive 'l*l' || exit 1 -install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77 -echo "Create archive" -tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be -echo "List archive" -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Create archive -List archive -this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/ -this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file +echo 1>&2 ----- +tar xfV archive lab +test $? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive bel +test $? = 2 || exit 1 +echo 1>&2 ----- +tar xfV archive babel +test $? = 2 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "----- +tar: Volume 'label' does not match 'lab' +tar: Error is not recoverable: exiting now +----- +tar: Volume 'label' does not match 'bel' +tar: Error is not recoverable: exiting now +----- +tar: Volume 'label' does not match 'babel' +tar: Error is not recoverable: exiting now " | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/lustar03.at:29" - -$at_failed && at_func_log_failure + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volume.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_79 -#AT_START_80 -# 80. multiv01.at:23: multivolume dumps from pipes -at_setup_line='multiv01.at:23' -at_desc="multivolume dumps from pipes" -$at_quiet $as_echo_n " 80: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_136 +#AT_START_137 +at_fn_group_banner 137 'volsize.at:29' \ + "volume header size" " " 22 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "80. multiv01.at:23: testing ..." + $as_echo "137. $at_setup_line: testing $at_desc ..." $at_traceon -# Fixme: should be configurable -# TRUSS=truss -o /tmp/tr -# TRUSS=strace - - { $at_traceoff -$as_echo "$at_srcdir/multiv01.at:30: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/volsize.at:32: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 - -for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\ - \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\ - echo \"file2 block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" - for count in 2 3 4 5 6 7 8 ; do - echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" - done -done >file2 -if test \$TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -mkdir extract-dir-pipe -dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ - --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 +echo Short Listing +tar tf \$TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf \$TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf \$TEST_DATA_DIR/abc.tar +find abc|sort )" -echo multiv01.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * - -exec <&- -genfile --length 7168 --file file1 - -for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ - " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ - echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - for count in 2 3 4 5 6 7 8 ; do - echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - done -done >file2 - -if test $TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi - -tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 - -mkdir extract-dir-pipe -dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ - --tape-length=$TAPE_LENGTH --read-full-records || exit 1 - -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 - -for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ - " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ - echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - for count in 2 3 4 5 6 7 8 ; do - echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - done -done >file2 - -if test $TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi -tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir extract-dir-pipe -dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ - --tape-length=$TAPE_LENGTH --read-full-records || exit 1 -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv01.at:30" +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -$at_failed && at_func_log_failure +echo Short Listing +tar tf $TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf $TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf $TEST_DATA_DIR/abc.tar +find abc|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing +abc/not-a-file.gif +abc/CCC +Verbose Listing +V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- +-rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC +Extracted directory +abc +abc/CCC +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv01.at:30: + { set +x +$as_echo "$at_srcdir/volsize.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30025,80 +31428,23 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 - -for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\ - \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\ - echo \"file2 block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" - for count in 2 3 4 5 6 7 8 ; do - echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" - done -done >file2 -if test \$TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -mkdir extract-dir-pipe -dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ - --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 +echo Short Listing +tar tf \$TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf \$TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf \$TEST_DATA_DIR/abc.tar +find abc|sort )" -echo multiv01.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -exec <&- -genfile --length 7168 --file file1 - -for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ - " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ - echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - for count in 2 3 4 5 6 7 8 ; do - echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - done -done >file2 - -if test $TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi - -tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 - -mkdir extract-dir-pipe -dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ - --tape-length=$TAPE_LENGTH --read-full-records || exit 1 - -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30107,282 +31453,326 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 - -for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ - " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ - echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - for count in 2 3 4 5 6 7 8 ; do - echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - done -done >file2 - -if test $TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi -tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir extract-dir-pipe -dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ - --tape-length=$TAPE_LENGTH --read-full-records || exit 1 -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv01.at:30" +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -$at_failed && at_func_log_failure +echo Short Listing +tar tf $TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf $TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf $TEST_DATA_DIR/abc.tar +find abc|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing +abc/not-a-file.gif +abc/CCC +Verbose Listing +V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- +-rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC +Extracted directory +abc +abc/CCC +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv01.at:30: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { set +x +$as_echo "$at_srcdir/volsize.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 - -for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\ - \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\ - echo \"file2 block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" - for count in 2 3 4 5 6 7 8 ; do - echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\" - done -done >file2 -if test \$TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 -mkdir extract-dir-pipe -dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ - --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 +echo Short Listing +tar tf \$TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf \$TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf \$TEST_DATA_DIR/abc.tar +find abc|sort )" -echo multiv01.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 -for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ - " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ - echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - for count in 2 3 4 5 6 7 8 ; do - echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - done -done >file2 +test -z "`sort < /dev/null 2>&1`" || exit 77 -if test $TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi -tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -mkdir extract-dir-pipe -dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ - --tape-length=$TAPE_LENGTH --read-full-records || exit 1 +echo Short Listing +tar tf $TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf $TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf $TEST_DATA_DIR/abc.tar +find abc|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing +abc/not-a-file.gif +abc/CCC +Verbose Listing +V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- +-rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC +Extracted directory +abc +abc/CCC +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { set +x +$as_echo "$at_srcdir/volsize.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --length 7168 --file file1 -for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ - " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ - echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - for count in 2 3 4 5 6 7 8 ; do - echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" - done -done >file2 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if test $TEST_TAR_FORMAT = pax; then - TAPE_LENGTH=11 -else - TAPE_LENGTH=10 -fi -tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 -mkdir extract-dir-pipe -dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | -PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ - --tape-length=$TAPE_LENGTH --read-full-records || exit 1 +echo Short Listing +tar tf \$TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf \$TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf \$TEST_DATA_DIR/abc.tar +find abc|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -cmp file1 extract-dir-pipe/file1 -cmp file2 extract-dir-pipe/file2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv01.at:30" -$at_failed && at_func_log_failure -$at_traceon; } +test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +echo Short Listing +tar tf $TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf $TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf $TEST_DATA_DIR/abc.tar +find abc|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing +abc/not-a-file.gif +abc/CCC +Verbose Listing +V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- +-rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC +Extracted directory +abc +abc/CCC +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_80 -#AT_START_81 -# 81. multiv02.at:28: skipping a straddling member -at_setup_line='multiv02.at:28' -at_desc="skipping a straddling member" -$at_quiet $as_echo_n " 81: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "81. multiv02.at:28: testing ..." - $at_traceon + { set +x +$as_echo "$at_srcdir/volsize.at:32: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +test -z \"\$TEST_DATA_DIR\" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 \$TEST_DATA_DIR \$TEST_DATA_URL || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/multiv02.at:31: +echo Short Listing +tar tf \$TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf \$TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf \$TEST_DATA_DIR/abc.tar +find abc|sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +echo Short Listing +tar tf $TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar --utc -tvf $TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf $TEST_DATA_DIR/abc.tar +find abc|sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing +abc/not-a-file.gif +abc/CCC +Verbose Listing +V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- +-rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC +Extracted directory +abc +abc/CCC +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_137 +#AT_START_138 +at_fn_group_banner 138 'comprec.at:21' \ + "compressed format recognition" " " 23 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "138. $at_setup_line: testing $at_desc ..." + $at_traceon + + -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -)" -echo multiv02.at:31 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + + { set +x +$as_echo "$at_srcdir/comprec.at:25: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +genfile --length 10240 --file file1 +echo \"separator\" +tar cfz archive file1 +echo \"separator\" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +genfile --length 10240 --file file1 +echo "separator" +tar cfz archive file1 +echo "separator" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator -en +separator +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv02.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv02.at:31: + { set +x +$as_echo "$at_srcdir/comprec.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30391,22 +31781,19 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +genfile --length 10240 --file file1 +echo \"separator\" +tar cfz archive file1 +echo \"separator\" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 )" -echo multiv02.at:31 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30415,158 +31802,218 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +genfile --length 10240 --file file1 +echo "separator" +tar cfz archive file1 +echo "separator" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/comprec.at:25: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +genfile --length 10240 --file file1 +echo \"separator\" +tar cfz archive file1 +echo \"separator\" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + +genfile --length 10240 --file file1 +echo "separator" +tar cfz archive file1 +echo "separator" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator -en +separator +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv02.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv02.at:31: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { set +x +$as_echo "$at_srcdir/comprec.at:25: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 +genfile --length 10240 --file file1 +echo \"separator\" +tar cfz archive file1 +echo \"separator\" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 )" -echo multiv02.at:31 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + +genfile --length 10240 --file file1 +echo "separator" +tar cfz archive file1 +echo "separator" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/comprec.at:25: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +genfile --length 10240 --file file1 +echo \"separator\" +tar cfz archive file1 +echo \"separator\" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +)" +at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --length 10240 --file en -genfile --length 20000 --file to -genfile --length 20000 --file tre -genfile --length 10240 --file fire -exec <&- +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 -echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +genfile --length 10240 --file file1 +echo "separator" +tar cfz archive file1 +echo "separator" +mv file1 orig +tar xfv archive --warning=no-timestamp +cmp orig file1 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "separator -en +separator +file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv02.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_81 -#AT_START_82 -# 82. multiv03.at:30: MV archive & long filenames -at_setup_line='multiv03.at:30' -at_desc="MV archive & long filenames" -$at_quiet $as_echo_n " 82: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_138 +#AT_START_139 +at_fn_group_banner 139 'shortfile.at:26' \ + "short input files" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "82. multiv03.at:30: testing ..." + $as_echo "139. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/multiv03.at:33: + { set +x +$as_echo "$at_srcdir/shortfile.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -30575,42 +32022,11 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -AFILE=\`awk 'BEGIN { for (i = 0; i < 100; i++) printf \"a\"; exit; }'\` -BFILE=\`awk 'BEGIN { for (i = 0; i < 101; i++) printf \"b\"; exit; }'\` - -cat > ../experr < ../expout <"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "shortfile.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -30619,91 +32035,79 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` -BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` +genfile --length 511 --file foo || exit 5 +tar tf foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: This does not look like a tar archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 2 $at_status "$at_srcdir/shortfile.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -cat > ../experr < ../expout <"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_139 +#AT_START_140 +at_fn_group_banner 140 'shortupd.at:31' \ + "updating short archives" " " 23 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "140. $at_setup_line: testing $at_desc ..." + $at_traceon -tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1 -tar -tM -f arch.1 -f arch.2 || exit 1 -echo separator-1 -genfile --length 15360 --file $BFILE -tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 -echo separator-2 -mv $BFILE bfile -tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 -cmp $BFILE bfile -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + { set +x +$as_echo "$at_srcdir/shortupd.at:34: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` -BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` - -cat > ../experr < ../expout <"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv03.at:33" - -$at_failed && at_func_log_failure -$at_traceon; } +touch foo +tar uf archive foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "shortupd.at:34" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * - { $at_traceoff -$as_echo "$at_srcdir/multiv03.at:33: +touch foo +tar uf archive foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortupd.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/shortupd.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30712,42 +32116,11 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -AFILE=\`awk 'BEGIN { for (i = 0; i < 100; i++) printf \"a\"; exit; }'\` -BFILE=\`awk 'BEGIN { for (i = 0; i < 101; i++) printf \"b\"; exit; }'\` - -cat > ../experr < ../expout <"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "shortupd.at:34" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30756,115 +32129,90 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` -BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` - -cat > ../experr < ../expout <"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +touch foo +tar uf archive foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortupd.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/shortupd.at:34: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` -BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` - -cat > ../experr < ../expout <"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv03.at:33" - -$at_failed && at_func_log_failure -$at_traceon; } - - - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_82 -#AT_START_83 -# 83. multiv04.at:36: split directory members in a MV archive -at_setup_line='multiv04.at:36' -at_desc="split directory members in a MV archive" -$at_quiet $as_echo_n " 83: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "83. multiv04.at:36: testing ..." - $at_traceon - +touch foo +tar uf archive foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "shortupd.at:34" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * +touch foo +tar uf archive foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortupd.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/shortupd.at:34: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * +touch foo +tar uf archive foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "shortupd.at:34" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * +touch foo +tar uf archive foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortupd.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv04.at:39: + { set +x +$as_echo "$at_srcdir/shortupd.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -30873,28 +32221,11 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -mkdir directory -awk 'BEGIN { for (i = 0; i < 1024; i++) printf(\"directory/%014x\\n\", i); }' "$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +touch foo +tar uf archive foo +)" +at_fn_check_prepare_notrace 'an embedded newline' "shortupd.at:34" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -30903,68 +32234,94 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +touch foo +tar uf archive foo +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/shortupd.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -mkdir directory -awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' "$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_140 +#AT_START_141 +at_fn_group_banner 141 'truncate.at:29' \ + "truncate" " " 23 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "141. $at_setup_line: testing $at_desc ..." + $at_traceon -sleep 2 -tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory -echo separator -tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + { set +x +$as_echo "$at_srcdir/truncate.at:32: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * - -mkdir directory -awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' "$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: $? +echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +Exit status: 1 separator -block 0: directory/ -block 35: ** Block of NULs ** +foo +foo: Mod time differs +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv04.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv04.at:39: + { set +x +$as_echo "$at_srcdir/truncate.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -30973,333 +32330,413 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: \$? +echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar)" +at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * -mkdir directory -awk 'BEGIN { for (i = 0; i < 1024; i++) printf(\"directory/%014x\\n\", i); }' >"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +Exit status: 1 +separator +foo +foo: Mod time differs +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -sleep 2 + { set +x +$as_echo "$at_srcdir/truncate.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -tar --listed-incremental=list -c -f archive.a directory +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: \$? +echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar)" +at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -sleep 2 +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: $? +echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +Exit status: 1 +separator +foo +foo: Mod time differs +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory + { set +x +$as_echo "$at_srcdir/truncate.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: \$? echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar)" +at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -tar -MRt -f arc.1 -f arc.2)" -echo multiv04.at:39 >"$at_check_line_file" +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: $? +echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +Exit status: 1 +separator +foo +foo: Mod time differs +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/truncate.at:32: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -mkdir directory -awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' "$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar)" +at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -mkdir directory -awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' "$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +Exit status: 1 separator -block 0: directory/ -block 35: ** Block of NULs ** +foo +foo: Mod time differs +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv04.at:39" - -$at_failed && at_func_log_failure +at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_83 -#AT_START_84 -# 84. multiv05.at:26: Restoring after an out of sync volume -at_setup_line='multiv05.at:26' -at_desc="Restoring after an out of sync volume" -$at_quiet $as_echo_n " 84: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_141 +#AT_START_142 +at_fn_group_banner 142 'grow.at:24' \ + "grow" " " 23 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "84. multiv05.at:26: testing ..." + $as_echo "142. $at_setup_line: testing $at_desc ..." $at_traceon - - { $at_traceoff -$as_echo "$at_srcdir/multiv05.at:30: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/grow.at:27: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -exec <&- - -genfile --length 250k --file jeden -genfile --length 250k --file dwa -genfile --length 250k --file trzy -genfile --length 250k --file cztery -genfile --length 250k --file piec -genfile --length 250k --file szesc - - -echo Creating archive -tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc -echo separator -mkdir bak -mv jeden dwa trzy cztery piec szesc bak -tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar -echo Diffing jeden - cmp bak/jeden jeden || exit 1 -echo Diffing dwa - cmp bak/dwa dwa || exit 1 -echo Diffing trzy - cmp bak/trzy trzy || exit 1 -echo Diffing cztery - cmp bak/cztery cztery || exit 1 -echo Diffing piec - cmp bak/piec piec || exit 1 -echo Diffing szesc - cmp bak/szesc szesc || exit 1 +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz )" -echo multiv05.at:30 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -exec <&- - -genfile --length 250k --file jeden -genfile --length 250k --file dwa -genfile --length 250k --file trzy -genfile --length 250k --file cztery -genfile --length 250k --file piec -genfile --length 250k --file szesc +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + { set +x +$as_echo "$at_srcdir/grow.at:27: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -echo Creating archive -tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc -echo separator -mkdir bak -mv jeden dwa trzy cztery piec szesc bak -tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar -echo Diffing jeden - cmp bak/jeden jeden || exit 1 -echo Diffing dwa - cmp bak/dwa dwa || exit 1 -echo Diffing trzy - cmp bak/trzy trzy || exit 1 -echo Diffing cztery - cmp bak/cztery cztery || exit 1 -echo Diffing piec - cmp bak/piec piec || exit 1 -echo Diffing szesc - cmp bak/szesc szesc || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +)" +at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } -genfile --length 250k --file jeden -genfile --length 250k --file dwa -genfile --length 250k --file trzy -genfile --length 250k --file cztery -genfile --length 250k --file piec -genfile --length 250k --file szesc + { set +x +$as_echo "$at_srcdir/grow.at:27: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +)" +at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * -echo Creating archive -tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc -echo separator -mkdir bak -mv jeden dwa trzy cztery piec szesc bak -tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar -echo Diffing jeden - cmp bak/jeden jeden || exit 1 -echo Diffing dwa - cmp bak/dwa dwa || exit 1 -echo Diffing trzy - cmp bak/trzy trzy || exit 1 -echo Diffing cztery - cmp bak/cztery cztery || exit 1 -echo Diffing piec - cmp bak/piec piec || exit 1 -echo Diffing szesc - cmp bak/szesc szesc || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: \`trzy' is not continued on this volume -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating archive -separator -jeden -dwa -trzy -cztery -piec -szesc -Diffing jeden -Diffing dwa -Diffing trzy -Diffing cztery -Diffing piec -Diffing szesc +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv05.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/grow.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * - - - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_84 -#AT_START_85 -# 85. multiv06.at:27: Multivolumes with L=record_size -at_setup_line='multiv06.at:27' -at_desc="Multivolumes with L=record_size" -$at_quiet $as_echo_n " 85: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "85. multiv06.at:27: testing ..." - $at_traceon - - - - - - { $at_traceoff -$as_echo "$at_srcdir/multiv06.at:30: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +)" +at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3)" -echo multiv06.at:30 >"$at_check_line_file" +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/grow.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +)" +at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -31308,614 +32745,599 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating file -Creating archive -Testing archive +genfile --file foo --length 50000k +genfile --file baz +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating file -Creating archive -Testing archive -file +echo >>"$at_stdout"; $as_echo "foo +baz " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv06.at:30" - -$at_failed && at_func_log_failure +at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/multiv06.at:30: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" -export TAR_OPTIONS -rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3)" -echo multiv06.at:30 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_142 +#AT_START_143 +at_fn_group_banner 143 'sigpipe.at:21' \ + "sigpipe handling" " " 23 +at_xfail=no +( + $as_echo "143. $at_setup_line: testing $at_desc ..." + $at_traceon -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating file -Creating archive -Testing archive -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating file -Creating archive -Testing archive -file -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv06.at:30" -$at_failed && at_func_log_failure -$at_traceon; } +# Description: Tar 1.23 ignored sigpipe which lead to spurious "write +# error" diagnostics when piping output to another programs. +# Reported-by: "Dmitry V. Levin" +# References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00039.html +# <20100319184141.GC30047@wo.int.altlinux.org> + +{ set +x +$as_echo "$at_srcdir/sigpipe.at:30: + +case \`(cat \"\$at_myself\" 2>&3 | :) 3>&1 >/dev/null\` in #( +?*) exit 77;; +esac + + +genfile --length 2048 --file first +genfile --length 2048 --file second +genfile --length 2049 --file third + +tar cf archive first second third + +# Discard diagnostics that some shells generate about broken pipes. +(tar tf archive 2>&3 | :) 3>&2 2>/dev/null +" +at_fn_check_prepare_notrace 'a `...` command substitution' "sigpipe.at:30" +( $at_check_trace; + +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + +genfile --length 2048 --file first +genfile --length 2048 --file second +genfile --length 2049 --file third + +tar cf archive first second third + +# Discard diagnostics that some shells generate about broken pipes. +(tar tf archive 2>&3 | :) 3>&2 2>/dev/null +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sigpipe.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_85 -#AT_START_86 -# 86. multiv07.at:26: volumes split at an extended header -at_setup_line='multiv07.at:26' -at_desc="volumes split at an extended header" -$at_quiet $as_echo_n " 86: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_143 +#AT_START_144 +at_fn_group_banner 144 'remfiles01.at:28' \ + "remove-files with compression" " " 24 at_xfail=no - test -f \$XFAILFILE && at_xfail=yes - test -f $XFAILFILE && at_xfail=yes - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "86. multiv07.at:26: testing ..." + $as_echo "144. $at_setup_line: testing $at_desc ..." $at_traceon -{ $at_traceoff -$as_echo "$at_srcdir/multiv07.at:29: +unset TAR_OPTIONS +{ set +x +$as_echo "$at_srcdir/remfiles01.at:32: + +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 && exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -exec <&- +case \`(cat \"\$at_myself\" 2>&3 | :) 3>&1 >/dev/null\` in #( +?*) exit 77;; +esac -cd \$TEST_DATA_DIR -tar -t -M -fxsplit-1.tar -fxsplit-2.tar + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + + +mkdir dir +cd dir +genfile --file a --length 0 +chmod 0 a +genfile --file b +mkdir c + +# Depending on when the SIGPIPE gets delivered, the invocation below +# may finish with either +# tar: a: Cannot write: Broken pipe +# or +# tar: Child returned status 2 + +# Discard diagnostics that some shells generate about broken pipes, +# and discard all of tar's diagnostics except for the ones saying \"(child)\". +# Gzip's exit code is propagated to the shell. Usually it is 141. +# Convert all non-zero exits to 2 to make it predictable. +(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null +EC=\$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit \$EC " -echo multiv07.at:29 >"$at_check_line_file" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles01.at:32" +( $at_check_trace; -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -exec <&- +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac -cd $TEST_DATA_DIR -tar -t -M -fxsplit-1.tar -fxsplit-2.tar - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +test -z "`sort < /dev/null 2>&1`" || exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +mkdir dir +cd dir +genfile --file a --length 0 +chmod 0 a +genfile --file b +mkdir c + +# Depending on when the SIGPIPE gets delivered, the invocation below +# may finish with either +# tar: a: Cannot write: Broken pipe +# or +# tar: Child returned status 2 -exec <&- +# Discard diagnostics that some shells generate about broken pipes, +# and discard all of tar's diagnostics except for the ones saying "(child)". +# Gzip's exit code is propagated to the shell. Usually it is 141. +# Convert all non-zero exits to 2 to make it predictable. +(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null +EC=$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit $EC -cd $TEST_DATA_DIR -tar -t -M -fxsplit-1.tar -fxsplit-2.tar - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Archive volumes split at an extended header Volume 1 -foo -bar +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar (child): a: Cannot open: Permission denied +tar (child): Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo ". +./a +./b +./c " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv07.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 2 $at_status "$at_srcdir/remfiles01.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_86 -#AT_START_87 -# 87. multiv08.at:23: multivolume header creation -at_setup_line='multiv08.at:23' -at_desc="multivolume header creation" -$at_quiet $as_echo_n " 87: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_144 +#AT_START_145 +at_fn_group_banner 145 'remfiles02.at:28' \ + "remove-files with compression: grand-child" " " 24 at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "87. multiv08.at:23: testing ..." + $as_echo "145. $at_setup_line: testing $at_desc ..." $at_traceon +unset TAR_OPTIONS +{ set +x +$as_echo "$at_srcdir/remfiles02.at:32: +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/multiv08.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -genfile --length 9472 --file a -genfile --length 9984 --file b -decho Creating -tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b -decho Testing -tar -tMR -f A.tar -f B.tar -f C.tar -)" -echo multiv08.at:26 >"$at_check_line_file" +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --length 9472 --file a -genfile --length 9984 --file b -decho Creating -tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b -decho Testing -tar -tMR -f A.tar -f B.tar -f C.tar -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +mkdir dir +cd dir +mkdir a +genfile --file b +mkdir c -genfile --length 9472 --file a -genfile --length 9984 --file b -decho Creating -tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b -decho Testing -tar -tMR -f A.tar -f B.tar -f C.tar -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "Creating -Testing +tar -c -f a -z --remove-files b c 2>err +EC=\$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit \$EC +" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles02.at:32" +( $at_check_trace; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir dir +cd dir +mkdir a +genfile --file b +mkdir c + +tar -c -f a -z --remove-files b c 2>err +EC=$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit $EC + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "tar (child): a: Cannot open: Is a directory +tar (child): Error is not recoverable: exiting now " | \ $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Creating -Testing -block 0: a -block 21: b -block 43: ** Block of NULs ** +echo >>"$at_stdout"; $as_echo ". +./a +./b +./c " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multiv08.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 2 $at_status "$at_srcdir/remfiles02.at:32" +$at_failed && at_fn_log_failure $at_traceon; } - - - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_87 -#AT_START_88 -# 88. old.at:23: old archives -at_setup_line='old.at:23' -at_desc="old archives" -$at_quiet $as_echo_n " 88: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_145 +#AT_START_146 +at_fn_group_banner 146 'remfiles03.at:28' \ + "remove-files with symbolic links" " " 24 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "88. old.at:23: testing ..." + $as_echo "146. $at_setup_line: testing $at_desc ..." $at_traceon -unset TAR_OPTIONS -{ $at_traceoff -$as_echo "$at_srcdir/old.at:27: -mkdir directory -tar cfvo archive directory || exit 1 -tar tf archive +{ set +x +$as_echo "$at_srcdir/remfiles03.at:31: +mkdir a +mkdir a/b +ln -s b a/c || exit 77 +tar --remove-files -cf a.tar a +genfile --stat a " -echo old.at:27 >"$at_check_line_file" +at_fn_check_prepare_notrace 'an embedded newline' "remfiles03.at:31" +( $at_check_trace; +mkdir a +mkdir a/b +ln -s b a/c || exit 77 +tar --remove-files -cf a.tar a +genfile --stat a -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir directory -tar cfvo archive directory || exit 1 -tar tf archive - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir directory -tar cfvo archive directory || exit 1 -tar tf archive - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -directory/ +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "genfile: stat(a) failed: No such file or directory " | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/old.at:27" - -$at_failed && at_func_log_failure + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles03.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_88 -#AT_START_89 -# 89. recurse.at:21: recurse -at_setup_line='recurse.at:21' -at_desc="recurse" -$at_quiet $as_echo_n " 89: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_146 +#AT_START_147 +at_fn_group_banner 147 'remfiles04a.at:25' \ + "remove-files with -C:rel in -c/non-incr. mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "89. recurse.at:21: testing ..." + $as_echo "147. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/recurse.at:24: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/remfiles04a.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar --remove-files -C foo bar +echo A +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles04a.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar --remove-files -C foo bar +echo A +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles04a.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/recurse.at:24: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * - -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_147 +#AT_START_148 +at_fn_group_banner 148 'remfiles04b.at:33' \ + "remove-files with -C:rel in -c/incr. mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "148. $at_setup_line: testing $at_desc ..." + $at_traceon -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/recurse.at:24: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + + { set +x +$as_echo "$at_srcdir/remfiles04b.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar --incremental --remove-files -C foo bar +echo A +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles04b.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar --incremental --remove-files -C foo bar +echo A +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles04b.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/recurse.at:24: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_148 +#AT_START_149 +at_fn_group_banner 149 'remfiles04c.at:33' \ + "remove-files with -C:rel in -r mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "149. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/remfiles04c.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar -C foo bar +echo A +find . | sort +tar -rf foo.tar --remove-files -C foo bar +echo B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles04c.at:36" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +echo bar > bar +echo foobar > foo/bar +tar -cf foo.tar -C foo bar +echo A +find . | sort +tar -rf foo.tar --remove-files -C foo bar +echo B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./foo +./foo.tar +./foo/bar +B +. +./bar +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles04c.at:36" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/recurse.at:24: + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_149 +#AT_START_150 +at_fn_group_banner 150 'remfiles05a.at:34' \ + "remove-files with -C:rel,rel in -c/non-incr. mode" "" 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "150. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/remfiles05a.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -31924,16 +33346,21 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +decho A +tar -cvf foo.tar --remove-files -C foo file -C ../bar file +decho B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles05a.at:37" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -31942,14 +33369,87 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +decho A +tar -cvf foo.tar --remove-files -C foo file -C ../bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles05a.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_150 +#AT_START_151 +at_fn_group_banner 151 'remfiles05b.at:25' \ + "remove-files with -C:rel,rel in -c/incr. mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "151. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/remfiles05b.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C ../bar file +decho B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles05b.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -31958,393 +33458,547 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "directory/ + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C ../bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles05b.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_89 -#AT_START_90 -# 90. same-order01.at:26: working -C with --same-order -at_setup_line='same-order01.at:26' -at_desc="working -C with --same-order" -$at_quiet $as_echo_n " 90: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_151 +#AT_START_152 +at_fn_group_banner 152 'remfiles05c.at:25' \ + "remove-files with -C:rel,rel in -r mode" " " 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "90. same-order01.at:26: testing ..." + $as_echo "152. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/same-order01.at:29: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/remfiles05c.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls directory|sort +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +tar -cf foo.tar -C foo file -C ../bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C ../bar file +decho C +find . | sort )" -echo same-order01.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles05c.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +tar -cf foo.tar -C foo file -C ../bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C ../bar file +decho C +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +C +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles05c.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_152 +#AT_START_153 +at_fn_group_banner 153 'remfiles06a.at:25' \ + "remove-files with -C:rel,abs in -c/non-incr. mode" "" 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "153. $at_setup_line: testing $at_desc ..." + $at_traceon + -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/remfiles06a.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +decho A +tar -cvf foo.tar --remove-files -C foo file -C \$DIR/bar file +decho B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles06a.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles06a.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order01.at:29: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_153 +#AT_START_154 +at_fn_group_banner 154 'remfiles06b.at:25' \ + "remove-files with -C:rel,abs in -c/incr. mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "154. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + { set +x +$as_echo "$at_srcdir/remfiles06b.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C \$DIR/bar file +decho B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles06b.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 - -ls directory|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles06b.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order01.at:29: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_154 +#AT_START_155 +at_fn_group_banner 155 'remfiles06c.at:25' \ + "remove-files with -C:rel,abs in -r mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "155. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { set +x +$as_echo "$at_srcdir/remfiles06c.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +tar -cf foo.tar -C foo file -C \$DIR/bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C ../bar file +decho C +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles06c.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 - -ls directory|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +tar -cf foo.tar -C foo file -C $DIR/bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C ../bar file +decho C +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +C +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles06c.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order01.at:29: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_155 +#AT_START_156 +at_fn_group_banner 156 'remfiles07a.at:25' \ + "remove-files with -C:rel,abs in -c/non-incr. mode" "" 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "156. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + { set +x +$as_echo "$at_srcdir/remfiles07a.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +decho A +tar -cvf foo.tar --remove-files -C foo file -C \$DIR/bar file +decho B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles07a.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles07a.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_156 +#AT_START_157 +at_fn_group_banner 157 'remfiles07b.at:25' \ + "remove-files with -C:rel,abs in -c/incr. mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "157. $at_setup_line: testing $at_desc ..." + $at_traceon -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order01.at:29: + { set +x +$as_echo "$at_srcdir/remfiles07b.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -32354,23 +34008,21 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls directory|sort +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C \$DIR/bar file +decho B +find . | sort )" -echo same-order01.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles07b.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -32382,463 +34034,532 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --incremental --remove-files -C foo file -C $DIR/bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles07b.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_157 +#AT_START_158 +at_fn_group_banner 158 'remfiles07c.at:25' \ + "remove-files with -C:rel,abs in -r mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "158. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/remfiles07c.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +tar -cf foo.tar -C foo file -C \$DIR/bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C \$DIR/bar file +decho C +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles07c.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -ls directory|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +tar -cf foo.tar -C foo file -C $DIR/bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C foo file -C $DIR/bar file +decho C +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +C +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles07c.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_90 -#AT_START_91 -# 91. same-order02.at:25: multiple -C options -at_setup_line='same-order02.at:25' -at_desc="multiple -C options" -$at_quiet $as_echo_n " 91: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_158 +#AT_START_159 +at_fn_group_banner 159 'remfiles08a.at:25' \ + "remove-files with -C:abs,rel in -c/non-incr. mode" "" 24 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "91. same-order02.at:25: testing ..." + $as_echo "159. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/same-order02.at:28: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/remfiles08a.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=\`pwd\` -tar -xf archive --same-order --warning=no-timestamp \\ - -C \$HERE/en file1 \\ - -C \$HERE/to file2 || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls en -echo separator -ls to +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +decho A +tar -cvf foo.tar --remove-files -C \$DIR/foo file -C ../bar file +decho B +find . | sort )" -echo same-order02.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 - -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles08a.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -separator -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --remove-files -C $DIR/foo file -C ../bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles08a.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order02.at:28: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * - -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir en -mkdir to -HERE=\`pwd\` -tar -xf archive --same-order --warning=no-timestamp \\ - -C \$HERE/en file1 \\ - -C \$HERE/to file2 || exit 1 -ls en -echo separator -ls to -)" -echo same-order02.at:28 >"$at_check_line_file" + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_159 +#AT_START_160 +at_fn_group_banner 160 'remfiles08b.at:25' \ + "remove-files with -C:abs,rel in -c/incr. mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "160. $at_setup_line: testing $at_desc ..." + $at_traceon -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/remfiles08b.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -separator -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +decho A +tar -cvf foo.tar --incremental --remove-files -C \$DIR/foo file -C ../bar file +decho B +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles08b.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +decho A +tar -cvf foo.tar --incremental --remove-files -C $DIR/foo file -C ../bar file +decho B +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +file +file +B +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles08b.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order02.at:28: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir en -mkdir to -HERE=\`pwd\` -tar -xf archive --same-order --warning=no-timestamp \\ - -C \$HERE/en file1 \\ - -C \$HERE/to file2 || exit 1 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_160 +#AT_START_161 +at_fn_group_banner 161 'remfiles08c.at:25' \ + "remove-files with -C:abs,rel in -r mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "161. $at_setup_line: testing $at_desc ..." + $at_traceon -ls en -echo separator -ls to -)" -echo same-order02.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + + + + { set +x +$as_echo "$at_srcdir/remfiles08c.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=\`pwd\` +tar -cf foo.tar -C \$DIR/foo file -C ../bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C \$DIR/foo file -C ../bar file +decho C +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles08c.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -separator -file2 +mkdir foo +mkdir bar +echo file > file +echo foo/file > foo/file +echo bar/file > bar/file +DIR=`pwd` +tar -cf foo.tar -C $DIR/foo file -C ../bar file +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files -C $DIR/foo file -C ../bar file +decho C +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +C +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./bar +./bar/file +./file +./foo +./foo.tar +./foo/file +B +file +file +C +. +./bar +./file +./foo +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles08c.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/same-order02.at:28: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir en -mkdir to -HERE=\`pwd\` -tar -xf archive --same-order --warning=no-timestamp \\ - -C \$HERE/en file1 \\ - -C \$HERE/to file2 || exit 1 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_161 +#AT_START_162 +at_fn_group_banner 162 'remfiles09a.at:25' \ + "remove-files on full directory in -c/non-incr. mode" "" 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "162. $at_setup_line: testing $at_desc ..." + $at_traceon -ls en -echo separator -ls to -)" -echo same-order02.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 + { set +x +$as_echo "$at_srcdir/remfiles09a.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +mkdir foo +echo foo/file > foo/file +decho A +tar -cvf foo.tar --remove-files foo +decho B +find . +)" +at_fn_check_prepare_notrace 'an embedded newline' "remfiles09a.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 +mkdir foo +echo foo/file > foo/file +decho A +tar -cvf foo.tar --remove-files foo +decho B +find . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +foo/ +foo/file +B +. +./foo.tar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles09a.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -separator -file2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" -$at_failed && at_func_log_failure -$at_traceon; } + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_162 +#AT_START_163 +at_fn_group_banner 163 'remfiles09b.at:29' \ + "remove-files on full directory in -c/incr. mode" "" 24 +at_xfail=yes + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "163. $at_setup_line: testing $at_desc ..." + $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/same-order02.at:28: + + + # we expect to fail in tar 1.27 + + + + { set +x +$as_echo "$at_srcdir/remfiles09b.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -32847,27 +34568,19 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=\`pwd\` -tar -xf archive --same-order --warning=no-timestamp \\ - -C \$HERE/en file1 \\ - -C \$HERE/to file2 || exit 1 +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 -ls en -echo separator -ls to +mkdir foo +echo foo/file > foo/file +decho A +tar -cvf foo.tar --incremental --remove-files foo +TARSTAT=\$? +decho B +find . )" -echo same-order02.at:28 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles09b.at:34" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -32876,25 +34589,84 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 -mkdir en -mkdir to +test -z "`sort < /dev/null 2>&1`" || exit 77 -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 +mkdir foo +echo foo/file > foo/file +decho A +tar -cvf foo.tar --incremental --remove-files foo +TARSTAT=$? +decho B +find . +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +tar: foo: Directory is new +B +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +foo/ +foo/file +B +. +./foo +./foo.tar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/remfiles09b.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_163 +#AT_START_164 +at_fn_group_banner 164 'remfiles09c.at:25' \ + "remove-files on full directory in -r mode" " " 24 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "164. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + + { set +x +$as_echo "$at_srcdir/remfiles09c.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z \"\`sort < /dev/null 2>&1\`\" || exit 77 + +mkdir foo +echo foo/file > foo/file +tar -cf foo.tar foo +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files foo +decho C +find . | sort +)" +at_fn_check_prepare_notrace 'a `...` command substitution' "remfiles09c.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -32903,62 +34675,67 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to -HERE=`pwd` -tar -xf archive --same-order --warning=no-timestamp \ - -C $HERE/en file1 \ - -C $HERE/to file2 || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -ls en -echo separator -ls to -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 -separator -file2 +mkdir foo +echo foo/file > foo/file +tar -cf foo.tar foo +decho A +find . | sort +decho B +tar -rvf foo.tar --remove-files foo +decho C +find . | sort +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "A +B +C +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "A +. +./foo +./foo.tar +./foo/file +B +foo/ +foo/file +C +. +./foo.tar " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/remfiles09c.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_91 -#AT_START_92 -# 92. shortrec.at:25: short records -at_setup_line='shortrec.at:25' -at_desc="short records" -$at_quiet $as_echo_n " 92: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_164 +#AT_START_165 +at_fn_group_banner 165 'xattr01.at:25' \ + "xattrs: basic functionality" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "92. shortrec.at:25: testing ..." + $as_echo "165. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/shortrec.at:28: + { set +x +$as_echo "$at_srcdir/xattr01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -32967,40 +34744,46 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -)" -echo shortrec.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -rm -r directory -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^\$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr01.at:28" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -33009,27 +34792,58 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortrec.at:28" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurDirValue\" +user.test=\"OurFileValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/shortrec.at:28: + { set +x +$as_echo "$at_srcdir/xattr01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -33038,40 +34852,46 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -)" -echo shortrec.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -rm -r directory -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^\$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr01.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -33080,27 +34900,58 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortrec.at:28" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurDirValue\" +user.test=\"OurFileValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/shortrec.at:28: + { set +x +$as_echo "$at_srcdir/xattr01.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -33109,40 +34960,46 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -)" -echo shortrec.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -rm -r directory -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^\$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr01.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -33151,27 +35008,58 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortrec.at:28" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurDirValue\" +user.test=\"OurFileValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/shortrec.at:28: + { set +x +$as_echo "$at_srcdir/xattr01.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -33180,20 +35068,46 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -)" -echo shortrec.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^\$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr01.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -33202,47 +35116,58 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file -rm -r directory -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortrec.at:28" +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar -$at_failed && at_func_log_failure +getfattr -h -d dir | grep -v -e '^#' -e ^$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurDirValue\" +user.test=\"OurFileValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/shortrec.at:28: + { set +x +$as_echo "$at_srcdir/xattr01.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -33251,40 +35176,46 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -)" -echo shortrec.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -rm -r directory -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^\$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr01.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -33293,217 +35224,202 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - > /dev/null -tar -c -b 1 -f archive directory -tar -t -f archive > /dev/null -tar -t -f - < archive > /dev/null -rm -r directory -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortrec.at:28" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurDirValue\" +user.test=\"OurFileValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_92 -#AT_START_93 -# 93. sparse01.at:21: sparse files -at_setup_line='sparse01.at:21' -at_desc="sparse files" -$at_quiet $as_echo_n " 93: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_165 +#AT_START_166 +at_fn_group_banner 166 'xattr02.at:25' \ + "xattrs: change directory with -C option" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "93. sparse01.at:21: testing ..." + $as_echo "166. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/sparse01.at:24: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { set +x +$as_echo "$at_srcdir/xattr02.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -)" -echo sparse01.at:24 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_func_check_status 0 $at_status "$at_srcdir/sparse01.at:24" -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/sparse01.at:24: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -)" -echo sparse01.at:24 >"$at_check_line_file" +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +rm -rf dir -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^\$ +getfattr -h -d file2 | grep -v -e '^#' -e ^\$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr02.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_func_check_status 0 $at_status "$at_srcdir/sparse01.at:24" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^$ +getfattr -h -d file2 | grep -v -e '^#' -e ^$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurFile1Value\" +user.test=\"OurFile2Value\" +user.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/sparse01.at:24: + { set +x +$as_echo "$at_srcdir/xattr02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -33512,24 +35428,53 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^\$ +getfattr -h -d file2 | grep -v -e '^#' -e ^\$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^\$ )" -echo sparse01.at:24 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr02.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -33538,139 +35483,244 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator + file=$(TMPDIR=. mktemp fiXXXXXX) -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive --warning=no-timestamp -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_func_check_status 0 $at_status "$at_srcdir/sparse01.at:24" + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir -$at_failed && at_func_log_failure +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^$ +getfattr -h -d file2 | grep -v -e '^#' -e ^$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurFile1Value\" +user.test=\"OurFile2Value\" +user.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } + { set +x +$as_echo "$at_srcdir/xattr02.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -cat >stdout.re <<'_ATEOF' -separator --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin --rw-r--r-- ^ ^ * *10344448 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end -separator -sparsefile 10344448 -_ATEOF + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -awk '{print NR " " $0}' stdout > $$.1 -awk '{print NR " " $0}' stdout.re | join - $$.1 | -while read NUM RE LINE -do - echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 -done + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_93 -#AT_START_94 -# 94. sparse02.at:21: extracting sparse file over a pipe -at_setup_line='sparse02.at:21' -at_desc="extracting sparse file over a pipe" -$at_quiet $as_echo_n " 94: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "94. sparse02.at:21: testing ..." - $at_traceon + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -# Tar 1.14 - 1.15.1 was unable to extract sparse files to a pipe. -# References: <16896.21739.460782.124775@jik.kamens.brookline.ma.us> -# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00003.html +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir - { $at_traceoff -$as_echo "$at_srcdir/sparse02.at:28: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^\$ +getfattr -h -d file2 | grep -v -e '^#' -e ^\$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr02.at:28" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -)" -echo sparse02.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^$ +getfattr -h -d file2 | grep -v -e '^#' -e ^$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurFile1Value\" +user.test=\"OurFile2Value\" +user.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xattr02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^\$ +getfattr -h -d file2 | grep -v -e '^#' -e ^\$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr02.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -33679,523 +35729,349 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator - -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sparse02.at:28" - -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/sparse02.at:28: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator + file=$(TMPDIR=. mktemp fiXXXXXX) -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -)" -echo sparse02.at:28 >"$at_check_line_file" + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sparse02.at:28" -$at_failed && at_func_log_failure -$at_traceon; } +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 - { $at_traceoff -$as_echo "$at_srcdir/sparse02.at:28: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -)" -echo sparse02.at:28 >"$at_check_line_file" +rm -rf dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +tar --xattrs -xf archive.tar -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator +getfattr -h -d file1 | grep -v -e '^#' -e ^$ +getfattr -h -d file2 | grep -v -e '^#' -e ^$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurFile1Value\" +user.test=\"OurFile2Value\" +user.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { set +x +$as_echo "$at_srcdir/xattr02.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sparse02.at:28" -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_94 -#AT_START_95 -# 95. sparse03.at:21: storing sparse files > 8G -at_setup_line='sparse03.at:21' -at_desc="storing sparse files > 8G" -$at_quiet $as_echo_n " 95: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "95. sparse03.at:21: testing ..." - $at_traceon + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -# Tar 1.15.1 incorrectly computed sparse member size if the extended -# PAX header contained size keyword. -# References: <87vf46nb36.fsf@penguin.cs.ucla.edu> -# http://lists.gnu.org/archive/html/bug-tar/2005-06/msg00040.html +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir - { $at_traceoff -$as_echo "$at_srcdir/sparse03.at:29: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * +rm -rf dir -genfile --length 1000 --file begin -genfile --length 1000 --file end -genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +tar --xattrs -xf archive.tar -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +getfattr -h -d file1 | grep -v -e '^#' -e ^\$ +getfattr -h -d file2 | grep -v -e '^#' -e ^\$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^\$ )" -echo sparse03.at:29 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr02.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --length 1000 --file begin -genfile --length 1000 --file end -genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -genfile --length 1000 --file begin -genfile --length 1000 --file end -genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator + file=$(TMPDIR=. mktemp fiXXXXXX) -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_func_check_status 0 $at_status "$at_srcdir/sparse03.at:29" + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -$at_failed && at_func_log_failure -$at_traceon; } + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -cat >stdout.re <<'_ATEOF' -separator --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin --rw-r--r-- ^ ^ * *8589935104 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end -separator -sparsefile 8589935104 -_ATEOF +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^$ +getfattr -h -d file2 | grep -v -e '^#' -e ^$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"OurFile1Value\" +user.test=\"OurFile2Value\" +user.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + -awk '{print NR " " $0}' stdout > $$.1 -awk '{print NR " " $0}' stdout.re | join - $$.1 | -while read NUM RE LINE -do - echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 -done - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_95 -#AT_START_96 -# 96. sparse04.at:21: storing long sparse file names -at_setup_line='sparse04.at:21' -at_desc="storing long sparse file names" -$at_quiet $as_echo_n " 96: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_166 +#AT_START_167 +at_fn_group_banner 167 'xattr03.at:25' \ + "xattrs: trusted.* attributes" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "96. sparse04.at:21: testing ..." + $as_echo "167. $at_setup_line: testing $at_desc ..." $at_traceon -# Description: Tar versions from 1.15.92 to 1.25 would incorrectly -# store sparse file names longer than 100 characters in pax mode. -# Namely, the `path' keyword of the produced PAX header would contain the -# crafted name of the header itself, instead of that of the file. -# Reported by: Kamil Dudka -# References: <201011250026.44908.kdudka@redhat.com>, -# http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00099.html - - - - { $at_traceoff -$as_echo "$at_srcdir/sparse04.at:35: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { set +x +$as_echo "$at_srcdir/xattr03.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 -tar -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar t -)" -echo sparse04.at:35 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 -tar -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar t -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * -genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 -tar -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar t -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sparse04.at:35" -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_96 -#AT_START_97 -# 97. sparsemv.at:21: sparse files in MV archives -at_setup_line='sparsemv.at:21' -at_desc="sparse files in MV archives" -$at_quiet $as_echo_n " 97: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "97. sparsemv.at:21: testing ..." - $at_traceon + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -# Check if sparse files are correctly split between GNU multi-volume -# archives. -# There are two cases: the file can be split within an empty (null) block, -# or within a data block. Since null blocks are not archived, the first -# case means the file is split between two consecutive data blocks. -# +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir - { $at_traceoff -$as_echo "$at_srcdir/sparsemv.at:31: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +rm -rf dir -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 +tar --xattrs --xattrs-include=trusted* -xf archive.tar -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^\$ )" -echo sparsemv.at:31 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr03.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "trusted.test=\"OurFile1Value\" +trusted.test=\"OurFile2Value\" +trusted.test=\"OurDirValue\" " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sparsemv.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xattr03.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/sparsemv.at:31: + { set +x +$as_echo "$at_srcdir/xattr03.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -34204,60 +36080,61 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -)" -echo sparsemv.at:31 >"$at_check_line_file" +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr03.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -34266,483 +36143,512 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sparsemv.at:31" +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 -$at_failed && at_func_log_failure -$at_traceon; } + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_97 -#AT_START_98 -# 98. spmvp00.at:21: sparse files in PAX MV archives, v.0.0 -at_setup_line='spmvp00.at:21' -at_desc="sparse files in PAX MV archives, v.0.0" -$at_quiet $as_echo_n " 98: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "98. spmvp00.at:21: testing ..." - $at_traceon + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 - { $at_traceoff -$as_echo "$at_srcdir/spmvp00.at:24: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "trusted.test=\"OurFile1Value\" +trusted.test=\"OurFile2Value\" +trusted.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr03.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xattr03.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -)" -echo spmvp00.at:24 >"$at_check_line_file" +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr03.at:28" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "trusted.test=\"OurFile1Value\" +trusted.test=\"OurFile2Value\" +trusted.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr03.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xattr03.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/spmvp00.at:24" +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_98 -#AT_START_99 -# 99. spmvp01.at:21: sparse files in PAX MV archives, v.0.1 -at_setup_line='spmvp01.at:21' -at_desc="sparse files in PAX MV archives, v.0.1" -$at_quiet $as_echo_n " 99: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "99. spmvp01.at:21: testing ..." - $at_traceon + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 - { $at_traceoff -$as_echo "$at_srcdir/spmvp01.at:24: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" -export TAR_OPTIONS -rm -rf * +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -)" -echo spmvp01.at:24 >"$at_check_line_file" +rm -rf dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr03.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/spmvp01.at:24" -$at_failed && at_func_log_failure -$at_traceon; } + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_99 -#AT_START_100 -# 100. spmvp10.at:21: sparse files in PAX MV archives, v.1.0 -at_setup_line='spmvp10.at:21' -at_desc="sparse files in PAX MV archives, v.1.0" -$at_quiet $as_echo_n "100: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "100. spmvp10.at:21: testing ..." - $at_traceon + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir - { $at_traceoff -$as_echo "$at_srcdir/spmvp10.at:24: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" -export TAR_OPTIONS -rm -rf * +rm -rf dir -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +tar --xattrs --xattrs-include=trusted* -xf archive.tar -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -)" -echo spmvp10.at:24 >"$at_check_line_file" +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "trusted.test=\"OurFile1Value\" +trusted.test=\"OurFile2Value\" +trusted.test=\"OurDirValue\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr03.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { set +x +$as_echo "$at_srcdir/xattr03.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^\$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^\$ +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr03.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "trusted.test=\"OurFile1Value\" +trusted.test=\"OurFile2Value\" +trusted.test=\"OurDirValue\" " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/spmvp10.at:24" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xattr03.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_100 -#AT_START_101 -# 101. update.at:28: update unchanged directories -at_setup_line='update.at:28' -at_desc="update unchanged directories" -$at_quiet $as_echo_n "101: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_167 +#AT_START_168 +at_fn_group_banner 168 'xattr04.at:26' \ + "xattrs: s/open/openat/ regression" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "101. update.at:28: testing ..." + $as_echo "168. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/update.at:31: + { set +x +$as_echo "$at_srcdir/xattr04.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -34752,47 +36658,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:31 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=\$? +getfattr -h -d output/file | grep -v -e '^#' -e ^\$ +exit \$ret +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr04.at:29" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -34802,36 +36707,57 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -directory/ -directory/file1 -directory/file2 + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=$? +getfattr -h -d output/file | grep -v -e '^#' -e ^$ +exit $ret +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"value\" " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xattr04.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update.at:31: + { set +x +$as_echo "$at_srcdir/xattr04.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -34841,47 +36767,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:31 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=\$? +getfattr -h -d output/file | grep -v -e '^#' -e ^\$ +exit \$ret +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr04.at:29" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -34891,36 +36816,57 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -directory/ -directory/file1 -directory/file2 + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=$? +getfattr -h -d output/file | grep -v -e '^#' -e ^$ +exit $ret +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"value\" " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xattr04.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update.at:31: + { set +x +$as_echo "$at_srcdir/xattr04.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -34930,47 +36876,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:31 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=\$? +getfattr -h -d output/file | grep -v -e '^#' -e ^\$ +exit \$ret +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr04.at:29" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -34980,86 +36925,106 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -directory/ -directory/file1 -directory/file2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update.at:31" + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update.at:31: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:31 >"$at_check_line_file" +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=$? +getfattr -h -d output/file | grep -v -e '^#' -e ^$ +exit $ret +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"value\" +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr04.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + { set +x +$as_echo "$at_srcdir/xattr04.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=\$? +getfattr -h -d output/file | grep -v -e '^#' -e ^\$ +exit \$ret +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr04.at:29" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -35069,36 +37034,57 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -directory/ -directory/file1 -directory/file2 + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=$? +getfattr -h -d output/file | grep -v -e '^#' -e ^$ +exit $ret +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"value\" " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xattr04.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update.at:31: + { set +x +$as_echo "$at_srcdir/xattr04.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -35108,47 +37094,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:31 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=\$? +getfattr -h -d output/file | grep -v -e '^#' -e ^\$ +exit \$ret +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr04.at:29" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -35158,60 +37143,78 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -directory/ -directory/file1 -directory/file2 + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=$? +getfattr -h -d output/file | grep -v -e '^#' -e ^$ +exit $ret +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "user.test=\"value\" " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update.at:31" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/xattr04.at:29" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_101 -#AT_START_102 -# 102. update01.at:29: update directories -at_setup_line='update01.at:29' -at_desc="update directories" -$at_quiet $as_echo_n "102: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_168 +#AT_START_169 +at_fn_group_banner 169 'xattr05.at:28' \ + "xattrs: keywords with '=' and '%'" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "102. update01.at:29: testing ..." + $as_echo "169. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/update01.at:32: + { set +x +$as_echo "$at_srcdir/xattr05.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -35221,55 +37224,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir a -genfile --file a/b - -tar cf arc a -echo \"separator\" + file=\$(TMPDIR=. mktemp fiXXXXXX) -sleep 2 -genfile --file a/c + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update01.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a +mkdir dir +mkdir output +genfile --file dir/file -echo "separator" +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before -sleep 2 -genfile --file a/c +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr05.at:31" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -35279,201 +37273,211 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir a -genfile --file a/b - -tar cf arc a - -echo "separator" - -sleep 2 -genfile --file a/c - -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/c -separator -a/ -a/b -a/c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" - -$at_failed && at_func_log_failure -$at_traceon; } - - { $at_traceoff -$as_echo "$at_srcdir/update01.at:32: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * + file=$(TMPDIR=. mktemp fiXXXXXX) -test -z "`sort < /dev/null 2>&1`" || exit 77 + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo \"separator\" -sleep 2 -genfile --file a/c + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update01.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr05.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xattr05.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir a -genfile --file a/b - -tar cf arc a - -echo "separator" - -sleep 2 -genfile --file a/c -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir a -genfile --file a/b + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cf arc a -echo "separator" + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -sleep 2 -genfile --file a/c -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/c -separator -a/ -a/b -a/c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" +mkdir dir +mkdir output +genfile --file dir/file -$at_failed && at_func_log_failure -$at_traceon; } +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before - { $at_traceoff -$as_echo "$at_srcdir/update01.at:32: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr05.at:31" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir a -genfile --file a/b + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf arc a + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo \"separator\" -sleep 2 -genfile --file a/c + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update01.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr05.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xattr05.at:31: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir a -genfile --file a/b + file=\$(TMPDIR=. mktemp fiXXXXXX) -tar cf arc a + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -echo "separator" -sleep 2 -genfile --file a/c + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr05.at:31" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -35483,41 +37487,55 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir a -genfile --file a/b + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf arc a + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo "separator" -sleep 2 -genfile --file a/c + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/c -separator -a/ -a/b -a/c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" -$at_failed && at_func_log_failure -$at_traceon; } + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/update01.at:32: + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr05.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/xattr05.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -35527,55 +37545,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir a -genfile --file a/b -tar cf arc a - -echo \"separator\" + file=\$(TMPDIR=. mktemp fiXXXXXX) -sleep 2 -genfile --file a/c + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update01.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a +mkdir dir +mkdir output +genfile --file dir/file -echo "separator" +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before -sleep 2 -genfile --file a/c +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr05.at:31" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -35585,41 +37594,55 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir a -genfile --file a/b + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf arc a + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo "separator" -sleep 2 -genfile --file a/c + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/c -separator -a/ -a/b -a/c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr05.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update01.at:32: + { set +x +$as_echo "$at_srcdir/xattr05.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -35629,55 +37652,46 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir a -genfile --file a/b - -tar cf arc a -echo \"separator\" + file=\$(TMPDIR=. mktemp fiXXXXXX) -sleep 2 -genfile --file a/c + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update01.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a +mkdir dir +mkdir output +genfile --file dir/file -echo "separator" +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before -sleep 2 -genfile --file a/c +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "xattr05.at:31" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -35687,65 +37701,76 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir a -genfile --file a/b + file=$(TMPDIR=. mktemp fiXXXXXX) -tar cf arc a + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo "separator" -sleep 2 -genfile --file a/c + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/c -separator -a/ -a/b -a/c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/xattr05.at:31" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_102 -#AT_START_103 -# 103. update02.at:26: update changed files -at_setup_line='update02.at:26' -at_desc="update changed files" -$at_quiet $as_echo_n "103: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_169 +#AT_START_170 +at_fn_group_banner 170 'acls01.at:25' \ + "acls: basic functionality" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "103. update02.at:26: testing ..." + $as_echo "170. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/update02.at:29: + { set +x +$as_echo "$at_srcdir/acls01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -35755,55 +37780,67 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cf arc a -echo \"separator\" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update02.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -test -z "`sort < /dev/null 2>&1`" || exit 77 + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -echo "separator" + rm -rf \$file -sleep 2 -touch a/b + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +genfile --file dir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/file +setfacl -m u:\$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls01.at:28" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -35813,41 +37850,76 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar cf arc a -echo "separator" + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/b -separator -a/ -a/b -a/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_failed && at_func_log_failure + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/file +setfacl -m u:$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update02.at:29: + { set +x +$as_echo "$at_srcdir/acls01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -35857,55 +37929,67 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cf arc a -echo \"separator\" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update02.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -test -z "`sort < /dev/null 2>&1`" || exit 77 + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -echo "separator" + rm -rf \$file -sleep 2 -touch a/b + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +genfile --file dir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/file +setfacl -m u:\$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls01.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -35915,41 +37999,76 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar cf arc a -echo "separator" + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/b -separator -a/ -a/b -a/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_failed && at_func_log_failure + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/file +setfacl -m u:$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update02.at:29: + { set +x +$as_echo "$at_srcdir/acls01.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -35959,55 +38078,67 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cf arc a -echo \"separator\" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update02.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -test -z "`sort < /dev/null 2>&1`" || exit 77 + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -echo "separator" + rm -rf \$file -sleep 2 -touch a/b + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +genfile --file dir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/file +setfacl -m u:\$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls01.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -36017,41 +38148,76 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar cf arc a -echo "separator" + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + -sleep 2 -touch a/b -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/b -separator -a/ -a/b -a/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/file +setfacl -m u:$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update02.at:29: + { set +x +$as_echo "$at_srcdir/acls01.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -36061,27 +38227,67 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cf arc a -echo \"separator\" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update02.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/file +setfacl -m u:\$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls01.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -36091,69 +38297,76 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo "separator" + rm -rf $file -sleep 2 -touch a/b + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +mkdir dir +genfile --file dir/file -test -z "`sort < /dev/null 2>&1`" || exit 77 +MYNAME=$( id -un ) -mkdir a -genfile --file a/b +setfacl -m u:$MYNAME:--x dir/file +setfacl -m u:$MYNAME:--x dir -tar cf arc a +getfattr -h -m. -d dir dir/file > before -echo "separator" +tar --acls -cf archive.tar dir +rm -rf dir -sleep 2 -touch a/b +tar --acls -xf archive.tar -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/b -separator -a/ -a/b -a/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" +getfattr -h -m. -d dir dir/file > after -$at_failed && at_func_log_failure +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/update02.at:29: + { set +x +$as_echo "$at_srcdir/acls01.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -36163,55 +38376,67 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar cf arc a -echo \"separator\" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo \"separator\" -tar tf arc | sort || exit 1 -)" -echo update02.at:29 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -test -z "`sort < /dev/null 2>&1`" || exit 77 + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -mkdir a -genfile --file a/b -tar cf arc a + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -echo "separator" + rm -rf \$file -sleep 2 -touch a/b + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + +mkdir dir +genfile --file dir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/file +setfacl -m u:\$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls01.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -36221,65 +38446,97 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -mkdir a -genfile --file a/b + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar cf arc a -echo "separator" + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -sleep 2 -touch a/b -tar ufv arc a -echo "separator" -tar tf arc | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -a/b -separator -a/ -a/b -a/b -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_failed && at_func_log_failure + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/file +setfacl -m u:$MYNAME:--x dir + +getfattr -h -m. -d dir dir/file > before + +tar --acls -cf archive.tar dir +rm -rf dir + +tar --acls -xf archive.tar + +getfattr -h -m. -d dir dir/file > after + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_103 -#AT_START_104 -# 104. verify.at:25: verify -at_setup_line='verify.at:25' -at_desc="verify" -$at_quiet $as_echo_n "104: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_170 +#AT_START_171 +at_fn_group_banner 171 'acls02.at:25' \ + "acls: work with -C" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "104. verify.at:25: testing ..." + $as_echo "171. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/verify.at:28: + { set +x +$as_echo "$at_srcdir/acls02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -36288,28 +38545,74 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -)" -echo verify.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/subdir +setfacl -m u:\$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls02.at:28" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -36318,24 +38621,83 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -Verify foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/subdir +setfacl -m u:$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/verify.at:28: + { set +x +$as_echo "$at_srcdir/acls02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -36344,28 +38706,74 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -)" -echo verify.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/subdir +setfacl -m u:\$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls02.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -36374,24 +38782,83 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -Verify foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" -$at_failed && at_func_log_failure + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/subdir +setfacl -m u:$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls02.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/verify.at:28: + { set +x +$as_echo "$at_srcdir/acls02.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -36400,28 +38867,74 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -)" -echo verify.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=\$( id -un ) + +setfacl -m u:\$MYNAME:--x dir/subdir +setfacl -m u:\$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls02.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -36430,989 +38943,657 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -Verify foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" -$at_failed && at_func_log_failure -$at_traceon; } + file=$(TMPDIR=. mktemp fiXXXXXX) - { $at_traceoff -$as_echo "$at_srcdir/verify.at:28: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -touch foo -tar -cvf archive.tar --verify foo -)" -echo verify.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file + +MYNAME=$( id -un ) + +setfacl -m u:$MYNAME:--x dir/subdir +setfacl -m u:$MYNAME:--x dir/subdir/file + +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. + +tar --acls -cf archive.tar -C dir subdir +rm -rf dir + +mkdir dir +tar --acls -xf archive.tar -C dir + +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. + +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/acls02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -Verify foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" - -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/verify.at:28: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * + file=\$(TMPDIR=. mktemp fiXXXXXX) -touch foo -tar -cvf archive.tar --verify foo -)" -echo verify.at:28 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -touch foo -tar -cvf archive.tar --verify foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -Verify foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_104 -#AT_START_105 -# 105. volume.at:23: volume -at_setup_line='volume.at:23' -at_desc="volume" -$at_quiet $as_echo_n "105: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "105. volume.at:23: testing ..." - $at_traceon + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + rm -rf \$file + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/volume.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file -tar -cf archive -V label -T /dev/null || exit 1 +MYNAME=\$( id -un ) -tar xfV archive label || exit 1 -tar xfV archive 'la?el' || exit 1 -tar xfV archive 'l*l' || exit 1 +setfacl -m u:\$MYNAME:--x dir/subdir +setfacl -m u:\$MYNAME:--x dir/subdir/file -echo 1>&2 ----- -tar xfV archive lab -test \$? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive bel -test \$? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive babel -test \$? = 2 -)" -echo volume.at:26 >"$at_check_line_file" +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +tar --acls -cf archive.tar -C dir subdir +rm -rf dir -tar -cf archive -V label -T /dev/null || exit 1 +mkdir dir +tar --acls -xf archive.tar -C dir -tar xfV archive label || exit 1 -tar xfV archive 'la?el' || exit 1 -tar xfV archive 'l*l' || exit 1 +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. -echo 1>&2 ----- -tar xfV archive lab -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive bel -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive babel -test $? = 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +diff before after +test \"\$?\" = 0 +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls02.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -tar -cf archive -V label -T /dev/null || exit 1 - -tar xfV archive label || exit 1 -tar xfV archive 'la?el' || exit 1 -tar xfV archive 'l*l' || exit 1 -echo 1>&2 ----- -tar xfV archive lab -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive bel -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive babel -test $? = 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: Volume \`label' does not match \`lab' -tar: Error is not recoverable: exiting now ------ -tar: Volume \`label' does not match \`bel' -tar: Error is not recoverable: exiting now ------ -tar: Volume \`label' does not match \`babel' -tar: Error is not recoverable: exiting now -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volume.at:26" + file=$(TMPDIR=. mktemp fiXXXXXX) -$at_failed && at_func_log_failure -$at_traceon; } + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/volume.at:26: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -tar -cf archive -V label -T /dev/null || exit 1 + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar xfV archive label || exit 1 -tar xfV archive 'la?el' || exit 1 -tar xfV archive 'l*l' || exit 1 -echo 1>&2 ----- -tar xfV archive lab -test \$? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive bel -test \$? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive babel -test \$? = 2 -)" -echo volume.at:26 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -tar -cf archive -V label -T /dev/null || exit 1 + file=$(TMPDIR=. mktemp fiXXXXXX) -tar xfV archive label || exit 1 -tar xfV archive 'la?el' || exit 1 -tar xfV archive 'l*l' || exit 1 + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo 1>&2 ----- -tar xfV archive lab -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive bel -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive babel -test $? = 2 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -tar -cf archive -V label -T /dev/null || exit 1 + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar xfV archive label || exit 1 -tar xfV archive 'la?el' || exit 1 -tar xfV archive 'l*l' || exit 1 + rm -rf $file -echo 1>&2 ----- -tar xfV archive lab -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive bel -test $? = 2 || exit 1 -echo 1>&2 ----- -tar xfV archive babel -test $? = 2 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "----- -tar: Volume \`label' does not match \`lab' -tar: Error is not recoverable: exiting now ------ -tar: Volume \`label' does not match \`bel' -tar: Error is not recoverable: exiting now ------ -tar: Volume \`label' does not match \`babel' -tar: Error is not recoverable: exiting now -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volume.at:26" + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -$at_failed && at_func_log_failure -$at_traceon; } +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file +MYNAME=$( id -un ) +setfacl -m u:$MYNAME:--x dir/subdir +setfacl -m u:$MYNAME:--x dir/subdir/file - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_105 -#AT_START_106 -# 106. volsize.at:29: volume header size -at_setup_line='volsize.at:29' -at_desc="volume header size" -$at_quiet $as_echo_n "106: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "106. volsize.at:29: testing ..." - $at_traceon +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. +tar --acls -cf archive.tar -C dir subdir +rm -rf dir +mkdir dir +tar --acls -xf archive.tar -C dir +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/volsize.at:32: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { set +x +$as_echo "$at_srcdir/acls02.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf \$TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf \$TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf \$TEST_DATA_DIR/abc.tar -find abc|sort -)" -echo volsize.at:32 >"$at_check_line_file" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + rm -rf \$file + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Short Listing -abc/not-a-file.gif -abc/CCC -Verbose Listing -V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- --rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC -Extracted directory -abc -abc/CCC -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file -$at_failed && at_func_log_failure -$at_traceon; } +MYNAME=\$( id -un ) - { $at_traceoff -$as_echo "$at_srcdir/volsize.at:32: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * +setfacl -m u:\$MYNAME:--x dir/subdir +setfacl -m u:\$MYNAME:--x dir/subdir/file +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. -test -z "`sort < /dev/null 2>&1`" || exit 77 +tar --acls -cf archive.tar -C dir subdir +rm -rf dir +mkdir dir +tar --acls -xf archive.tar -C dir -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. -echo Short Listing -tar tf \$TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf \$TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf \$TEST_DATA_DIR/abc.tar -find abc|sort +diff before after +test \"\$?\" = 0 )" -echo volsize.at:32 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +at_fn_check_prepare_notrace 'a $(...) command substitution' "acls02.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + rm -rf $file -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +mkdir dir +mkdir dir/subdir +genfile --file dir/subdir/file -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Short Listing -abc/not-a-file.gif -abc/CCC -Verbose Listing -V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- --rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC -Extracted directory -abc -abc/CCC -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" +MYNAME=$( id -un ) -$at_failed && at_func_log_failure -$at_traceon; } +setfacl -m u:$MYNAME:--x dir/subdir +setfacl -m u:$MYNAME:--x dir/subdir/file - { $at_traceoff -$as_echo "$at_srcdir/volsize.at:32: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * +cd dir +getfattr -h -m. -d subdir subdir/file > ../before +cd .. +tar --acls -cf archive.tar -C dir subdir +rm -rf dir -test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir dir +tar --acls -xf archive.tar -C dir +cd dir +getfattr -h -m. -d subdir subdir/file > ../after +cd .. -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +diff before after +test "$?" = 0 +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/acls02.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -echo Short Listing -tar tf \$TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf \$TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf \$TEST_DATA_DIR/abc.tar -find abc|sort -)" -echo volsize.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_171 +#AT_START_172 +at_fn_group_banner 172 'selnx01.at:25' \ + "selinux: basic store/restore" " " 25 +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +( + $as_echo "172. $at_setup_line: testing $at_desc ..." + $at_traceon -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + + + { set +x +$as_echo "$at_srcdir/selnx01.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Short Listing -abc/not-a-file.gif -abc/CCC -Verbose Listing -V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- --rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC -Extracted directory -abc -abc/CCC -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/volsize.at:32: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf \$TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf \$TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf \$TEST_DATA_DIR/abc.tar -find abc|sort -)" -echo volsize.at:32 >"$at_check_line_file" + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + rm -rf \$file + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir dir +genfile --file dir/file +ln -s file dir/link -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir -test -z "`sort < /dev/null 2>&1`" || exit 77 +# clear the directory +rm -rf dir +# ================================================ +# check if selinux contexts are correctly restored -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +tar --selinux -xf archive.tar -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Short Listing -abc/not-a-file.gif -abc/CCC -Verbose Listing -V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- --rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC -Extracted directory -abc -abc/CCC -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" +# archive for later debugging +cp archive.tar archive_origin.tar -$at_failed && at_func_log_failure -$at_traceon; } +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \\ + grep -v -e '^#' -e ^\$ | cut -d: -f1 - { $at_traceoff -$as_echo "$at_srcdir/volsize.at:32: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux -test -z "`sort < /dev/null 2>&1`" || exit 77 +diff with_selinux without_selinux > diff_with_without +if test \"\$?\" -eq \"0\"; then + echo \"selinux contexts probably restored while --selinux is off\" +fi +# ================================================================= +# check if selinux is not archived when --selinux option is missing -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +tar -cf archive.tar dir -echo Short Listing -tar tf \$TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf \$TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf \$TEST_DATA_DIR/abc.tar -find abc|sort -)" -echo volsize.at:32 >"$at_check_line_file" +# clear the directory +rm -rf dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test \"\$?\" -ne \"0\"; then + echo \"bad result\" +fi + +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selnx01.at:28" +( $at_check_trace; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 -test -z "$TEST_DATA_DIR" && exit 77 -tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -echo Short Listing -tar tf $TEST_DATA_DIR/abc.tar -echo Verbose Listing -tar --utc -tvf $TEST_DATA_DIR/abc.tar -echo Extracted directory -tar xf $TEST_DATA_DIR/abc.tar -find abc|sort -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Short Listing -abc/not-a-file.gif -abc/CCC -Verbose Listing -V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- --rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC -Extracted directory -abc -abc/CCC -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" -$at_failed && at_func_log_failure -$at_traceon; } + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + rm -rf $file + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_106 -#AT_START_107 -# 107. comprec.at:21: compressed format recognition -at_setup_line='comprec.at:21' -at_desc="compressed format recognition" -$at_quiet $as_echo_n "107: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "107. comprec.at:21: testing ..." - $at_traceon +mkdir dir +genfile --file dir/file +ln -s file dir/link +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir +# clear the directory +rm -rf dir +# ================================================ +# check if selinux contexts are correctly restored - { $at_traceoff -$as_echo "$at_srcdir/comprec.at:25: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * +tar --selinux -xf archive.tar +# archive for later debugging +cp archive.tar archive_origin.tar -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ + grep -v -e '^#' -e ^$ | cut -d: -f1 -genfile --length 10240 --file file1 -echo \"separator\" -tar cfz archive file1 -echo \"separator\" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -)" -echo comprec.at:25 >"$at_check_line_file" +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux +diff with_selinux without_selinux > diff_with_without +if test "$?" -eq "0"; then + echo "selinux contexts probably restored while --selinux is off" +fi -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +# ================================================================= +# check if selinux is not archived when --selinux option is missing -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +tar -cf archive.tar dir +# clear the directory +rm -rf dir -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +# restore (with --selinux) +tar --selinux -xf archive.tar dir -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stderr" +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test "$?" -ne "0"; then + echo "bad result" fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -file1 + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "security.selinux=\"system_u +security.selinux=\"unconfined_u +security.selinux=\"system_u " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selnx01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/comprec.at:25: + { set +x +$as_echo "$at_srcdir/selnx01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -37422,43 +39603,106 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 10240 --file file1 -echo \"separator\" -tar cfz archive file1 -echo \"separator\" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -)" -echo comprec.at:25 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \\ + grep -v -e '^#' -e ^\$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test \"\$?\" -eq \"0\"; then + echo \"selinux contexts probably restored while --selinux is off\" +fi + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test \"\$?\" -ne \"0\"; then + echo \"bad result\" +fi + +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selnx01.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -37468,32 +39712,119 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stderr" + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ + grep -v -e '^#' -e ^$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test "$?" -eq "0"; then + echo "selinux contexts probably restored while --selinux is off" fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -file1 + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test "$?" -ne "0"; then + echo "bad result" +fi + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "security.selinux=\"system_u +security.selinux=\"unconfined_u +security.selinux=\"system_u " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selnx01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/comprec.at:25: + { set +x +$as_echo "$at_srcdir/selnx01.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -37503,21 +39834,106 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + -genfile --length 10240 --file file1 -echo \"separator\" -tar cfz archive file1 -echo \"separator\" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -)" -echo comprec.at:25 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \\ + grep -v -e '^#' -e ^\$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test \"\$?\" -eq \"0\"; then + echo \"selinux contexts probably restored while --selinux is off\" +fi + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test \"\$?\" -ne \"0\"; then + echo \"bad result\" +fi + +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selnx01.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -37527,54 +39943,119 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ + grep -v -e '^#' -e ^$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test "$?" -eq "0"; then + echo "selinux contexts probably restored while --selinux is off" +fi + +# ================================================================= +# check if selinux is not archived when --selinux option is missing -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +tar -cf archive.tar dir +# clear the directory +rm -rf dir -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +# restore (with --selinux) +tar --selinux -xf archive.tar dir -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stderr" +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test "$?" -ne "0"; then + echo "bad result" fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -file1 + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "security.selinux=\"system_u +security.selinux=\"unconfined_u +security.selinux=\"system_u " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selnx01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/comprec.at:25: + { set +x +$as_echo "$at_srcdir/selnx01.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -37584,43 +40065,106 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 10240 --file file1 -echo \"separator\" -tar cfz archive file1 -echo \"separator\" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -)" -echo comprec.at:25 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \\ + grep -v -e '^#' -e ^\$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test \"\$?\" -eq \"0\"; then + echo \"selinux contexts probably restored while --selinux is off\" +fi + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test \"\$?\" -ne \"0\"; then + echo \"bad result\" +fi + +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selnx01.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -37630,32 +40174,119 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stderr" + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ + grep -v -e '^#' -e ^$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test "$?" -eq "0"; then + echo "selinux contexts probably restored while --selinux is off" fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -file1 + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test "$?" -ne "0"; then + echo "bad result" +fi + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "security.selinux=\"system_u +security.selinux=\"unconfined_u +security.selinux=\"system_u " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selnx01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/comprec.at:25: + { set +x +$as_echo "$at_srcdir/selnx01.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -37665,118 +40296,106 @@ export TAR_OPTIONS rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 10240 --file file1 -echo \"separator\" -tar cfz archive file1 -echo \"separator\" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -)" -echo comprec.at:25 >"$at_check_line_file" + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -genfile --length 10240 --file file1 -echo "separator" -tar cfz archive file1 -echo "separator" -mv file1 orig -tar xfv archive --warning=no-timestamp -cmp orig file1 -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "separator -separator -file1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -$at_failed && at_func_log_failure -$at_traceon; } + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_107 -#AT_START_108 -# 108. shortfile.at:26: short input files -at_setup_line='shortfile.at:26' -at_desc="short input files" -$at_quiet $as_echo_n "108: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "108. shortfile.at:26: testing ..." - $at_traceon +mkdir dir +genfile --file dir/file +ln -s file dir/link +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir +# clear the directory +rm -rf dir - { $at_traceoff -$as_echo "$at_srcdir/shortfile.at:29: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * +# ================================================ +# check if selinux contexts are correctly restored -genfile --length 511 --file foo || exit 5 -tar tf foo -)" -echo shortfile.at:29 >"$at_check_line_file" +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \\ + grep -v -e '^#' -e ^\$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test \"\$?\" -eq \"0\"; then + echo \"selinux contexts probably restored while --selinux is off\" +fi + +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test \"\$?\" -ne \"0\"; then + echo \"bad result\" +fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selnx01.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -37785,62 +40404,141 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --length 511 --file foo || exit 5 -tar tf foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --length 511 --file foo || exit 5 -tar tf foo -) ) >"$at_stdout" 2>"$at_stderr" + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +genfile --file dir/file +ln -s file dir/link + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > start + +restorecon -R dir +chcon -h --user=system_u dir +chcon -h --user=unconfined_u dir/file +chcon -h --user=system_u dir/link + +# archive whole directory including selinux contexts +tar --selinux -cf archive.tar dir + +# clear the directory +rm -rf dir + +# ================================================ +# check if selinux contexts are correctly restored + +tar --selinux -xf archive.tar + +# archive for later debugging +cp archive.tar archive_origin.tar + +# check if selinux contexts were restored +getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ + grep -v -e '^#' -e ^$ | cut -d: -f1 + +# =========================================================================== +# check if selinux contexts are not restored when --selinux option is missing + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux +rm -rf dir +tar -xf archive.tar +getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux + +diff with_selinux without_selinux > diff_with_without +if test "$?" -eq "0"; then + echo "selinux contexts probably restored while --selinux is off" fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: This does not look like a tar archive -tar: Exiting with failure status due to previous errors -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 2 $at_status "$at_srcdir/shortfile.at:29" -$at_failed && at_func_log_failure +# ================================================================= +# check if selinux is not archived when --selinux option is missing + +tar -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore (with --selinux) +tar --selinux -xf archive.tar dir + +getfattr -h -d -msecurity.selinux dir dir/file dir/link > final +diff start final > final_diff +if test "$?" -ne "0"; then + echo "bad result" +fi + +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "security.selinux=\"system_u +security.selinux=\"unconfined_u +security.selinux=\"system_u +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/selnx01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_108 -#AT_START_109 -# 109. shortupd.at:29: updating short archives -at_setup_line='shortupd.at:29' -at_desc="updating short archives" -$at_quiet $as_echo_n "109: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_172 +#AT_START_173 +at_fn_group_banner 173 'selacl01.at:25' \ + "acls/selinux: special files & fifos" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "109. shortupd.at:29: testing ..." + $as_echo "173. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/shortupd.at:32: + { set +x +$as_echo "$at_srcdir/selacl01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -37849,28 +40547,107 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -touch foo -tar uf archive foo -)" -echo shortupd.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=\$( stat /dev/urandom --printf=\"%t\" ) +MINOR=\$( stat /dev/urandom --printf=\"%T\" ) +mknod dir/chartype c \$MAJOR \$MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:\$UID:--- dir/fifo +setfacl -m u:\$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after +echo separator +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selacl01.at:28" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -37879,21 +40656,118 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortupd.at:32" -$at_failed && at_func_log_failure +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=$( stat /dev/urandom --printf="%t" ) +MINOR=$( stat /dev/urandom --printf="%T" ) +mknod dir/chartype c $MAJOR $MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:$UID:--- dir/fifo +setfacl -m u:$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after +echo separator +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/selacl01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/shortupd.at:32: + { set +x +$as_echo "$at_srcdir/selacl01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -37902,384 +40776,227 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -touch foo -tar uf archive foo -)" -echo shortupd.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortupd.at:32" + file=\$(TMPDIR=. mktemp fiXXXXXX) -$at_failed && at_func_log_failure -$at_traceon; } + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/shortupd.at:32: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -touch foo -tar uf archive foo -)" -echo shortupd.at:32 >"$at_check_line_file" + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortupd.at:32" -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) - { $at_traceoff -$as_echo "$at_srcdir/shortupd.at:32: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -touch foo -tar uf archive foo -)" -echo shortupd.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=\$( stat /dev/urandom --printf=\"%t\" ) +MINOR=\$( stat /dev/urandom --printf=\"%T\" ) +mknod dir/chartype c \$MAJOR \$MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:\$UID:--- dir/fifo +setfacl -m u:\$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after +echo separator +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selacl01.at:28" +( $at_check_trace; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortupd.at:32" -$at_failed && at_func_log_failure -$at_traceon; } +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + - { $at_traceoff -$as_echo "$at_srcdir/shortupd.at:32: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" -export TAR_OPTIONS -rm -rf * -touch foo -tar uf archive foo -)" -echo shortupd.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + file=$(TMPDIR=. mktemp fiXXXXXX) -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -touch foo -tar uf archive foo -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/shortupd.at:32" -$at_failed && at_func_log_failure -$at_traceon; } + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + rm -rf $file + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_109 -#AT_START_110 -# 110. truncate.at:29: truncate -at_setup_line='truncate.at:29' -at_desc="truncate" -$at_quiet $as_echo_n "110: $at_desc " -at_xfail=no - test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "110. truncate.at:29: testing ..." - $at_traceon + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/truncate.at:32: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * + rm -rf $file -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: \$? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar)" -echo truncate.at:32 >"$at_check_line_file" + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +mkdir dir +mkfifo dir/fifo +MAJOR=$( stat /dev/urandom --printf="%t" ) +MINOR=$( stat /dev/urandom --printf="%T" ) +mknod dir/chartype c $MAJOR $MINOR -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -Exit status: 1 -separator -foo -foo: Mod time differs -baz -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:$UID:--- dir/fifo +setfacl -m u:$UID:rwx dir/chartype -$at_failed && at_func_log_failure -$at_traceon; } +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before - { $at_traceoff -$as_echo "$at_srcdir/truncate.at:32: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * +tar --xattrs --selinux --acls -cf archive.tar dir -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: \$? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar)" -echo truncate.at:32 >"$at_check_line_file" +mv dir olddir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +tar --xattrs --selinux --acls -xf archive.tar -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -Exit status: 1 -separator -foo -foo: Mod time differs -baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selacl01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/truncate.at:32: + { set +x +$as_echo "$at_srcdir/selacl01.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -38288,36 +41005,107 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: \$? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar)" -echo truncate.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=\$( stat /dev/urandom --printf=\"%t\" ) +MINOR=\$( stat /dev/urandom --printf=\"%T\" ) +mknod dir/chartype c \$MAJOR \$MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:\$UID:--- dir/fifo +setfacl -m u:\$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selacl01.at:28" +( $at_check_trace; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -38326,35 +41114,118 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=$( stat /dev/urandom --printf="%t" ) +MINOR=$( stat /dev/urandom --printf="%T" ) +mknod dir/chartype c $MAJOR $MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:$UID:--- dir/fifo +setfacl -m u:$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -Exit status: 1 -separator -foo -foo: Mod time differs -baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selacl01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/truncate.at:32: + { set +x +$as_echo "$at_srcdir/selacl01.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -38363,36 +41234,107 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: \$? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar)" -echo truncate.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=\$( stat /dev/urandom --printf=\"%t\" ) +MINOR=\$( stat /dev/urandom --printf=\"%T\" ) +mknod dir/chartype c \$MAJOR \$MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:\$UID:--- dir/fifo +setfacl -m u:\$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selacl01.at:28" +( $at_check_trace; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -38401,35 +41343,118 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=$( stat /dev/urandom --printf="%t" ) +MINOR=$( stat /dev/urandom --printf="%T" ) +mknod dir/chartype c $MAJOR $MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:$UID:--- dir/fifo +setfacl -m u:$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -Exit status: 1 -separator -foo -foo: Mod time differs -baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selacl01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/truncate.at:32: + { set +x +$as_echo "$at_srcdir/selacl01.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -38438,36 +41463,107 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: \$? -echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar)" -echo truncate.at:32 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + restorecon \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + err=\$( tar --selinux -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:\$UID:rwx \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfacl \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:\$UID:rwx \$file + err=\$( tar --acls -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=\$( stat /dev/urandom --printf=\"%t\" ) +MINOR=\$( stat /dev/urandom --printf=\"%T\" ) +mknod dir/chartype c \$MAJOR \$MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:\$UID:--- dir/fifo +setfacl -m u:\$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "selacl01.at:28" +( $at_check_trace; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -38476,59 +41572,139 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --file foo --length 200k -genfile --file baz -genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz -echo Exit status: $? + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + restorecon $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + chcon -h --user=unconfined_u $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfacl -m u:$UID:rwx $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfacl $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + +mkdir dir +mkfifo dir/fifo +MAJOR=$( stat /dev/urandom --printf="%t" ) +MINOR=$( stat /dev/urandom --printf="%T" ) +mknod dir/chartype c $MAJOR $MINOR + +# setup attributes +restorecon -R dir +chcon -h --user=system_u dir/fifo +chcon -h --user=system_u dir/chartype +setfacl -m u:$UID:--- dir/fifo +setfacl -m u:$UID:rwx dir/chartype + +getfacl dir/fifo >> before +getfattr -msecurity.selinux dir/chartype >> before + +tar --xattrs --selinux --acls -cf archive.tar dir + +mv dir olddir + +tar --xattrs --selinux --acls -xf archive.tar + +getfacl dir/fifo >> after +getfattr -msecurity.selinux dir/chartype >> after + +diff before after echo separator -genfile --file foo --seek 195k --length 5k --pattern=zeros -tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -Exit status: 1 -separator -foo -foo: Mod time differs -baz +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/selacl01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_110 -#AT_START_111 -# 111. grow.at:24: grow -at_setup_line='grow.at:24' -at_desc="grow" -$at_quiet $as_echo_n "111: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_173 +#AT_START_174 +at_fn_group_banner 174 'capabs_raw01.at:25' \ + "capabilities: binary store/restore" " " 25 at_xfail=no test -f $XFAILFILE && at_xfail=yes -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "111. grow.at:24: testing ..." + $as_echo "174. $at_setup_line: testing $at_desc ..." $at_traceon - { $at_traceoff -$as_echo "$at_srcdir/grow.at:27: + { set +x +$as_echo "$at_srcdir/capabs_raw01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -38537,30 +41713,73 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -)" -echo grow.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setcap \"= cap_chown=ei\" \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getcap \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + +mkdir dir +genfile --file dir/file + +setcap \"= cap_chown=ei\" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "capabs_raw01.at:28" +( $at_check_trace; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -38569,27 +41788,84 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 + + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setcap "= cap_chown=ei" $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getcap $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + +mkdir dir +genfile --file dir/file + +setcap "= cap_chown=ei" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/file = cap_chown+ei " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/capabs_raw01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/grow.at:27: + { set +x +$as_echo "$at_srcdir/capabs_raw01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -38598,30 +41874,73 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -)" -echo grow.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setcap \"= cap_chown=ei\" \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getcap \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + +mkdir dir +genfile --file dir/file + +setcap \"= cap_chown=ei\" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "capabs_raw01.at:28" +( $at_check_trace; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -38630,703 +41949,607 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" -$at_failed && at_func_log_failure -$at_traceon; } +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 - { $at_traceoff -$as_echo "$at_srcdir/grow.at:27: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -)" -echo grow.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + file=$(TMPDIR=. mktemp fiXXXXXX) -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" -export TAR_OPTIONS -rm -rf * + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" -$at_failed && at_func_log_failure -$at_traceon; } + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi - { $at_traceoff -$as_echo "$at_srcdir/grow.at:27: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -)" -echo grow.at:27 >"$at_check_line_file" + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * + file=$(TMPDIR=. mktemp fiXXXXXX) + + setcap "= cap_chown=ei" $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getcap $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file + + +mkdir dir +genfile --file dir/file + +setcap "= cap_chown=ei" dir/file -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/file = cap_chown+ei " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/capabs_raw01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/grow.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { set +x +$as_echo "$at_srcdir/capabs_raw01.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -)" -echo grow.at:27 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" -export TAR_OPTIONS -rm -rf * -genfile --file foo --length 50000k -genfile --file baz -genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz -) ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -baz -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" -$at_failed && at_func_log_failure -$at_traceon; } + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_111 -#AT_START_112 -# 112. remfiles01.at:28: remove-files with compression -at_setup_line='remfiles01.at:28' -at_desc="remove-files with compression" -$at_quiet $as_echo_n "112: $at_desc " -at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "112. remfiles01.at:28: testing ..." - $at_traceon + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -unset TAR_OPTIONS -{ $at_traceoff -$as_echo "$at_srcdir/remfiles01.at:32: + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setcap \"= cap_chown=ei\" \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getcap \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file + + +mkdir dir +genfile --file dir/file + +setcap \"= cap_chown=ei\" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "capabs_raw01.at:28" +( $at_check_trace; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ -test $result -eq 0 && exit 77 +test $result -eq 0 || exit 77 -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( -?*) exit 77;; -esac + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi + + + file=$(TMPDIR=. mktemp fiXXXXXX) + + setcap "= cap_chown=ei" $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + + getcap $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + + rm -rf $file mkdir dir -cd dir -genfile --file a --length 0 -chmod 0 a -genfile --file b -mkdir c +genfile --file dir/file -# Depending on when the SIGPIPE gets delivered, the invocation below -# may finish with either -# tar: a: Cannot write: Broken pipe -# or -# tar: Child returned status 2 +setcap "= cap_chown=ei" dir/file -# Discard diagnostics that some shells generate about broken pipes, -# and discard all of tar's diagnostics except for the ones saying \"(child)\". -# Gzip's exit code is propagated to the shell. Usually it is 141. -# Convert all non-zero exits to 2 to make it predictable. -(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null -EC=\$? -sed -n '/(child)/p' err >&2 -rm err -find . | sort -exit \$EC -" -echo remfiles01.at:32 >"$at_check_line_file" +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +# clear the directory +rm -rf dir -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar +getcap dir/file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/file = cap_chown+ei +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/capabs_raw01.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + { set +x +$as_echo "$at_srcdir/capabs_raw01.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( -?*) exit 77;; -esac +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -test -z "`sort < /dev/null 2>&1`" || exit 77 + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi + + + file=\$(TMPDIR=. mktemp fiXXXXXX) + + setcap \"= cap_chown=ei\" \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + + getcap \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi + + rm -rf \$file mkdir dir -cd dir -genfile --file a --length 0 -chmod 0 a -genfile --file b -mkdir c +genfile --file dir/file -# Depending on when the SIGPIPE gets delivered, the invocation below -# may finish with either -# tar: a: Cannot write: Broken pipe -# or -# tar: Child returned status 2 +setcap \"= cap_chown=ei\" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir + +# clear the directory +rm -rf dir + +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar + +getcap dir/file +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "capabs_raw01.at:28" +( $at_check_trace; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * -# Discard diagnostics that some shells generate about broken pipes, -# and discard all of tar's diagnostics except for the ones saying "(child)". -# Gzip's exit code is propagated to the shell. Usually it is 141. -# Convert all non-zero exits to 2 to make it predictable. -(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null -EC=$? -sed -n '/(child)/p' err >&2 -rm err -find . | sort -exit $EC - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ -test $result -eq 0 && exit 77 +test $result -eq 0 || exit 77 -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=$(TMPDIR=. mktemp fiXXXXXX) -case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( -?*) exit 77;; -esac + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -mkdir dir -cd dir -genfile --file a --length 0 -chmod 0 a -genfile --file b -mkdir c + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -# Depending on when the SIGPIPE gets delivered, the invocation below -# may finish with either -# tar: a: Cannot write: Broken pipe -# or -# tar: Child returned status 2 -# Discard diagnostics that some shells generate about broken pipes, -# and discard all of tar's diagnostics except for the ones saying "(child)". -# Gzip's exit code is propagated to the shell. Usually it is 141. -# Convert all non-zero exits to 2 to make it predictable. -(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null -EC=$? -sed -n '/(child)/p' err >&2 -rm err -find . | sort -exit $EC - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar (child): a: Cannot open: Permission denied -tar (child): Error is not recoverable: exiting now -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo ". -./a -./b -./c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 2 $at_status "$at_srcdir/remfiles01.at:32" + file=$(TMPDIR=. mktemp fiXXXXXX) -$at_failed && at_func_log_failure -$at_traceon; } + setcap "= cap_chown=ei" $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_112 -#AT_START_113 -# 113. remfiles02.at:28: remove-files with compression: grand-child -at_setup_line='remfiles02.at:28' -at_desc="remove-files with compression: grand-child" -$at_quiet $as_echo_n "113: $at_desc " -at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "113. remfiles02.at:28: testing ..." - $at_traceon + getcap $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi + rm -rf $file -unset TAR_OPTIONS -{ $at_traceoff -$as_echo "$at_srcdir/remfiles02.at:32: +mkdir dir +genfile --file dir/file + +setcap "= cap_chown=ei" dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +# clear the directory +rm -rf dir +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar -test -z "`sort < /dev/null 2>&1`" || exit 77 +getcap dir/file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/file = cap_chown+ei +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/capabs_raw01.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + { set +x +$as_echo "$at_srcdir/capabs_raw01.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -mkdir dir -cd dir -mkdir a -genfile --file b -mkdir c -tar -c -f a -z --remove-files b c 2>err -EC=\$? -sed -n '/(child)/p' err >&2 -rm err -find . | sort -exit \$EC -" -echo remfiles02.at:32 >"$at_check_line_file" +echo \"test\" > \$\$ +chmod 0 \$\$ +cat \$\$ > /dev/null 2>&1 +result=\$? +rm -f \$\$ +test \$result -eq 0 || exit 77 -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) -test -z "`sort < /dev/null 2>&1`" || exit 77 + setfattr -n user.test -v test \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -mkdir dir -cd dir -mkdir a -genfile --file b -mkdir c + getfattr \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -tar -c -f a -z --remove-files b c 2>err -EC=$? -sed -n '/(child)/p' err >&2 -rm err -find . | sort -exit $EC - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj \$file + # check whether tar fails to store xattrs + err=\$( tar --xattrs -cf /dev/null \$file 2>&1 >/dev/null | wc -l ) + if test \"\$err\" != \"0\"; then + exit 77 + fi -test -z "`sort < /dev/null 2>&1`" || exit 77 + file=\$(TMPDIR=. mktemp fiXXXXXX) + setcap \"= cap_chown=ei\" \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -mkdir dir -cd dir -mkdir a -genfile --file b -mkdir c -tar -c -f a -z --remove-files b c 2>err -EC=$? -sed -n '/(child)/p' err >&2 -rm err -find . | sort -exit $EC - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "tar (child): a: Cannot open: Is a directory -tar (child): Error is not recoverable: exiting now -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo ". -./a -./b -./c -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 2 $at_status "$at_srcdir/remfiles02.at:32" + getcap \$file &> /dev/null + if test \"\$?\" != 0; then + exit 77 + fi -$at_failed && at_func_log_failure -$at_traceon; } + rm -rf \$file - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_113 -#AT_START_114 -# 114. remfiles03.at:28: remove-files with symbolic links -at_setup_line='remfiles03.at:28' -at_desc="remove-files with symbolic links" -$at_quiet $as_echo_n "114: $at_desc " -at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "114. remfiles03.at:28: testing ..." - $at_traceon +mkdir dir +genfile --file dir/file +setcap \"= cap_chown=ei\" dir/file +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir -{ $at_traceoff -$as_echo "$at_srcdir/remfiles03.at:31: -mkdir a -mkdir a/b -ln -s b a/c || exit 77 -tar --remove-files -cf a.tar a -genfile --stat a -" -echo remfiles03.at:31 >"$at_check_line_file" +# clear the directory +rm -rf dir -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; -mkdir a -mkdir a/b -ln -s b a/c || exit 77 -tar --remove-files -cf a.tar a -genfile --stat a - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -mkdir a -mkdir a/b -ln -s b a/c || exit 77 -tar --remove-files -cf a.tar a -genfile --stat a - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -echo >>"$at_stderr"; $as_echo "genfile: stat(a) failed: No such file or directory -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/remfiles03.at:31" +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar -$at_failed && at_func_log_failure -$at_traceon; } +getcap dir/file +)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "capabs_raw01.at:28" +( $at_check_trace; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * - $at_traceoff - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_114 -#AT_START_115 -# 115. sigpipe.at:19: sigpipe handling -at_setup_line='sigpipe.at:19' -at_desc="sigpipe handling" -$at_quiet $as_echo_n "115: $at_desc " -at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" -( - $as_echo "115. sigpipe.at:19: testing ..." - $at_traceon +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 || exit 77 -# Description: Tar 1.23 ignored sigpipe which lead to spurious "write -# error" diagnostics when piping output to another programs. -# Reported-by: "Dmitry V. Levin" -# References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00039.html -# <20100319184141.GC30047@wo.int.altlinux.org> + file=$(TMPDIR=. mktemp fiXXXXXX) -{ $at_traceoff -$as_echo "$at_srcdir/sigpipe.at:28: + setfattr -n user.test -v test $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( -?*) exit 77;; -esac + getfattr $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -genfile --length 2048 --file first -genfile --length 2048 --file second -genfile --length 2049 --file third -tar cf archive first second third + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + exit 77 + fi -# Discard diagnostics that some shells generate about broken pipes. -(tar tf archive 2>&3 | :) 3>&2 2>/dev/null -" -echo sigpipe.at:28 >"$at_check_line_file" -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; + file=$(TMPDIR=. mktemp fiXXXXXX) -case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( -?*) exit 77;; -esac + setcap "= cap_chown=ei" $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -genfile --length 2048 --file first -genfile --length 2048 --file second -genfile --length 2049 --file third + getcap $file &> /dev/null + if test "$?" != 0; then + exit 77 + fi -tar cf archive first second third + rm -rf $file -# Discard diagnostics that some shells generate about broken pipes. -(tar tf archive 2>&3 | :) 3>&2 2>/dev/null - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( -?*) exit 77;; -esac +mkdir dir +genfile --file dir/file +setcap "= cap_chown=ei" dir/file -genfile --length 2048 --file first -genfile --length 2048 --file second -genfile --length 2049 --file third +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar dir -tar cf archive first second third +# clear the directory +rm -rf dir -# Discard diagnostics that some shells generate about broken pipes. -(tar tf archive 2>&3 | :) 3>&2 2>/dev/null - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -at_func_diff_devnull "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/sigpipe.at:28" +# restore _all_ xattrs (not just the user.* domain) +tar --xattrs --xattrs-include='*' -xf archive.tar -$at_failed && at_func_log_failure +getcap dir/file +) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/file = cap_chown+ei +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/capabs_raw01.at:28" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + + + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_115 -#AT_START_116 -# 116. gtarfail.at:21: gtarfail -at_setup_line='gtarfail.at:21' -at_desc="gtarfail" -$at_quiet $as_echo_n "116: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_174 +#AT_START_175 +at_fn_group_banner 175 'gtarfail.at:21' \ + "gtarfail" " " 26 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "116. gtarfail.at:21: testing ..." + $as_echo "175. $at_setup_line: testing $at_desc ..." $at_traceon unset TAR_OPTIONS -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/gtarfail.at:26: -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail.tar " -echo gtarfail.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:26" +( $at_check_trace; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 - - -tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "-rw-r--r-- jes/glone 518 2001-05-25 14:41 vedpowered.gif -rw-r--r-- jes/glone 6825 1997-04-29 00:19 cd.gif -rw-r--r-- jes/glone 33354 1999-06-22 12:17 DSCN0049c.JPG @@ -39335,64 +42558,48 @@ echo >>"$at_stdout"; $as_echo "-rw-r--r-- jes/glone 518 2001-05-25 14:41 v -rw-rw-rw- jes/glone 148753 1998-09-15 13:08 billyboy.jpg " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/gtarfail.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_116 -#AT_START_117 -# 117. gtarfail2.at:21: gtarfail2 -at_setup_line='gtarfail2.at:21' -at_desc="gtarfail2" -$at_quiet $as_echo_n "117: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_175 +#AT_START_176 +at_fn_group_banner 176 'gtarfail2.at:21' \ + "gtarfail2" " " 26 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "117. gtarfail2.at:21: testing ..." + $as_echo "176. $at_setup_line: testing $at_desc ..." $at_traceon unset TAR_OPTIONS -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/gtarfail2.at:26: -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail2.tar " -echo gtarfail2.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:26" +( $at_check_trace; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; - -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 -tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "-rwxr-xr-x jes/glone 214 2001-09-21 14:08 .clean lrwxrwxrwx jes/cats 0 1998-05-07 12:39 RULES -> makefiles/RULES drwxr-sr-x jes/glone 0 2001-12-10 00:00 build/ @@ -39405,51 +42612,44 @@ lrwxrwxrwx jes/glone 0 2001-08-29 10:53 build/psmake/archconf.c -> ../ar lrwxrwxrwx jes/glone 0 2001-08-29 10:54 build/psmake/astoi.c -> ../../lib/astoi.c " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/gtarfail2.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_117 -#AT_START_118 -# 118. multi-fail.at:21: multi-fail -at_setup_line='multi-fail.at:21' -at_desc="multi-fail" -$at_quiet $as_echo_n "118: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_176 +#AT_START_177 +at_fn_group_banner 177 'multi-fail.at:21' \ + "multi-fail" " " 26 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "118. multi-fail.at:21: testing ..." + $as_echo "177. $at_setup_line: testing $at_desc ..." $at_traceon unset TAR_OPTIONS -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/multi-fail.at:26: -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvM -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \\ -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- " -echo multi-fail.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:26" +( $at_check_trace; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -39461,26 +42661,11 @@ tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STA tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \ -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; - -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 - - -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 - -tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \ - -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32 OBJ/i386-sunos5-gcc/ -rw-r--r-- joerg/bs 1 2003-10-11 14:32 OBJ/i386-sunos5-gcc/Dnull -rw-r--r-- joerg/bs 1743 2003-10-10 18:06 OBJ/i386-sunos5-gcc/star.d @@ -39535,49 +42720,42 @@ echo >>"$at_stdout"; $as_echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32 O -rw-r--r-- joerg/bs 2756 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.o " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/multi-fail.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:26" +$at_failed && at_fn_log_failure $at_traceon; } - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_118 -#AT_START_119 -# 119. ustar-big-2g.at:21: ustar-big-2g -at_setup_line='ustar-big-2g.at:21' -at_desc="ustar-big-2g" -$at_quiet $as_echo_n "119: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_177 +#AT_START_178 +at_fn_group_banner 178 'ustar-big-2g.at:21' \ + "ustar-big-2g" " " 26 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "119. ustar-big-2g.at:21: testing ..." + $as_echo "178. $at_setup_line: testing $at_desc ..." $at_traceon unset TAR_OPTIONS -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/ustar-big-2g.at:26: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 " -echo ustar-big-2g.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-2g.at:26" +( $at_check_trace; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -39587,31 +42765,17 @@ tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTS tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; - -cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 - -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 - - -tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter echo stderr:; tee stderr <"$at_stderr" echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 2147483647 2002-06-15 14:53 big -rw-r--r-- jes/glone 0 2002-06-15 14:53 file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:26" +$at_failed && at_fn_log_failure $at_traceon; } @@ -39628,43 +42792,37 @@ do done - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_119 -#AT_START_120 -# 120. ustar-big-8g.at:21: ustar-big-8g -at_setup_line='ustar-big-8g.at:21' -at_desc="ustar-big-8g" -$at_quiet $as_echo_n "120: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_178 +#AT_START_179 +at_fn_group_banner 179 'ustar-big-8g.at:21' \ + "ustar-big-8g" " " 26 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "120. ustar-big-8g.at:21: testing ..." + $as_echo "179. $at_setup_line: testing $at_desc ..." $at_traceon unset TAR_OPTIONS -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/ustar-big-8g.at:26: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 " -echo ustar-big-8g.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-8g.at:26" +( $at_check_trace; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -39674,31 +42832,17 @@ tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTS tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; - -cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 - -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 - - -tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter echo stderr:; tee stderr <"$at_stderr" echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 8589934591 2002-06-15 15:08 8gb-1 -rw-r--r-- jes/glone 0 2002-06-15 14:53 file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:26" +$at_failed && at_fn_log_failure $at_traceon; } @@ -39715,43 +42859,37 @@ do done - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_120 -#AT_START_121 -# 121. pax-big-10g.at:21: pax-big-10g -at_setup_line='pax-big-10g.at:21' -at_desc="pax-big-10g" -$at_quiet $as_echo_n "121: $at_desc " +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_179 +#AT_START_180 +at_fn_group_banner 180 'pax-big-10g.at:21' \ + "pax-big-10g" " " 26 at_xfail=no -echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "121. pax-big-10g.at:21: testing ..." + $as_echo "180. $at_setup_line: testing $at_desc ..." $at_traceon unset TAR_OPTIONS -{ $at_traceoff +{ set +x $as_echo "$at_srcdir/pax-big-10g.at:26: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 +test -z \"\$STAR_TESTSCRIPTS\" && exit 77 +tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77 tar --utc -tvjf \$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 " -echo pax-big-10g.at:26 >"$at_check_line_file" - -if { echo 'Not enabling shell tracing (command contains an embedded newline)' - false; }; then - ( $at_traceon; +at_fn_check_prepare_notrace 'an embedded newline' "pax-big-10g.at:26" +( $at_check_trace; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -39761,31 +42899,17 @@ tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSC tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 - ) >"$at_stdout" 2>"$at_stder1" - at_func_filter_trace $? -else - ( :; - -cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 - -test -z "$STAR_TESTSCRIPTS" && exit 77 -tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 - - -tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 - ) >"$at_stdout" 2>"$at_stderr" -fi -at_status=$? -at_failed=false +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter echo stderr:; tee stderr <"$at_stderr" echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 10737418240 2002-06-15 21:18 10g -rw-r--r-- jes/glone 0 2002-06-15 14:53 file " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:26" - -$at_failed && at_func_log_failure +at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:26" +$at_failed && at_fn_log_failure $at_traceon; } @@ -39802,8 +42926,8 @@ do done - $at_traceoff + set +x $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 | eval $at_tee_pipe -at_status=`cat "$at_status_file"` -#AT_STOP_121 +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_180 diff --git a/tests/testsuite.at b/tests/testsuite.at index a62e79f6..1aab6f72 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -1,23 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Free Software -# Foundation, Inc. +# Copyright 2004-2008, 2010-2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # We need a recent Autotest. m4_version_prereq([2.52g]) @@ -103,10 +102,79 @@ rm -f $[]$ test $result -eq 0 && AT_SKIP_TEST ]) +dnl AT_PRIVILEGED_PREREQ - Skip test if not running at root privileges +m4_define([AT_PRIVILEGED_PREREQ],[ +echo "test" > $[]$ +chmod 0 $[]$ +cat $[]$ > /dev/null 2>&1 +result=$? +rm -f $[]$ +test $result -eq 0 || AT_SKIP_TEST +]) + m4_define([AT_TAR_MKHIER],[ install-sh -d $1 >/dev/null dnl m4_if([$2],,,&& genfile --file [$1]/[$2]) || AT_SKIP_TEST]) +dnl Skip test when utlity does not return expected return value +m4_define([AT_CHECK_UTIL],[ + $1 &> /dev/null + if test "$?" != $2; then + AT_SKIP_TEST + fi +]) + +m4_define([AT_XATTRS_UTILS_PREREQ],[ + file=$(TMPDIR=. mktemp fiXXXXXX) + AT_CHECK_UTIL(setfattr -n user.test -v test $file,0) + AT_CHECK_UTIL(getfattr $file,0) +]) +m4_define([AT_SELINUX_UTILS_PREREQ],[ + file=$(TMPDIR=. mktemp fiXXXXXX) + AT_CHECK_UTIL(restorecon $file, 0) + AT_CHECK_UTIL(chcon -h --user=unconfined_u $file,0) + rm -rf $file +]) +m4_define([AT_ACLS_UTILS_PREREQ],[ + file=$(TMPDIR=. mktemp fiXXXXXX) + AT_CHECK_UTIL(setfacl -m u:$UID:rwx $file,0) + AT_CHECK_UTIL(getfacl $file,0) + rm -rf $file +]) +m4_define([AT_CAPABILITIES_UTILS_PREREQ],[ + file=$(TMPDIR=. mktemp fiXXXXXX) + AT_CHECK_UTIL(setcap "= cap_chown=ei" $file,0) + AT_CHECK_UTIL(getcap $file,0) + rm -rf $file +]) +m4_define([AT_XATTRS_PREREQ],[ + AT_XATTRS_UTILS_PREREQ + file=$(TMPDIR=. mktemp fiXXXXXX) + setfattr -n user.test -v ahoj $file + # check whether tar fails to store xattrs + err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + AT_SKIP_TEST + fi +]) +m4_define([AT_SELINUX_PREREQ],[ + AT_SELINUX_UTILS_PREREQ + file=$(TMPDIR=. mktemp fiXXXXXX) + err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + AT_SKIP_TEST + fi +]) +m4_define([AT_ACLS_PREREQ],[ + AT_ACLS_UTILS_PREREQ + file=$(TMPDIR=. mktemp fiXXXXXX) + setfacl -m u:$UID:rwx $file + err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) + if test "$err" != "0"; then + AT_SKIP_TEST + fi +]) + m4_include([sparsemvp.at]) AT_INIT @@ -120,20 +188,47 @@ m4_include([pipe.at]) m4_include([options.at]) m4_include([options02.at]) +AT_BANNER([Option compatibility]) +m4_include([opcomp01.at]) +m4_include([opcomp02.at]) +m4_include([opcomp03.at]) +m4_include([opcomp04.at]) +m4_include([opcomp05.at]) +m4_include([opcomp06.at]) + +AT_BANNER([The -T option]) +m4_include([T-mult.at]) +m4_include([T-nest.at]) +m4_include([T-rec.at]) +m4_include([T-cd.at]) m4_include([T-empty.at]) m4_include([T-null.at]) +m4_include([T-zfile.at]) +m4_include([T-nonl.at]) +AT_BANNER([Various options]) m4_include([indexfile.at]) m4_include([verbose.at]) +m4_include([gzip.at]) +m4_include([recurse.at]) +m4_include([shortrec.at]) + +AT_BANNER([The --same-order option]) +m4_include([same-order01.at]) +m4_include([same-order02.at]) +AT_BANNER([Append]) m4_include([append.at]) m4_include([append01.at]) m4_include([append02.at]) m4_include([append03.at]) +m4_include([append04.at]) +AT_BANNER([Transforms]) m4_include([xform-h.at]) m4_include([xform01.at]) +AT_BANNER([Exclude]) m4_include([exclude.at]) m4_include([exclude01.at]) m4_include([exclude02.at]) @@ -141,13 +236,25 @@ m4_include([exclude03.at]) m4_include([exclude04.at]) m4_include([exclude05.at]) m4_include([exclude06.at]) - +m4_include([exclude07.at]) +m4_include([exclude08.at]) +m4_include([exclude09.at]) +m4_include([exclude10.at]) +m4_include([exclude11.at]) +m4_include([exclude12.at]) +m4_include([exclude13.at]) +m4_include([exclude14.at]) +m4_include([exclude15.at]) +m4_include([exclude16.at]) + +AT_BANNER([Deletions]) m4_include([delete01.at]) m4_include([delete02.at]) m4_include([delete03.at]) m4_include([delete04.at]) m4_include([delete05.at]) +AT_BANNER([Extracting]) m4_include([extrac01.at]) m4_include([extrac02.at]) m4_include([extrac03.at]) @@ -165,17 +272,18 @@ m4_include([extrac14.at]) m4_include([extrac15.at]) m4_include([extrac16.at]) m4_include([extrac17.at]) +m4_include([extrac18.at]) +m4_include([extrac19.at]) +m4_include([backup01.at]) +AT_BANNER([Volume label operations]) m4_include([label01.at]) m4_include([label02.at]) m4_include([label03.at]) m4_include([label04.at]) m4_include([label05.at]) -m4_include([backup01.at]) - -m4_include([gzip.at]) - +AT_BANNER([Incremental archives]) m4_include([incremental.at]) m4_include([incr01.at]) m4_include([incr02.at]) @@ -183,14 +291,20 @@ m4_include([listed01.at]) m4_include([listed02.at]) m4_include([listed03.at]) m4_include([listed04.at]) +m4_include([listed05.at]) m4_include([incr03.at]) m4_include([incr04.at]) m4_include([incr05.at]) m4_include([incr06.at]) +m4_include([incr07.at]) +m4_include([incr08.at]) +m4_include([incr09.at]) +AT_BANNER([Files removed while archiving]) m4_include([filerem01.at]) m4_include([filerem02.at]) +AT_BANNER([Renames]) m4_include([rename01.at]) m4_include([rename02.at]) m4_include([rename03.at]) @@ -198,19 +312,26 @@ m4_include([rename04.at]) m4_include([rename05.at]) m4_include([chtype.at]) +AT_BANNER([Ignore failing reads]) m4_include([ignfail.at]) +AT_BANNER([Link handling]) m4_include([link01.at]) m4_include([link02.at]) m4_include([link03.at]) m4_include([link04.at]) +AT_BANNER([Specific archive formats]) m4_include([longv7.at]) m4_include([long01.at]) m4_include([lustar01.at]) m4_include([lustar02.at]) m4_include([lustar03.at]) +m4_include([old.at]) +m4_include([time01.at]) + +AT_BANNER([Multivolume archives]) m4_include([multiv01.at]) m4_include([multiv02.at]) m4_include([multiv03.at]) @@ -220,15 +341,10 @@ m4_include([multiv06.at]) m4_include([multiv07.at]) m4_include([multiv08.at]) -m4_include([old.at]) - -m4_include([recurse.at]) - -m4_include([same-order01.at]) -m4_include([same-order02.at]) - -m4_include([shortrec.at]) +AT_BANNER([Owner and Groups]) +m4_include([owner.at]) +AT_BANNER([Sparse files]) m4_include([sparse01.at]) m4_include([sparse02.at]) m4_include([sparse03.at]) @@ -238,28 +354,66 @@ m4_include([spmvp00.at]) m4_include([spmvp01.at]) m4_include([spmvp10.at]) +AT_BANNER([Updates]) m4_include([update.at]) m4_include([update01.at]) m4_include([update02.at]) +AT_BANNER([Verifying the archive]) m4_include([verify.at]) +AT_BANNER([Volume operations]) m4_include([volume.at]) m4_include([volsize.at]) +AT_BANNER() m4_include([comprec.at]) m4_include([shortfile.at]) m4_include([shortupd.at]) m4_include([truncate.at]) m4_include([grow.at]) +m4_include([sigpipe.at]) +AT_BANNER([Removing files after archiving]) m4_include([remfiles01.at]) m4_include([remfiles02.at]) m4_include([remfiles03.at]) - -m4_include([sigpipe.at]) - +m4_include([remfiles04a.at]) +m4_include([remfiles04b.at]) +m4_include([remfiles04c.at]) +m4_include([remfiles05a.at]) +m4_include([remfiles05b.at]) +m4_include([remfiles05c.at]) +m4_include([remfiles06a.at]) +m4_include([remfiles06b.at]) +m4_include([remfiles06c.at]) +m4_include([remfiles07a.at]) +m4_include([remfiles07b.at]) +m4_include([remfiles07c.at]) +m4_include([remfiles08a.at]) +m4_include([remfiles08b.at]) +m4_include([remfiles08c.at]) +m4_include([remfiles09a.at]) +m4_include([remfiles09b.at]) +m4_include([remfiles09c.at]) + +AT_BANNER([Extended attributes]) +m4_include([xattr01.at]) +m4_include([xattr02.at]) +m4_include([xattr03.at]) +m4_include([xattr04.at]) +m4_include([xattr05.at]) + +m4_include([acls01.at]) +m4_include([acls02.at]) + +m4_include([selnx01.at]) +m4_include([selacl01.at]) + +m4_include([capabs_raw01.at]) + +AT_BANNER([Star tests]) m4_include([star/gtarfail.at]) m4_include([star/gtarfail2.at]) diff --git a/tests/time01.at b/tests/time01.at new file mode 100644 index 00000000..3a63dbcb --- /dev/null +++ b/tests/time01.at @@ -0,0 +1,70 @@ +# Test time stamps for GNU tar. -*- Autotest -*- +# +# Copyright 2012-2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# written by Paul Eggert + +AT_SETUP([time: tricky time stamps]) +AT_KEYWORDS([time time01]) + +AT_TAR_CHECK([ +export TZ=UTC0 +mkdir dir + +# Test files with time stamps that are near common sources of error, +# typically near powers of 2 (for seconds) or near 0, 1970, or 9999 (years). +# Use GNU-style @ notation for very large time stamps, since they +# typically don't render into years correctly due to int overflow. +for s in \ + @-9223372036854775809 @-9223372036854775808 @-9223372036854775807 \ + 0000-01-01T00:00:00 0000-01-01T00:00:01 \ + 0000-01-02T00:00:00 \ + 1697-10-17T11:03:27 1697-10-17T11:03:28 1697-10-17T11:03:29 \ + 1833-11-24T17:31:43 1833-11-24T17:31:44 1833-11-24T17:31:45 \ + 1901-12-13T20:45:51 1901-12-13T20:45:52 1901-12-13T20:45:53 \ + 1901-12-14T20:45:51 \ + 1969-12-31T23:59:58 1969-12-31T23:59:59 \ + 1970-01-01T00:00:00 1970-01-01T00:00:01 \ + 2038-01-18T03:14:07 \ + 2038-01-19T03:14:07 2038-01-19T03:14:08 \ + 2106-02-07T06:28:15 2106-02-07T06:28:16 \ + 2242-03-16T12:56:31 2242-03-16T12:56:32 \ + 9999-12-31T23:59:58 9999-12-31T23:59:59 \ + @9223372036854775807 @9223372036854775808 +do + # Skip a time stamp $s if it's out of range for this platform, + # of if it uses a notation that this platform does not recognize. + touch -d $s dir/f$s >/dev/null 2>&1 || continue + + # Likewise for $s.1. If $s is the most negative time stamp and + # time stamps are signed, then $s.1 is out of range. + touch -d $s.1 dir/f$s.$ns >/dev/null 2>&1 || continue + + for frac in 01 001 00001 000001 0000001 00000001 000000001 0000000001 \ + 9 99 999 99999 999999 9999999 99999999 999999999 9999999999 + do + touch -d $s.$frac dir/f$s.$frac + done +done + +tar -c -f archive.tar dir +tar -d -f archive.tar dir +], +[0], +[], [], [], [], +[pax]) + +AT_CLEANUP diff --git a/tests/truncate.at b/tests/truncate.at index 973cbc16..3c99c7ef 100644 --- a/tests/truncate.at +++ b/tests/truncate.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2007 Free Software Foundation, Inc. +# Copyright 2005, 2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Tar 1.15.1 incorrectly padded archive members that were truncated during # archiving. diff --git a/tests/update.at b/tests/update.at index 6e6e5aaa..8a1194e4 100644 --- a/tests/update.at +++ b/tests/update.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2005-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check that tar --update does not add non-changed directories to the # archive. diff --git a/tests/update01.at b/tests/update01.at index 374b971b..134f69ea 100644 --- a/tests/update01.at +++ b/tests/update01.at @@ -1,26 +1,26 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: If dir is a directory and arc is a tar archive which # contains that directory, and dir contains some modifications added -# after adding it to the archive, then `tar -u dir' would add dir/ to +# after adding it to the archive, then 'tar -u dir' would add dir/ to # the archive. # Last-Affected-Version: 1.22.90 # References: <4AD4E703.80500@teclabs.eu> diff --git a/tests/update02.at b/tests/update02.at index 09b7f0b6..f6c2d604 100644 --- a/tests/update02.at +++ b/tests/update02.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright 2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: See update01.at # Last-Affected-Version: 1.22.90 diff --git a/tests/verbose.at b/tests/verbose.at index b2bd6ade..a013e36e 100644 --- a/tests/verbose.at +++ b/tests/verbose.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Version 1.15.92 sent verbose output to the archive when invoked # as tar cvf - foo.txt > foo.tar diff --git a/tests/verify.at b/tests/verify.at index 98ba22b6..6d62a805 100644 --- a/tests/verify.at +++ b/tests/verify.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Check that tar --verify works. # Problem reported by Gilles Espinasse in diff --git a/tests/version.at b/tests/version.at index 60da2c03..5fc9c5d8 100644 --- a/tests/version.at +++ b/tests/version.at @@ -1,20 +1,20 @@ # Checking tar version -*- Autotest -*- -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . AT_SETUP([tar version]) diff --git a/tests/volsize.at b/tests/volsize.at index 282e03ac..24ac55bb 100644 --- a/tests/volsize.at +++ b/tests/volsize.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright 2006-2009, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Description: The size field of a volume header was ignored when listing, # but taken into account when extracting. Thus it was possible to hide diff --git a/tests/volume.at b/tests/volume.at index 87a910b8..33fa3f6f 100644 --- a/tests/volume.at +++ b/tests/volume.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2006-2007, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Volume labels are checked on read by fnmatch. @@ -43,13 +43,13 @@ test $? = 2 [0], [], [----- -tar: Volume `label' does not match `lab' +tar: Volume 'label' does not match 'lab' tar: Error is not recoverable: exiting now ----- -tar: Volume `label' does not match `bel' +tar: Volume 'label' does not match 'bel' tar: Error is not recoverable: exiting now ----- -tar: Volume `label' does not match `babel' +tar: Volume 'label' does not match 'babel' tar: Error is not recoverable: exiting now ], [],[],[gnu, oldgnu]) diff --git a/tests/xattr01.at b/tests/xattr01.at new file mode 100644 index 00000000..e6926342 --- /dev/null +++ b/tests/xattr01.at @@ -0,0 +1,49 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# This is basic test for support of extended attributes. + +AT_SETUP([xattrs: basic functionality]) +AT_KEYWORDS([xattrs xattr01]) + +AT_TAR_CHECK([ +AT_XATTRS_PREREQ +mkdir dir +genfile --file dir/file + +setfattr -n user.test -v OurDirValue dir +setfattr -n user.test -v OurFileValue dir/file + +tar --xattrs -cf archive.tar dir + +rm -rf dir +tar --xattrs -xf archive.tar + +getfattr -h -d dir | grep -v -e '^#' -e ^$ +getfattr -h -d dir/file | grep -v -e '^#' -e ^$ +], +[0], +[user.test="OurDirValue" +user.test="OurFileValue" +]) + +AT_CLEANUP diff --git a/tests/xattr02.at b/tests/xattr02.at new file mode 100644 index 00000000..8ae4207b --- /dev/null +++ b/tests/xattr02.at @@ -0,0 +1,57 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2011, 2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# Cooperation of the '-C' option and storing/restoring extended attributes. + +AT_SETUP([xattrs: change directory with -C option]) +AT_KEYWORDS([xattrs xattr02]) + +AT_TAR_CHECK([ +AT_XATTRS_PREREQ + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n user.test -v OurFile1Value dir/file1 +setfattr -n user.test -v OurFile2Value dir/subdir/file2 +setfattr -n user.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs -xf archive.tar + +getfattr -h -d file1 | grep -v -e '^#' -e ^$ +getfattr -h -d file2 | grep -v -e '^#' -e ^$ +getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ +], +[0], +[user.test="OurFile1Value" +user.test="OurFile2Value" +user.test="OurDirValue" +]) + +AT_CLEANUP diff --git a/tests/xattr03.at b/tests/xattr03.at new file mode 100644 index 00000000..19d01724 --- /dev/null +++ b/tests/xattr03.at @@ -0,0 +1,58 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2012-2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: +# +# Setup of the trusted.* domain under privileged user. + +AT_SETUP([xattrs: trusted.* attributes]) +AT_KEYWORDS([xattrs xattr03]) + +AT_TAR_CHECK([ +AT_PRIVILEGED_PREREQ +AT_XATTRS_PREREQ + +mkdir dir +mkdir dir/subdir +mkdir dir/subdir/subsubdir +genfile --file dir/file1 +genfile --file dir/subdir/file2 + +setfattr -n trusted.test -v OurFile1Value dir/file1 +setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 +setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir + +tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir + +rm -rf dir + +tar --xattrs --xattrs-include=trusted* -xf archive.tar + +getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ +getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ +], +[0], +[trusted.test="OurFile1Value" +trusted.test="OurFile2Value" +trusted.test="OurDirValue" +]) + +AT_CLEANUP diff --git a/tests/xattr04.at b/tests/xattr04.at new file mode 100644 index 00000000..fb6ce0e1 --- /dev/null +++ b/tests/xattr04.at @@ -0,0 +1,50 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2012-2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: Test for the regression caused by tar update from 1.23 to +# 1.26, Red Hat xattr patch was not ready for open->openat conversion. +# +# Related commit 4bde4f3. See the bug: https://bugzilla.redhat.com/717684 + +AT_SETUP([xattrs: s/open/openat/ regression]) +AT_KEYWORDS([xattrs xattr04]) + +AT_TAR_CHECK([ +AT_XATTRS_PREREQ + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.test -v value dir/file + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +ret=$? +getfattr -h -d output/file | grep -v -e '^#' -e ^$ +exit $ret +], +[0], +[user.test="value" +]) + +AT_CLEANUP diff --git a/tests/xattr05.at b/tests/xattr05.at new file mode 100644 index 00000000..adc1b580 --- /dev/null +++ b/tests/xattr05.at @@ -0,0 +1,51 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright 2012-2013 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test description: Test for archiving/extracting of extended attributes +# having the '=' character in its keyword. +# +# Relevant mailing list thread: +# +# http://lists.gnu.org/archive/html/bug-tar/2012-10/msg00017.html + +AT_SETUP([xattrs: keywords with '=' and '%']) +AT_KEYWORDS([xattrs xattr05]) + +AT_TAR_CHECK([ +AT_XATTRS_PREREQ + +mkdir dir +mkdir output +genfile --file dir/file + +setfattr -n user.=NAME%3D= -v value dir/file +getfattr -d dir/file | grep -v '# ' > before + +# archive whole directory including binary xattrs +tar --xattrs -cf archive.tar -C dir . + +tar --xattrs -xf archive.tar -C output +getfattr -d output/file | grep -v '# ' > after +diff before after +], +[0], +[]) + +AT_CLEANUP diff --git a/tests/xform-h.at b/tests/xform-h.at index d51a0a60..6a011692 100644 --- a/tests/xform-h.at +++ b/tests/xform-h.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2009, 2010 Free Software Foundation, Inc. +# Copyright 2009-2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # When creating archives, tar 1.22 did not apply the --transform option # to hard links. @@ -58,4 +58,4 @@ m4_popdef([xformtest]) AT_CLEANUP -# End of xform-h.at \ No newline at end of file +# End of xform-h.at diff --git a/tests/xform01.at b/tests/xform01.at index 71dcc43e..ff8bff09 100644 --- a/tests/xform01.at +++ b/tests/xform01.at @@ -1,22 +1,22 @@ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright 2010, 2013 Free Software Foundation, Inc. -# This program is free software; you can redistribute it and/or modify +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. -# This program is distributed in the hope that it will be useful, +# GNU tar 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. +# along with this program. If not, see . # Transformations should not apply to GNU volume labels. # Reported by: Thomas Graf -- 2.30.2